
IT 네트워크는 라우터와 DNS의 집합체라고 해도 과언이 아니다. 그래서 인터넷의 통신 원리를 IT 인프라 관점에서 깊게 정리해 봤고, 인터넷 통신의 핵심인 DNS 보안에 대해 알기 쉽게 작성해봤다. 인터넷에 google 주소를 쳤을 때 내부에서 일어나는 과정은? 직무 면접에서 나올 수 있는 질문인데 이것을 조금 딥하게 정리해보고자 한다. 기본적으로 DNS는 "www.google.com"이라는 문자를 주소창에 입력하면 172.217.25.164 라는 ip 주소로 바꿔주어 접속을 가능하게 만들어 준다. https://www.ibm.com/kr-ko/topics/dns 에서 자세하게 보면 된다. 내 PC에서 google 주소를 입력했을 때 맨 처음에는 host file과 DNS Cache를 순차적으로 검색하..

Critical High Medium Low Info 여러 단계의 취약점들이 발견 되었다. Critical에 가까울수록 공격(Exploitation)받기가 쉬우며, 시스템 주도권을 뺏기기 쉽다. 실제로 취약점이 존재하지만 스캔 되지 않는 취약점들을 'False Nefativce(존재하는 오류를 부정)' 이라고 부른다. 이와 반대는 'False Positive(존재하지 않는 오류진단)' 이 있다. ex)스팸메일 Metasploitable2 서버 공격 - [Critical Exploitation] Backdoor Metasploitable2에서 발견된 가장 높은 단계의 취약점인 백도어 공격을 수행해봤다. 1. 취약점 분석 Backdoor 취약점 목록으로 들어간다. 상세 페이지를 ..

스캐닝 환경 설정 공격 타겟 설정 Nessus가 active상태인 것을 확인하고 웹서버에 접속 했다면,[New Scan] - [Advanced Scan] 으로 들어온 뒤 공격할 Target IP주소들을 적는다. 같은 네트워크 환경에 구축되어있는 Metsploitable2와 WindowsXP서버 IP를 적어줬다. ASSESSMENT ASSESSMENT탭에서는 두 번째 칸을 체크한다. REPORT REPORT 탭에서 다음과 같이 설정. ADVANCED ADVANCED에선 다음과같이 설정. Credentials Credentials의 SSH탭에 인증 방식을 패스워드로 바꾸고 metasploitable2의 login정보를 입력한다. Plugins Plugins에서 CISCO, F5 Networks Local S..

Nessus 환경 세팅 가장 유명한 취약점 분석 툴 중 하나이다. 무료 버전인 Nessus Essentials를 사용했다. 1. Download ▶ Download Link Download에 저장된 파일로 설치를 실행한다. 2. 설치파일 실행 # service nessusd status # service nessusd start # netstat -tnlp nessusd가 실행되었는지 확인 후 inactive 상태라면 start 해주고, netstat로 tcp통신을 진행중인 서비스의 연결 상태를 확인한다. 3. Nessus 웹서버 접속 그다음 웹브라우저로 https://0.0.0.0:8834 로 접속. (또는 kali IP주소:8834) 들어온다면 essentials가입 으로 계속하기 한 다음 이름과 이..
![[Python] Zappa를 이용해 AWS Lambda에 flask Web app 서버리스 구현하는 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdsLcCv%2FbtsA7y1O67J%2FgLpF319TFjp5i9ilGWRdkk%2Fimg.png)
Serverless란?서버리스란 개발자가 서버를 관리할 필요 없이 개발에만 집중 하며 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델이다.프로덕트를 서버에서 실행시키지 않고, 자원을 분산시켜 함수는 함수대로 DB는 DB대로 각각 나누어 연동시켜 프로덕트를 동작하게 한다고 할 수 있다.그래서 진짜로 서버가 없는 것이 아니라 그 서버를 관리해야하는 지식의 수준과 번거로움이 많이 줄어들며, 개발자는 배포를 위해 코드를 컨테이너에 패키징하기만 하면 된다는 것이다.Zappa란?Zappa(공식 Zappa Gitgub)란 AWS기능들을 활용한 서버리스 구조를 활용해 Python Back-end 코드를 배포하는데 도움을 주는 패키지이다. Zappa를 통해 API Gateway, S3연동같은 작업들을 좀 더..

AWS 인스턴스를 생성하고 GUI 환경으로 접속하기 위해서는 VNC Viewer가 필요하다. 각 OS 환경에 맞는 Viewer를 우선 다운 받자. 아마존 클라우드 서버 호스팅 | Amazon Web Services Amazon Elastic Compute Cloud(Amazon EC2)는 700개가 넘는 인스턴스, 그리고 최신 프로세서, 스토리지, 네트워킹, 운영 체제 및 구매 모델의 옵션과 함께 워크로드의 요구 사항에 가장 잘 부합할 수 있도록 aws.amazon.com Download VNC Viewer | VNC® Connect Control VNC® enabled computers with VNC® Viewer. www.realvnc.com AWS EC2 인스턴스를 하나 만들었다면 먼저 ssh 접..

포맷 스트링 공격은 데이터의 형태와 길이에 대한 불명확한 정의로 인한 문제점 중 '데이터 형태에 대한 불명확한 정의'로 인한 것으로, 포맷 스트링을 이용하여 버퍼 오버플로우와 같이 메모리에 셸을 띄워 놓고, ret 값을 변조하여 관리자 권한을 획득하는 것이다. 결국 포맷 스트링과 버퍼 오버플로우는 함수 실행시 ret 값을 변조하는 방법만 다를 뿐 기본 개념은 같다고 볼 수 있다. 포맷 스트링 공격은 데이터 형태나 길이가 명확하게 정의되어있지 않아서 생기는 문제점이다. 예를 들어 char *buffer = "wishfree\n%x\n"; print(buffer) 라고 한다면 wishfree가 저장된 이후 메모리에 존재하는 값까지 나타내어지게 된다. 즉, esp가 위치한 메모리 값을 읽어드린다. 이러한 포맷..

버퍼오버플로우 공격을 막기위해 스택에서 쉘코드가 실행되는 것을 방지하는 Non-Executable Stack 기법이 있다. RTL은 이것을 무력화 시키는 공격 방법으로 스택에 있는 ret 주소를 실행 가능한 임의의 주소(libc 영역의 주소)로 돌려 원하는 함수를 실행하게 만드는 기법이다. 메모리에 적재된 공유 라이브러리는 스택에 존재하는 것이 아니므로 Non-Executable Stack 을 우회하는 것이 가능하다. libc 영역에서 셸을 실행할 수 있는 함수인 system, execve, execl 등을 이용할 수 있다. RTL 공격을 사용해 root권한을 탈취해보자. bugfile.c int main(int argc, char *argv[]) { char buffer[10]; strcpy(buffe..