Presentation is loading. Please wait.

Presentation is loading. Please wait.

Revers3r( 임재혁 ). Contents 1. About me 2. Pwntools 에 대해 … 3. Pwntools 설치 4. Pwntools 의 다양한 기능들 5. Pwntools 를 이용한 익스플로잇 몇 가지.

Similar presentations


Presentation on theme: "Revers3r( 임재혁 ). Contents 1. About me 2. Pwntools 에 대해 … 3. Pwntools 설치 4. Pwntools 의 다양한 기능들 5. Pwntools 를 이용한 익스플로잇 몇 가지."— Presentation transcript:

1 Revers3r( 임재혁 )

2 Contents 1. About me 2. Pwntools 에 대해 … 3. Pwntools 설치 4. Pwntools 의 다양한 기능들 5. Pwntools 를 이용한 익스플로잇 몇 가지

3 About me - 취미로 컴퓨터를 하는 사람이다. … 장난이고 버그헌팅 공부하는 사람입니다. 이름 : revers3r( 임재혁 ) 직업 : 백수 나이 : 올해 20 세

4 Pwntools ? 익스플로잇의 편의성을 위해서 만들어진 툴 Gallopsled 팀에서 개발 http://pwntools.readthedocs.org/en/latest/intro.html

5 Pwntools? Why? Plt, got.. Find.. Find.. Find….

6 Pwntools - Install 자세한 내용은 pwntools 의 documentation 페이지에 나와있다. 1. apt-get install python2.7 python2.7-dev python-pip 2. pip install pwntools 여기서, 이것만 설치할 경우에 ROP 클래스를 호출할 때 disasm 에러 발생 !! 3. apt-get install libcapstone-dev

7 Pwntools - Connection 기본적인 리모트 연결 기능 nc, ssh.. -> remote(), ssh() 리모트 호스트 연결의 편의성을 위해.. 매우 짧게 줄이는 것이 가능..

8 How to use ssh()? ssh() : pwntools 에서 제공해주는 ssh 연결 함수 ssh(user, host, port, password) 식으로 구성.. run() 함수 사용으로 바이너리 실행 가능..

9 How to use remote()? remote() : 서비스 등.. Nc 로 접근해야하는 경우. recvuntil() 같은 함수들도 전부 제공해주는편.

10 ELF() ELF() : pwntools 에서 바이너리를 인식시켜 바이너리 의 정보 등을 가져오기 위한 기능 ELF 에 바이너리를 인식시킴으로 plt, got 같은 elf 정보 등을 획득할 수 있다.

11 plt,got 뿐만 아니라. 다양한 바이너리의 정보를 구할 수 있다 !

12 ROP() - 1 ROP (Return Oriented Programming) = 메모리 미티게이션을 우회하는 기술 - 이를 수행하기 위해서 필요한 요소 = Gadget, plt, got …

13 ROP() - 2 Pwntools 의 가장 메인 기능 중 하나인 ROP 기능. rop.read(0, data, 4) : 이런 형태로 사용 가능 ( 편리 ) ROP 페이로드를 작성할 때의 시간을 최대한 줄일 수 있음. PLT 주소들을 직접 구할 필요가 없음.

14 ROP() - 3 지금까지는.. plt.. got.. bss.. Gadget…

15 asm() pwntools 의 대표적인 어셈블, 디스어셈블 기능. asm(), disasm() 이 두가지로 이루어져 있음. capstone 과 비슷한 역할..

16 asm() 활용 ShellCode 를 작성할 때 유용하다. ※ ShellCode : 쉘을 획득하기 위한 어셈블리 코드

17 shellcraft ROP 클래스와 함께 pwntools 의 중요한 기능 중 하나 다양한 쉘코드를 지원함. (i386, amd64, arm …)

18 shellcraft example

19 Shellcode test 테스트로 i386.linux.sh() 를 호출해보았다.

20 Example ) 예제 1 : ropasaurusrex (Plaid CTF 2013) 예제 2 : echo1 ( pwnable.kr ) – 제외 예제 3 : nuclear (CodeGate 2014 Junior)

21 Example : ropasaurusrex 취약점 : 간단한 Overflow 하지만 Gadget 을 일일히 찾기는 귀찮은 부분..

22 Exploit : ropasaurusrex

23 Demo : ropasaurusrex

24 Example : nuclear CodeGate 에서 출제된 ROP 문제. 취약점 – 심플한 Overflow

25 Exploit : nuclear 구해야하는 요소 : plt, got 등..

26 Exploit : nuclear 페이로드를 저렇게 구성도 가능하지만.. 이렇게 ROP 클래스를 사용해서도 페이로드조각을 구 성 가능함.

27 들어주셔서 감사합니다.


Download ppt "Revers3r( 임재혁 ). Contents 1. About me 2. Pwntools 에 대해 … 3. Pwntools 설치 4. Pwntools 의 다양한 기능들 5. Pwntools 를 이용한 익스플로잇 몇 가지."

Similar presentations


Ads by Google