해커의 언어, 치명적 파이썬 – CHAPTER 2 침투 테스트 – 제로 데이 개념의 공격 코드 개발하기

 

Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다.
연구목적으로 사용하지 않고 악의적인 목적으로 이용할 경우 발생할 수 있는 법적은 책임은 모두 본인에게 있습니다.

VIOLENT_PYTHON_S
[구매하기]

해커의 언어, 치명적 파이썬 – CHAPTER 1 소개
해커의 언어, 치명적 파이썬 – CHAPTER 2 침투 테스트 – 포트 스캐너 만들기
해커의 언어, 치명적 파이썬 – CHAPTER 2 침투 테스트 – SSH 봇넷 구축하기
해커의 언어, 치명적 파이썬 – CHAPTER 2 침투 테스트 – FTP와 웹을 이용한 대규모 공격
해커의 언어, 치명적 파이썬 – CHAPTER 2 침투 테스트 – 컨피커 노력하면 된다
해커의 언어, 치명적 파이썬 – CHAPTER 2 침투 테스트 – 제로 데이 개념의 공격 코드 개발하기

2.6 제로 데이 개념의 공격 코드 개발하기
– 메타스플로잇 프레임워크에는 약 800여개 이상의 공격코드 탑재
– 공격코드를 직접 작성해야 할 경우, 파이썬을 이용해서 과정을 단순화
– 버퍼 오버플로우 개념이해

2.6.1 스택 기반의 버퍼 오버플로우 공격
– 사용자의 입력값을 검증하지 않고 사용하여 EIP의 값을 덮어씀으로 공격자가 올린 쉘코드를 실행하도록 함
– 스택 기반의 버퍼 오버플로우는 공격코드 벡터의 원조격(많이 있고, 계속 증가중)
– 스택 기반의 버퍼 오버플로우 공격코드의 핵심적인 요소들
1. 오버플로우 : 스택에 할당되어있는 겂보다 더큰 입력값을 사용자가 입력하는것
2. 리턴주소 : 스텍의 맨위로 직접 점프하는데 사용되는 4바이트 주소
3. 패딩 : 쉘코드앞에있는 NOP(no operation) 지시들. 이것은 공격자가 짇접 점프하여 주소를 추측할수 있게 해준다.
4. 쉘코드 : 어셈블리언어로 작성된 코드조각

2.6.2 공격의 핵심 요소 추가하기
– shellcode변수 : 메타스플로잇 프레임워크로 생성한 페이로드를 핵사값으로 인코딩하여 포함
– overflow변수 : 알파벳 A를 246개 포함
– return주소변수 : 스텍의 맨위로 직접 점프하게 하는 kernel32.dll의 주소
– padding변수 : 150개의 NOP 지시 포함
– crash변수 : 위의 모든변수를 하나로 만듬

2.6.3 악성코드 전송하기
– Berkeley Socket API으로 공격대상 호스트의 TCP 21 포트에 연결
– 연결 성공시 익명의 사용자 이름과 페스워드 정송
– FTP명령 “RETR”과 crash 변수를 전송

2.6.4 공격코드 모두 통합하기
– 패킷스톰(http://packetstormsecurity.com/)에 포스팅된 프레이만(Freyman)의 원본 공격코드가 완성
– FreeFloat FTP를 WindowsXP SP2, SP3 에 설치하고 테스트
– 프레이만은 취약한 공격대상의 TCP 4444포트에 바인딩하는 쉴코드를 사용
– 공격코드 실행후, netcat을 사용해 4444에 연결

FreefloatFTPServer 다운로드

실행결과

스크립트를 실행을 하면 아래와 같이 Freefloat 가 crach가 발생하고 다운이 되지만, nc으로 4444 포트로 접속되지는 않는다..ㅠ
crash

 

This entry was posted in Python/Ruby/Perl, Reading and tagged , . Bookmark the permalink.

5 Responses to 해커의 언어, 치명적 파이썬 – CHAPTER 2 침투 테스트 – 제로 데이 개념의 공격 코드 개발하기

댓글 남기기