Wireshark tricks

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

Wireshark ๊ธฐ์ˆ  ํ–ฅ์ƒ

ํŠœํ† ๋ฆฌ์–ผ

๋‹ค์Œ ํŠœํ† ๋ฆฌ์–ผ์€ ๋ฉ‹์ง„ ๊ธฐ๋ณธ ๊ธฐ์ˆ ์„ ๋ฐฐ์šฐ๊ธฐ์— ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค:

๋ถ„์„๋œ ์ •๋ณด

์ „๋ฌธ๊ฐ€ ์ •๋ณด

_Analyze โ€“> Expert Information_์„ ํด๋ฆญํ•˜๋ฉด ํŒจํ‚ท ๋ถ„์„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ผ์— ๋Œ€ํ•œ ๊ฐœ์š”๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

ํ•ด๊ฒฐ๋œ ์ฃผ์†Œ

Statistics โ€“> Resolved Addresses ์•„๋ž˜์—์„œ wireshark์— ์˜ํ•ด โ€œํ•ด๊ฒฐ๋œโ€ ์—ฌ๋Ÿฌ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํฌํŠธ/์ „์†ก ํ”„๋กœํ† ์ฝœ, MAC์—์„œ ์ œ์กฐ์‚ฌ ๋“ฑ์ž…๋‹ˆ๋‹ค. ํ†ต์‹ ์— ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ์•„๋Š” ๊ฒƒ์€ ํฅ๋ฏธ๋กญ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœํ† ์ฝœ ๊ณ„์ธต

Statistics โ€“> Protocol Hierarchy ์•„๋ž˜์—์„œ ํ†ต์‹ ์— ๊ด€๋ จ๋œ ํ”„๋กœํ† ์ฝœ๊ณผ ๊ทธ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€ํ™”

Statistics โ€“> Conversations ์•„๋ž˜์—์„œ ํ†ต์‹ ์˜ ๋Œ€ํ™” ์š”์•ฝ๊ณผ ๊ทธ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—”๋“œํฌ์ธํŠธ

Statistics โ€“> Endpoints ์•„๋ž˜์—์„œ ํ†ต์‹ ์˜ ์—”๋“œํฌ์ธํŠธ ์š”์•ฝ๊ณผ ๊ฐ ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DNS ์ •๋ณด

Statistics โ€“> DNS ์•„๋ž˜์—์„œ ์บก์ฒ˜๋œ DNS ์š”์ฒญ์— ๋Œ€ํ•œ ํ†ต๊ณ„๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

I/O ๊ทธ๋ž˜ํ”„

Statistics โ€“> I/O Graph ์•„๋ž˜์—์„œ ํ†ต์‹  ๊ทธ๋ž˜ํ”„๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„ํ„ฐ

