Network Forensic #30 (Sans Network Forensic [Puzzle 7])

 

네트워크 포렌식 30번 문제

 

이번 문제... 매우 어려운 문제였다..

 

앞에서 정리한 Sans Network Forensic [Puzzle 4] 문제의 난이도와 매우 큰 차이가 느껴질 정도로 매우 어려운 문제였다...

 

 

본격적으로 문제 풀이를 진행해보자..!

 

문제로 주어진 pcap 파일 확인을 위해 Wireshark 도구를 통해 파일을 확인한다.

 

 

Wireshark : 오픈 소스 패킷 분석 프로그램으로 pcap을 이용하여 패킷을 잡아내는 것이 주요 기능

 

다운로드 사이트 : https://www.wireshark.org/download.html

 

Wireshark · Download

Riverbed is Wireshark's primary sponsor and provides our funding. They also make great products that fully integrate with Wireshark. I have a lot of traffic... ANSWER: SteelCentral™ AppResponse 11 • Full stack analysis – from packets to pages • Rich perfor

www.wireshark.org

[그림 1] Wireshark 실행 - pcap 파일 오픈

 

pcap 파일을 열면, 지금까지 보지 못했던 pcap 파일인 것을 알 수 있다.

 

그리고 802.11 프로토콜을 통해 무선랜 패킷 파일이라는 것을 확인할 수 있다.

 

IEEE 802.11은 흔히 무선랜, 와이파이라고 부르는 무선 근거리 통신망을 위한 컴퓨터 무선 네트워크에 사용되는 기술

 

무선랜의 경우 보통 암호화 되어있는 패킷이므로 aircrack-ng 도구를 통해 분석하였다.

 

Aircrack-ng : 무선랜 패킷 파일에 대한 종합 분석 도구이며, Monitoring / Attacking / Testing / Cracking 등 다양한 기능을 사용할 수 있다.

 

다운로드 사이트 : https://www.aircrack-ng.org/

 

Aircrack-ng

This release brings a ton of improvements. Along with bug fixes and improvements for a lot of tools, we have huge improvements under the hood thanks to code cleanup, deduplication, and reorganization of the source code. We also improved our buildbot, and a

www.aircrack-ng.org

 

Aircrack-ng 도구는 대부분 CLI 형태로 되어 있지만, 필자는 GUI 형태의 도구로 분석하였다.

 

[그림 2] Aircrack-ng (GUI) 파일 분석

 

해당 문제 파일을 찾은 다음, Launch 버튼을 누르면 분석을 시작한다.

 

[그림 3] 분석 결과

 

aircrack-ng로 분석한 결과, WEP 방식으로 암호화 되어 있다는 것과 해당 암호 키에 대한 정보를 얻을 수 있다.

 

무선 패킷의 복호화를 위해 aircrack 패키지 중 복호화 도구인 airdecap-ng를 사용하여 패킷 복호화를 진행하였다.

(위 사이트에서 aircrack-ng 도구를 다운받으면, 같은 폴더에 복호화 도구가 있다.)

 

[그림 4] airdecap-ng 복호화 결과

 

복호화 된 pcap 파일이 해당 폴더에 생성된다.

 

이제 Wireshark 도구로 복호화 된 파일을 확인해보자.

 

[그림 5] 복호화 된 pcap 파일 확인

 

pcap 파일을 확인해보면 일반적으로 볼 수 있는 상태의 pcap 파일이다.

 

pcap 파일 확인 결과, IMAP이나 STMP 등 메일과 관련된 프로토콜을 사용한 것을 확인 가능하다.

 

첫 번째 패킷의 IMAP 패킷을 [Follow TCP Stream] 기능을 통해 확인해보면 다음과 같은 결과가 나온다.

 

[그림 6] 첫 번째 IMAP 패킷 확인

 

해당 결과를 확인해보면 문제에서 등장했던 Dark Tangent에게 보내는 메일 내용이라는 것을 확인할 수 있다.

 

메일 내용을 통해 Ann과 Dark Tangent가 만날 랑데부 지점에 대한 힌트가 첨부 파일에 있다는 것을 알 수 있다.

 

또한 image 형식의 첨부 파일을 보낸 것도 확인할 수 있으며 base64로 인코딩 되어 전송되었다는 것도 확인할 수 있다.

 

