Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
icebreaker — Récupère les identifiants en clair d'Active Directory si vous êtes sur le réseau interne mais en dehors de l'environnement AD. | Kitploit
Outils/GitHubGitHub/danmcinerney/icebreaker
Cassage de Mots de PasseReconnaissanceAnalyse des VulnérabilitésPost-ExploitationTests d'IntrusionRed Teaming
GitHubdanmcinerney/icebreaker

icebreaker

Récupère les identifiants en clair d'Active Directory si vous êtes sur le réseau interne mais en dehors de l'environnement AD.

Voir le dépôt
1.2k159il y a 7 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

icebreaker

Brisez la glace avec cet environnement Active Directory là-bas. Quand vous avez froid et que vous êtes seul à regarder une fête Active Directory sans posséder une seule information d'identification AD pour vous joindre à la fête, cet outil est pour vous.

Il automatise séquentiellement 5 attaques réseau internes contre Active Directory pour vous fournir des identifiants en texte clair. Utilisez l'option --auto pour acquérir automatiquement les privilèges d'administrateur de domaine après avoir obtenu un point d'appui.

Résumé des détails

Les attaques suivantes sont exécutées séquentiellement jusqu'à la quatrième et la cinquième attaque qui s'exécutent en parallèle et indéfiniment.

  • Bruteforce inversé
    • Acquiert automatiquement une liste de noms d'utilisateurs et teste chacun avec deux des mots de passe AD les plus courants (plus de deux tentatives peuvent déclencher des politiques de verrouillage de compte)
  • Téléchargement vers des partages réseau
    • Capture les mots de passe des utilisateurs avec des téléchargements de fichiers malveillants vers des partages réseau disponibles
  • Empoisonnement des protocoles réseau de diffusion
    • Utilise des protocoles réseau courants pour tromper les ordinateurs des utilisateurs afin qu'ils vous envoient leurs mots de passe
  • Attaque de l'homme du milieu sur les connexions SMB
    • Effectue une exécution de commande à distance sur les ordinateurs AD pour collecter des mots de passe
  • Empoisonnement DNS IPv6
    • Exploite le DNS pour tromper les ordinateurs AD afin qu'ils envoient les mots de passe de leurs utilisateurs

Détails techniques

Tous les hachages NetNTLMv2 qui sont capturés dans les techniques ci-dessous sont automatiquement craqués avec JohnTheRipper et une liste de mots de passe spécifique à AD de 1 million de mots.

  • Bruteforce inversé
    • Utilise rpcclient pour trouver les hôtes qui acceptent les sessions SMB nulles
    • Utilise ridenum pour trouver des noms d'utilisateurs valides via le cyclage RID sur les hôtes SMB nuls
    • Peut utiliser theHarvester pour collecter des noms d'utilisateurs potentiels supplémentaires à partir d'un domaine internet spécifié
    • Effectue un bruteforce inversé de 2 mots de passe sur les noms d'utilisateurs trouvés ou vous pouvez spécifier une liste de mots de passe à utiliser
    • Mots de passe par défaut testés : P@ssw0rd et <current_season><year>, par exemple, Spring2018
  • Téléchargement SCF
    • Utilise Nmap pour trouver des partages réseau anonymement inscriptibles via le script NSE smb-enum-shares
    • Écrit un fichier SCF sur le partage avec un chemin d'icône de fichier pointant vers votre machine
    • Lorsqu'un utilisateur AD ouvre le partage dans l'Explorateur de fichiers, son hachage NetNTLMv2 vous est envoyé
  • Empoisonnement LLMNR/NBTNS/mDNS
    • Utilise Responder.py pour empoisonner les protocoles réseau de diffusion/multidiffusion de couche 2 (LLMNR, NBT-NS, mDNS) et capturer les hachages NetNTLMv2
  • Relais SMB
    • Utilise ntlmrelayx.py et Responder.py pour relayer les hachages SMB
    • Utilise Nmap pour identifier les cibles de relais vulnérables via le script NSE smb-security-mode
    • Les cibles vulnérables auront SMBv1 activé et la signature SMB désactivée
    • Un relais réussi d'un hachage entraînera la capture du hachage NetNTLMv2 de l'utilisateur qui sera automatiquement craqué
    • Si un hachage utilisateur est relayé vers une machine et que cet utilisateur est un administrateur local, une exécution de commande aura lieu et les actions suivantes seront effectuées à distance :
      • Ajouter un utilisateur administrateur - icebreaker:P@ssword123456
      • Exécuter une version obfusquée et contournant AMSI de Mimikatz
      • La sortie de Mimikatz est analysée pour les hachages NTLM et les mots de passe en clair
      • Exécuter une version obfusquée et contournant AMSI d'Invoke-PowerDump pour les hachages SAM
      • La sortie est analysée pour les hachages NTLM
  • Empoisonnement DNS IPv6
    • Utilise mitm6 et ntlmrelayx.py pour empoisonner le DNS IPv6 afin de capturer les hachages utilisateur NetNTLMv2
    • Crée un faux serveur WPAD avec authentification
    • Le DNS IPv6 est activé par défaut dans les environnements Active Directory
    • Remarque : cela peut causer des problèmes de connectivité réseau pour les utilisateurs

