
Domine o domínio. Retransmita para a realeza.

RelayKing é uma ferramenta abrangente de detecção e enumeração de relay, projetada para identificar oportunidades de ataques de relay em ambientes Active Directory. Opções de relatório reais. Cobertura abrangente de ataques. Encontre os vetores de relay ocultos e reporte no seu formato de saída favorito. Alimente o ntlmrelayx.py do Impacket com uma lista de alvos selecionada de hosts detectados e passíveis de relay. Nunca mais perca um caminho crítico e explorável de relay NTLM no domínio.
Veja o blog associado publicado no site da Depth Security para mais detalhes: https://www.depthsecurity.com/blog/introducing-relayking-relay-to-royalty/
**RelayKing NÃO É UMA FERRAMENTA AMIGÁVEL PARA OPSEC EM CERTOS MODOS, PARTICULARMENTE NO MODO --audit.
RelayKing é fornecido COMO ESTÁ, SEM GARANTIAS. Veja o final do 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 do ntlmrelayx. Reportado como ALTO. Usa o UBR já consultado por host, sem solicitações de rede adicionais.--audit, consulta o Active Directory em busca de Service Principal Names cujos hostnames não possuem registro DNS. Um atacante pode registrar o nome DNS ausente para interceptar a autenticação NTLM destinada a esse service principal. Os achados são divididos em vulneráveis (sem registro DNS algum) e provavelmente vulneráveis (resolve apenas via DNS curinga). Reportado como MÉDIO. Achados completos gravados em possible-ghost-spns.txt. Suprima com --no-ghosts.--ntlmv1 ou --ntlmv1-all - detecção entre protocolos somente quando o uso confirmado de Net-NTLMv1 for descoberto)--remove-mic)possible-ghost-spns.txt(--audit): Enumera todos os computadores do AD via LDAP. Requer credenciais AD de baixo privilégio e DNS funcional no ambiente. Force com --dc-ip ou edite /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 com --audit e credenciais de baixo privilégio para coagir TODA máquina do domínio para relay em massa de contas de computador. Muito útil em ambientes com Net-NTLMv1 habilitado.--ntlmv1 ou --ntlmv1-all para detectar GPOs LanMan no nível de domínio. --ntlmv1-all verifica TODOS os hosts do AD e seus valores de registro usando RemoteRegistry. (requer admin local).--gen-relay-list <file> para produzir um arquivo de alvos prontamente importável para a opção -tf do ntlmrelayx.py.--audit quando credenciais estão presentes. Suprima com --no-ghosts. Achados completos são gravados em possible-ghost-spns.txt junto com o relatório principal; o próprio relatório mostra os 5 primeiros para evitar poluição.-h, como esperado: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 thread principal recebe threads de trabalho para certas tarefas. HTTP, por exemplo, usa 20 threads por thread principal. Isso resulta em ~200 threads HTTP abertas para escanear autenticação HTTP NTLM. Na maioria das vezes, isso é tolerado muito bem, mas se causar lentidão/problemas de rede, reduza as threads. O padrão de 10 threads é excepcionalmente rápido de qualquer forma.--proto-portscan em praticamente todas as suas varreduras. Isso melhora significativamente o desempenho e impede que o scanner fique esperando timeouts em portas que não existem. Se causar problemas, você pode removê-lo ao custo do desempenho da varredura (mas não deveria!)--max-scangroup, --split-into e --skip podem ser usadas para controlar o agrupamento.--max-scangroup para definir o número de alvos para cada grupo. Por exemplo, --max-scangroup 100 dividirá 299 alvos em 3 grupos. Os grupos terão alvos como 100, 100 e 99.--split-into para definir o número de grupos. Por exemplo, --split-into 3 dividirá 299 alvos em 3 grupos. Os grupos terão alvos como 100, 100 e 99. Você não pode especificar --max-scangroup e --split-into ao mesmo tempo.--skip para pular grupos. Por exemplo, --max-scangroup 3 --skip 1 dividirá 299 alvos em 3 grupos como 100, 100 e 99 alvos, e pulará o primeiro grupo, iniciando a varredura a partir do segundo grupo. Isso ajuda quando você deseja reiniciar esta ferramenta.--ntlmv1 ou -ntlmv1-all: Adicionar --ntlmv1 buscará todos os GPOs LanMan do domínio e nada mais. Requer credenciais AD de baixo privilégio. --ntlmv1-all requer credenciais de administrador e verificará cada host individual do domínio com SMB aberto quanto à chave de registro LMCompatibilityLevel. Executar pelo menos --ntlmv1 é necessário para exibir/detectar caminhos de relay SMB entre protocolos.
--ntlmv1-all. Também é muito pesado e não é seguro para OPSEC, mas é minucioso. Provavelmente não recomendado, a menos que você esteja se arriscando ou desesperado.-o json,plaintext) e --output-file relayking-scan produz relayking-scan.json + relayking-scan.txt, então não há necessidade de executar duas vezes para múltiplos formatos. Disponíveis: plaintext, json, xml, csv, grep, markdown (padrão: plaintext)--coerce-all usará PetitPotam, DFSCoerce e PrinterBug em TODOS OS HOSTS ALVO. Também coage em massa todas as máquinas do domínio sem executar a auditoria completa de protocolos. Fornecer + ao realizará uma auditoria de domínio coerção em massa. ()--opsec-safe que evita o uso de Impacket/outras bibliotecas Python identificáveis. Não é trivial de implementar.-vv ou -vvv se estiver enfrentando erros. O log continua melhorando a cada versão.--audit e o RelayKing falha ao resolver qualquer host no DNS porque o(s) servidor(es) DNS simplesmente se recusa(m) a resolver os FQDNs dos computadores na zona DNS de destino. Não é um problema do RelayKing.Como está. Muitos bugs certamente existem. Veja acima. Não foi projetado ou destinado para atividades ilegais/não autorizadas, obviamente.
Considere o comportamento e a natureza de TODAS as ferramentas que você executa em um engagement com cliente e em suas redes. Isso é feito lendo o código-fonte da ferramenta e entendendo seu funcionamento interno antes da execução, não executando cegamente código que você encontrou no GitHub. Embora eu possa garantir que não há código deliberadamente malicioso/destrutivo dentro do RelayKing, validar todas as ferramentas novas/não utilizadas antes de executá-las é, de modo geral, uma boa prática. Confie, mas sempre verifique.
Tenha cuidado ao usar em exercícios de red team, especialmente com verificações autenticadas e --audit. Você SERÁ detectado e será sua culpa! Você deveria ter lido o aviso no topo do README se, de alguma forma, está lendo esta frase e ainda não sabia disso.
Embora extremamente improvável/impossível, se o RelayKing de alguma forma quebrar algo, você está por sua conta, e nem o Autor nem a Depth Security são responsáveis por quaisquer resultados/problemas/questões/explosões-nucleares-de-inversão-geoespacial-de-bit-flipping que possam surgir (por mais improvável que seja) da execução do RelayKing. Sua milhagem pode variar. O RelayKing é, mais uma vez, fornecido SEM GARANTIAS OU GARANTIA DE QUAISQUER RESULTADOS, RECURSOS, UTILIDADE OU COMPORTAMENTO ESPECÍFICOS - EXPLICITAMENTE MENCIONADOS AQUI (E/OU NÃO MENCIONADOS) OU DE OUTRA FORMA IMPLÍCITOS.
O único repositório GitHub legítimo do Autor (logansdiomedi) está presente em https://github.com/depthsecurity/RelayKing-Depth - todos os outros são forks/cópias/qualquer outra coisa, o Autor provavelmente não leu, validou, testou, analisou ou inspecionou quanto a funcionalidade/comportamento/legitimidade. Use sua cabeça.
Licença MIT - veja o arquivo LICENSE para detalhes
--dc-ip--krb-dc-only--dns-tcp-ns--audit--coerce--audit): Após a varredura de hosts ser concluída, o RelayKing consulta o AD por SPNs cujos hostnames não possuem registro DNS. Esses são candidatos para ataques de registro DNS que interceptam a autenticação NTLM. O relatório inclui até 5 achados para manter a saída gerenciável; a lista completa é sempre gravada em possible-ghost-spns.txt no diretório de trabalho. Passe --no-ghosts para pular essa verificação inteiramente.--remove-mic do ntlmrelayx.