따라서 해당 데이터를 추출해 base64로 디코딩하면 첨부된 이미지 파일을 확인할 수 있다.

 

[그림 6] missing in captuer file

 

하지만 첨부 파일 인코딩 데이터 중간에 missing in capture file이라는 문자열이 있다.

 

따라서 현재 패킷을 통해서는 첨부 파일 복원을 진행할 수 없다는 것을 알 수 있다... (너무 어려움)

 

문제로 주어진 패킷을 보면, IMAP 패킷 이외에 메일과 관련된 SMTP 패킷도 있기 때문에 SMTP 패킷도 확인해보자.

 

[그림 7] SMTP 패킷 - Follow TCP Stream 기능

 

Wireshark 필터를 사용해 SMTP 프로토콜을 검색한 후, 첫 번째 SMTP 프로토콜 패킷을 [Follow TCP Stream]을 통해 확인해보면 기존 IMAP 프로토콜 패킷과 동일한 내용 확인이 가능하며, 첨부 파일 데이터도 중간 손실 데이터가 없는 온전한 상태인 것을 확인할 수 있다.

 

첨부 파일의 데이터를 base64 디코딩 사이트를 통해 확인하면 다음과 같은 결과를 볼 수 있다.

 

base64 디코딩 사이트 : https://freeonlinetools24.com/base64-image

 

base64 image decoder encoder online

Base64 image decoder encoder online - this online tool lets you convert base64 string to image and image to base64 - jpg, jpeg, png, gif, bmp, ico, svg.

freeonlinetools24.com

[그림 8] base64 디코딩을 통한 이미지 파일 추출

 

추출된 이미지 속에는 총 5가지의 문장이 적혀 있는 것을 확인할 수 있다.

 

작아서 잘 안 보일거 같아 한 문장씩 해결하면서 상세한 설명 부분을 넣었다.

 

첫 번째 문장 : App Store - App Name

 

첫 문장은 App Store의 App Name을 찾는 것이므로 App Store의 검색 기능을 이용해서 App을 찾았을 것이라고 추측할 수 있다.

 

본격적인 분석을 진행해보자.

 

우선 NetworkMiner 도구로 해당 pcap 파일을 열어준다.

 

NetworkMiner : 네트워크 포렌식 분석 도구로써 사용하는 운영체제나 세션, 호스트 이름, 열려있는 포트 정보 탐지 기능 등 상세한 정보를 얻을 수 있는 도구

 

다운로드 사이트 : https://www.netresec.com/index.ashx?page=NetworkMiner

 

NetworkMiner - The NSM and Network Forensics Analysis Tool ⛏

Network Miner is a network forensics tool for analyzing network traffic

www.netresec.com

[그림 9] NetworkMiner Images 탭 확인

 

NetworkMiner의 [Images] 탭을 통해 확인해보면 위 화면과 같이 카드게임들의 이미지가 출력되는 것을 통해 카드 게임이 문제에 대한 힌트로 보인다.

 

카드 게임에 대한 가능성을 생각하면서, NetworkMiner의 [Paeameters] 탭을 통해 검색한 App을 확인하였다.

 

[그림 10] 검색 관련 URL 확인

 

[Parameters] 탭을 확인한 결과, Destination host에 위 화면과 같이 ax.search.itunes.apple.com이라는 것을 확인할 수 있으며, 검색과 관련한 URL이라는 것을 알 수 있다.

 

이를 통해 URL의 Parameters name과 Parameter value를 확인하면 term과 solitaire라는 값이 있다.

[그림 11] solitaire 구글링

 

그리고 solitaire 단어를 구글에 검색해보면 카드 게임이라는 결과를 확인할 수 있다.

 

첫 번째 문장 해결!!

 

두 번째 문장 : Podcast Title

 

이 문장은 전에 문제 풀이한 Sans Network Forensic [Puzzle 3]의 4번 문제와 매우 비슷한 방식으로 풀 수 있다.

 

Wireshark의 찾기 기능(Ctrl + F)의 Packet details를 선택한 다음, Podcast를 검색하면 HTTP/XML 프로토콜이 검색된다.

 

따라서 Podcast가 HTTP를 사용해서 통신했다고 의심해볼 수 있으며, Wireshark의 필터에 http && xml을 검색해서 HTTP 200 OK 패킷들을 확인하였다.

 

