정보보안 콘테스트를 위한 CTF 문제집 (Capture The Flag 기출 문제 및 응용 문제 해설)

정보보안 콘테스트를 위한 CTF 문제집 (Capture The Flag 기출 문제 및 응용 문제 해설)

$25.00
Description
CTF 문제를 풀어보며 보안에 대한 기술을 갈고 닦아본다!

보안 기술을 키우기 위한 수단 중 하나인 ‘보안 콘테스트’에 출제된 CTF(Capture The Flag) 문제와 그 문제를 풀 때의 과정을 소개한다. 콘테스트에 참가해보고 싶지만 어디서부터 시작해야 할지 모르는 분, 흥미는 있지만 문턱이 높다고 느끼는 입문자를 위해 알기 쉽게 해설했다.

『CTF 정보보안 콘테스트 챌린지북』의 속편으로서 좀 더 깊고 전문적인 내용을 체감하고 학습할 수 있도록 구성했다. 각 장르(바이너리 해석, Pwn, 네트워크, 웹)의 지식을 사용하는 문제가 수록돼 있고, 이에 대한 풀이를 자세하게 설명했다.
SECCON Beginners에 출제된 문제는 물론, SECCON CTF나 기타 CTF에 출제된 문제, 그리고 그 분야에서 중요한 지식을 확인할 수 있는 문제를 새롭게 만들어 수록했다.

CTF는 보고 외우는 문제가 아니다. 이 책을 읽을 때는 실제로 손을 움직여보고 어떤 방법으로 문제를 풀어야 할지, 어떤 접근 방법으로 정답을 찾아내야 할지 고민하며 읽는다면 많은 도움이 될 것이다. 이 책을 다 읽을 때면 많은 기술을 익힌 기분이 들 것이다.
하지만 이 세상에는 이 책에서 다루지 않은 특별한 문제도 많이 존재한다. 이 책을 읽고 보안 콘테스트 세계에 더욱 흥미를 가지고 각종 콘테스트에 참가해보길 바란다.
저자

시미즈유타로

SECCON실행위원.보안&프로그래밍캠프2010에네트워크보안담당으로참가.CTF에서는주로Pwnable문제에무게를두려고애쓴다.2016년부터CTFforBeginners의강사를맡아현재바이너리강의를담당하고있다.여러CTF대회에문제를출제했다.

목차

[1부]바이너리분석문제
▣문제1:SelfReference
1.문제와해설
2.정보수집
___2.1파일종류
___2.2파일에포함된표시가능한문자
___2.3파일실행
3.풀이
___3.1radare2실행
___3.2암호화함수식별
___3.3fcn.080486eb분석
___3.4fcn.08048be1분석
4.플래그입수
___4.1복호화함수재현
5.정리

▣문제2:Simultaneous
1.문제
2.해설
___2.1동작확인
___2.2ltrace를통한분석
___2.3gdb-peda를사용한분석
___2.4연립방정식풀기
___2.5연립방정식의해를입력
3.정리
번외편:NumPy를사용한풀이

[2부]Pwn문제
▣문제3:SECCONx콜로세움2017서버2
1.개요
___1.1KingoftheHill이란
2.사전준비
3.제공정보
4.해설
___4.1문제서버조사
___4.2첫번째플래그
___4.3두번째플래그
___4.4세번째플래그
___4.5pico예비조사
___4.6익스플로잇제작
___4.7팀키워드쓰기
___4.8방어점사전조사
___4.9익스플로잇만들기
5.정리

▣문제4:cheer_msg
1.문제
2.사전조사
3.동작파악
4.바이너리분석
___4.1main함수
___4.2message함수
___4.3getnline함수
___4.4getint함수
5.취약점찾기
___5.1취약점확인
6.프로그램공격
___6.1방침
___6.2익스플로잇작성
7.실제공격을통한셸탈취
8.정리

▣문제5:Checker
1.문제
2.사전조사
3.동작파악
4.바이너리분석
___4.1main함수
___4.2getaline함수
5.취약점발견
___5.1취약점확인
6.프로그램공격
___6.1방침
___6.2익스플로잇작성
7.정리

[3부]네트워크문제
▣문제6:FileTransferProtocol
1.문제
2.해설
3.패킷분석
___3.1조사할패킷을결정
___3.2패킷필터링
___3.3필터링한패킷을분석
___3.4파일내용확인
4.정리

▣문제7:RE:Build
1.문제
2.두파일의차이
3.pcap파일추출
4.pcap파일분석
5.RangeRequests
6.flag.png재결합
7.정리

▣문제8:Whatdoyoutype?
1.문제
2.파일열기
3.USB패킷을캡처하는방법
4.USB패킷헤더형식
5.USB패킷헤더해석
6.전송된데이터를분석
7.프로그램을작성하고입력된문자의해석을자동화
8.정리

[4부]Web문제
▣문제9:LoginMe!
1.문제
2.문제풀이방향결정
___2.1사전준비
___2.2ID/PW추측
___2.3로그인된세션을탈취
___2.4SQL인젝션가능여부테스트
3.SQL인젝션시도
___3.1SQL문파악
___3.2테이블구조파악
___3.3계정정보취득
___3.4로그인
4.문제의의도파악
___4.1MySQL의특수한함수
___4.2PHP파일의위치추측
___4.3PHPINFO를다시읽기
___4.4PHP파일읽기
5.정리

▣문제10:BonsaiXSSRevolutions
1.해설
2.다른방법
3.정리

▣문제11:AmazingLanguage
1.문제
2.해설
___2.1문제파일확인
___2.2문제에관련된정보수집
___2.3문제파일분석
___2.4웹에서힌트를검색
___2.5problem.png를확인
___2.6웹브라우저에서실행
___2.7자바스크립트코드확인
___2.8알수없는문자열을해독해FLAG를획득
3.정리

[5부]기타문제
▣문제12:Venus
1.보안캠프전국대회2016CTF
___1.1규칙및형식
2.문제및해설
3.‘Venus’에해당하는문제는무엇인가
___3.1어떤포트가열려있는가
___3.2서비스내용상세조사
___3.3SSH접속시도
___3.4실행중인프로세스조사
4.Problem#1(Level1)
5.Problem#2(Level2)
6.Problem#3(Level3)
7.Problem#4(Level4)
8.파이썬을통한자동화
___8.1Problem#1(Level1)
___8.2Problem#2(Level2)
___8.3Problem#3(Level3)
___8.4Problem#4(Level4)
9.정리

▣문제13:Binary,EncryptedPPTX
1.문제
2.필요한지식
3.해결방법과방침을결정
___3.1제공된파일로부터생각할수있는방법
___3.2PPTX파일은어떤파일인가
___3.3공개키암호와오피스파일의관계성이어디에있는지확인
___3.4공개키포맷
___3.5방침결정
4.RSA공개키로부터비밀키구하기
5.DocRecrypt로패스워드변경
6.파워포인트로열어보기
7.마치며

▣[부록]README파일