Network Packet Analysis[4]
- Digital Forensic/Network-Forensic
- 2018. 2. 26. 13:04
본 포스팅에서는 네트워크 패킷 분석에 대해서 다룹니다.
(도구설치와 같은 기초 지식은 본 포스팅에서 다루지 않습니다.)
본 포스팅에서는 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] 비밀번호 입력칸
마운트를 위해 비밀번호를 입력해야 합니다. Betty가 Gregory에게 전달한 비밀번호를 사용하겠습니다.
[그림 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 |
이 글을 공유하기