[Tenable CTF] network forensic ์ฌ์ฌํ์ด
ํด๋น ๋ธ๋ก๊ทธ๋ ํดํน ๋ฐ ๋ณด์ ๋ธ๋ก๊ทธ๋ก ๊ณต๋ถ ๋ฐ ์ฐ๊ตฌ์ฉ์ผ๋ก ์์ฑ๋์ด์ง๊ณ ์์ต๋๋ค. ์๋์ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํดํน ์๋ ๋ฐ ์ค์ ๊ณต๊ฒฉ์ ์๋ํ์ฌ ์ผ์ด๋๋ ๋ชจ๋ ์ฑ ์์ ๋ณธ์ธ(๋ฐ๋ผํ์)์๊ฒ ์์์ ์๋ ค๋๋ฆฌ๋ฉฐ, ๊ธ์ด์ด๋ ์๋ฌด๋ฐ ์ฑ ์์ ์ง์ง ์์ต๋๋ค. ๊ผญ ๊ณต๋ถ ๋ฐ ์ฐ๊ตฌ์ฉ์ผ๋ก๋ง ์ฌ์ฉํ์ฌ ์ฃผ์๊ธธ ๋ฐ๋๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
๊ฐ์
Tenable CTF์์ ์ถ์ ๋ ๋คํธ์ํฌ ํฌ๋ ์ ๋ฌธ์ ๋ฅผ Wireshark๋ฅผ ์ด์ฉํ์ฌ ํ์ด๋ณธ ๋ด์ฉ์.
๋ด์ฉ
๋จผ์ PCAPํ์ผ์ ์ด์ด ํ์ธ ํด๋ณด๋ฉด ๋ค์ ๋ด์ฉ๊ณผ ๊ฐ๋ค.
ํ๋กํ ์ฝ์ ์ข ๋ฅ์ ๋ฐ์ดํฐ์ ์์ ๋ณด๊ธฐ ์ํด ํด๋น ๋ด์ฉ์ ํ์ธํด๋ณธ๋ค.
Statistics -> Protocol Hierarchy๋ฅผ ํด๋ฆญํ๊ฒ ๋๋ฉด ์๋์ ๋ด์ฉ์ฒ๋ผ ํต์ ํ๋กํ ์ฝ์ ํ์ธ๊ฐ๋ฅํ๋ค.
ICMP(Internet Control Message Protocol)์ ํ์ธํด ๋ณผ ์์ ์ด๋ค.
ํจํท์ ํ์ธํด๋ณด๋ฉด ์ค์ ๋ก ICMP ํจํท์ด ๋ง์ด ํต์ ํ๋ ๊ฒ์ ํ์ธ ํ ์์๋ค.
ICMP๋ผ๋ ํํฐ๋ฅผ ํตํด ํด๋น ํ๋กํ ์ฝ๋ง ํ์ธ ํ๊ณ ์ถ๋ฐ์ง ์์ดํผ๋ 10.211.55.3๊ณผ 10.211.55.5 ๋๊ฐ์ ์์ดํผ๊ฐ ์กด์ฌํ๋ค.
ํจํท์ ํ์ธํด๋ณด๋ฉด 10.211.55.5์ ์์ดํผ์ data์์ ๋ฌด์ธ๊ฐ๋ฅผ ํ์ธํ ์ ์๋ค.
๋ฐ๋ก PNG์ ์๊ทธ๋์ฒ๋ฅผ ํ์ธํ ์์๋๋ฐ ๊ทธ๋ผ ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ ํํฐ๋ฅผ ์ข ๋ ๊ฑธ์ด๋ณด์. ํจํท์ ๊ธธ์ด๋ 100์ด ํ๊ท ์ผ๋ก ์กํ์๋ค. ๊ทธ๋ผ ์ต์ข ํํฐ๋ ์ด๋ ๊ฒ ํด๋ณด๋๊ฑด ์ด๋จ๊น?
icmp && ip.src==10.211.55.5 && frame.len>100
์ด๋ ๊ฒ ๋ง์ด๋ค.
๊ทธ๋ผ ์ด๋ ๊ฒ ์ค์ฌ์ง๋ค. ๊ทธ๋ผ ํด๋น ํจํท๋ค์ ์กฐํฉํด๋ณด์.
ํด๋น๋ฐ์ดํฐ๋ค์ ์ฌ์ค ๋ ธ๊ฐ๋ค๋ฅผ ํตํ์ฌ HXD๋ ํฅ์ค๊ฐ์ ๋ฃ์ ์์๋ ๊ณณ์ ๋ฃ์ด PNGํ์ผ๋ก ๋ง๋ค์ ์์ผ๋ ๊ท์ฐฎ์ผ๋ ...
์ผ๋จ ํํฐ๋ฅผ ๊ฑด ํจํท์ ์ ์ฅํ๊ณ ...
#/bin/python3
import scapy.all as scapy
result = scapy.rdpcap('result.pcap')
with open('result.png', 'wb') as f:
for packet in result:
f.write(bytes(packet.payload)[28:])
์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์คํ์ ํ๋ฉด
ํ์ผ์ result.png๋ก ์ ์ฅ์ด ๋ ํ ๋ฐ...
์ด๋ ๊ฒ ์ ์ฅ๋์ด ๋ต์ ์ป์ ์ ์๋ค.
๊ฒฐ๋ก
Wireshark๋ฅผ ํตํด ๊ฐ๋จํ๊ฒ ICMPํจํท์ ๋ถ์ ํด๋ณด์๋ค. ๋ฐ์ดํฐ๋ฅผ ์ด๋ฆฌ์ ๋ฆฌ ์ง์ง๊ณ ๋ณถ๊ณ ํ๋ค๋ณด๋ฉด ๋ต์ด ๋์ค๋ ๊ฒ์ ๋ค์ํ๋ฒ ๋๋๋ค.
๋ญ๋ ํ๋ฉด ์ฌ๋ฐ๋ค.