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

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

Python Essential 세미나 1 CGI 프로그램 작성법 발표자 : 박승기 ( 수 )
제철고 프로그래밍언어 2015 가을학기 연습 #1 Python 연산식 이다훈 POSTECH 컴퓨터공학과 2015 년 9 월 23 일.
ⓒ 2015 NHN Entertainment Corp. Django 로 만드는 초간단 블로그 시스템운영팀 김영태 개발환경 구축.
Mining the by Graph API. 1. 페이스북 소셜 그래프와 Graph API, OGP 2. 페이스북 페이지와 친구들에서 좋아요 분석하기 3. 소셜 그래프 분석을 위한 결속집단 분석 4. 소셜 그래프 시각화.
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
오토베이스 엑셀 리포터. Contents - 엑셀 리포터 설명 - 엑셀 리포터 실행 엑셀 리포터 작성 실습 - 엑셀 리포터 양식 작성 - 엑셀 리포터 데이터 보기.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
오토베이스9 태그 편집기를 이용한 태그 편집 오토베이스 교육센터.
IPython Notebook + Spark + TensorFlow on Windows
Bj에 대하여 5학년 1반 이지호.
박주현 Exploit Helpers 안녕하세요 포너블을 도와주는 exploit helpers에 대해 발표하게된 박주현이라고 합니다.
Power Java 제3장 이클립스 사용하기.
스크립트 SWF 파일 Exploit Drive by Download 분석.
J2ME Install 부산대학교 인공지능 연구실.
Unix Project2 <test character device 생성>
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Matasploit의 소개와 사용법
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
부트로더와 Self Programming
WinCE Device Driver 실습 #2
Cross Compiler 설치.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
연습 1: 프로그래밍 환경 설치 전자계산입문 2009/03/06.
Git 사용법 GitHub 가입 GitHub 새 저장소 만들기 Git 설치 로컬 저장소 만들기 로컬 저장소와 원격 저장소 연결
TRUST 이주창 Online C Compier RPG game So hard INDEX.
AVR – ATmega103(ATMEL) Compilers & ISP
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
제14장 예외처리와 템플릿 예외 처리의 개요를 학습한다. 예외 처리를 적용할 수 있다. 템플릿의 개념을 이해한다.
Method & library.
Chap 6.Assembler 유건우.
자바응용.
CHAP 13. 방명록 만들기 실습.
시스템 인터페이스 Lab3 Unix 사용법 실습.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
설치 환경 □ 운영체제 버전 : CentOS Linux 7.2 □ 리눅스 커널 버전 :
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
BERT Install Guide 숭실대학교 test.
27강 JAVA Collections - II - Map계열 컬렉션 클래스 살펴보기 - Set계열 컬렉션 클래스 살펴보기
윈도우 컨트롤.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
인터넷 은행의 역할 現 핀테크포럼 의장 페이게이트 대표 박소영.
자바 5.0 프로그래밍.
Canary value 스택 가드(Stack Guard).
DK-128 개발환경 설정 아이티즌 기술연구소
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
3. 모듈 (5장. 모듈).
셀프 프로그래밍으로 쓰기 셀프 프로그래밍이란? 프린트포트의 ISP 모듈을 사용하지 않음 부트로더에 의한 펌웨어 다운로드
JSP Programming with a Workbook
12 그리드 시스템.
함수, 모듈.
발표자 : 이지연 Programming Systems Lab.
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
바이트 순서 변환 함수 주소 변환 함수 바이트 조작 함수 원격지 호스트 정보를 얻는 함수
오토베이스 리포터.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
HW1 채점 기준 총 15점 HW1_BOF 폴더에 제공되는 프로그램에서 BOF를 일으킬 것 (3점)
Homework #3 - 페이지 모듈화 및 로그인처리 -
SNU 컴퓨터의 기초 월 14:00-16:00 43동101호 ropas. snu. ac
7 생성자 함수.
웹 사이트 분석과 설계 학과 : e-biz 경영학과 2-2 학번 : 이름 : 이재섭.
20 XMLHttpRequest.
Presentation transcript:

Revers3r( 임재혁 )

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

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

Pwntools ? 익스플로잇의 편의성을 위해서 만들어진 툴 Gallopsled 팀에서 개발

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

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

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

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

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

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

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

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

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

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

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

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

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

shellcraft example

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

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

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

Exploit : ropasaurusrex

Demo : ropasaurusrex

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

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

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

들어주셔서 감사합니다.