[그림 12] Wireshark 찾기 기능

 

[그림 13] HTTP/XML 프로토콜 패킷 확인

 

위 결과 창에서 찾기 기능을 이용해 Podcast 관련 문자열이 있는 패킷을 확인하면 3개의 패킷이 있다.

 

패킷의 xml을 추출해 확인해보면 마지막으로 선택되는 패킷의 xml에서 Podcast 내용과 title 확인이 가능하다.

 

 

※ HTTP 200 OK XML 코드 확인하는 방법

 

1. 패킷 선택

 

2. 패킷의 세부 정보 출력 화면 - extensible Markup Language 마우스 우클릭

 

3. Copy - Bytes - Printable text only 선택

 

4. 메모장(코드 편집 프로그램) - 붙여넣기

 

[그림 14] Podcast Title 결과 확인

 

이렇게 해서 두 번째 문장도 해결했다...!

 

세 번째 문장 :  Youtube Video Title

 

[그림 15] NetworkMiner Message 탭 확인

 

NetworkMiner 도구를 사용하여 [Message] 탭을 확인해보면 한 개의 SMTP 패킷이 있는 것을 확인할 수 있다.

 

그리고 패킷 내용을 확인해보면 Youtube Video에 대한 URL 확인이 가능하다.

 

해당 URL을 접속해보면 다음과 같은 영상이 나오게 된다.

 

[그림 16] Youtube Video 확인

 

URL로 이동하게 되면, 다음과 같은 영상이 나오면서 영상 제목을 확인할 수 있다.

 

세 번째 문장도 완료!

 

네 번째 문장 : Google Earth City Name

 

이건 처음에 봤을 때 뭔소리인지 이해가 안 갔던 문장이다..

 

그래도 문제는 풀어야 하니.. 위 문장에 대해 분석을 진행했다.

 

[그림 17] NetworkMiner Parameters 탭 확인

 

NetworkMiner의 [Parameters] 탭을 확인해보면 Google Earth에서 검색한 도시 이름에 대한 정보가 나온다.

 

Destination host의 maps.google.com을 통해 구글 지도와 관련 있는 URL이라는 것을 알 수 있다.

 

관련 URL의 Parameter name과 Parameter value를 통해 q와 hacker valley, wv라는 값을 확인 가능하다.

 

자세한 정보 확인을 위해 구글에 검색하여 확인하였다.

 

[그림 18] 상세 정보 확인

 

위 화면과 같이 실제로 존재하는 지명이라는 것을 확인하였다.

 

4번째 문장도 완료... 하나 남았다!

 

다섯 번째 문장 : AIM Buddy Name

 

[그림 19] NetworkMiner Parameters 탭 확인

 

NetworkMiner의 [Parameters] 탭을 확인해보면 AIM과 관련된 URL을 확인하면 위 화면과 같은 URL들을 확인할 수 있다.

 

Parameter name에 message를 통해 Do you have the cash? 라는 내용을 확인할 수 있다.

 

메시지 내용을 전달할 때 AIM Buddy Name도 함께 전송될 것이라고 추측해볼 수 있으며, 해당 패킷의 프레임 번호인 187605을 Wireshark를 통해 확인하였다.

 

[그림 20] 187605번 패킷 정보

 

187605번 패킷에 대한 [Follow TCP Stream] 기능 내용으로, 보낸 message 내용을 확인할 수 있다.

 

또한 inter0pt1c 내용과 ip1NaUEi7G7o_OHY를 통해 두 값 중에 하나가 Buddy name이라는 것을 확인할 수 있다.

 

[그림 21] NetworkMiner 정보

 

위 내용은 NetworkMiner 도구에서도 확인이 가능한 정보다.

 

이렇게 해서 5개의 문장에 대한 분석을 끝냈다.

 

문제의 최종 답이 하나의 단어라고 하였으므로 주어진 5가지 문장의 해답을 한 개의 단어로 만들어야 한다.

 

5가지 단어는 서로의 연관 관계가 없으므로, 단어의 첫 글자를 조합하면 한 단어로 만들어지면서 어느 장소에 대한 내용이 나오게 된다.

 

위 과정대로 본 문제를 해결할 수 있다.


# Reference

 

http://www.yes24.com/Product/Goods/59156934

+ Recent posts