This page looks best with JavaScript enabled

Convirtiendo el dump de ldapdomaindump a Bloodhound

 ·   ·   3 min read  ·  Autor - Snifer

Por algún motivo te topaste con el problema de no obtener con ningún ingestor de Bloodhound la información de un dominio (Active Directory), y te toca analizar directamente el dump de ldapdomaindump.

En esta entrada veremos como usar los datos de ldapdomaindump en Bloodhound.

Necesitaremos contar con algunos requisitos previos, los cuales son:

Versión de Bloodhound 4.0.1

Debemos descargar la versión 4.0.1 de Bloodhound, ya que con la última no podremos visualizarlo por incompatibilidad del script.

Bloodhound Version 4.0.1

Para identificar la versión de Bloodhound nos dirigimos a la parte derecha en el icono i About tendremos la versión actual.

Después de importar los datos con esta versión, podremos utilizar la última directamente y visualizar los datos, solo seria para el proceso de importar los datos.

NOTA: Durante la revisión del post ante de publicar me di cuenta de que podríamos usar Bloodhound-import

Script Ldapdomaindump to Bloodhound

El script que utilizaremos es ldd2bh.py para que funcione correctamente necesitamos solo contar con argparse como única dependencia.

El script hace él parseo de los siguientes ficheros.

  • domain_users.json
  • domain_computers.json
  • domain_groups.json
  • domian_policy.json
  • domain_trusts.json

Ejecutamos la herramienta con Python 3, por lo tanto, debes de tenerlo instalado.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
 python3 ldd2bh.py
usage: ldd2bh.py [-h] [-i INPUT_FOLDER] [-o OUTPUT_FOLDER] [-a] [-u] [-c] [-g] [-d] [-b BH_VERSION]

Convert ldapdomaindump to Bloodhound

optional arguments:
  -h, --help            show this help message and exit
  -i INPUT_FOLDER, --input INPUT_FOLDER
                        Input Directory for ldapdomaindump data, default: current directory
  -o OUTPUT_FOLDER, --output OUTPUT_FOLDER
                        Output Directory for Bloodhound data, default: current directory
  -a, --all             Output only users, default: True
  -u, --users           Output only users, default: False
  -c, --computers       Output only computers, default: False
  -g, --groups          Output only groups, default: False
  -d, --domains         Output only domains, default: False
  -b BH_VERSION, --bh-version BH_VERSION
                        Bloodhound data format version (only 3 for now), default: 3

Examples:
python3 ldd2bh.py -i ldd -o bh

Nos olvidamos totalmente de la versión de Bloodhound que nos indica con la bandera -b.

Conversión de ldapdomaindump a Bloodhound

Para realizar la conversión debemos de crear una carpeta donde estar nuestro output en este caso es Blood ejecutamos el comando de la siguiente manera.

1
Python3 ldd2bh.py -i <Directorio LDAPoutput> -o <Directorio de salida>

Demo - Video

En el siguiente video tenemos una demo del proceso de instalación y explicación de la herramienta.

NOTA: El video fue grabado en el LIVE de Twitch estamos emitiendo Miércoles, Viernes y Sábado desde las 9 GMT -4.

Share on
Support the author with

Avatar
WRITTEN BY
Snifer
Creador del proyecto Snifer@L4b's, Consultor en Seguridad Informática.