Responder is a multi threaded tool that answers to IPv4 LLMNR (Link-local Multicast Name Resolution) and Netbios Name Service (NBT-NS) queries.
This tool includes:
- LLMNR poisoner.
- NBT-NS poisoner.
- Rogue SMB server with a NTLMv1/v2 hash graber.
- Rogue HTTP server, with basic auth and NTLMv1/v2 hash graber.
- Rogue SQL Windows auth server with a NTLMv1/v2 hash graber.
What is LLMNR:
LLMNR can be seen as a mix between NBT-NS and DNS. This protocol was introduced in Windows Vista, it is used to resolves single label names.
The main differences are:
- LLMNR supports IPv6.
- LLMNR is Multicast.
LLMNR is used when DNS name resolution is unable to identify a host. If LLMNR fail, NBT-NS will be used as last resort if enabled.
NetBIOS Name Service poisoner:
Often wrongly refered as NBT-NS "spoofer" an NBT-NS poisoner will respond to broadcast NBT-NS queries.
On Windows version lower than Vista, When DNS resolution fails, NBT-NS will be used as last resort if the requested name is smaller or equal to 15 characters. The 16th character is reserved for the NetBIOS Suffix.
The purpose of this poisoner is to have a customizable NBT-NS answerer which only answer to a certain type of NBT-NS query.
The concept is to use a white list of NBT-NS services (see http://support.microsoft.com/kb/163409), which allows us to target a NBT-NS attack.
By default, we only answer to File Server NetBIOS name suffix. We are then able to limit the poisoning stricly to issued share requests like "\\ShareServer\testing\". This helps us to target an NBT-NS poisoning attack and therefore limit any collateral damage on the subnet.
This tool can also answer to Workstation/Redirectors Service suffix queries if this option is set via command line.
Once this tool is launched, it will join the IGMP group and listen on UDP 5355 port multicast.
This tool will also listen on TCP port 139, 445, 1433, 80 and UDP port 137, if you have any service running on these ports, you will need to stop them prior launching this tool.
The tool will write captured hashes to a file in the current folder for each poisoned host with the following syntax: [SMB/HTTP/SQL]-[NTLMv1/v2]-Client-IP.txt in a John Jumbo format.The SMB server supports Windows ranging from NT4 to Windows Server 2012 RC, Samba, Mac OsX Lion.
Several options are available, those are :
- d : Target Domain name. This option is optional, by default WORKGROUP will be used.
- i : Our IP address. This option is mandatory, it is used to poison LLMNR and NBT-NS answers with our ip address.
- r : If set to 1, Responder will answer to NBT-NS Workstation/Redirect queries. By default this option is set to false.
- b : Use HTTP basic authentication, this is used to capture clear text password. By default this option is set to false (NTLM auth)
- s : Turn HTTP server On/Off. By default the HTTP is enabled.
In this example, the tool answered to a LLMNR query with the HTTP server set in NTLM auth mode (-b 0). The target successfully made a connection to our rogue HTTP server and sent its NTLMv2 credentials.
This screenshot illustrates the responder set to answer to workstation/Redirect NTB-NS queries with the HTTP server set in basic authentication mode. The target successfully made a connection to our rogue HTTP server and sent its clear text credentials.
In this example, the responder poisoned a LLMNR query and captured a SMBv2 authentication hash.
This tool is available for download here: https://github.com/SpiderLabs/Responder