Hekatomb: Extracción de Secretos DPAPI

 

 https://www.onlinetis.com

Hekatomb: Extracción de Secretos DPAPI

Hekatomb es una herramienta sumamente potente para profesionales de ciberseguridad que trabajan en entornos de Active Directory. Su función principal es automatizar la extracción de credenciales de todos los equipos del dominio una vez que has obtenido privilegios de administrador de dominio.

Aquí tienes una guía rápida en español para entenderla y ponerla en marcha en Kali Linux.


¿Qué hace exactamente Hekatomb?

A diferencia de otras herramientas que solo extraen hashes, Hekatomb busca Secretos de DPAPI (Data Protection API). Esto le permite:

  • Descifrar todas las contraseñas guardadas en navegadores (Chrome, Edge, etc.).

  • Recuperar credenciales de redes Wi-Fi.

  • Extraer contraseñas guardadas en aplicaciones como Outlook o WinSCP.

  • Relacionar automáticamente cada secreto con el usuario correspondiente del dominio.


Instalación en Kali Linux

Hekatomb está basada en Python y utiliza la librería impacket. Puedes instalarla directamente desde el repositorio oficial:

  1. Clonar el repositorio:

    Bash
    git clone https://github.com/Processus-A/hekatomb
    cd hekatomb
    
  2. Instalar dependencias:

    Bash
    python3 -m pip install -r requirements.txt
    

Uso Básico

Para que Hekatomb funcione, necesitas derechos de Domain Admin (o una cuenta con permisos equivalentes para leer el controlador de dominio).

La sintaxis más común es:

Bash
python3 hekatomb.py -hashes :<NThash> <dominio>/<usuario_admin>@<IP_Controlador_Dominio> -out output_folder

Parámetros clave:

  • -hashes: Permite usar la técnica Pass-the-Hash si no tienes la contraseña en texto plano.

  • -dnsserver: Especifica el servidor DNS si la resolución de nombres falla.

  • -p: Para usar una contraseña convencional en lugar de un hash.

  • -out: Directorio donde se guardarán los resultados y las bases de datos de contraseñas.


¿Cómo funciona el proceso?

Hekatomb sigue un flujo lógico muy inteligente:

  1. Conexión al DC: Se conecta al Controlador de Dominio para volcar la clave privada de respaldo del dominio (Domain Backup Key).

  2. Enumeración: Identifica todos los ordenadores conectados al dominio.

  3. Extracción: Se conecta a cada equipo via RPC/SMB para descargar los archivos de "blobs" de DPAPI de los usuarios.

  4. Descifrado: Utiliza la clave de respaldo del dominio para descifrar esos archivos sin necesidad de conocer la contraseña de cada usuario individual.

[!IMPORTANT]

Nota de Ética: Esta herramienta es exclusivamente para auditorías de seguridad autorizadas. El uso de Hekatomb en redes ajenas sin permiso es ilegal.



Una vez que Hekatomb termina su ejecución, organiza toda la información recolectada en una estructura de carpetas muy limpia dentro del directorio que especificaste con el parámetro -out.

Interpretar estos archivos es clave para presentar un informe de auditoría o para moverte lateralmente en la red. Aquí te explico qué encontrarás:


📂 Estructura del Directorio de Salida

Cuando abres la carpeta de resultados, verás algo similar a esto:

1. La Base de Datos Principal (hekatomb.sqlite3)

Este es el archivo más importante. Hekatomb guarda todo en una base de datos SQLite.

  • Para qué sirve: Centraliza todos los usuarios, computadoras, secretos descifrados y claves maestras.

  • Cómo leerlo: Puedes usar un visor como sqlitebrowser para consultar las tablas de forma gráfica. Es ideal si has auditado una red con cientos de equipos.

2. Carpeta decrypted (Los tesoros)

Aquí es donde Hekatomb deposita los archivos de texto plano con la información ya descifrada. Suele dividirse por categorías:

  • browsers.txt: Contiene URLs, nombres de usuario y contraseñas en texto plano extraídas de Chrome, Edge, Brave, etc.

  • wifi.txt: Listado de SSIDs (nombres de redes Wi-Fi) y sus respectivas contraseñas (PSK).

  • vaults.txt: Credenciales almacenadas en el "Windows Vault" (Caja fuerte de Windows).

3. Carpeta blobs y masterkeys

Estos archivos son el "material bruto" que la herramienta extrajo de los equipos remotos antes de descifrarlos.

  • masterkeys/: Contiene las claves maestras de DPAPI de cada usuario, todavía cifradas con la clave del dominio.

  • blobs/: Son los trozos de datos binarios que contienen las contraseñas reales (pero cifradas).

  • Nota: Normalmente no necesitas tocar estos archivos a menos que el descifrado automático falle y quieras intentar recuperarlos manualmente con herramientas como mimikatz.


🔍 Cómo leer los resultados rápidamente

Si no quieres usar un visor de bases de datos y prefieres la terminal, puedes usar comandos básicos de Linux para filtrar la información valiosa:

ObjetivoComando sugerido
Ver todas las contraseñas de Chromegrep -A 2 "Chrome" decrypted/browsers.txt
Buscar una contraseña específicagrep -r "Password123" decrypted/
Listar usuarios que tenían secretossqlite3 hekatomb.sqlite3 "SELECT DISTINCT SamAccountName FROM users;"

💡 Consejos para la interpretación

  1. Relación Usuario-Equipo: Fíjate en la base de datos para ver en qué equipos se logueó cada usuario. Si un Administrador de Dominio dejó su rastro en una estación de trabajo vulnerable, Hekatomb te mostrará sus credenciales de navegador ahí mismo.

  2. Contraseñas Reutilizadas: Es muy común encontrar que la contraseña guardada en el navegador para un servicio interno (como una Intranet) es la misma que el usuario usa para su cuenta de Active Directory.

  3. Sesiones Antiguas: Hekatomb puede recuperar secretos de perfiles de usuario que no han iniciado sesión en meses, siempre y cuando sus archivos de perfil sigan en el disco duro del equipo remoto. 

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux