Network Packet Analysis[4]

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

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






본 포스팅에서는 DEFCON #21에 출제 되었던 문제풀이를 통해 패킷 분석을 진행 해보겠습니다.(본 포스팅은 3편에 걸쳐 포스팅을 진행 하도록 하겠습니다.

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


1. Jensen 사건을 맡게 된 Jack과 그의 팀은 Jensen의 회사와 가정에 네트워크 탭과 무선 캡처 장비를 설치했다. 모니터링을 하는 동안 Jack과 그의 팀은 흥미로운 용의자인 Betty를 발견했다. 이 사람은 Jensen 부인이 남편과 바람을 피고 있다고 걱정하는 여자일 수도 있다. Jack은 포렌식 전문가인 당신에게 캡처 정보를 자세히 보여준다. 그리고 회의가 진행된다. Round 1 패킷을 사용해서 사건에 대해 자세히 알아보고 다음의 질문에 답하시오.

회의가 예정된 요일은 언제인가?

 


문제파일을 Wireshark를 통해 파일을 확인하면 회의가 언제 진행되는지 있는 데이터가 어떤 형식인지 없으니 패킷 용량, 프로토콜 등을 분석 하도록 하겠습니다.


[그림 1] IRC 프로토콜 통신 흔적 발견

 

패킷을 분석하면 [그림 1]과 같이 17번째 패킷이 IRC 프로토콜로 통신을 있습니다. IRC 프로토콜 특징상 채팅 데이터가 기록될 확률이 높슾니다. 해당 패킷을 분석하기 위해 [마우스 우클릭] - [Follow TCP Stream] 클릭하면 아래와 같은 내용을 확인 할 수 있습니다.


PRIVMSG #S3cr3tSp0t :Hi Greg :)

:D34thM3rch4nt!~blah2@7FF07A37.29E7D414.B9027CEB.IP PRIVMSG #S3cr3tSp0t :Hi Betty

:D34thM3rch4nt!~blah2@7FF07A37.29E7D414.B9027CEB.IP PRIVMSG #S3cr3tSp0t :what day do you want to meet up?

PING :hades.de.eu.SwiftIRC.net

PONG :hades.de.eu.SwiftIRC.net

PING :hades.de.eu.SwiftIRC.net

PONG :hades.de.eu.SwiftIRC.net

PING :hades.de.eu.SwiftIRC.net

PONG :hades.de.eu.SwiftIRC.net

PRIVMSG #S3cr3tSp0t :How does Wednesday sound?

:D34thM3rch4nt!~blah2@7FF07A37.29E7D414.B9027CEB.IP PRIVMSG #S3cr3tSp0t :Great :) what time?

PRIVMSG #S3cr3tSp0t :ah 2pm

:D34thM3rch4nt!~blah2@7FF07A37.29E7D414.B9027CEB.IP PRIVMSG #S3cr3tSp0t :Ok, I can't wait!



TCP Stream 내용을 보면 Gregory와 Betty가 대화를 한 정황이 포착됩니다. Gregory가 Betty에게 어떤 날에 만나고 싶은지 물어보고 Betty는 그에 대한 대답을 하는데 파일내용이 인코딩되어 원래의 내용은 볼 수가 없습니다.

 

인코딩된 문자열을 보면 16진수 값으로 되어 있고 1 Byte마다 특수문자를 사용해서 값을 나누고 있습니다. 데이터 형식으로 보아 이는 HTML 인코딩이 것으로 추측되므로 [그림 2]와 같이 HTML 디코딩을 통해 대화내용을 복호화 를 시도합니다.



[그림 2] 디코딩된 대화 내용



HTML 인코딩 문자열을 디코딩하게 되면 이어지는 둘의 대화 내용을 확인할 수 있습니다.

 

Betty : 수요일 어때?

Grec : 좋아 :) 몇시에 볼까?

Betty : 2

Grec : 좋아, 빨리 만나고 싶어!

 

대화내용을 토대로 문제의 답을 찾으면 둘은 수요일에 만나기로 약속했습니다.





2. Betty는 Gregory와 함께 만남으로써 그녀의 행적을 감추려고 한다. Round 2 패킷을 사용해서 다음의 질문에 답하시오.

그들은 어느 도시에서 만납니까?




Wireshark를 통해 문제 패킷을 분석하는 도중 [Conversations] 기능을 통해 [그림 3]과 같이 1024 포트를 사용하여 많은 패킷이 오고 간걸 확인했습니다.


[그림 3] 1024번 포트 통신 흔적



해당 통신 기록을 자세히 분석하기 위해 [Follow Stream] 사용하면 아래와 같은 내용을 확인할 있습니다.


