SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
CTF 준비하기
첫 모임 오리엔테이션
2016.09.03
이승용
서론
모임에 대해서 고민하다가 각자 실제로 발표를 준비해보기로 함.
• 모임을 진행하며 수행할 문제 풀이 발표를 어떻게 할 것인가
• 문제 풀이를 하려면 무엇이 필요할 것인가
• 발표 시간은 개인 당 어느정도로 할 것인가
• 책 공부 후 시험 혹은 자신의 연구 결과물의 공유를 어떻게 할
것인가
목차
1. CTF 문제 풀이를 위해서
2. 준비하면서
3. 결론
1. CTF 문제 풀이를 위해서
1.1. 최소한의 필요한 것 - 명령어 (우분투 기준)
• 바이너리 분석을 위해서 설치가 필요한 것들
설치 방법
strace sudo apt-get install strace
ltrace sudo apt-get install ltrace
radare2
git clone https://github.com/radare/radare2
sudo radare2/sys/install.sh
ghex sudo apt-get install ghee
gdb
objdump
sudo apt-get install binutils
dex2jar
wget http://sourceforge.net/projects/dex2jar/files/dex2jar-2.0.zip
unzip dex2jar-2.0.zip
cd dex2jar-2.0
chmod u+x ./*.sh
jd-gui
sudo apt-get install libgtk2.0-0:i386
sudo apt-get install libxxf86vm1:i386
sudo apt-get install libsm6:i386
sudo apt-get install lib32stdc++6
wget http://jd.benow.ca/jd-gui/downloads/jd-
gui-0.3.5.linux.i686.tar.gz
tar zxvf jd-gui-0.3.5.linux.i686.tar.gz
1.1. 최소한의 필요한 것 - 명령어 (우분투 기준)
• 사용법 익히기
• file 명령어
• 파일 정보를 획득할 수 있는 명령어로 분석 전 사용한다.
위 이미지에서 ELF, LSB, Intel 80306 문자열을 볼 수 있는 데,
ELF → 리눅스 운영체제에서 실행되는 파일
LSB → 리틀 엔디언
Intel 80306 → i386용 아키텍처 임을 파악할 수 있다.
1.1. 최소한의 필요한 것 - 명령어 (우분투 기준)
• 사용법 익히기
• strings 명령어
• 파일 내 문자열 정보를 획득할 때 사용한다.
위 이미지에서는 알아볼 수 있는 값이 없지만, 자주 확인하는
값을 정리해두고 grep 과 함께 활용하면 분석을 빠르게 할 수 있다.
1.1. 최소한의 필요한 것 - 명령어 (우분투 기준)
• 사용법 익히기
• 트레이서 명령어 (strace, ltrace)
• DEFKTHON CTF 2014 Bin200 문제와 유사한 코드
1.1. 최소한의 필요한 것 - 명령어 (우분투 기준)
• 사용법 익히기
• 트레이서 명령어 (strace, ltrace)
• 실행 확인
1.1. 최소한의 필요한 것 - 명령어 (우분투 기준)
• 사용법 익히기
• strace 명령어를 통해서 자식 프로세스 생성 시 pid 확인
• 확인한 pid 입력하여 FLAG 값 획득
1.1. 최소한의 필요한 것 - 명령어 (우분투 기준)
• 사용법 익히기
• 트레이서 명령어 (strace, ltrace)
• 하드 코딩된 key 값 맞추기
1.1. 최소한의 필요한 것 - 명령어 (우분투 기준)
• 사용법 익히기
• 트레이서 명령어 (strace, ltrace)
• 실행 확인
1.1. 최소한의 필요한 것 - 명령어 (우분투 기준)
• 사용법 익히기
• ltrace 명령어를 통해서 key 확인 후, flag 획득
1.1. 최소한의 필요한 것 - 명령어 (우분투 기준)
• 담지 못했지만 필요한 것
• 시스템 콜과 시그널에 대한 이해
• gdb를 이용한 리눅스 디버깅(gdb-peda)
• 준비물을 갖춘 뒤 필요한 것
• 시스템 콜과 시그널에 대한 이해
• 어셈블리어에 대한 이해
2. 준비하면서
2.1. 준비하면서 느낀 것
• 레벨
• 내가 낮구나..
• 시간
• 생각보다 오래 걸리는 구나 (준비할 주제 선정, 실습하기, PPT 만들기)
3. 결론
3.1. 마무리하며
• 만나서 어떻게 진행할 지 더 이야기 하면 되니까. 이쯤에서
감사합니다.

Weitere ähnliche Inhalte

Andere mochten auch

ข้อสอบ7วิชาสามัญ สังคม
ข้อสอบ7วิชาสามัญ สังคมข้อสอบ7วิชาสามัญ สังคม
ข้อสอบ7วิชาสามัญ สังคม
Ruetaitid Khamentdee
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
Alx Mau
 
ข้อสอบ7วิชาสามัญ ชีวิทยา
ข้อสอบ7วิชาสามัญ ชีวิทยาข้อสอบ7วิชาสามัญ ชีวิทยา
ข้อสอบ7วิชาสามัญ ชีวิทยา
Ruetaitid Khamentdee
 

Andere mochten auch (15)

It's Evolution Baby
It's Evolution BabyIt's Evolution Baby
It's Evolution Baby
 
Silverbird Television: Source, Scope and Substance by Oyin Oludipe
Silverbird Television: Source, Scope and Substance by Oyin OludipeSilverbird Television: Source, Scope and Substance by Oyin Oludipe
Silverbird Television: Source, Scope and Substance by Oyin Oludipe
 
The internet
The internetThe internet
The internet
 
ข้อสอบ7วิชาสามัญ สังคม
ข้อสอบ7วิชาสามัญ สังคมข้อสอบ7วิชาสามัญ สังคม
ข้อสอบ7วิชาสามัญ สังคม
 
The Hotel Industry - Timeshare
The Hotel Industry - TimeshareThe Hotel Industry - Timeshare
The Hotel Industry - Timeshare
 
Multiple Intelligences 1
Multiple Intelligences 1Multiple Intelligences 1
Multiple Intelligences 1
 
Search Engine Progressions over time
Search Engine Progressions over timeSearch Engine Progressions over time
Search Engine Progressions over time
 
Microsoft project
Microsoft projectMicrosoft project
Microsoft project
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
Teruel
TeruelTeruel
Teruel
 
ข้อสอบ7วิชาสามัญ ชีวิทยา
ข้อสอบ7วิชาสามัญ ชีวิทยาข้อสอบ7วิชาสามัญ ชีวิทยา
ข้อสอบ7วิชาสามัญ ชีวิทยา
 
laporan eksekutif
laporan eksekutif laporan eksekutif
laporan eksekutif
 
Why People Wear Protective Clothing
Why People Wear Protective ClothingWhy People Wear Protective Clothing
Why People Wear Protective Clothing
 
Multiple Intelligences 2
Multiple Intelligences 2Multiple Intelligences 2
Multiple Intelligences 2
 
Laporan Eksekutif
Laporan EksekutifLaporan Eksekutif
Laporan Eksekutif
 

Mehr von Seungyong Lee

Mehr von Seungyong Lee (14)

Secure coding-c-dcl-1
Secure coding-c-dcl-1Secure coding-c-dcl-1
Secure coding-c-dcl-1
 
Secure coding-c-preprocessor-3
Secure coding-c-preprocessor-3Secure coding-c-preprocessor-3
Secure coding-c-preprocessor-3
 
Secure coding-c-preprocessor-2
Secure coding-c-preprocessor-2Secure coding-c-preprocessor-2
Secure coding-c-preprocessor-2
 
Secure coding-c-preprocessor-1
Secure coding-c-preprocessor-1Secure coding-c-preprocessor-1
Secure coding-c-preprocessor-1
 
Linux blue borne-vulnerabilities
Linux blue borne-vulnerabilitiesLinux blue borne-vulnerabilities
Linux blue borne-vulnerabilities
 
Sha 2017-teaser-round website attack writeup
Sha 2017-teaser-round website attack writeupSha 2017-teaser-round website attack writeup
Sha 2017-teaser-round website attack writeup
 
윈도우 커널 익스플로잇
윈도우 커널 익스플로잇윈도우 커널 익스플로잇
윈도우 커널 익스플로잇
 
화이트 박스 암호기법
화이트 박스 암호기법화이트 박스 암호기법
화이트 박스 암호기법
 
Dll 하이재킹
Dll 하이재킹Dll 하이재킹
Dll 하이재킹
 
Frida tutorial 1
Frida tutorial 1Frida tutorial 1
Frida tutorial 1
 
C 프로그램 메모리 구조
C 프로그램 메모리 구조C 프로그램 메모리 구조
C 프로그램 메모리 구조
 
리눅스 커널 기초 태스크관리
리눅스 커널 기초 태스크관리리눅스 커널 기초 태스크관리
리눅스 커널 기초 태스크관리
 
암호 기법의 소개
암호 기법의 소개암호 기법의 소개
암호 기법의 소개
 
문자열이란 무엇인가
문자열이란 무엇인가문자열이란 무엇인가
문자열이란 무엇인가
 

2016.09.04 ctf 준비 모임 발표

  • 1. CTF 준비하기 첫 모임 오리엔테이션 2016.09.03 이승용
  • 2. 서론 모임에 대해서 고민하다가 각자 실제로 발표를 준비해보기로 함. • 모임을 진행하며 수행할 문제 풀이 발표를 어떻게 할 것인가 • 문제 풀이를 하려면 무엇이 필요할 것인가 • 발표 시간은 개인 당 어느정도로 할 것인가 • 책 공부 후 시험 혹은 자신의 연구 결과물의 공유를 어떻게 할 것인가
  • 3. 목차 1. CTF 문제 풀이를 위해서 2. 준비하면서 3. 결론
  • 4. 1. CTF 문제 풀이를 위해서
  • 5. 1.1. 최소한의 필요한 것 - 명령어 (우분투 기준) • 바이너리 분석을 위해서 설치가 필요한 것들 설치 방법 strace sudo apt-get install strace ltrace sudo apt-get install ltrace radare2 git clone https://github.com/radare/radare2 sudo radare2/sys/install.sh ghex sudo apt-get install ghee gdb objdump sudo apt-get install binutils dex2jar wget http://sourceforge.net/projects/dex2jar/files/dex2jar-2.0.zip unzip dex2jar-2.0.zip cd dex2jar-2.0 chmod u+x ./*.sh jd-gui sudo apt-get install libgtk2.0-0:i386 sudo apt-get install libxxf86vm1:i386 sudo apt-get install libsm6:i386 sudo apt-get install lib32stdc++6 wget http://jd.benow.ca/jd-gui/downloads/jd- gui-0.3.5.linux.i686.tar.gz tar zxvf jd-gui-0.3.5.linux.i686.tar.gz
  • 6. 1.1. 최소한의 필요한 것 - 명령어 (우분투 기준) • 사용법 익히기 • file 명령어 • 파일 정보를 획득할 수 있는 명령어로 분석 전 사용한다. 위 이미지에서 ELF, LSB, Intel 80306 문자열을 볼 수 있는 데, ELF → 리눅스 운영체제에서 실행되는 파일 LSB → 리틀 엔디언 Intel 80306 → i386용 아키텍처 임을 파악할 수 있다.
  • 7. 1.1. 최소한의 필요한 것 - 명령어 (우분투 기준) • 사용법 익히기 • strings 명령어 • 파일 내 문자열 정보를 획득할 때 사용한다. 위 이미지에서는 알아볼 수 있는 값이 없지만, 자주 확인하는 값을 정리해두고 grep 과 함께 활용하면 분석을 빠르게 할 수 있다.
  • 8. 1.1. 최소한의 필요한 것 - 명령어 (우분투 기준) • 사용법 익히기 • 트레이서 명령어 (strace, ltrace) • DEFKTHON CTF 2014 Bin200 문제와 유사한 코드
  • 9. 1.1. 최소한의 필요한 것 - 명령어 (우분투 기준) • 사용법 익히기 • 트레이서 명령어 (strace, ltrace) • 실행 확인
  • 10. 1.1. 최소한의 필요한 것 - 명령어 (우분투 기준) • 사용법 익히기 • strace 명령어를 통해서 자식 프로세스 생성 시 pid 확인 • 확인한 pid 입력하여 FLAG 값 획득
  • 11. 1.1. 최소한의 필요한 것 - 명령어 (우분투 기준) • 사용법 익히기 • 트레이서 명령어 (strace, ltrace) • 하드 코딩된 key 값 맞추기
  • 12. 1.1. 최소한의 필요한 것 - 명령어 (우분투 기준) • 사용법 익히기 • 트레이서 명령어 (strace, ltrace) • 실행 확인
  • 13. 1.1. 최소한의 필요한 것 - 명령어 (우분투 기준) • 사용법 익히기 • ltrace 명령어를 통해서 key 확인 후, flag 획득
  • 14. 1.1. 최소한의 필요한 것 - 명령어 (우분투 기준) • 담지 못했지만 필요한 것 • 시스템 콜과 시그널에 대한 이해 • gdb를 이용한 리눅스 디버깅(gdb-peda) • 준비물을 갖춘 뒤 필요한 것 • 시스템 콜과 시그널에 대한 이해 • 어셈블리어에 대한 이해
  • 16. 2.1. 준비하면서 느낀 것 • 레벨 • 내가 낮구나.. • 시간 • 생각보다 오래 걸리는 구나 (준비할 주제 선정, 실습하기, PPT 만들기)
  • 18. 3.1. 마무리하며 • 만나서 어떻게 진행할 지 더 이야기 하면 되니까. 이쯤에서 감사합니다.