Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ADFSRelay — Utilidades de Prueba de Concepto Desarrolladas para Investigar Ataques de Retransmisión NTLM Orientados a ADFS | Kitploit
Herramientas/GitHubGitHub/praetorian-inc/adfsrelay
ExplotaciónRecopilación de InformaciónPruebas de PenetraciónAutenticaciónRed Teaming
GitHubpraetorian-inc/adfsrelay

ADFSRelay

Utilidades de Prueba de Concepto Desarrolladas para Investigar Ataques de Retransmisión NTLM Orientados a ADFS

Ver Repositorio
18813hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Resumen

Este repositorio incluye dos utilidades: NTLMParse y ADFSRelay. NTLMParse es una utilidad para decodificar mensajes NTLM codificados en base64 e imprimir información sobre las propiedades y campos subyacentes dentro del mensaje. Examinar estos mensajes NTLM es útil al investigar el comportamiento de una implementación NTLM en particular. ADFSRelay es una utilidad de prueba de concepto desarrollada mientras se investigaba la viabilidad de ataques de retransmisión NTLM dirigidos al servicio ADFS. Esta utilidad se puede aprovechar para realizar ataques de retransmisión NTLM dirigidos a ADFS. También hemos publicado una entrada de blog que analiza los ataques de retransmisión ADFS con más detalle [1].

Uso de NTLMParse

Para usar la utilidad NTLMParse, simplemente necesita pasar un mensaje codificado en Base64 a la aplicación y esta decodificará los campos y estructuras relevantes dentro del mensaje. El fragmento a continuación muestra la salida esperada de NTLMParse cuando se invoca:

root@kitploit:~
➜  ~ pbpaste | NTLMParse
(ntlm.AUTHENTICATE_MESSAGE) {
 Signature: ([]uint8) (len=8 cap=585) {
  00000000  4e 54 4c 4d 53 53 50 00                           |NTLMSSP.|
 },
 MessageType: (uint32) 3,
 LmChallengeResponseFields: (struct { LmChallengeResponseLen uint16; LmChallengeResponseMaxLen uint16; LmChallengeResponseBufferOffset uint32; LmChallengeResponse []uint8 }) {
  LmChallengeResponseLen: (uint16) 24,
  LmChallengeResponseMaxLen: (uint16) 24,
  LmChallengeResponseBufferOffset: (uint32) 160,
  LmChallengeResponse: ([]uint8) (len=24 cap=425) {
   00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
   00000010  00 00 00 00 00 00 00 00                           |........|
  }
 },
 NtChallengeResponseFields: (struct { NtChallengeResponseLen uint16; NtChallengeResponseMaxLen uint16; NtChallengeResponseBufferOffset uint32; NtChallengeResponse []uint8; NTLMv2Response ntlm.NTLMv2_RESPONSE }) {
  NtChallengeResponseLen: (uint16) 384,
  NtChallengeResponseMaxLen: (uint16) 384,
  NtChallengeResponseBufferOffset: (uint32) 184,
  NtChallengeResponse: ([]uint8) (len=384 cap=401) {
   00000000  30 eb 30 1f ab 4f 37 4d  79 59 28 73 38 51 19 3b  |0.0..O7MyY(s8Q.;|
   00000010  01 01 00 00 00 00 00 00  89 5f 6d 5c c8 72 d8 01  |........._m\.r..|
   00000020  c9 74 65 45 b9 dd f7 35  00 00 00 00 02 00 0e 00  |.teE...5........|
   00000030  43 00 4f 00 4e 00 54 00  4f 00 53 00 4f 00 01 00  |C.O.N.T.O.S.O...|
   00000040  1e 00 57 00 49 00 4e 00  2d 00 46 00 43 00 47 00  |..W.I.N.-.F.C.G.|

A continuación se muestra un mensaje NTLM AUTHENTICATE_MESSAGE de ejemplo que se puede usar para pruebas:

TlRMTVNTUAADAAAAGAAYAKAAAACAAYABuAAAABoAGgBYAAAAEAAQAHIAAAAeAB4AggAAABAAEAA4AgAAFYKI4goAYUoAAAAPqfU7N7/JSXVfIdKvlIvcQkMATwBOAFQATwBTAE8ALgBMAE8AQwBBAEwAQQBDAHIAbwBzAHMAZQByAEQARQBTAEsAVABPAFAALQBOAEkARAA0ADQANQBNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDrMB+rTzdNeVkoczhRGTsBAQAAAAAAAIlfbVzIctgByXRlRbnd9zUAAAAAAgAOAEMATwBOAFQATwBTAE8AAQAeAFcASQBOAC0ARgBDAEcAVQA0AEcASABPADAAOAA0AAQAGgBDAE8ATgBUAE8AUwBPAC4ATABPAEMAQQBMAAMAOgBXAEkATgAtAEYAQwBHAFUANABHAEgATwAwADgANAAuAEMATwBOAFQATwBTAE8ALgBMAE8AQwBBAEwABQAaAEMATwBOAFQATwBTAE8ALgBMAE8AQwBBAEwABwAIAIlfbVzIctgBBgAEAAIAAAAIADAAMAAAAAAAAAABAAAAACAAABQaOHb4nG5F2JL1tA5kL+nKQXJSJLDWljeBv+/XlPXpCgAQAON+EDXYnla0bjpwA8gfVEgJAD4ASABUAFQAUAAvAHMAdABzAC4AYwBvAG4AdABvAHMAbwBjAG8AcgBwAG8AcgBhAHQAaQBvAG4ALgBjAG8AbQAAAAAAAAAAAKDXom0m65knt1NeZF1ZxxQ=

Uso de ADFSRelay

El único argumento requerido para ADFSRelay es la URL del servidor ADFS al que se dirigirá el ataque de retransmisión NTLM. Hay tres argumentos opcionales: -debug para habilitar el modo de depuración, -port para definir el puerto en el que el servicio debe escuchar y -help para mostrar el menú de ayuda. A continuación se muestra un menú de ayuda de ejemplo:

root@kitploit:~
➜  ~ ADFSRelay -h
Usage of ADFSRelay:
  -debug
    	Habilita la salida de depuración
  -help
    	Muestra el menú de ayuda
  -port int
    	El puerto en el que debe escuchar el listener HTTP (por defecto 8080)
  -targetSite string
    	El sitio ADFS al que se dirigirá el ataque de retransmisión (ej. https://sts.contoso.com)
➜  ~

Referencias

[1] https://www.praetorian.com/blog/relaying-to-adfs-attacks/

Descargar herramienta