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