Hack The Packet 2014 예선(2014 HTP_prequal)
올해도 30만원 정도 하는 POC 티켓을 노리고 HTP에 도전했다..
하지만 안타깝게 9위로 본선진출만 하고 5위권내 진입은 실패했다..ㅠㅠ
그래도 문제를 풀었던 후기를 적어보고자 한다..
PCAP 파일 다운로드(Google Drive)
Zip 파일 암호 : 2o14H@CKTH2P@cK2T
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
L1-K : 엘리스는 자신의 공유폴더를 이용하여 부하직원인 밥에게 비밀자료를 남겼다!. "이미지 파일을 보고 듣고 해독할것!" L1-E : Alies leave a Secret Message using SMB for assistant bob. "Look and listen image file and decipher that" Hint : use ear L2-K : NFS 서버가 침해사고를 당했다. 해커가 사용한 public key 이름을 찾아라. L2-E : NFS server got compromised, Find out name of hacker’s public key! L3-K : 악성앱이 설치된 휴대폰의 기종은? L3-E : What is a model of cell phone which is installed malicious application? M1-K : 공격자가 SQL Injection 공격을 통해 알아낸 4번째 필드명이 무엇인지 찾아라! M1-E : Find what is the field name of the fourth was investigated attacker through the attack of SQL Injection Hint : having Key format : Tablename-Columnname M2-K : 꼬비는 10/09 21시경 개인 사진자료를 편집하기 위해 USB를 이용하여 사진 편집 작업을 하였다. 몇일 뒤 개인 사진이 SNS을 통해 돌아다니는 것을 확인하였다. 이전 기억을 되짚어 볼 때 그날 집에 있던 사람은 동생뿐이었다. 만약 동생이 USB로 사진 자료를 복사한게 맞다면 노트북과 연결한 동생의 USB 제품명은? (&&사이값 모두 입력) (노트북 O/S는 윈도우7 Ultimate K 버전이며 윈도우를 10/06 새로 설치한 상태였다. ) M2-E: ggobi edited photos using the usb .(10/09 21 hour after) ggobi's photo was leaked through SNS a few days later. i was suspected the brother. ggobi remembered that brother is in house that day. USB product name of brother ? (Laptop O/S ver: window 7 Ultimate K) hint : between & and & M3-K : 룰이 공유한 클라우드 계정으로 접속한 가르미는 신이 나서 이것저것 다운을 받는다. 다운을 다 받은 후 컴퓨터가 감염되었다는 사실을 알게 되었다. M3-E : Garumi logged on cloud as Rul’s ID and downloaded something. After downloading, she realized that her computer is infected with a virus. hint: zip file key format : md5(filename) H1-K : 용자는 BOF 문제를 풀다가 리턴 값을 계산하기 귀찮아서 BF를 하기로 했다! 그런데 운영진 측에서 연락이 오더니 자꾸 패킷 많이 쏘면 탈락시킨다고 했다.. 다행히도 공격에 성공을 했는지 바인드쉘 포트가 열렸다!! BUT, 명령어가 안먹힌다 ㅠ.ㅠ 살펴보니 바인드쉘 쉘코드를 제대로 만들지 못했었다!! 쉘코드는 간단히 수정했으나.. 다시 BF를 할 수도 없고.. 정확한 리턴 값 계산하기도 귀찮고.. 용자를 위해서 정확한 주소를 찾아주세요! H1-E : Yongja is very lazy, but like CTF. So, he decided to use BF to solve BOF chall. Some hours later, he got shell from chall server (bindshell). But he did mistake, lost the shell connection! He can’t do BF anymore(was warned by OP). Find correct return address in the exploit packet! key format : 0xXXXXXX(Little endian) H2-k : Apache Struts기반으로 운영되는 사이트가 먹통이 되었다. 원인이 되는 취약점(CVE)는 무엇이고 공격자가 변경하려는 사이트는 어디인가?(페이로드 값) H2-E: Yongja’s website that based on Apache Struts got melong! Please let us know what is the CVE(used vuln) and where is the site to change bad guy want? H3-K : 악성코드에 감염된 용은 분석 전문가 파드란에게 도움을 요청했다! 감염된 악성코드에 이름을 찾아라! H3-E : YongGAL who was infected by Malware, asked for help from padran, an analytical expert. Search for the name of the infected Malware HINT : IFRAME key format : MalwareSIte_attackerID |
올해도 역시 9문제.. Low 2문제 Medium 3문제 High 3문제씩 나왔다.
제공된 pcap 파일의 크기는 약 250M 정도..
하지만 이 파일을 읽어서 필터걸고 TCP follow 등 분석하는데 로딩 시간이 상당히 걸렸다..
대회시간은 단 2시간…
따라서 빠른분석을 위해 패킷을 의미있는 단위로 쪼개서 분석했어야 했는데 하는 아쉬움이 많이 남았다.
가장 먼저 푼 문제는 H2 문제..
예전에 Apache Struts 취약점 관련 사고 대응을 한번 했던 터라 기억이 났다..
먼저 http 필터를 걸었더니 한참…
그래서 다시 보통 Struts에서 사용하는 확장자인 .action을 필터를 걸었다..
.action관련 패킷이 3개 있는데 하나는 정상적인 request,
두번째는 test 마지막이 base64로 인코딩된 것으로 공격으로 의심되는 패킷이였다..
그런데 이상한게 request 만 있고 response 가 없다..ㅠ
1 |
/struts2-blank/example/HelloWorld.action?Class.classLoader.resources.dirContext.docBase=aHR0cDovL3d3dy5oYWNrdGhlcGFja2V0LmNvbS9Lb3JlYW5fVGhhbmtzZ2l2aW5nX0RheS8oXk9eKS8oXk9eKS8v |
payload 부분인 base64를 디코딩해보니
정답은 http://www.hackthepacket.com/Korean_Thanksgiving_Day/(^O^)/(^O^)//
두번째로 푼 문제는 M1 문제 sql Injection 문제다..
힌트가 having 으로 주어져서 having으로 필터를ㅋ
이렇게 공격시도를 확인할 수 있었다..
그런데 여기도 역시 request 만 있고 response 가 없다..
그런데 테이블명이 확인이 안되서 다시 IP 기준으로 필터를..
그리고 공격 Request 후 500 에러가 난 response 가 있어 TCP follow Stream 을 해보니..
순서대로 bbs.idx, bbs.tId, bbs.tName, bbs.tMail 으로
4번째 필드명은 bbs.tMail 이다..
이 문제 풀 때 서버가 다운이 되서 Key인증을 제대로 못하고 찜찜하게 넘어갔다..
게다가 bbs-tMail 으로 인증을 해야 되는데 잘못봐서..
bbs.tMail와 bbs_tMail 으로 넣어 계속 틀리다가 한참 있다가 인증에 성공했다…ㅠㅠ
정답은 bbs-tMail
세번째로 푼 문제는 L3 문제다.
악성앱이니까 안드로이드 기종 중 하나이지 않을까 싶었다.
일단 user-agent를 Android 로 필터해 보았다.
필터링 하자마자 param 에 떡 하니 보인다..
그래도 다시 확인
정답은 : SHV-E210S
네번째로 H3 문제를 풀었다..
이번에도 힌트로 IFRAME 이 있어서 필터~
TCP follow stream 을 해보니 아래부분에 IFRAME 가 보안다..
해당 패킷의 쿠키값에서 user_id 값도 확인.
정답은 http://h_@ckGALI.H^T^P.com_GALIGALI
그리고 마지막으로 M3번 문제로
먼저 ndrive 으로 필터 했다.
별다른 것이 보이지 않아 일단 ip.src 으로 다시 필터링 해서 속도를 빠르게 하기 위해 display 된 패킷만 다른 이름으로 저장을 해두었다.
그리고 힌트로 zip file 이라고 했다. 그래서 http.response.code 으로 다시 필터를 해보았다.
그중에 zip 으로 보이는 HTTP/1.1 206 Partial Content (application/zip) 를 확인해보니..
Adobe Photoshop CS2_kor.zip 이다..
해당 파일을 추출해서 압축을 푸니 백신프로그램이 악성코드로 잡아 검역소에 넣는다..^^;
설마 진짜 악성코드인가?
그래서 일단 파일명으로 md5() 을 해보니..
모두 다 인증이 안된다..
설마~ 하면서 검역소에 있는 바이러스 파일의 md5()를 해서 인증하니 성공!
정답은 5a1c10ee87fc3085865d07415240e090
이렇게 총 5문제를 풀어 1100 점으로 예선 9등으로 통과.
리뷰하면서 보니,
아예 못본 문제중에 쉬운것도 있었고,
몇몇 문제는 거의 다 찾았는데 집중력이 부족해져 못보고 지나친 문제도 있었다.
개인적으로는 패킷 필터링에 시간을 좀 절약하고,
운영 서버다운으로 허둥대지만 않았으면,
몇 문제 더 풀 수 있었을텐데…
조금 아쉬웠다.
하지만 정말 아쉬운것은 개인적인 일정으로 본선에는 참석하지 못했다는..ㅠㅠ
2 Responses to Hack The Packet 2014 예선(2014 HTP_prequal)