
Uma ferramenta multithread projetada para identificar se as credenciais são válidas, inválidas ou credenciais de administrador local válidas dentro de uma rede em grande escala via SMB, além de agora com um caçador de usuários
Esta ferramenta é destinada a testadores de penetração que desejam realizar um engajamento de forma rápida e eficiente. Embora esta ferramenta possa ser usada para operações mais furtivas (incluindo algumas adições abaixo), ela realmente brilha quando utilizada na escala de uma grande rede.
No seu núcleo, você fornece a ela uma lista de credenciais que você obteve (ou hashes, ela pode passar o hash) e uma lista de sistemas no domínio (sugiro escanear primeiro a porta 445, ou você pode usar "--scan"). Ela informará se as credenciais que você obteve são válidas no domínio e se você tem acesso de administrador local a um host. Veja abaixo recursos adicionais, como caça a usuários e enumeração detalhada de hosts.
Ela foi projetada para ser executada no Kali Linux
.d8888b. 888 888b 888 d8b d8b
d88P Y88b 888 8888b 888 Y8P Y8P
888 888 888 88888b 888
888 888d888 .d88b. .d88888 888Y88b 888 888 88888b. 8888 8888b.
888 888P" d8P Y8b d88" 888 888 Y88b888 888 888 "88b "888 "88b
888 888 888 88888888 888 888 888 Y88888 888 888 888 888 .d888888
Y88b d88P 888 Y8b. Y88b 888 888 Y8888 888 888 888 888 888 888
"Y8888P" 888 "Y8888 "Y88888 888 Y888 888 888 888 888 "Y888888
888
d88P
888P"
v2.3 (Construído em 26/01/2018) - Chris King (@raikiasec)
Para ajuda: ./CredNinja.py -h
uso: CredNinja.py -a contas_para_testar.txt -s sistemas_para_testar.txt [-t THREADS] [--ntlm] [--valid] [--invalid] [-o OUTPUT] [-p DELIMITADOR_SENHA] [--delay SEGUNDOS %JITTER] [--timeout TIMEOUT] [--stripe] [--scan] [--scan-timeout TIMEOUT_SCAN] [-h] [--no-color] [--os] [--domain] [--users] [--users-time TEMPO_USUARIOS]
Verifique rapidamente a validade de múltiplas credenciais de usuário em vários servidores e seja notificado se esse usuário tem direitos de administrador local em cada servidor.
Argumentos Obrigatórios: -a contas_para_testar.txt, --accounts contas_para_testar.txt Uma palavra ou arquivo de credenciais de usuário para testar. Nomes de usuário são aceitos no formato "DOMÍNIO\USUÁRIO:SENHA" -s sistemas_para_testar.txt, --servers sistemas_para_testar.txt Uma palavra ou arquivo de servidores para testar. Pode ser um único sistema, um nome de arquivo contendo uma lista de sistemas, um arquivo gnmap ou endereços IP em notação cidr. Cada credencial será testada contra cada um destes servidores tentando acessar C$ via SMB
Argumentos Opcionais: -t THREADS, --threads THREADS Número de threads a usar. Padrão é 10 --ntlm Tratar as senhas como hashes NTLM e tentar passar o hash (pass-the-hash)! --valid Exibir apenas credenciais válidas/administrador local --invalid Exibir apenas credenciais inválidas -o OUTPUT, --output OUTPUT Imprimir resultados em um arquivo -p DELIMITADOR_SENHA, --passdelimiter DELIMITADOR_SENHA Alterar o delimitador entre o nome de usuário da conta e a senha. Padrão é ":" --delay SEGUNDOS %JITTER Atrasar cada requisição por thread pelos segundos especificados com jitter (exemplo: --delay 20 10, atraso de 20 segundos com 10% de jitter) --timeout TIMEOUT Quantidade de segundos para esperar por dados antes de atingir o tempo limite. Padrão é 15 segundos --stripe Testar apenas uma credencial em um host para evitar sobrecarregar um único sistema com múltiplas tentativas de login (usado para verificar validade das credenciais). Isso selecionará aleatoriamente hosts do arquivo de host fornecido. --scan Realizar uma verificação rápida para ver se a porta 445 está disponível no host antes de colocá-lo na fila para ser processado --scan-timeout TIMEOUT_SCAN Define o tempo limite para a varredura especificada pelo argumento --scan. Padrão de 2 segundos -h, --help Obter ajuda sobre o uso deste script --no-color Desativa a saída colorida. O arquivo gravado é sempre sem cor
Recuperação Adicional de Informações: --os Exibir o SO do sistema se disponível (nenhuma requisição extra está sendo enviada) --domain Exibir o domínio primário do sistema se disponível (nenhuma requisição extra está sendo enviada) --users Listar os usuários que fizeram login no sistema nos últimos 6 meses (requer ADMINISTRADOR LOCAL). Retorna nomes de usuário com o número de dias desde que seu diretório home foi alterado. Isso envia uma requisição extra para cada host --users-time TEMPO_USUARIOS Modifica --users para pesquisar usuários que fizeram login nos últimos X dias fornecidos (padrão 100 dias)
Changelog:
v2.3 - Atualizado com alguns recursos adicionais
* Adicionada análise de arquivos gnmap. O arquivo fornecido ao argumento --systems (-s)
agora pode ser um arquivo gnmap (terminando em .gnmap)
* Adicionada análise de notação cidr. O endereço IP fornecido ao argumento --systems (-s)
agora pode estar em notação cidr e ele expandirá corretamente o intervalo
e testará todos os sistemas dentro do espaço IP (certifique-se de fornecer --scan para
escanear os sistemas antecipadamente!)
* Tornado --scan multi-thread para que execute MUITO mais rápido
v2.0 - Lançamento inicial do CredNinja a partir do predecessor CredSwissArmy:
* Mesma capacidade que o antigo CredSwissArmy (usar credenciais e lista de hosts
para procurar acesso de Administrador Local em uma rede via SMB)
* Totalmente multi-thread! É 8 vezes mais rápido que o antigo CredSwissArmy!
* Lida com erros e senhas complexas muito melhor
* Ainda pode passar o hash com a opção "--ntlm"
* Ainda tem os mesmos argumentos de antes
* Adicionado "--timeout", que permite que as varreduras sejam concluídas mais rápido, se desejar
* Adicionado "--scan", que executa uma varredura rápida da porta 445 nos hosts para garantir
que estejam conectáveis antes de tentar credenciais neles
* Adicionado "--stripe", que testa cada credencial uma vez em um sistema aleatório
(usado para validar credenciais sem parecer suspeito no log de eventos de um sistema)
* Adicionado "--delay", que permite especificar um atraso entre a varredura de hosts
para ser mais furtivo. "--delay 10 20" atrasará por 10 segundos com um jitter de 20%
(então entre 8-10 segundos)
* Adicionada saída colorida para que fique mais óbvio quando você obtiver sucesso!
E AGORA AS ADIÇÕES LEGAIS
* Adicionado "--os", que mostra o sistema operacional de cada sistema que consegue
identificar (nenhum pacote adicional é enviado ao host alvo)
* Adicionado "--domain", que mostra o domínio primário do qual o sistema é membro
(nenhum pacote adicional é enviado ao host alvo)
* Adicionado "--users", que mostra uma lista de usuários cujos diretórios home foram
modificados em X dias (X é modificável por "--users-days", padrão
de 100). Basicamente um User-Hunter via SMB que mostra onde os usuários estão logados ou
estiveram logados (1 pacote adicional é enviado para cada host alvo)
* Em breve: Detector de antivírus para avisar sobre possíveis antivírus em execução
no sistema