PDF malicioso para robar hashes NTLM

Si ayer veíamos cómo generar documentos .odt maliciosos de Openoffice hoy veremos como generar PDFs capaces de robar hashes NTLM (NTLMv1 / NTLMv2) de las máquinas Windows de las incautas víctimas.

La técnica utilizada es la que descubrió Assaf Baharav, un investigador de Check Point: "La especificación PDF permite cargar contenido remoto para las entradas GoToE & GoToR".
Cuando alguien abre este archivo, el documento PDF automáticamente realiza una solicitud a un servidor SMB malicioso remoto. Por diseño, todas las solicitudes SMB también incluyen el hash NTLM con fines de autenticación así que este hash NTLM se registrará en el servidor SMB. Y ya sabéis que hay herramientas disponibles que pueden romper este hash y recuperar la contraseña original (o utilizar directamente Pass-the-hash?).

Este tipo de ataque no es nuevo, en absoluto, y en el pasado, se ha ejecutado al iniciar solicitudes SMB desde documentos de Office, Outlook, navegadores, archivos de acceso directo de Windows, carpetas compartidas y otras funciones internas del sistema operativo Windows. Así que faltaban, cómo no, los documentos PDFs.

Assaf comprobó la vulnerabilidad en los principales lectores PDF FoxIT y Acrobat Reader y Adobe ya ha publicado el parche APSB18-09 en sus últimas versiones. Por otro lado Microsoft lanzó ADV170014 para proporcionar un mecanismo técnico e instrucciones sobre cómo los usuarios podrían deshabilitar la autenticación NTLM SSO en sistemas operativos Windows, con la esperanza de detener el robo de hashes NTLM a través de solicitudes SMB realizadas a servidores ubicados fuera de la red local.

En cualquier caso si nos encontramos con un sistema sin actualizar tenemos la herramienta Bad-Pdf del saudí Deepu TV (DeepZec) que levanta un listener de Responder para capturar los hashes.

Para ejecutarlo en Kali Linux simplemente tenemos que hacer:

git clone https://github.com/deepzec/Bad-Pdf.git
cd badpdf
python badpdf.py



A continuación veremos el Responder esperando los hashes:


Ejecución del archivo Bad-PDF generado en una máquina Windows y obtención del hash NTLM: :)


Yara Rule:

https://github.com/InQuest/yara-rules/blob/master/NTLM_Credentials_Theft_via_PDF_Files.rule

Técnica ref.:

https://research.checkpoint.com/ntlm-credentials-theft-via-pdf-files/

Fuente:

https://github.com/deepzec/Bad-Pdf

Comentarios