์—ฌ๊ธฐ์—์„œ ํ”„๋กœํ† ์ฝœ์— ๋”ฐ๋ผ wireshark ํ•„ํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: https://www.wireshark.org/docs/dfref/
๊ธฐํƒ€ ํฅ๋ฏธ๋กœ์šด ํ•„ํ„ฐ:

  • (http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)
  • HTTP ๋ฐ ์ดˆ๊ธฐ HTTPS ํŠธ๋ž˜ํ”ฝ
  • (http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)
  • HTTP ๋ฐ ์ดˆ๊ธฐ HTTPS ํŠธ๋ž˜ํ”ฝ + TCP SYN
  • (http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and !(udp.port eq 1900)
  • HTTP ๋ฐ ์ดˆ๊ธฐ HTTPS ํŠธ๋ž˜ํ”ฝ + TCP SYN + DNS ์š”์ฒญ

๊ฒ€์ƒ‰

์„ธ์…˜์˜ ํŒจํ‚ท ๋‚ด์—์„œ ๋‚ด์šฉ์„ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด _CTRL+f_๋ฅผ ๋ˆ„๋ฅด์‹ญ์‹œ์˜ค. ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ƒˆ ๋ ˆ์ด์–ด๋ฅผ ์ฃผ ์ •๋ณด ๋ฐ”(No., Time, Source ๋“ฑ)์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌด๋ฃŒ pcap ์‹ค์Šต

๋ฌด๋ฃŒ ์ฑŒ๋ฆฐ์ง€๋กœ ์—ฐ์Šตํ•˜์„ธ์š”: https://www.malware-traffic-analysis.net/

๋„๋ฉ”์ธ ์‹๋ณ„

Host HTTP ํ—ค๋”๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์—ด์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

๊ทธ๋ฆฌ๊ณ  ์‹œ์ž‘ HTTPS ์—ฐ๊ฒฐ์—์„œ ์„œ๋ฒ„ ์ด๋ฆ„์„ ์ถ”๊ฐ€ํ•˜๋Š” ์—ด(ssl.handshake.type == 1)์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

๋กœ์ปฌ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ์‹๋ณ„

DHCP์—์„œ

ํ˜„์žฌ Wireshark์—์„œ๋Š” bootp ๋Œ€์‹  DHCP๋ฅผ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

NBNS์—์„œ

TLS ๋ณตํ˜ธํ™”

์„œ๋ฒ„ ๊ฐœ์ธ ํ‚ค๋กœ https ํŠธ๋ž˜ํ”ฝ ๋ณตํ˜ธํ™”

edit>preference>protocol>ssl>

์„œ๋ฒ„์™€ ๊ฐœ์ธ ํ‚ค์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด _Edit_๋ฅผ ๋ˆ„๋ฅด์‹ญ์‹œ์˜ค (IP, Port, Protocol, Key file ๋ฐ password)

๋Œ€์นญ ์„ธ์…˜ ํ‚ค๋กœ https ํŠธ๋ž˜ํ”ฝ ๋ณตํ˜ธํ™”

Firefox์™€ Chrome ๋ชจ๋‘ TLS ์„ธ์…˜ ํ‚ค๋ฅผ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Wireshark์—์„œ TLS ํŠธ๋ž˜ํ”ฝ์„ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ณด์•ˆ ํ†ต์‹ ์— ๋Œ€ํ•œ ์‹ฌ์ธต ๋ถ„์„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ณตํ˜ธํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Red Flag Security์˜ ๊ฐ€์ด๋“œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ๊ฐ์ง€ํ•˜๋ ค๋ฉด ํ™˜๊ฒฝ ๋‚ด์—์„œ ๋ณ€์ˆ˜ SSLKEYLOGFILE์„ ๊ฒ€์ƒ‰ํ•˜์‹ญ์‹œ์˜ค.

๊ณต์œ  ํ‚ค ํŒŒ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค:

์ด ํŒŒ์ผ์„ wireshark์— ๊ฐ€์ ธ์˜ค๋ ค๋ฉด _edit > preference > protocol > ssl > (Pre)-Master-Secret ๋กœ๊ทธ ํŒŒ์ผ ์ด๋ฆ„์— ๊ฐ€์ ธ์˜ค์‹ญ์‹œ์˜ค:

ADB ํ†ต์‹ 

APK๊ฐ€ ์ „์†ก๋œ ADB ํ†ต์‹ ์—์„œ APK๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค:

from scapy.all import *

pcap = rdpcap("final2.pcapng")

def rm_data(data):
splitted = data.split(b"DATA")
if len(splitted) == 1:
return data
else:
return splitted[0]+splitted[1][4:]

all_bytes = b""
for pkt in pcap:
if Raw in pkt:
a = pkt[Raw]
if b"WRTE" == bytes(a)[:4]:
all_bytes += rm_data(bytes(a)[24:])
else:
all_bytes += rm_data(bytes(a))
print(all_bytes)

f = open('all_bytes.data', 'w+b')
f.write(all_bytes)
f.close()

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