..T.........e.^...b..f......(.3..#}..s...CME..x.$....3.2...P..e......+.. .#...r..6&..T@J9)....Vk4.s....wM.8.D..O(.m.$_..B..K....VB.ng.......t..=.3...ue+.

.....Co...R5..D.Hv....`.Q..v">.......,.U'..H....I......D......Q......;jp4..pJ.B.I[.%0.#%._~C..*.........~. ..*.p..-]..e4...[..6.L].7.t.....;...`>t(.Rak7Qp.:......U0TOM. ....q..cO..%F....wT.N.n......o..qJi.I.....J..........2.n...0a........(..b}..?....l...}\..D.!q....ru%..N.n..P..

.2.$.Q...F..5.r..z..6..7.~.....f..R`3kU..u...Z.......a..o..$~..O.:.a/..D.+6.mXnT..g.M2E.-......2.#;.n.&..Y.........vo+.....

...........).N....Ej.....m9__.a./V,.0M..j.k...o~...:w1Y.uwA>h.....Z..t..2.gw.....n...Z......l>..P..{.G..........V....LB.Y.3..........vG..j.;...<..Y

.&.F#h$O1.......U.f$&.N..%..1...,.[.RYG..fthD3l.......+../.........a....sT.;8._.......y...ca...h...P.U.V......E....(..)...._3v..._.T...eq..!....)...pu<-.^..>...CA.N.......z1.+.....FV2*.*.....N.e!.f.M.gP,>

....V.*../.nM.+.m.9...M....._..8......}XP`]..O.=%$...:..e..l...6.h4..._A

9.1v....$..J............U...F<).k...i.....&....v...y..........r...<.=X.k..{.\Q...$dp.a+..U...^....?......Y......\b...+.....#.



TCP Stream을 확인하면 패킷이 암호화되어 어떤 내용인지 알 수 없습니다. 이제 패킷에 존재하는 파일들을 카빙해서 정렬해주는 NetworkMiner를 사용하여 좀 더 많은 정보를 분석하겠습니다.


[그림 4] [NetworkMiner] - [Messages]



NetworkMiner를 사용해서 실행하면 많은 파일들이 복구됩니다. 복구된 파일들은 파라미터, 파일, 이미지 등 다양합니다. 이 중 Messages 탭에 3개의 내역이 존재하는걸 확인할 수 있습니다. Messages 탭으로 이동해서 어떤 것들이 있는지 확인해보겠습니다.



[그림 5] Messages 파일 분석



Messages 탭으로 이동하면 Betty와 Gregory가 메일로 대화를 주고받은 정황이 포착됩니다. 여기서 [그림 5]와 같이 Betty는 Gregory에게 비밀번호를 전달하고 어떤 장소에서 기다리고 있겠다고 합니다.



[그림 6] DCC SEND



또 다른 메시지를 보면 [그림 6] 같이 DCC SEND 프로토콜을 사용해서 파일을 보낸 것을 있습니다. DCC SEND 형식에 따르면 819,200 Byte 크기의 r3nd3zv0us 파일을 1024 포트를 통해 전송했습니다. 이는 앞서 살펴본 데이터이며, 해당 데이터는 특정 파일이 전송되었음을 있습니다. 해당 파일을 분석하기 위해 wireshark 파일을 카빙 하도록 하겠습니다.



[그림 7] r3nd3zv0us 파일 TCP Stream eq 138



[그림 7]과 같이 1024번 포트로 통신한 TCP Stream 138번에서 r3nd3zv0us 파일 크기만큼 통신한 패킷만 설정해서 파일로 저장합니다.

 

시그니처 정보를 봤을 때 어떤 파일인지 알 수 없습니다. Betty 전달한 비밀번호와 연관을 지어보면 해당 파일에 비밀번호를 활용할 있는 파일 인 같습니다.

 

헤더 시그니처가 존재하지 않고 비밀번호와 연관된 파일이란 특징을 생각해봤을 때 TrueCrypt 암호화된 파일이라고 추측됩니다.



[그림 8] TrueCrypt 실행화면




TrueCrypt를 실행하고 하단 Select File 버튼으로 복구한 파일을 선택합니다. 그리고 드라이브 중 1개를 선택해서 Mount 버튼을 클릭합니다.


[그림 9] 비밀번호 입력칸



마운트를 위해 비밀번호를 입력해야 합니다. BettyGregory에게 전달한 비밀번호를 사용하겠습니다.


[그림 10] 복구된 파일 마운트 결과



비밀번호를 입력하면 성공적으로 마운트가 되는걸 확인 할 수 있습니다. 마운트 드라이브에 어떤 파일들이 존재하는지 확인해보겠습니다.



[그림 11] 마운트된 드라이브 확인



드라이브를 확인하면 LV.JPG 파일과 note.txt 파일이 존재합니다. 실행해서 내용을 확인하겠습니다.


[그림 12] LV.JPG 실행화면




LV.JPG 파일을 실행화면 [그림 12]와 같이 LAS VEGAS 전광판이 보입니다. 그리고 note.txt 파일엔 곧 만나자는 Betty의 메시지가 존재합니다.

 

사진파일 속에 나타나는 전광판의 문자열로 보아 만나기로 한 장소는 LAS VEGAS입니.


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

Network Packet Analysis[6]  (0) 2018.03.02
Network Packet Analysis[5]  (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

이 글을 공유하기

댓글