Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
opensshenum — CVE-2018-15473 - Opensshenum est un énumérateur d'utilisateurs exploitant un bug OpenSsh. | Kitploit
Outils/GitHubGitHub/gbonacini/opensshenum
Scan de PortsAnalyse des VulnérabilitésExploitationCollecte d'InformationsSécurité RéseauTests d'Intrusion
GitHubgbonacini/opensshenum

opensshenum

CVE-2018-15473 - Opensshenum est un énumérateur d'utilisateurs exploitant un bug OpenSsh.

Voir le dépôt
3il y a 7 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Description :

Opensshenum est un énumérateur d'utilisateurs OpenSsh permettant de vérifier une liste arbitraire de noms d'utilisateurs auprès d'un serveur OpenSsh, afin de connaître ceux réellement présents sur cette machine distante. Ce programme exploite un bug (corrigé en juillet 2018) dont l'efficacité est prouvée au moins à partir d'OpenSSH 2.3.0 (sorti en novembre 2000).

J'ai écrit l'exploit en partant de Tssh, un client SSH 2 que j'ai écrit en C++11 à partir de zéro, en m'appuyant sur les RFC.

Pour plus d'informations, lisez ici :

http://seclists.org/oss-sec/2018/q3/124

Cette faille a reçu le CVE-2018-15473.

AVERTISSEMENT :

Ce code a été publié à des fins d'information et d'éducation. L'intrusion dans des systèmes et des services sans l'autorisation du propriétaire est illégale. Toute mauvaise utilisation des informations et du logiciel contenus dans ce dépôt peut entraîner des poursuites pénales contre l'auteur de l'infraction. Toute action et/ou activité liée au matériel contenu dans ce dépôt Git relève de votre seule responsabilité. L'auteur ne pourra être tenu responsable si des poursuites pénales sont engagées contre des personnes qui utilisent à mauvais escient les informations ou le logiciel de ce site pour enfreindre la loi.

Prérequis :

Le programme est destiné à être utilisé dans un environnement *nix et a été testé sur diverses distributions Linux et OS X :

  • Ubuntu 17.10 ;
  • OS X 10.11.6 ;

en utilisant, comme compilateur, l'un de ceux-ci :

  • gcc version7.2.0 (Ubuntu 7.2.0-8ubuntu3.2) ;
  • Apple LLVM version 8.0.0 (clang-800.0.42.1)

et, comme serveur SSH, l'un des suivants :

  • OpenSSH_7.5p1

La seule dépendance externe est la bibliothèque OpenSSL, utilisée pour les fonctions cryptographiques. Je pourrais introduire des alternatives à OpenSSL dans les prochaines versions. Ce programme est destiné à être utilisé avec une version d'OpenSSL égale ou supérieure à :

  • OpenSSL 1.0.2h ;

(Cela signifie qu'avec OS X, une mise à niveau est obligatoire).

Pour compiler le programme, les outils/bibliothèques suivants sont nécessaires :

  • un compilateur c++ (avec le support c++11) ;
  • automake/autoconf ;
  • libtool ;
  • OpenSSL 1.0.2h ou supérieur (paquets « dev ») ;

Installation :

  • lancez le script de configuration : ./configure
  • compilez le programme : make
  • installez le programme et la page de manuel : sudo make install

Instructions :

Il traite la liste d'utilisateurs transmise par pipe, exemple :

cat user.txt | ./opensshenum -i dummy_cert target_addr
xxx:NOK
gabriel:OK

où user.txt est un fichier contenant une liste d'utilisateurs, un par ligne, et dummy_cert est une clé générée avec la commande ssh-keygen d'OpenSsh (le répertoire des clés est ~/.shh par défaut).

Un programme peut être utilisé pour générer la liste :

printf "xxx\ngabriel" | ./src/opensshenum -i dummy_rsa localhost
xxx:NOK
gabriel:OK

Consultez la page de manuel incluse dans cette version.

Nouvelles fonctionnalités :

Scanner de ports :

Capacité de scan de ports SSH ajoutée : désormais, opensshenum peut analyser tous les ports associés à une adresse afin de détecter des instances de SSH écoutant sur des ports différents de 22 et d'effectuer l'exploit uniquement sur ces ports vérifiés. Cette fonctionnalité peut être utilisée de manière autonome, permettant d'obtenir uniquement une liste des ports associés à SSH, sans exécuter d'attaque.

Exemple :

opensshenum -s -n -t2 -m22221 -M22225 -r'.*OpenSSH' -idummy_rsa my_imaginary_website.com

analysera les ports (-s) entre 22221 et 22225 (inclus), en effectuant uniquement l'analyse (-n), avec un délai d'attente de 2 secondes (-t), en s'attendant à une chaîne d'accueil contenant la chaîne OpenSSH, en utilisant une clé publique nommée idummy_rsa (je recommande de générer une clé uniquement pour ce type d'opérations) et en utilisant comme cible my_imaginary_website.com. Plus d'informations dans la page de manuel.

Exécution parallèle :

Un script alpha utilisant GNU Parallel (parallenum.sh) est inclus, comme preuve de concept de la réduction du temps de scan possible en divisant la plage des ports à analyser en sous-plages, chacune relevant d'un processus spécifique. Cela produit évidemment beaucoup de bruit. Pour réduire le bruit, le paramètre -t peut être utilisé à cet effet.

Prise d'empreinte :

La fonction de prise d'empreinte, utile pour identifier automatiquement le type d'OS (c'est-à-dire si la chaîne « hello » est omise) et les services avec une base de données d'utilisateurs/combinaisons d'utilisateurs. La base de données est créée à partir des fichiers *.lst rassemblés dans un répertoire. Chaque fichier *.lst porte le nom <os_name_or_service>.lst, exemples :

ubuntu_17_10.lst aix.lst proprietary_ftp.lst

La base de données, un fichier csv, a le format :

user_1;os_or_service_1; ... ;os_or_service_n ... user_m;os_or_service_1; ... ;os_or_service_n

La base de données peut être créée à partir des fichiers *.lst à l'aide de l'utilitaire createdb, présent dans le répertoire ./utils, en spécifiant le répertoire des *.lst, exemple :

cd utils make ./createdb ../lists/

Pour activer la prise d'empreinte, utilisez l'option -F avec le fichier de la base de données, exemple :

cat test/scan.sample | opensshenum -p22 -idummy_rsa -Futils/opensshenum.db localhost

Télécharger l’outil