Enumeración de usuarios con Kerberos

Vamos a utilizar una aplicacion para realizar esta tecnica que no viene instalada por defecto en kali que se llama Kerbrute.

URL = Kerbrute GitHub

Pero antes tendremos que instalar lo necesario para que esta herramienta pueda funcionar.

sudo apt install golang

Ya que esta herramienta esta creada en Go.

Ahora tendremos que modificar un momento nuestro fichero de .zsh para activar la ruta donde se va a ejecutar las aplicaciones que estan en Go.

sudo nano ~/.zshrc

#Dentro del nano
#Vamos añadir las siguiente lineas abajo del todo

export GOROOT=/usr/lib/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

Lo guardamos y haremos lo siguiente:

source ~/.zshrc

Esto lo hacemos para cargar la configuracion que hemos añadido, para que se actualice basicamente.

Ahora si podremos instalar la herramienta de la siguiente forma:

go install github.com/ropnop/kerbrute@latest

Info:

go: downloading github.com/ropnop/kerbrute v1.0.3
go: downloading github.com/op/go-logging v0.0.0-20160315200505-970db520ece7
go: downloading github.com/spf13/cobra v0.0.5
go: downloading github.com/ropnop/gokrb5 v7.2.1-0.20190226233023-10e0941da4e2+incompatible
go: downloading github.com/spf13/pflag v1.0.5
go: downloading github.com/jcmturner/gofork v1.0.0
go: downloading gopkg.in/jcmturner/dnsutils.v1 v1.0.1
go: downloading github.com/hashicorp/go-uuid v1.0.1
go: downloading golang.org/x/crypto v0.0.0-20191107222254-f4817d981bb6
go: downloading gopkg.in/jcmturner/rpc.v1 v1.1.0
go: downloading gopkg.in/jcmturner/aescts.v1 v1.0.1

Por lo que vemos se instalo correctamente, ahora si ejecutamos el siguiente comando para saber si esta bien instalado:

kerbrute -h

Veremos que nos muestra la informacion de la herramienta.

Para enumerar usuarios en el dominio y saber cuales existen y cuales no, podremos hacerlo de la siguiente forma, pero antes tendremos que obtener un listado de usuarios para realizar esa fuerza bruta.

Podremos obtenerlo de internet, de diccionarios por GitHub, etc... En este caso vamos a crear uno que sea dedicado al dominio para ver como nos encunetra los usuarios.

users.txt

anatoli.vaz
empleado1
empleado2
empleado3
angelika.shelly
empleado4
empleado5

Guardamos el listado y ejecutamos la herramienta de la siguiente forma:

kerbrute userenum -d corp.local --dc 192.168.5.5 users.txt

Info:


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

Version: dev (n/a) - 01/14/25 - Ronnie Flathers @ropnop

2025/01/14 04:36:05 >  Using KDC(s):
2025/01/14 04:36:05 >   192.168.5.5:88

2025/01/14 04:36:05 >  [+] VALID USERNAME:       empleado1@corp.local
2025/01/14 04:36:05 >  [+] VALID USERNAME:       empleado2@corp.local
2025/01/14 04:36:05 >  [+] VALID USERNAME:       angelika.shelly@corp.local
2025/01/14 04:36:05 >  Done! Tested 7 usernames (3 valid) in 0.007 seconds

Y vemos que nos encontro 3 usuarios validos.

Esto funciona de la siguiente manera, la herramienta esta enviando el nombre de usuario al AS-REQ y este verifica si el nombre es valido para forjar el Ticket, pero cuando ve que es valido necesita un Preverificacion y nos da el codigo 225 pero cuando el nombre no es valido nos de el error 134, por lo que la herramienta solo se queda con los codigos 225 que son los que han validado el usuario el AS.

Last updated