2016.09.04 ctf 준비 모임 발표
TRANSCRIPT
CTF�준비하기첫�모임�오리엔테이션�2016.09.03
이승용
서론
모임에�대해서�고민하다가�각자�실제로�발표를�준비해보기로�함.�
• 모임을�진행하며�수행할�문제�풀이�발표를�어떻게�할�것인가��
• 문제�풀이를�하려면�무엇이�필요할�것인가�
• 발표�시간은�개인�당�어느정도로�할�것인가�
• 책�공부�후�시험�혹은�자신의�연구�결과물의�공유를�어떻게�할�것인가
목차
1. CTF�문제�풀이를�위해서�
2. 준비하면서�
3. 결론
1.�CTF�문제�풀이를�위해서
1.1.�최소한의�필요한�것�-�명령어�(우분투�기준)�
• 바이너리�분석을�위해서�설치가�필요한�것들
설치�방법
strace sudo�apt-get�install�strace
ltrace sudo�apt-get�install�ltrace
radare2git�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.�마무리하며�
• 만나서�어떻게�진행할�지�더�이야기�하면�되니까.�이쯤에서�
감사합니다.