서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
정보보안 콘테스트를 위한 CTF 문제집 (Capture The Flag 기출 문제 및 응용 문제 해설)
저자 : 시미즈 유타로|타케사코 요시노리|니이보 하야토|하세가와 치히로|히로타 카즈키|호요우 타카아
출판사 : 위키북스
출판년 : 2018
정가 : 25000, ISBN : 9791158391089
책소개
『CTF 정보보안 콘테스트 챌린지북』의 속편으로서 좀 더 깊고 전문적인 내용을 체감하고 학습할 수 있도록 구성했다. 각 장르(바이너리 해석, Pwn, 네트워크, 웹)의 지식을 사용하는 문제가 수록돼 있고, 이에 대한 풀이를 자세하게 설명했다. SECCON Beginners에 출제된 문제는 물론, SECCON CTF나 기타 CTF에 출제된 문제, 그리고 그 분야에서 중요한 지식을 확인할 수 있는 문제를 새롭게 만들어 수록했다.
CTF는 보고 외우는 문제가 아니다. 이 책을 읽을 때는 실제로 손을 움직여보고 어떤 방법으로 문제를 풀어야 할지, 어떤 접근 방법으로 정답을 찾아내야 할지 고민하며 읽는다면 많은 도움이 될 것이다.
목차
[1부] 바이너리 분석 문제
▣ 문제 1: SelfReference
1. 문제와 해설
2. 정보 수집
___2.1 파일 종류
___2.2 파일에 포함된 표시 가능한 문자
___2.3 파일 실행
3. 풀이
___3.1 radare2 실행
___3.2 암호화 함수 식별
___3.3 fcn.080486eb 분석
___3.4 fcn.08048be1 분석
4. 플래그 입수
___4.1 복호화 함수 재현
5. 정리
▣ 문제 2: Simultaneous
1. 문제
2. 해설
___2.1 동작 확인
___2.2 ltrace를 통한 분석
___2.3 gdb-peda를 사용한 분석
___2.4 연립 방정식 풀기
___2.5 연립 방정식의 해를 입력
3. 정리
번외편: NumPy를 사용한 풀이
[2부] Pwn 문제
▣ 문제 3: SECCON x 콜로세움 2017 서버 2
1. 개요
___1.1 King of the Hill이란
2. 사전 준비
3. 제공 정보
4. 해설
___4.1 문제 서버 조사
___4.2 첫 번째 플래그
___4.3 두 번째 플래그
___4.4 세 번째 플래그
___4.5 pico 예비 조사
___4.6 익스플로잇 제작
___4.7 팀 키워드 쓰기
___4.8 방어점 사전 조사
___4.9 익스플로잇 만들기
5. 정리
▣ 문제 4: cheer_msg
1. 문제
2. 사전 조사
3. 동작 파악
4. 바이너리 분석
___4.1 main 함수
___4.2 message 함수
___4.3 getnline 함수
___4.4 getint 함수
5. 취약점 찾기
___5.1 취약점 확인
6. 프로그램 공격
___6.1 방침
___6.2 익스플로잇 작성
7. 실제 공격을 통한 셸 탈취
8. 정리
▣ 문제 5: Checker
1. 문제
2. 사전 조사
3. 동작 파악
4. 바이너리 분석
___4.1 main 함수
___4.2 getaline 함수
5. 취약점 발견
___5.1 취약점 확인
6. 프로그램 공격
___6.1 방침
___6.2 익스플로잇 작성
7. 정리
[3부] 네트워크 문제
▣ 문제 6: File Transfer Protocol
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: What do you type?
1. 문제
2. 파일 열기
3. USB 패킷을 캡처하는 방법
4. USB 패킷 헤더 형식
5. USB 패킷 헤더 해석
6. 전송된 데이터를 분석
7. 프로그램을 작성하고 입력된 문자의 해석을 자동화
8. 정리
[4부] Web 문제
▣ 문제 9: Login Me!
1. 문제
2. 문제 풀이 방향 결정
___2.1 사전 준비
___2.2 ID/PW 추측
___2.3 로그인된 세션을 탈취
___2.4 SQL 인젝션 가능 여부 테스트
3. SQL 인젝션 시도
___3.1 SQL 문 파악
___3.2 테이블 구조 파악
___3.3 계정정보 취득
___3.4 로그인
4. 문제의 의도 파악
___4.1 MySQL의 특수한 함수
___4.2 PHP 파일의 위치 추측
___4.3 PHPINFO를 다시 읽기
___4.4 PHP 파일 읽기
5. 정리
▣ 문제 10: Bonsai XSS Revolutions
1. 해설
2. 다른 방법
3. 정리
▣ 문제 11: Amazing Language
1. 문제
2. 해설
___2.1 문제 파일 확인
___2.2 문제에 관련된 정보 수집
___2.3 문제 파일 분석
___2.4 웹에서 힌트를 검색
___2.5 problem.png를 확인
___2.6 웹 브라우저에서 실행
___2.7 자바스크립트 코드 확인
___2.8 알 수 없는 문자열을 해독해 FLAG를 획득
3. 정리
[5부] 기타 문제
▣ 문제 12: Venus
1. 보안 캠프 전국 대회 2016 CTF
___1.1 규칙 및 형식
2. 문제 및 해설
3. ‘Venus’에 해당하는 문제는 무엇인가
___3.1 어떤 포트가 열려있는가
___3.2 서비스 내용 상세 조사
___3.3 SSH 접속 시도
___3.4 실행 중인 프로세스 조사
4. Problem #1 (Level1)
5. Problem #2 (Level2)
6. Problem #3 (Level3)
7. Problem #4 (Level4)
8. 파이썬을 통한 자동화
___8.1 Problem #1 (Level1)
___8.2 Problem #2 (Level2)
___8.3 Problem #3 (Level3)
___8.4 Problem #4 (Level4)
9. 정리
▣ 문제 13: Binary, EncryptedPPTX
1. 문제
2. 필요한 지식
3. 해결 방법과 방침을 결정
___3.1 제공된 파일로부터 생각할 수 있는 방법
___3.2 PPTX 파일은 어떤 파일인가
___3.3 공개 키 암호와 오피스 파일의 관계성이 어디에 있는지 확인
___3.4 공개 키 포맷
___3.5 방침 결정
4. RSA 공개 키로부터 비밀 키 구하기
5. DocRecrypt로 패스워드 변경
6. 파워포인트로 열어보기
7. 마치며
▣ [부록] README 파일