Comment ça fonctionne

Il effectuera les 5 attaques réseau ci-dessus dans l'ordre. Le bruteforce inversé et les téléchargements de fichiers SCF sont généralement assez rapides, puis il s'attarde sur l'attaque 3, Responder.py, pendant 10 minutes par défaut. Après ce laps de temps, ou le temps spécifié par l'utilisateur, il passera aux deux dernières attaques qui s'exécutent en parallèle et indéfiniment.

Si des hôtes sont découverts permettant des sessions SMB nulles, icebreaker utilisera ridenum pour effectuer un cyclage RID pour trouver des noms d'utilisateurs valides. Si vous utilisez l'option "-d <somedomain.com>", theHarvester récupérera toutes les adresses e-mail du site web spécifié. Tous les noms d'utilisateurs d'e-mail compatibles AD seront ajoutés à la liste de noms d'utilisateurs du bruteforce inversé. Icebreaker utilise la bibliothèque asyncio pour effectuer le bruteforce inversé en utilisant l'outil Linux rpcclient avec 10 travailleurs asynchrones.

L'attaque de téléchargement SCF abuse des fichiers de commande Shell (Shell Command Files) contre les partages réseau anonymement inscriptibles. Les SCF sont des fichiers pouvant effectuer des actions de base comme afficher le bureau ou ouvrir une fenêtre de l'Explorateur de fichiers. Ils ont la curieuse propriété de permettre de définir leur icône de fichier sur un chemin réseau. Si vous définissez ce chemin réseau vers votre propre machine, les utilisateurs qui ouvrent le partage de fichiers dans l'Explorateur de fichiers enverront automatiquement leur hachage de mot de passe NetNTLMv2 vers vous. Icebreaker utilise le script Nmap smb-enum-shares pour trouver les partages anonymement inscriptibles, puis génère et télécharge automatiquement le SCF chargé.

L'attaque 3 utilise Responder.py pour empoisonner les protocoles de multidiffusion/diffusion LLMNR, NBT-NS et mDNS. Lorsque les utilisateurs naviguent vers un chemin réseau inexistant, Responder leur indiquera que votre machine attaquante est le bon chemin. Le hachage de mot de passe NetNTLMv2 de l'utilisateur est désormais à vous. Responder capturera les hachages envoyés via l'attaque SCF, mais l'attaque suivante est généralement plus utile pour capturer les hachages SCF car elle a le potentiel d'utiliser le hachage pour une exécution de commande.

Le relais SMB est une ancienne attaque réseau où les attaquants se placent entre le client SMB et le serveur SMB. Cela permet aux attaquants de capturer et de relayer les hachages NetNTLMv2 vers des hôtes qui ont SMBv1 activé et la signature SMB désactivée. ntlmrelayx.py de la bibliothèque Impacket est utilisé pour le relais tandis que Responder.py est utilisé pour l'attaque de l'homme du milieu sur les connexions SMB. Si l'utilisateur client SMB a des droits d'administration sur un hôte du réseau qui a la signature SMB désactivée, ntlmrelayx.py effectuera une exécution de commande sur cet hôte.

Une fois que ntlmrelayx relaie un hachage capturé, il exécutera une commande PowerShell encodée en base64 qui ajoute d'abord un utilisateur administrateur (icebreaker:P@ssword123456), puis exécute une version obfusquée et contournant AMSI de Mimikatz, suivie d'une version obfusquée et contournant AMSI d'Invoke-PowerDump. La sortie d'Invoke-Mimikatz et d'Invoke-PowerDump est analysée pour les mots de passe en clair ou les hachages NTLM et délivrée à l'utilisateur dans la sortie standard ainsi que dans le fichier found-passwords.txt. Les hachages NTLM, contrairement aux hachages NetNTLMv2, peuvent être utilisés comme un mot de passe en clair pour l'authentification auprès d'autres hôtes AD. La seule réserve est que depuis le correctif KB2871997 de Microsoft, seul le compte administrateur local intégré RID 500 peut être utilisé dans les attaques pass-the-hash.

L'attaque finale utilise l'outil mitm6 pour effectuer une attaque DNS IPv6 de l'homme du milieu sur tout le réseau. Cela force les hôtes du réseau à utiliser la machine de l'attaquant comme serveur DNS. Une fois définis comme leur serveur DNS, l'attaquant sert des fichiers de paramètres proxy WPAD malveillants aux victimes et collecte leurs hachages NetNTLMv2. Ces hachages sont relayés en utilisant ntlmrelayx.py pour d'autres possibilités d'exécution de code à distance. Une chose à noter est que cette attaque est sujette à causer des problèmes sur le réseau. Elle provoque souvent des erreurs de certificat sur les machines clientes dans le navigateur. Elle ralentira également probablement le réseau. Cependant, la beauté de cette attaque est que les environnements Windows AD sont vulnérables par défaut.

