Network Packet Analysis[5]

본 포스팅에서는 네트워크 패킷 분석에 대해서 다룹니다.

(도구설치와 같은 기초 지식은 본 포스팅에서 다루지 않습니다.)






이전 포스팅에 이어서 문제를 풀어보겠습니다.

----------------------------------------------------------------------------------------------------------------------------------------



3. Betty는 Gregory를 만나는 것을 주저한다. 사무실에서 늦게까지 일하는 동안 Gregory는 그의 전화벨을 들었다. 그는 전화를 확인하고 Betty와 만날 수밖에 없다는 것을 알게 됐다. Round 3 패킷을 사용해서 다음의 질문에 답하시오.

Gregory가 Betty를 만나지 못한다면 어떻게 죽게 되는가?

 

 

[*] 문제풀이

Wireshark로 패킷을 분석하면 [HTTP Object]에서 mms message가 존재합니다.


[그림 1] mms message

 


Gregory가 전화를 확인하고 Betty와 만날 수밖에 없다는 지문을 생각해봤을 때 이 패킷이 문제 해결에 영향을 끼칠 것 같습니다. 어떤 mms message가 오고 갔는지 확인해보겠습니다. 390번 패킷을 선택하고 [마우스 우클릭] - [Follow TCP Stream]를 클릭합니다.

  


POST http://mmsc.cingular.com HTTP/1.1

x-att-deviceid: Huawei-U8665/HuaweiU8665B037

