본문 바로가기

[+] Hacking/[-] Challenge Report

SANS Forensic Contest Puzzle #1

책만 보고 지식만 습득하다보니 습득한 지식을 어떻게 활용해야 하는지 궁금해져서 포렌식 문제들을 이리저리 찾던 중 SANS Forensic Team에서 제공하는 문제들이 있었다.
내가 풀어본 문제는 2009년 문제로 처음 출제된 네트워크 포렌식 문제였는데 나름 공부도 된 것 같아 좋았다.
지금까지 총 10개의 문제가 있으며 현재 10번 문제는 답안을 받고 있는 상태이다.
형식은 증거 파일을 주고 각 질문에 답변을 하는 식이어서 문제 문장 자체가 영어가 엄청 많아 나름 영어 해독때문에 고생을 하였다.
문제 주소는 다음과 같으며 문제는 PCAP 파일이다.

문제 : http://forensicscontest.com/2009/09/25/puzzle-1-anns-bad-aim 

1번 문제의 세부적인 질문들은 총 6가지가 있으며, 각 질문에 대한 답변을 찾아보도록 하겠다.

Q1. What is the name of Ann’s IM buddy? - Ann'친구의 메신저 이름은 무엇인가?
A1. Sec558user1


주어진 Pcap 파일의 TCP 패킷을 "tcp.stream eq 2" 로 필터해서 Stream을 보면 대화내용들이 나오는데 대화내용 앞에 ID 혹은 Username으로 생각 되는 문자열이 있다.

[그림 1 - Pcap 파일의 대화내용 Stream]

이 메신저가 메시지를 전송할 때 ID를 전송하는지 대화명을 전송하는지 같이 전송하는지는 모르기 때문에 특정 이름으로 확정 짓는것은 무리지만 질문에 답할만큼은 충분하다.



Q2. What was the first comment in the captured IM conversation? - 캡쳐한 메신저 대화 중 첫번째는 무엇인가?
A2. Here's the secret recipe... I just downloaded it from the file server. Just copy to a thumb drive and you're good to go >:-)


위 이미지에 나와 있듯이 ID 혹은 Username으로 추정되는 문자열 뒤에 바로 대화로 추정되는 긴 문장이 나온다.


Q3. What is the name of the file Ann transferred? - Ann이 보낸 파일의 이름은 무엇인가?
A3. recipe.docx


위 이미지에서 보면 파일명이라고 볼 수 있는 것은 "recipe.docx" 밖에 없다.


Q4. What is the magic number of the file you want to extract (first four bytes)? - 당신이 추출하고자 하는 파일의 매직넘버는?(처음 4바이트)
A4. 50 4b 03 04


추출하고자 하는 파일은 "recipe.docx" 이며 해당 파일의 파일 포맷은 docx로 직접 docx 파일을 만들어 확인하면 "50 4b 03 04" 가 나온다. magic Number이기 때문에 모든 docx 파일에서는 동일하다.


Q5. What was the MD5sum of the file? - 파일의 MD5sum 값은 무엇인가? 
A5. 8350582774e1d4dbe1d61d64c89e0ea1


메신저에서 파일을 전송했기 때문에 파일 또한 TCP 프로토콜로 전송되었다. 이 근거를 가지고 패킷을 필터(tcp.stream eq 7)하다보면 docx의 파일 포맷이 있는 패킷을 확인 할 수 있다.

[그림 2 - 증거 Pcap 파일에서의 docx 파일 포맷]


이 파일포맷을 시작으로 끝까지 복사하여 하나의 .docx 확장자로 파일을 생성(HEX 수정 프로그램이나 스크립트)하면 메신저에서 Ann이 상대방에게 보낸 recipe.docx 파일을 복구 할 수 있다.
이 파일의 MD5 Sum 값이 이 질문에 답변이다.


Q6. What is the secret recipe? - 비밀 레시피는 무엇인가?(recipe.docx 파일의 내용을 물어보는 듯)
A6. 아래 이미지와 같다.


[그림 3 - Q6의 답변]

 


이번문제의 중요 포인트는 네트워크 패킷 캡쳐 파일에서의 파일 복구인 듯하다.

처음에 PK Magic Number를 보았을 때에는 zip 파일인 줄 알고 신경쓰지 않고 PK Magic Number 위에 보이는 OFT2 Magic Number에 초점을 맞춰 파일 복구를 시도 했지만 되지 않아 여러모로 헤매고 있었다. 

이번에 docx 파일도 PK Magic Number를 사용하는 것을 처음 배웠다.

후에 파일 포맷에 대해서도 공부해 봐야겠다.