Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

LLMNR Poisoning Detection
The IDS device alerted us to a possible rogue device in the internal Active Directory network. The Intrusion Detection System also indicated signs of LLMNR traffic, which is unusual. It is suspected that an LLMNR poisoning attack occurred. The LLMNR traffic was directed towards Forela-WKstn002, which has the IP address 172.17.79.136. A limited packet capture from the surrounding time is provided to you, our Network Forensics expert. Since this occurred in the Active Directory VLAN, it is suggested that we perform network threat hunting with the Active Directory attack vector in mind, specifically focusing on LLMNR poisoning.
LLMNR (Link-Local Multicast Name Resolution) is a fallback name-resolution protocol used by Windows when:
Instead of asking a DNS server, the machine basically shouts on the local network: “Hey, who is FILESERV01?”
LLMNR poisoning is when an attacker:
That’s the “poisoning” part — you inject fake answers into name resolution.
Typical Attack Flow:
LLMNR port is UDP 5355. So on Wireshark, we can filter on:
udp.port == 5355
Once filtered, we see 172.17.79.135 is responding to broadcasts



NTLMSSP = NT LAN Manager Security Support Provider
Which is the authentication protocol layer that implements NTLM
NTLMSSP is not a network protocol by itself.
It’s a security mechanism that is:
NTLM type 2 is the challenge message.
Type 1 (Negotiate) → no challenge
Type 2 (Challenge) → SERVER CHALLENGE (8 bytes)
Type 3 (Auth) → RESPONSE (hash), no challenge shown
It’s sent by the server to the client and its job is simple but critical:
“Here is a random challenge. Prove you know the password without sending it.”
Without Type 2, NTLM cannot work.
Filtering hence on ntlmssp && ntlmssp.messagetype == 2, we find the challenge to be 601019d191f054f1:

NTProofStr = NT Proof String. It is sent in NTLM Type 3 (Authenticate). Filtering on messatype 3 and NTLM in wireshark using ntlmssp && ntlmssp.messagetype == 3, we get the response:

The NTProofStr value is the first 16 bytes after removing the metadata:

User::Domain:ServerChallenge:NTProofStr:NTLMv2Response
(without first 16 bytes)
john.deacon::FORELA:601019d191f054f1:c0cc803a6d9fb5a9082253a04dbd4cd4:010100000000000080e4d59406c6da01cc3dcfc0de9b5f2600000000020008004e0042004600590001001e00570049004e002d00360036004100530035004c003100470052005700540004003400570049004e002d00360036004100530035004c00310047005200570054002e004e004200460059002e004c004f00430041004c00030014004e004200460059002e004c004f00430041004c00050014004e004200460059002e004c004f00430041004c000700080080e4d59406c6da0106000400020000000800300030000000000000000000000000200000eb2ecbc5200a40b89ad5831abf821f4f20a2c7f352283a35600377e1f294f1c90a001000000000000000000000000000000000000900140063006900660073002f00440043004300300031000000000000000000
hashcat -m 5600 hash /usr/share/wordlists/rockyou.txt

