Uninvited Guest — Writeup
Category: Network Forensics (tshark)
Artifact: demonne.pcap (53,326 packets, 2026-09-28 01:05–01:24)
Flags:
deadface{10.77.10.66} · deadface{nkessler} · deadface{annual_report.pdf} ·
deadface{167.172.132.224_4815}
Summary
The companion pcap to Who Goes There? captures the initial access: LLMNR poisoning of the file-server name, the NTLMv2 credential leak it triggers, the attacker relaying into the real file server, enumerating the executive share, and finally zipping the loot out to a public IP on a nonstandard port.
Protocol overview
tshark -r demonne.pcap -q -z io,phs
# ssh 47634 frames, smb2 140, llmnr 160, mdns 280, nbns 2, dns 18, arp 1556
Flag 1 — the poisoned answer: 10.77.10.66
Filter the name-resolution chatter:
tshark -r demonne.pcap -Y "llmnr || nbns || mdns" \
-T fields -e frame.number -e ip.src -e dns.qry.name -e dns.a
The workstation 10.77.10.20 (Nathan's box, MAC 52:54:00:77:20:01) broadcasts
LLMNR queries for the file server dmf-field-01, and 10.77.10.66 (MAC
52:54:00:77:66:01 — the rogue Kali device) answers every one of them in
~1–2 ms with the poisoned response:
1459 10.77.10.20 query dmf-field-01
1463 (kali) resp dmf-field-01 A 10.77.10.66 <-- claiming to BE the file server
1468 10.77.10.66 resp dmf-field-01 A 10.77.10.66 <-- ...and again, and again
Classic LLMNR poisoning — the "corporate" IPv4 supplying the suspicious answer:
deadface{10.77.10.66}
Flag 2 — the leaked username: nkessler
The poisoned answer prompts an SMB authentication attempt straight into the attacker's hands:
tshark -r demonne.pcap -Y "ntlmssp.auth.username" \
-T fields -e frame.number -e eth.src -e eth.dst -e ntlmssp.auth.username -e ntlmssp.auth.domain
2326 52:54:00:77:20:01 -> 52:54:00:77:66:01 (TCP 445) nkessler dmf-field-01
Nathan's workstation sends an NTLMv2 AUTH for nkessler to the Kali box —
domain field helpfully set to the poisoned name dmf-field-01.
deadface{nkessler}
Flag 3 — first PDF read: annual_report.pdf
The attacker relays to the real file server (10.77.10.30, DMF-FILE-01) and
enumerates the executive share; frame 6899's directory listing shows the loot
set, then files are read in sequence (SMB2 cmd 5 = Create, 16 = Query, 8 =
Read):
7405 01:07:31 Create annual_report.pdf <-- first PDF read
9088 01:07:47 Create board_transition_timeline.pdf
9740 01:07:53 Create succession_vote_draft.pdf
deadface{annual_report.pdf}
Flag 4 — exfiltration destination: 167.172.132.224_4815
Sum the outbound TCP from the Kali box, excluding LAN/SSH noise:
tshark -r demonne.pcap -Y "ip.src==10.77.10.66 && tcp" \
-T fields -e ip.dst -e tcp.dstport -e tcp.len \
| awk '$1!~/^10\./ {s[$1":"$2]+=$3} END {for (k in s) print s[k], k}' | sort -rn
# 710070 167.172.132.224:4815 <-- ~710 KB outbound, public IP
Confirm it really is the archive — the first data packet carries the ZIP magic:
tshark -r demonne.pcap -Y "ip.dst==167.172.132.224 && tcp.len>0" \
-T fields -e tcp.payload | head -1
# 504b0304 ... (PK\x03\x04)
deadface{167.172.132.224_4815}
Attack chain (combined with memory evidence)
Kali 10.77.10.66 --LLMNR poison--> DMF-WS11-042 (10.77.10.20)
<-- NTLMv2 auth for nkessler --
Kali --relay--> DMF-FILE-01 (10.77.10.30) :445
reads /executive: annual_report.pdf, board_transition_timeline.pdf,
succession_vote_draft.pdf, executive_risk_register.xlsx,
candidate_background_notes.docx
Kali --ZIP exfil--> 167.172.132.224:4815 (710 KB)
The stolen document later surfaced in Ghost Town, confirming the breach — exactly the story the two artifacts tell together.