Accept: */*, application/vnd.wap.mms-message, application/vnd.wap.sic

x-wap-profile: http://wap1.huawei.com/uaprof/HuaweiU8665WCDMA-ATT.xml

Accept-Language: en-US

Content-Length: 140046

Content-Type: application/vnd.wap.mms-message

Host: mmsc.cingular.com

Connection: Keep-Alive

User-Agent: Huawei-U8665/HuaweiU8665B037

 

...T13fc9b6b93d.....Q..l.....14062076473/TYPE=PLMN....4065316942/TYPE=PLMN........:............<smil.xml>..application/smil..3...application/smil..smil.xml.."<smil.xml>..smil.xml.<smil><head><layout><root-layout width="320px" height="480px"/><region id="Image" left="0" top="0" width="320px" height="320px" fit="meet"/></layout></head><body><par dur="16101ms"><video src="VID_20130705_145557.mp4" region="Image" dur="16101ms"/></par></body></smil>Z..q.#video/mp4..VID_20130705_145557.mp4.."<VID_20130705_145557.mp4>..VID_20130705_145557.mp4.....ftypisom....isom3gp4....fre



위와 같이 TCP Stream을 확인하면 mms message로 VID_20130705_145557.mp4 파일이 전송된 것을 볼 수 있습니다. mp4 파일에 어떤 내용이 존재하는지 확인하기 위해 해당 mp4패킷을 추출 하도록 하겠습니다.


[그림 2] VID_20130705_145557.mp4 파일 분석

 


추출된 패킷 중 mp4 파일을 카빙하기 위해 mp4 파일의 헤더 시그니처를 찾아보겠습니다.


[그림 3] mp4 파일 헤더 시그니처 발견

 

mp4 파일 헤더 시그니처 값으로 검색하면 [그림 3]과 같이 발견됩니다. 헤더 시그니처 앞에 있는 불필요한 데이터 내용들을 모두 지우고 온전한 mp4파일이 되도록 저장하겠습니다.

 


[그림 4] 복구된 mp4 파일

 


복구된 파일의 정보를 보면 [그림 4]와 같이 재생시간이 15초인 mp4 파일입니다. 해당 영상을 실행해 내용을 살펴보면 아래와 같은 화면에서 죽게 되는 이유의 단서를 찾을 있습니다.


[그림 5] 키 발견

 


파일을 실행하면 Gregory 죽게 되는 이유가 이질(DYSENTERY)이라는걸 알 수 있습니다.




4. Betty의 진정한 정체에 대해 여전히 확신이 없는 Gregory는 자신을 Betty의 동료라고 하는 한 단체와 만난다. 그들은 그에게 은행 계좌 번호와 추가 비밀 서류를 포함한 요구 사항 목록을 줬다. Betty의 동료는 Gregory에게 상품의 배달에 관한 정보를 제공 받을 것이라고 말했다. Round 4 패킷을 사용해서 다음의 질문에 답하시오.

Gregory에게 제공된 비밀번호는 무엇인가?



[*] 문제풀이

지문에서 Betty 동료가 Gregory에게 상품의 배달과 관련된 것을 말했다는 것을 보면 패킷에 이와 관련된 내용이 있을 것 같습니다. 빠른 분석을 위해 NetworkMiner 프로그램을 사용해서 패킷을 분석하겠습니다.


[그림 6] [NetworkMiner] - [Messages]

 

NetworkMiner로 패킷을 분석하면 [그림 6]과 같이 Messages 탭에 복구된 내용이 존재합니다. 해당 탭으로 이동해서 내용을 확인하겠습니다.



[그림 7] Betty의 메시지

 

[Messages]탭으로 이동하면 Betty가 Gregory에게 보낸 메시지를 볼 수 있습니다. Betty는 비밀번호에 대한 내용을 얘기하고 kml 파일의 내용을 전달합니다. kml 파일의 특성상 구글 어스 프로그램을 사용하면 지리 위치 정보를 알 수 있습니다.

 

해당 메시지의 내용을 통해 kml 파일을 만들어보겠습니다. kml 파일 내용을 모두 복사하고 소스코드 편집 프로그램에 붙여 넣습니다.


<?xml version=\"1.0\" encoding=\"UTF-8\"?>

<kml xmlns=\"http://www.opengis.net/kml/2.2\">

<Document>

<name>S3cr3t.kml</name>

<StyleMap id=\"my_pin\">

<Pair>

<key>normal</key>

<styleUrl>#my_pin2</styleUrl>

</Pair>

<Pair>

<key>highlight</key>

<styleUrl>#my_pin2</styleUrl>

</Pair>

</StyleMap>



kml 파일 내용을 보면 위와 같이 곳곳에 \(역슬래시)가 존재합니다. 이 \들이 존재하는 상태에서 파일을 실행하면 에러가 나타납니다. \를 모두 지우고 kml 파일을 kml Viewer를 통해 확인하면 아래와 같은 화면을 볼 수 있습니다.


[그림 8] 키 발견

 

화면에 나타난 문자열이 문제에서 요구하는 패스워드입니다.




5. Gregory가 실종됐다! 그는 Betty를 만나서 물건을 배달하기로 되어 있었다. 그 이후 행방이 묘연해졌다. 이상한 물품이 Rock Solid Investigations 사무실로 도착했다. Jack Stone은 패키지를 열고 노트와 휴대폰을 발견했다. Jack은 즉시 휴대 전화를 포렌식 전문가인 당신에게 보낸다. Gregory에게 상품의 배달에 관한 정보를 제공 받을 것이라고 말했다. Round5 zip을 사용해서 다음의 질문에 답하시오.

Gregory에게 무슨 일이 일어 난건가?

 

[*] 문제풀이

이번 문제는 패킷 문제와는 다르게 문제 파일로 이전과는 다르게 압축파일입니다. 압축을 해제하면 Dump 폴더와 log 파일이 생성되는데 log 파일을 확인하면 해당 덤프가 안드로이드 덤프임을 있습니다.

 

덤프의 양이 많지만 지문에서 Gregory에게 무슨 일이 일어났는지 확인해보라는 외엔 언급을 것이 없습니다. 파일들을 찾아보면서 특이한 것들이 있는지 확인해보겠습니다.


[그림 9] jpg 파일 실행 화면

 

파일들 중 jpg 파일들을 확인하면 남성이 바닥에 쓰러져 있는걸 있습니다. 문제 정황상 Gregory 보이며 죽은 것으로 추정됩니다.




6. Mrs. Jensen은 이 이상한 이메일을 더 자세히 보기로 결심한다. 그녀는 계좌 잔고를 확인하기 위해 계좌에 대한 접근 권한을 계속 유지하기로 결정한다. Round 6 패킷을 사용해서 다음 질문에 답하시오.

악성 페이로드의 용량은 몇 Byte인가?

 

[*] 문제풀이

지문에서 악성 페이로드의 용량이 몇 Byte인지 물어보는 것을 보면 패킷에 악성페이로드가 존재 하는 같습니다. NetworkMiner 이용하여 패킷에 존재하는 파일들을 빠르게 카빙 하겠습니다.


[그림 10] 악성 페이로드 의심 파일

 


복구된 파일들을 확인하면 html 확장자 파일이 하나 있습니다. Mrs. Jensen이 이메일 내용을 자세히 보게 점을 미루어봤을 html 파일이 열람됐을 가능성이 높습니다.

 

복구된 파일이 지문에서 요구하는 악성 페이로드가 맞는지 확인하기 위해 백신 프로그램으로 검사를 하면 바이러스라고 검출될 것 입니다. html 파일 행을 [마우스 우클릭] - [Open Folder] 클릭합니다.



[그림 11] 복구된 파일

 

폴더로 이동했으면 백신 프로그램으로 검사를 하겠습니다.





[그림 12] 바이러스 탐지

 

백신 프로그램으로 파일을 검사하면 [그림 12] 같이 바이러스가 검출됩니다. 이제 문제의 키인 파일의 사이즈를 확인하면 3133 Byte임을 있습니다. 악성페이로드의 크기는 3113 Byte입니.






다음 포스팅에 이제 마지막 문제들을 살펴 보겠습니다.






'Digital Forensic > Network-Forensic' 카테고리의 다른 글

Network Packet Analysis[6]  (0) 2018.03.02
Network Packet Analysis[4]  (0) 2018.02.26
Network Packet Analysis[3]  (0) 2018.02.26
Netwotk Packet Analysis[2]  (1) 2018.02.13
Network Packet Analysis[1]  (0) 2018.02.05

이 글을 공유하기

댓글