본문 바로가기

[+] Hacking/[-] Challenge Report

SANS Forensic Contest Puzzle #2

#1 을 풀어본 후 재밌어서 하나 더 풀게 되었다. 이번 문제도 네트워크 패킷 캡쳐 파일을 증거로 제공 해 주며 질/답 형식의 문제이다.
이번 문제에서는 패킷에서 파일을 추출하는 것이 아닌 일반 문서에 첨부되어 있는 이미지를 추출하는 것이 주 목적이었다고 생각 된다.(물론 SMTP 패킷 분석도 주 목적이었다고 생각 된다.)

문제 :  http://forensicscontest.com/2009/10/10/puzzle-2-ann-skips-bail 

이제부터 각 질문에 대한 답변을 달아보도록 하겠다.



Q1. What is Ann’s email address? - Ann's의 이메일 주소는 무엇인가?
A1. sneakyg33k@aol.com


이 질문에 대한 답변을 하기 위해서 SMTP 패킷을 분석해도 좋지만 더 간단한 방법으로는 Windows Live Mail을 이용하는 것이다. 아래 이미지처럼 SMTP의 Stream을 저장한 후 Windows Live Mail을 이용하여 열면 더 파악이 쉽게 된다.

[그림 1 - SMTP Stream]

[그림 2 - Windows Live Mail]

위 [그림 2]를 보면 보내는 사람에 Ann Dercover라고 되어 있고 그 옆 괄호안에 이메일 주소가 있다.



Q2. What is Ann’s email password? - Ann's의 email 비밀번호는 무엇인가?
A2. 558r00lz


이 질문에 답하기 위해서는 Q1 처럼 Windows Live Mail을 사용해서는 안되며 SMTP 패킷을 분석해야 한다.
아래는 Ann's가 보낸 SMTP 패킷의 내용이다.

[그림 3 - Ann's가 보낸 SMTP 패킷 내용]

 
빨간 박스 안에 내용을 보면 AUTH LOGIN 명령어로 로그인을 시도하고 어떠한 값들을 입력한 후 서버에서 "AUTHENTICATION SUCCESSFUL" 이라는 인증성공에 관한 메시지를 보내준다. 이를 근거로 유추해 봤을 경우 바로 위에 나오는 "NTU4cjAwbHo=" 를 비밀번호로 유추할 수 있다. 이 값은 base64 인코딩 값으로 디코딩 하면 위 답변과 같이 나온다.

 

[그림 4 - Base64 Decoding]



Q3. What is Ann’s secret lover’s email address? - Ann's의 비밀 연인의 email 주소는 무엇인가?
A3. mistersecretx@aol.com 


Ann's가 보낸 위에서 알아본 SMTP 패킷말고 다른 패킷이 있는지 TCP 필터(tcp.stream eq 3)를 하면 Ann's가 보낸 SMTP 패킷이 하나 더 보이며 받는 사람의 주소가 다르다. Windows Live Mail로 보면 아래와 같다.

[그림 5 - 또하나의 Email]

위 이미지의 Email이 Ann's가 비밀연인에게 보내는 Email이며 받는 사람의 주소가 이 질문에 답변이 된다.

 


Q4. What two items did Ann tell her secret lover to bring? - 둘은 비밀연애를 위해 어떤 두가지의 아이템을 사용하였는가?(?)

A4. fake passport and a bathing suit

이 문제의 해역이 정확치 않아 그냥 느낌 상 두가지의 아이템이라고 하여 풀어봤을 때 email의 내용 중 Fake Passport와 bathing suit가 답변이 될 수 있다.




Q5. What is the NAME of the attachment Ann sent to her secret lover? - Ann의 비밀 연인이 보낸 첨부파일의 이름은 무엇인가?
A5. secretrendezvous.docx

[그림 5]에서 보다 싶이 첨부되어 있는 문서의 이름이 답변이 된다. 



Q6. What is the MD5sum of the attachment Ann sent to her secret lover? - 비밀연인이 보낸 첨부파일의 MD5sum 값은 무엇인가?
A6. 9e423e11db88f01bbff81172839e1923

파일은 Windows Live Mail에서 '다른이름으로 저장'을 하면 가져올 수 있으며, 간단하게 python script로 md5sum을 계산 할 수 있다.

[그림 6 - md5sum]


[그림 7 - md5sum script code]




Q7. In what CITY and COUNTRY is their rendez-vous point? - 그들은 어느 나라, 도시에서 만나는가?
A7. Playa del Carmen, Mexico

이 질문에 대한 답변은 Mail 내용에도 나와 있듯이 첨부파일에서 확인 할 수 있다.

 

[그림 8 - 첨부파일의 내용]




Q8. What is the MD5sum of the image embedded in the document? - 첨부파일속 이미지의 MD5sum 값은 무엇인가?

A8. e0a87f88a4ecec5fcd63368edf75958d

이 답변의 경우 내 답변은 틀렸다는 것을 미리 밝혀둔다. 위 Answer로 기재된 md5sum 값은 문제 출제자가 원한 값과 다르다. 왜 다른지는 아직 나도 모른다. 이미지도 정상적으로 추출되었는데 뭔가 쓰레기값이 들어가거나 하여 값이 달라진 듯 하다.
하지만 이미지는 정상적으로 나와 따로 왜 그런지 분석해보지는 않았다.
첨부파일을 hex view하여 조금 보다보면 png라는 글자가 보인다.
png의 head 시그니처 hex는 "89 50 4E 47 0D 0A 1A 0A" 이며 foot 시그니처 hex는 "49 45 4E 44 AE 42 60 82" 이다.

첨부파일에서 해당 시그니처를 찾아 시그니처 사이에 있는 내용을 뽑아줘 따로 파일로 저장해주면 된다.

 

[그림 9 - png 그래픽 파일 추출 script]

원래 능동적인 로직이라면 시그니처를 검색해서 추출해줘야 하지만 그렇게까지는 할 필요가 없어 오프셋을 지정해줬다.

실행하면 아래와 같이 나온다.

 

[그림 10 - 추출결과]