6. DEFCON CTF
세계 최고 권위의 해킹 대회
미국 라스베가스에서 본선
4년마다 운영진이 바뀌며 규칙도 조금씩 변화
기본적으로 예선은 문제 풀이, 본선은 공격/방어
본선 참가 팀에 대한 지원이 호텔 방밖에 없음
라스베가스 왕복 항공료…
BoB 지원 + 사비로 갔다옴
7. DEFCON CTF
2013년에 운영진이 바뀌면서
서버의 root 권한을 주지 않고 제로데이 사용도 금지됨
채점 방식도 변경되어 제로섬 방식으로
공격에 성공하면 방어에 실패한 팀은 점수를 빼앗김
원래 정시에 시작하는 경우가 없었다는데
정확한 시간에 시작
패킷 캡쳐는 실시간이 아닌 15분 전의 내용을 줌
8. DEFCON CTF
본선 문제는 모두 시스템이고
팀 별로 주어진 서버를 공격하고 방어
서버 바이너리를 직접 수정해서 취약점 패치
크기가 크고 취약점이 여러 개있는
바이너리들이 주어짐
공격을 하는 것도 중요하지만
방어를 제때 못하면 점수가 다 털리는 것을 볼 수 있음
대회장에 음악 소리가 아주 크다
9. SECUINSIDE CTF
국제대회
2012, 2013, 2014 모두 운영진이 달랐지만
공통점은 포너블, 리버싱 위주의 문제들
작년에 지오핫이 1인 팀으로 우승
시스템 해킹 공부에 많은 도움이 됨
11. CODEGATE Junior
CODEGATE 청소년부
해외 중고등학생 해커들과 경쟁을 해볼 수 있음
청소년 대회들 중에서 난이도가 가장 높음
일반부 문제들에서 비교적 쉬운 문제들과
청소년용으로 아주 쉬운 문제를 만들어서 냄
올해에도 선린에서 우승자가 나오기를…
12. 교내 해킹대회
랭킹을 마지막에 공개하는데
항상 test 계정이 1등을 함
실력 좋은 고등학생 해커들이 선린에 많이 있기 때문에
우승하기가 상당히 힘듬
우승은 힘들지만 입상은 쉬운 편
졸업생들이 문제를 내는데 누가 내느냐에 따라 문제 스
타일이 달라짐
보통 다양한 분야로 난이도는 낮음~중간으로 출제
13. 청소년 정보보호 페스티벌
상당히 역사가 긴 해킹대회
장관상이 걸려있음
작년에 예선이 데프콘이랑 겹쳐서…
다양한 시스템, 웹, 리버싱, 포렌식, misc 등
다양한 분야의 문제가 출제됨
운영진이 친절함 (IRC에서 답을 잘 해줌)
14. 중고생정보보호올림피아드
본선 장소가 국회
센스(게싱?)을 많이 요구하는 문제들
참가자마다 문제 답이 다 다름
예선과 본선 문제 유형이 비슷함
리버싱 위주
시스템 문제는 아주 쉽게 나옴
절대로 못 풀만한 문제가 하나씩은 꼭 나옴
15. 청소년 화이트해커 경진대회
문제 수준은 높은 편
예선 본선이 나눠져 있지 않음
운영진이 공정성을 위해 채팅 응답을 잘 하지 않음
작년에 문제 점수를
기본 2000점 / 문제를 푼 사람 수로 하는 방식이 사용됨
16. 대한민국 화이트햇 콘테스트
문제 난이도가 국내 대회들 중 가장 높음
청소년부 예선은 거의 1~2 문제 풀면 본선 진출
본선 시간도 그리 길지 않기 때문에
청소년부는 보통 1문제 풀면 우승
라운드 2는 포렌식, 리버싱 문제들이 나옴
점수 따기가 비교적 쉬운 라운드 2 문제들에 집중
17. KISA 해킹방어대회
침해사고 대응 위주의 문제
1차 예선은 일반적인 대회 방식이고
2차 예선과 본선은 팀별로 주어진 서버에서 과제 해결
사고 대응 (악성코드 제거, DDoS 방어 등)
사고 분석 (악성코드 유포지, 정보 유출 시간 등)
18. HolyShield
문제는 꽤 잘 만들지만
작년에 실제 CCTV를 해킹해서 문제를 내서 논란이 됨
(경찰서에서 강제 정모?...)
특이한 점은 입상하면 상금과 함께 로또도 줌
19. HUST Hacking Festival
2013년에 지나친 게싱 문제들과
절대로 풀 수 없는 문제(해쉬 복호화)를 내서
욕을 엄청나게 먹고 사과문까지 올림
2014년에는 그래도 풀만하게 나왔음
시스템 문제는 나오지 않고
리버싱 문제가 많이 나옴
20. Hack.lu CTF
다양한 분야의 문제들이 나오지만
특히 신기한 시스템 문제들이 인상적
윈도우 환경에서 작동하는 문제
쓰레드 사용으로 취약점을 발생시키는 문제
Glibc heap의 fastbin을 이용하여 공격하는 문제
libgcc_s의 unwind 구조를 이용해서 공격하는 문제
이상한 libc를 써서 그걸 잘 가져와야 하는 문제
등등…
21. CSAW CTF
본선 진출이 가능한 학교들이 지정 되어있지만
예선 문제는 풀어 볼 수 있음
공부하기 좋은 쉬운 문제들이 많이 나옴
시스템, 웹, 리버싱 등 다양한 분야로 출제되고
검색을 열심히 해서
특정 정보를 찾아내는 리콘이라는 분야도 나옴
22. SIGINT CTF
시스템 문제가 많이 나오는데
샌드박스 관련 문제를 처음으로 봐서 인상적이었음
시스템 문제들은 난이도 하향을 위해
ASLR, NX, PIE 등의 방어 기법들을
좀 꺼주는 경우가 많은데
무자비하게 다 켜져 있었고 64비트 문제도 많았음
23. PlaidCTF
PPP에서 운영하는 CTF
PPP가 낸 것 같은 문제들이 많이 나옴
(높은 난이도)
시스템, 웹, 리버싱, 암호학, 포렌식 등
다양한 분야가 나옴
포렌식 문제가 해킹 대회에 나오면 보통 게싱이 많지만
PCTF 포렌식 문제는 리버싱과 암호학 실력을 요구함
24. PHD CTF
예선에 시스템 문제는 나오지 않고
리버싱과 웹, 암호학, misc 위주
웹 문제가 그냥 웹 문제가 아니라
뭔가 다른 대회에서 보기 힘든 신기한 것들이 나옴
여성 해킹대회 power of xx 우승팀에게
본선 진출권이 주어짐
25. Ghost in the Shellcode
시스템 비중이 높지는 않지만
고난이도의 시스템 문제가 나옴
게임을 해킹하는 pwn advanture라는 신기한 문제가
있었는데..
체력이 상당히 높은데 반피를 깎으면 순식간에 체력이
차는 보스 잡기 (integer overflow 버그 이용)
맵에 숨겨둔 보물 찾기
(코드 분석 후 좌표 핵으로 해당 위치로 이동)
AK47을 쏘는 곰한테서 3분 동안 생존하기
(좌표 핵으로 어그로가 끌리지 않는 곳으로 이동)
27. 선린모의해킹대회
Layer7 hacking festival
Layer7에서 운영하는 대회
재학생은 입상할 수 없지만
문제가 좋으니까 풀어보는 것이 좋음
게싱이 없는 시스템, 리버싱 문제들이 대부분
철저한 문제 검수
(이상한 문제 내면 다시 만들어야 됨)
28. 해킹 대회 잘 하는 법
1. 문제를 빨리 많이 풀면 된다.
2. 다른 사람이 못 푸는 문제를 풀면 된다.
연습
최대한 많은 대회 참가 (CTFTIME 참고)
문제 풀어보기 (지난 대회들, 워게임 사이트들)
풀이 찾아보기 (write-up)
32. 버그 헌팅
프로그램의 버그 중 악용 가능한 취약점을 찾는 것
찾은 취약점의 심각성에 따라 돈을 받을 수도 있음
KISA 취약점 신고 포상제, ZDI, iDefence, pwn2own
33. 취약점을 찾는 방법들
화이트박스 (내부 구조를 알 수 있는 경우)
- (소스 코드 오디팅, 리버스 엔지니어링 등)
블랙박스 (내부 구조를 알 수 없는 경우)
- (퍼징 등)
단순한 실수들도 많고 실제 프로그램에서
취약점을 찾는 것이 항상 어렵지는 않다
잘 돌아가기만 하면 문제가 없는 것?
34. 퍼징
가장 단순하면서도 효과적인 방법
취약점을 찾으려는 프로그램의 구조를 잘 몰라도 가능
직접 작성한 퍼저나 foe, peach 등을 사용
35. 소스 코드 오디팅
소스 코드를 구할 수 있는 경우
소스 코드를 분석하여 취약점을 찾는 것
오픈 소스 소프트웨어들은
소스 코드 다운로드 링크가 있거나
svn, git 등이 공개 되어있음
36. 리버스 엔지니어링
소스 코드가 없는 경우
디스어셈블리와 디버깅을 통해 취약점을 찾음
ollyDBG, IDA 사용
37. 제보했던 취약점들…
XE XSS
KCP ActiveX RCE
등등…
패치가 안된 것들이 많아서 2개만
38. XE XSS
XSS 취약점은 입력 값을 다시 출력할 때 발생
이스케이핑 처리를 항상 제대로 하는 것은 어렵다
39. XE XSS
github에 올라와있는
XE 소스 코드를 열심히 읽어서 찾는다
(소스 코드 오디팅)
https://github.com/xpressengine/xe-core
40. XE XSS
XE는 소스 코드가 상당히 큰데
검색해보면 개발자 매뉴얼이 있어서
분석에 유용한 정보를 얻을 수 있다
45. XSS 취약점을 이용한 공격
쿠키를 가져와서 Session Hijacking?
(XE에서는 세션의 IP를 확인하기 때문에 안됨)
잘 생각해보면…
해당 세션으로 할 수 있는 모든 작업이 가능
XE의 경우
관리자 계정 생성, 웹쉘 코드 실행, 페이지 변조 등등
46. KCP ActiveX RCE
파일 쓰기, 라이브러리 로딩 등이 자유롭게 가능했음
설계상의 문제
comraider로 보니 정직한 함수명…