Si icebreaker est exécuté avec le drapeau --auto [tmux/xterm], alors en atteignant l'attaque 4, icebreaker lancera Empire et DeathStar dans une session tmux ou des fenêtres xterm. Avec cette option, au lieu d'exécuter mimikatz sur l'hôte distant auquel nous avons relayé le hachage, icebreaker ajoutera un utilisateur administrateur puis exécutera le code de lancement PowerShell d'Empire pour obtenir un agent sur la machine distante. DeathStar utilisera cet agent pour automatiser le processus d'obtention des droits d'administrateur de domaine. Empire et DeathStar ne se fermeront pas lorsque vous quitterez icebreaker.

Le cassage de mots de passe est effectué avec JohnTheRipper et une liste de mots personnalisée. L'origine de cette liste provient de merged.txt qui contient tous les mots de passe du compte GitHub SecLists combinés. La liste de mots a été élaguée et ne contient aucun mot de passe avec : tout en minuscules, tout en majuscules, uniquement des symboles, moins de 7 caractères, plus de 32 caractères. Ces règles sont conformes aux exigences par défaut des mots de passe Active Directory et ont réduit la liste de 20 millions à un peu plus d'un million, ce qui rend le cassage de mots de passe extrêmement rapide.

Installation

En tant que root :

root@kitploit:~
./setup.sh
pipenv install --three
pipenv shell

Vous pourriez obtenir une erreur après avoir exécuté pipenv install. Mettez à jour vers une version de pipenv supérieure à 11.9.0 si c'est le cas. Vous pouvez cloner pipenv depuis github et simplement apt-get remove python-pipenv && python setup.py install depuis le dossier.

Utilisation avec Docker

Il reste encore quelques bugs à résoudre avec l'image docker, donc cela risque de générer une erreur pour vous, mais c'est presque fini. Depuis le dépôt Git :

root@kitploit:~
docker build --rm -t danmcinerney/icebreaker .
docker run danmcinery/icebreaker

Ou ajoutez les commandes que vous ajouteriez normalement à icebreaker (n'oubliez pas de mapper les volumes) :

root@kitploit:~
docker run -v $(pwd)/logs:/icebreaker/logs -v $(pwd)/hashes:/icebreaker/hashes -v $(pwd)/icebreaker-scan.xml:/icebreaker/icebreaker-scan.xml -v $(pwd)/submodules:/icebreaker/submodules -e PYTHONUNBUFFERED=0 danmcinerney/icebreaker -x icebreaker-scan.xml

**Remarque : Vous voudrez mapper les ports pour les écouteurs avec le drapeau docker -p <host>:<container>.

Utilisation

Exécutez en tant que root. Lisez à partir d'une liste d'adresses IP séparées par des sauts de ligne (IP uniques ou plages CIDR) et au lieu d'avoir ntlmrelayx qui ajoute un utilisateur et exécute mimikatz sur la victime lors du relais de hachage, faites-lui exécuter une commande personnalisée sur la machine victime. Dans cet exemple, nous lui donnons une commande similaire à ce qu'Empire pourrait nous donner pour un one-liner de lanceur PowerShell.

./icebreaker -l targets.txt -c "powershell -nop -w hidden -exec bypass -enc WwFk..."

Lisez à partir d'une liste d'hôtes, dites à Responder d'utiliser l'interface eth0 plutôt que l'interface de passerelle par défaut, laissez Responder fonctionner pendant 30 minutes au lieu des 10 minutes habituelles, et exécutez les commandes post-relais par défaut de ntlmrelayx pour vider la SAM du serveur victime.

./icebreaker -l targets.txt -i eth0 -t 30 -c default

Utilisez un fichier de sortie XML Nmap, sautez les cinq attaques et ne craquez pas automatiquement les hachages, et utilisez une liste de mots de passe personnalisée pour l'attaque de bruteforce inversé (notez que puisque cet exemple saute l'attaque 1 via '-s rid', la liste de mots de passe spécifiée ne sera même pas utilisée ; ceci est juste utilisé comme exemple)

./icebreaker.py -x nmapscan.xml -s rid,scf,llmnr,relay,dns,crack -p /home/user/password-list.txt

Utilisation "fire-and-forget" : entrez un fichier de cibles, récupérez les noms d'utilisateurs d'e-mail de companydomain.com pour les ajouter à l'attaque de bruteforce inversé, sautez l'empoisonnement DNS IPv6 de mitm6, et exécutez Empire et DeathStar dans des fenêtres tmux ou xterm une fois l'attaque 4 commencée afin d'obtenir un administrateur de domaine automatisé. Le but de cette utilisation est de lancer la commande le lundi à 9h puis de prendre une courte pause ininterrompue jusqu'au vendredi à 16h30, moment auquel nous revenons avec un shell administrateur de domaine qui nous attend. Nous sautons l'attaque 5 (mitm6) car elle peut parfois causer des problèmes réseau et nous ne voulons pas que des clients en colère interrompent notre pause durement gagnée.

./icebreaker.py -l targets.txt -d companydomain.com -s dns --auto [tmux/xterm]

Télécharger l’outil