
Domina el dominio. Transmite a la realeza.

RelayKing es una herramienta integral de detección y enumeración de relay diseñada para identificar oportunidades de ataque de relay en entornos de Active Directory. Opciones de reporte reales. Cobertura de ataque integral. Encuentra los vectores de relay ocultos y reporta en tu formato de salida favorito. Alimenta a ntlmrelayx.py de Impacket con una lista de objetivos seleccionada de hosts detectados con capacidad de relay. Nunca vuelvas a perderte una ruta de relay NTLM crítica y explotable en el dominio.
Consulta el blog asociado publicado en el sitio web de Depth Security para más detalles: https://www.depthsecurity.com/blog/introducing-relayking-relay-to-royalty/
**RelayKing NO ES UNA HERRAMIENTA AMIGABLE CON OPSEC EN CIERTOS MODOS, PARTICULARMENTE EN EL MODO --audit.
RelayKing se proporciona TAL CUAL, SIN GARANTÍAS. Consulta la parte inferior del readme.
# Use a venv. Save yourself the hassle.
# Clone repo:
git clone https://github.com/depthsecurity/RelayKing-Depth.git
#Navigate to cloned dir:
cd RelayKing-Depth/
# Configure Python venv:
virtualenv --python=python3 .
source bin/activate
# Install deps:
pip3 install -r requirements.txt
# Validate RelayKing installation was successful:
python3 relayking.py -h
--remove-mic de ntlmrelayx. Se reporta como HIGH. Utiliza el UBR ya consultado por host, sin solicitudes de red adicionales.--audit, consulta Active Directory en busca de nombres de principales de servicio (SPN) cuyos nombres de host no tienen registro DNS. Un atacante puede registrar el nombre DNS faltante para interceptar la autenticación NTLM destinada a ese principal de servicio. Los hallazgos se dividen en vulnerable (sin ningún registro DNS) y probablemente vulnerable (resuelve solo mediante DNS comodín). Se reporta como MEDIUM. Los hallazgos completos se escriben en possible-ghost-spns.txt. Suprime con --no-ghosts.--ntlmv1 o --ntlmv1-all; la detección entre protocolos solo se realiza cuando se descubre un uso confirmado de Net-NTLMv1)--remove-mic)possible-ghost-spns.txt(--audit): Enumera todos los equipos de AD mediante LDAP. Requiere credenciales de AD de bajo privilegio y DNS funcional dentro del entorno. Fuerza con --dc-ip o edita /etc/resolv.conf.10.0.0.0/24)10.0.0.1-254)python3 relayking.py -u blah -p pass -d domain.local <your_target_ip_or_hostname>)--coerce-all combinado con --audit y credenciales de bajo privilegio para coercionar TODAS las máquinas del dominio y realizar relay masivo de cuentas de equipo. Muy útil en entornos con Net-NTLMv1 habilitado.--ntlmv1 o --ntlmv1-all para detectar GPO de LanMan a nivel de dominio. --ntlmv1-all comprueba TODOS los hosts de AD y sus valores de registro mediante RemoteRegistry. (requiere administrador local).--gen-relay-list <file> para producir un archivo de objetivos fácilmente importable para la opción -tf de ntlmrelayx.py.--audit cuando hay credenciales presentes. Suprime con --no-ghosts. Los hallazgos completos se escriben en possible-ghost-spns.txt junto al informe principal; el informe muestra los primeros 5 para evitar saturación.-h, como es de esperar:python3 relayking.py -h
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql,http,https --threads 10 -o plaintext,json --output-file relayking-scan --proto-portscan --ntlmv1 --gen-relay-list relaytargets.txt
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql -o plaintext,json --output-file relayking-scan --proto-portscan --gen-relay-list relaytargets.txt
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local -vv --protocols smb,ldap,ldaps,mssql,http,https -o plaintext SERVER1-EXAMPLE.LAB.LOCAL
python3 relayking.py --null-auth -vv --protocols smb,ldap,http -o plaintext 10.0.0.0/24
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql,http,https --threads 10 -o plaintext,json --output-file relayking-scan --proto-portscan --ntlmv1-all --gen-relay-list relaytargets.txt
--threads. Cada hilo principal recibe hilos de trabajo para ciertas tareas bajo él. HTTP, por ejemplo, usa 20 hilos por hilo principal. Esto resulta en ~200 hilos HTTP abiertos para escanear la autenticación NTLM HTTP. La mayoría de las veces, esto se tolera bastante bien, pero si causa lentitud/problemas de red, reduce los hilos. El valor predeterminado de 10 hilos es excepcionalmente rápido de todos modos.--proto-portscan con todos tus escaneos casi siempre. Mejora significativamente el rendimiento y evita que el escáner espere tiempos de espera en puertos que realmente no existen. Si causa problemas, puedes eliminarlo a costa del rendimiento del escaneo (¡pero no debería!).--max-scangroup, --split-into y --skip se pueden usar para controlar la agrupación.--max-scangroup para indicar el número de objetivos por grupo. Por ejemplo, --max-scangroup 100 dividirá 299 objetivos en 3 grupos. Los grupos tendrán objetivos como 100, 100 y 99.--split-into para indicar el número de grupos. Por ejemplo, --split-into 3 dividirá 299 objetivos en 3 grupos. Los grupos tendrán objetivos como 100, 100 y 99. No puedes especificar --max-scangroup y --split-into al mismo tiempo.--skip para omitir grupos. Por ejemplo, --max-scangroup 3 --skip 1 dividirá 299 objetivos en 3 grupos como 100, 100 y 99 objetivos, omitirá el primer grupo y comenzará a escanear desde el segundo. Ayuda cuando deseas reiniciar esta herramienta.--ntlmv1 o -ntlmv1-all: Añadir --ntlmv1 extraerá todas las GPO de LanMan del dominio y nada más. Requiere credenciales de AD de bajo privilegio. --ntlmv1-all requiere credenciales de administrador y comprobará cada host individual del dominio con SMB abierto para la clave de registro LMCompatibilityLevel. Ejecutar al menos --ntlmv1 es necesario para mostrar/detectar rutas de relay SMB entre protocolos.
--ntlmv1-all. Además, es muy pesado y no es seguro para OPSEC, pero es exhaustivo. Probablemente no sea recomendable a menos que estés en modo YOLO o desesperado.-o json,plaintext) y --output-file relayking-scan, se producen relayking-scan.json + relayking-scan.txt, por lo que no es necesario ejecutarlo dos veces para múltiples formatos. Disponibles: plaintext, json, xml, csv, grep, markdown (predeterminado: plaintext)--coerce-all usará PetitPotam, DFSCoerce y PrinterBug en TODOS LOS HOSTS OBJETIVO. También realiza coerción masiva de todas las máquinas del dominio sin ejecutar la auditoría completa de protocolos. Proporcionar + al realizará una auditoría de dominio coerción masiva. ()--opsec-safe que evite el uso de Impacket/otras librerías de Python identificables. No es trivial de implementar.--ntlmv1, el validador de credenciales, el módulo de SPN fantasma Y el analizador de objetivos hacen cada uno lo suyo para la autenticación. ESTO ES ABSOLUTAMENTE RIDÍCULO y necesita consolidarse para usar un solo módulo de autenticación.-vv o -vvv si estás experimentando errores. El registro (logging) sigue mejorando con cada versión.--audit y RelayKing no resuelve ningún host en DNS porque sus servidores DNS simplemente se niegan a resolver los FQDN de sus equipos en la zona DNS objetivo. No es un problema de RelayKing.Tal cual. Ciertamente existen muchos errores. Ver arriba. Obviamente, no está diseñada ni destinada a actividades ilegales/no autorizadas.
Considera el comportamiento y la naturaleza de TODAS las herramientas que ejecutas para un compromiso con un cliente y en sus redes. Esto se logra leyendo el código fuente de la herramienta y entendiendo su funcionamiento interno antes de la ejecución, no ejecutando a ciegas código que encontraste en GitHub. Si bien puedo asegurarte que no hay código deliberadamente malicioso/destructivo dentro de RelayKing, validar todas las herramientas nuevas/no utilizadas antes de ejecutarlas es, en general, una buena práctica. Confía, pero verifica siempre.
Ten cuidado al usarla en ejercicios de red team, especialmente con comprobaciones autenticadas y --audit. SERÁS DETECTADO y será tu culpa. Deberías haber leído la advertencia al inicio del README si de alguna manera estás leyendo esta frase y aún no lo sabías.
Aunque es extremadamente improbable, si RelayKing de alguna manera rompe algo, estás por tu cuenta, y ni el Autor ni Depth Security son responsables de cualquier resultado/problema/cuestión/explosión nuclear-geoespacial-invertida-de-flipping-de-bits que pudiera surgir (por improbable que sea) de la ejecución de RelayKing. Tu kilometraje puede variar. RelayKing se proporciona, una vez más, SIN GARANTÍAS NI GARANTÍA DE NINGÚN RESULTADO, CARACTERÍSTICA, UTILIDAD O COMPORTAMIENTO ESPECÍFICO, YA SEA EXPLÍCITAMENTE MENCIONADO AQUÍ (Y/O NO MENCIONADO) O IMPLÍCITO DE OTRA MANERA.
El único repositorio legítimo de GitHub del Autor (logansdiomedi) está presente en https://github.com/depthsecurity/RelayKing-Depth; todos los demás son forks/copias/lo que sea; el Autor probablemente no los ha leído, validado, probado, analizado ni inspeccionado en cuanto a funcionalidad/comportamiento/legitimidad. Usa la cabeza.
Licencia MIT: consulta el archivo LICENSE para más detalles.
--dc-ip--krb-dc-only--dns-tcp-ns--audit--coerce--audit): Después de que el escaneo de hosts finalice, RelayKing consulta AD en busca de SPN cuyos nombres de host no tienen registro DNS. Estos son candidatos para ataques de registro DNS que interceptan la autenticación NTLM. El informe incluye hasta 5 hallazgos para mantener la salida manejable; la lista completa siempre se escribe en possible-ghost-spns.txt en el directorio de trabajo. Usa --no-ghosts para omitir esta comprobación por completo.--remove-mic de ntlmrelayx.