
This proof-of-concept script exploits a vulnerability in OpenSSH versions prior to 7.4 (CVE-2016-10708) by sending unexpected `SSH_MSG_NEWKEYS` packets.
Este script de prova de conceito explora uma vulnerabilidade em versões do OpenSSH anteriores à 7.4 (CVE-2016-10708), enviando pacotes inesperados SSH_MSG_NEWKEYS que podem resultar em DoS. Ele pode operar em dois modos:
NEWKEYS manipuladas para desencadear uma condição de negação de serviço.Esta ferramenta é fornecida apenas para fins de pesquisa e educação. A varredura ou ataque não autorizado a sistemas que você não possui ou não tem permissão explícita para testar pode violar leis e regulamentos aplicáveis.
Use este script de forma responsável:
-t, --targets
Lista separada por vírgulas de IPs ou nomes de host alvo (obrigatório)
-p, --port
Porta SSH para conectar (padrão: 22)
-m, --mode
Modo de operação: scan ou attack (obrigatório)
--sockets
Número de conexões TCP a serem abertas por alvo (padrão: 5)
--threads
Número máximo de threads de trabalho concorrentes (padrão: 10)
-v, --verbose
Ativa a saída de log em nível de depuração
Troca de Banner No modo scan, o script se conecta a cada alvo e lê o banner SSH para extrair a versão do OpenSSH.
Configuração da Conexão
No modo attack, ele abre o número especificado de sockets TCP por alvo e imediatamente envia um banner de cliente falso (SSH-2.0-OpenSSH_8.9), mantendo as conexões abertas.
Montagem do Pacote
Ele constrói pacotes SSH de transporte bruto contendo apenas o payload SSH_MSG_NEWKEYS. O comprimento do pacote, o comprimento do preenchimento e o preenchimento aleatório são calculados para estar em conformidade com o protocolo de pacote binário SSH.
Laço de Inundação
O script entra em um laço infinito, enviando o pacote NEWKEYS montado em cada socket com atrasos aleatórios de submilissegundos. Instâncias sshd não corrigidas lidarão mal com as mensagens NEWKEYS fora de ordem e eventualmente travarão ou se tornarão instáveis.