
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.
Ce script de preuve de concept exploite une vulnérabilité dans les versions d'OpenSSH antérieures à 7.4 (CVE-2016-10708) en envoyant des paquets SSH_MSG_NEWKEYS inattendus, pouvant entraîner un déni de service (DoS). Il peut fonctionner selon deux modes :
NEWKEYS conçus pour déclencher un état de déni de service.Cet outil est fourni à des fins de recherche et d'éducation uniquement. Le balayage ou l'attaque non autorisés de systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de test peut enfreindre les lois et réglementations applicables.
Utilisez ce script de manière responsable :
-t, --targets
Liste séparée par des virgules des IP ou noms d'hôte cibles (obligatoire)
-p, --port
Port SSH auquel se connecter (par défaut : 22)
-m, --mode
Mode d'opération : scan ou attack (obligatoire)
--sockets
Nombre de connexions TCP à ouvrir par cible (par défaut : 5)
--threads
Nombre maximal de threads de travail simultanés (par défaut : 10)
-v, --verbose
Activer la sortie de journalisation du niveau débogage
Échange de bannières En mode scan, le script se connecte à chaque cible et lit la bannière SSH pour extraire la version OpenSSH.
Configuration de la connexion
En mode attack, il ouvre le nombre spécifié de sockets TCP par cible et envoie immédiatement une fausse bannière client (SSH-2.0-OpenSSH_8.9), puis maintient les connexions ouvertes.
Fabrication des paquets
Il construit des paquets bruts du transport SSH contenant uniquement la charge utile SSH_MSG_NEWKEYS. La longueur du paquet, la longueur du bourrage et le bourrage aléatoire sont calculés pour se conformer au protocole binaire des paquets SSH.
Boucle d'inondation
Le script entre dans une boucle infinie, envoyant le paquet NEWKEYS conçu sur chaque socket avec des délais aléatoires inférieurs à la milliseconde. Les instances sshd non corrigées gèrent mal les messages NEWKEYS hors séquence et finissent par planter ou devenir instables.