* 대회후기를 상세하게 기록해보는 것은 처음이네요 -_-ㅋㅋ 쓰다보니 좀 상세하게 기록하게됬는데 뒷 부분만 간략하게 쓰기가 애매해서 ㅋㅋ
지난 2012 순천향대 정보보호 페스티벌 예선에서 1위로 마무리 지어, <기간> 동안 순천향대학교에서 오프라인으로 진행되는 본선에 참여했습니다. 예선전이 마무리된 후 부정행위를 검사해, 1~15등에서 부정행위를 한 참가자들을 탈락처리하고 최종적으로 아래 10명의 멤버가 본선에 참여했습니다.
pwn3r jnvb qb2 두루뭉술 의지의차이 0xc0de WhatIsPassword nagi setuid0 Empier |
대회 시작은 아침 10시부터이지만 아무래도 순천향대가 1호선 끝에 있는 신창역에 있다보니 거리때문에 6시 50분쯤에 출발 한것 같네요 ㅋㅋ 아무튼 시간 맞춰서 지하철을 타고 가다보니 본선멤버 중 한 명인 n4gi와 같은 열차를 탔단걸 알고 찾아서 같이 갔습니다 ㅋㅋ 역시 1호선 신창행 열차는 얼마 가다보면 사람들이 한 번에 확빠지셔서 편하게 앉아서 갈 수 있었습니다. 전날에 노트북에 몇가지를 설치하느라 좀 늦게 잤던 저는 우선 부족한 잠을 채웠죠.
그렇게 얼마 자고 일어나서 떠들다보니 신창역에 도착해서 순천향대학교로 향했습니다. 역이 있는 건물을 나오려는데, n4gi가 갑자기 누군가를 유심히 보더니 대회가는 것처럼 보인다고 하길래 가서 물어보니 진짜 대회장 가는 분들 중 한 분이었습니다 ㅋㅋㅋ 그래서 3명이서 택시를 타고 순천향대에 도착했더니 딱 3000원 ㅋㅋ 겁나 깔끔해서 좋았습니다.
공대건물 안에 들어가니 .. 3명 다 몇 호로 가야하는지 몰라서 해맸습니다. 결국 메일왔던거 다시 확인해서 계단으로 올라가보니 대회장을 찾을 수 있었습니다. 여러개의 책상이 네모 모양으로 놓여져있었고 , 책상마다 닉네임이 쓰여있어 참가자들은 본인의 닉네임이 적힌 자리에 앉아야했습니다. 참가자들이 앉는 자리외엔 운영진 분들이 앉아서 대회 운영을 진행했습니다.
그리고 그 책상들 외에 바깥쪽에 있는 책상들엔 과자들과 음료수들이 올려져있어서 대회 진행 중에 원하는대로 가져가서 먹을 수 있었습니다.
암튼 그렇게 제 자리에 노트북과 vm등 몇 개의 유틸리티 설정을 완료하고 잠시 다른 본선멤버분들과 얘기를 나누다보니 얼마 안되어 대회시작 시간이 되었습니다. 다시 제 자리에 앉아서 운영진분들이 알려주시는대로 대회 내부망에 접속해서 네트워크 설정을 완료하고 대회홈페이지에 접속하면서 본선 대회가 시작되었습니다.
본선대회 진행방식은 지오파티방식(병렬식 문제풀이)으로 진행되었는데, 본선진행 시간이 얼마 안되는만큼 (웹 , 포너블 , 리버싱 , 포렌직 , 암호학 , 트리비아 , 네트워크 , 사회공학) 총 8개의 분야에서 한 문제씩 출제되었습니다.
당연히 시작하자마자 제가 잡은 문제는 포너블이었습니다. 예선과 마찬가지로 리모트 포너블 문제였는데, 문제서버는 FreeBSD 9.0이었습니다. 문제 바이너리의 취약점 자체는 매우 간단해서 빠른시간내에 익스플로잇을 작성할 수 있었는데, 이상하게 리버스쉘이 붙지 않았습니다. 당시에 FreeBSD 9.0 이미지도 없고, 설치할 시간도 없다고 판단되서 디버깅 과정을 전혀 없이 익스플로잇을 만들었기 때문에 제가 잘못만들었을 수도 있다고 생각했습니다. 그래도 역시 FreeBSD 9.0 이미지를 다운받기에는 시간이 없다는 생각은 변함이 없어 다른 페이로드를 구성해 공격하기 시작했습니다.
그렇게 꽤 많은 시간이 지나 약 3시간이 경과됬을때까지, 제 익스플로잇에 확신을 가지고 있었지만 공격 성공 결과로 리버스쉘이 붙지 않아서 오기가 생겨 포너블 문제를 계속 붙잡고 있었습니다. 그러다 문득 안티 바이러스 프로그램이 관리하고 있는 윈도우 방화벽이 떠올라 혹시나 하는 마음 반 제발 아니길 하는 마음 반으로 방화벽을 모두 끄고 공격을 진행해보니 정상적으로 리버스쉘이 붙더군요 ㅋㅋ 그렇게 제대로 호구 인증을 한 후 정신차리고 랭킹을 확인해보니 이미 hkkiw0823(해큐)가 2~3문제를 풀어 1위를 차지하고 있었고 다른사람들도 대부분 이미 1~2문제를 풀어놓은 상태였습니다.
"아 뭐됬다ㅋㅋㅋ" 하는 생각으로 마음이 급해져 빨리 다른 문제들을 훑어보기 시작했습니다. 다음으로 잡은 문제는 웹문제 였는데, 전형적인 해킹대회 웹 문제 스타일로 간단한 게시판과 검색창이 있는 웹사이트의 URL이 주어졌죠. 예선전 웹문제 중 하나가 게시판의 검색창에서 SQL 인젝션을 하는 문제였어서 그 기억 그대로 인젝션을 시도해보자 SQL 인젝션취약점이 존재하는 것을 확인할 수 있었지만 해당 php페이지에서 SQL구문을 몇 개 필터링 했기 때문에 이를 우회해야 했습니다. 그래서 필터링 되는 구문들을 확인해보면서 db에 있는 데이터를 가져오려 시도했지만 잘 되지 않는데다가 시간도 점점 흘러가자 결국 다른 문제를 보기로 결정 했습니다.
결국 대회 끝날때까지 해결 못해서 끝나고 풀이를 들어보니, 다른 페이지에 필터링 우회가 필요 없는 SQL 인젝션 취약점이 있었고 그 부분을 공략하면 됬다고 합니다 ㅋㅋ
* 취약점이 있는 곳을 모두 확인하고 순서대로 공략시도를 해보는 것이 좀 더 효율적인듯
웹 문제를 접어두고 생각해보니, 바로 한 문제를 잡고 그것만 푸는 것보다 남은 문제들을 다 훑어보고 좀 더 빨리 풀 수 있어보이는 것을 잡고 푸는게 좋을 것 같다고 판단했습니다 (원래 대부분이 그렇게 하시지만 -_-;)
그래서 모든 문제를 조금씩 둘러보고나니 트리비얼 문제가 간단한 코딩문제였다는 것인걸 알고 금방 코딩해서 해결했습니다.(처음에 문제 이해를 잘못해서 문의를 많이드리긴했지만 ㅋㅋ)
이제 다음으로 사회공학 문제를 잡고 풀어보려 하는데, 네트워크 문제에 대한 힌트가 주어졌습니다 ! 다른 참가자들 분위기를 보니 결정적인 힌트인것 같은 반응을 보여서 네트워크로 갈아타는 센스 ㅋㅋ 네트워크 문제는 HTTP 로그를 분석해서 찾아낸 단서를 이용해 암호화된 메일 내용을 복구하는 문제였습니다. 힌트로 주어진 것은 이 암호화키에 대한 단서였는데, 이 힌트가 없었다면 오랫동안 해맷을거 같은데 .. 힌트빨로 금방 해결할 수 있었죠 ㅋㅋ
포너블에서 너무 많은 시간을 지체해서인지 3문제 풀었는데도 대회시간은 얼마 남지않았습니다 -_- 얼마남지 않은 시간에 비해 다른 사람들은 대부분 4문제 이상을 풀이해 저는 하위권에 머무르고 있었고, 상위권에선 hkkiw0823과 jnvb형이 1위를 경쟁하고 있었습니다. jnvb형은 제 옆자리였는데, 이 형이 랭킹이 나와있는 스크린 볼 때 마다 따라 보게됬죠 ㅋㅋ
암튼 남은 문제 중 그나마 접근을 많이한 사회공학 문제와 웹 문제를 번갈아가며 계속 풀이를 시도했습니다.
하지만 웹 문제는 진전이어, 힌트가 주어진 사회공학 문제를 잡고 풀기로 결정했습니다. 사회공학 문제는 .. 사실 사회공학이랑은 약간 거리가 있는 문제였습니다 ㅋㅋ 문제를 풀다가 문제지시에 적혀있는데로 대회장 밖을 돌아다니다보면 문제에 좀더 접근할 수 있는 정보들을 찾을 수 있고 그렇게 찾아낸 정보로 다음 레벨로 넘어갈 정보를 찾는 방식이었습니다. 그래도 그런 스타일의 문제를 처음 풀어봐서 꽤 재밌게 풀었습니다 ㅋㅋ이 문제는 총 3개의 레벨을 통과하면 최종 키값을 얻을 수 있었는데, 대회가 끝나기 1분전에 3번째 레벨을 통과해서 마지막 키를 찾아야했는데 마지막 키는 출제자 분의 사물함 고유 번호였습니다 ㅋㅋㅋ 그래서 사물함 찾으러 겁나 뛰어갔다가 찾아서 돌아오고 사람들이 카운트 다운하는 동안, 모은 키를 이어붙여 최종키를 만들어 인증을 시도하니 종료시간이 지나서 인증에 실패ㅋㅋ 물론 인증한다해도 등수엔 전혀 변화가 없는 상태라 별로 아쉽진 않더라구요 -_-ㅋㅋㅋ
결국 결과는 8등 ..ㅋㅋㅋㅋ 예선과는 완전 비교되는 결과네요 -_- ㅋㅋㅋ
수상은 하게됬지만 그래도 결과가 만족스럽지 못해서 다시한번 동기부여하는 계기가 됬습니다. 다음엔 좀더 확실히 준비하고 많은 문제를 풀어봐야겠네요 ㅋㅋ
운영진 분들과 참가자분들 모두 수고하셨습니다 ~
'Personal' 카테고리의 다른 글
2012 제 7회 중고생 정보보호 올림피아드 예선 후기 (6) | 2012.09.28 |
---|---|
2012 3th Layer7 Hacking Festival 후기 (0) | 2012.09.10 |
2012 순천향대 청소년 정보보호 페스티벌 예선 후기 (4) | 2012.08.19 |
2012 Just For Fun season2 후기 (1) | 2012.08.05 |
2012 SECUINSIDE CTF 예선 후기 (1) | 2012.06.12 |