Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
sshfinder — Découverte parallèle de services SSH et auditeur de sécurité qui scanne n'importe quel port, valide les bannières SSH, et audite les méthodes d'authentification, les faiblesses cryptographiques, la vulnérabilité Terrapin et les clés d'hôte réutilisées sur des hôtes et des plages CIDR. | Kitploit
Outils/GitHubGitHub/kabiri-labs/sshfinder
ReconnaissanceScanners de VulnérabilitésScan de PortsAnalyse des VulnérabilitésCollecte d'InformationsSécurité RéseauCryptographieTests d'Intrusion
GitHubkabiri-labs/sshfinder

sshfinder

Voir le dépôt
314il y a 2 moisPas 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 →

À propos

Découverte parallèle de services SSH et auditeur de sécurité qui scanne n'importe quel port, valide les bannières SSH, et audite les méthodes d'authentification, les faiblesses cryptographiques, la vulnérabilité Terrapin et les clés d'hôte réutilisées sur des hôtes et des plages CIDR.

Partager

sshfinder

CI version

Trouvez chaque service SSH sur votre réseau, jugez s'il répond à votre norme, et soyez informé lorsque cela change.

sshfinder est un fichier Python unique sans dépendances requises. Pointez-le vers une plage CIDR et il découvre SSH partout où il écoute réellement — pas seulement sur le port 22 — confirme que chacun parle vraiment SSH, évalue sa posture cryptographique, et renvoie un code de sortie non nul lorsque quelque chose échoue à votre politique.


Le problème qu'il résout

La plupart des équipes ne peuvent pas répondre à trois questions concernant leur propre parc SSH :

  1. Combien de services SSH avons-nous, et où ? Pas combien de machines — combien de services SSH à l'écoute, y compris celui sur le port 2222 qu'un prestataire a configuré en 2019.
  2. Respectent-ils tous notre norme ? Connexion par mot de passe désactivée, pas de chiffrements cassés, pas d'exposition à Terrapin. De manière prouvable, pas par simple affirmation.
  3. Qu'est-ce qui a changé depuis la nuit dernière ? Une clé d'hôte qui a bougé. Un service qui est apparu. Une authentification par mot de passe qui est revenue après une reconstruction.

Les outils existants répondent chacun à une partie de cela et s'arrêtent là :

OutilDécouvre SSHL'évalueSur un parc entier
nmapouisuperficiellement, via les scripts NSEoui
ssh-auditnon — vous lui donnez un seul hôteen profondeurnon
masscan / zmapà l'échelle d'Internetnonoui
sshfinderouiouioui

Cette lacune — découverte et évaluation et un verdict, dans un seul artefact — est ce que cet outil existe pour combler. Si vous n'avez besoin que d'auditer un seul hôte que vous connaissez déjà, utilisez ssh-audit ; il va plus en profondeur sur un service unique que celui-ci.

À qui il s'adresse

  • Sécurité interne et inventaire des actifs. Construisez et maintenez un enregistrement de chaque service SSH du parc, exporté en CSV ou JSON.
  • Équipes plateforme et SRE avec une obligation de conformité. Prouvez, de manière planifiée et avec un code de sortie, qu'aucun hôte d'un VPC n'accepte la connexion par mot de passe ni n'offre de cryptographie faible.
  • Toute personne menant une migration post-quantique. Un seul chiffre pour savoir quelle part du parc ne peut toujours pas négocier un échange de clés post-quantique, et exactement quels services sont concernés.

Les testeurs d'intrusion trouveront l'audit et le pivot SOCKS utiles, mais l'outil est conçu autour de l'exécution répétée de la même analyse sur un parc que vous possédez, et non autour d'une mission ponctuelle.


Démarrage rapide

git clone https://github.com/kabiri-labs/sshfinder.git
cd sshfinder
python sshfinder.py 10.0.0.0/24 -p 22,2222

Aucune installation, aucune dépendance. Nécessite Python 3.9+.

Les trois choses qu'il fait, en trois commandes :

# 1. INVENTAIRE — quel SSH est présent ?
python sshfinder.py 10.0.0.0/24 --audit --format csv -o ssh-inventory.csv

# 2. VERDICT — répond-il à notre norme ? (sortie 3 sinon)
python sshfinder.py 10.0.0.0/24 -p 22,2222 --policy baseline

# 3. DÉRIVE — qu'est-ce qui a changé depuis la nuit dernière ?
python sshfinder.py 10.0.0.0/24 -p 22,2222 --baseline yesterday.json \
    --fail-on-drift

1. Inventaire

L'analyse des 65535 ports est la valeur par défaut, car un service SSH sur un port non standard est précisément celui que personne n'a consigné. Chaque port ouvert est étiqueté, de sorte qu'un port ouvert n'est jamais silencieusement compté comme un port SSH :

=== 10.0.0.5 ===
  open: 10.0.0.5:22 [SSH], 10.0.0.5:8080 [not ssh]
  SSH  10.0.0.5:22  (SSH-2.0-OpenSSH_7.4)

La confirmation est un véritable échange d'identification RFC 4253, pas un simple coup d'œil aux premiers octets sur le fil. Les serveurs qui affichent d'abord une bannière légale, qui attendent que le client s'identifie, ou dont la bannière arrive fragmentée sur plusieurs segments TCP sont tous reconnus correctement — chacun de ces cas est un faux négatif dans une implémentation naïve.

Ajoutez --audit pour obtenir l'image complète de chaque service :

  SSH  10.0.0.5:22  (SSH-2.0-OpenSSH_7.4)
       host key: ssh-ed25519 SHA256:T/ZM4jOL4amTsO5K3AaCdg2...
       auth: publickey, password  [!] password auth enabled
       [!] Terrapin (CVE-2023-48795): VULNERABLE
       [!] weak ciphers: aes128-cbc
           aes128-cbc [weak]: CBC mode is vulnerable to the SSH plaintext-recovery attack (CVE-2008-5161) and, …

Clés d'hôte SSH partagées (hôtes partagés/clonés possibles) :
  SHA256:T/ZM4jOL4amTsO5K3AaCdg2...
    -> 10.0.0.5:22, 10.0.0.9:22

Ce dernier bloc mérite d'être connu : une clé d'hôte réutilisée entre machines signifie généralement des VM clonées ou une image partagée, et cela signifie que compromettre un hôte compromet l'identité de tous les autres.

Préparation post-quantique

OpenSSH 10.0 a fait de mlkem768x25519-sha256 l'échange de clés par défaut, et 10.1 avertit que les sessions classiques sont ouvertes à la capture stockez maintenant, déchiffrez plus tard. --pq-report répond directement à la question au niveau du parc, en utilisant uniquement le KEXINIT — il ne nécessite donc aucune bibliothèque tierce :

python sshfinder.py 10.0.0.0/24 -p 22,2222 --pq-report
Post-quantum readiness:
  1/3 service(s) negotiate post-quantum key exchange with a current client
  [!] no PQ key exchange offered (1):
        10.0.0.2:22
  [!] pre-standard PQ only (1) - looks post-quantum but is not:
        10.0.0.3:22
  2 service(s) exposed to store-now-decrypt-later capture; upgrade to OpenSSH 9.0+

La catégorie pre-standard est celle qui piège les gens. Un serveur annonçant [email protected] ou un brouillon Kyber semble post-quantique dans un dump d'algorithmes, mais OpenSSH a abandonné cet ensemble de paramètres retiré en 2020 — un client actuel ne trouve donc aucune méthode commune et retombe sur la cryptographie classique. S'il était compté comme prêt, ce serait pire que de ne pas regarder du tout.

2. Verdict

Un rapport décrit un problème. Une politique affirme un problème, et peut faire échouer une construction :

python sshfinder.py 10.0.0.0/24 -p 22,2222 --policy baseline; echo "exit $?"
Policy 'baseline':
  No password login, no Terrapin exposure, no weak algorithms.
  1/3 service(s) pass
  [FAIL] 1 service(s):
        10.0.0.3:22
          - password_auth: password login accepted: publickey, password
          - terrapin: vulnerable to Terrapin (CVE-2023-48795)
          - post_quantum (warn): post-quantum readiness is absent, ready required
  [warn] 1 service(s):
        10.0.0.2:22
          - post_quantum (warn): post-quantum readiness is absent, ready required
exit 3

Trois politiques sont intégrées — baseline, strict et pq — nommées pour le résultat qu'elles imposent plutôt que pour une distribution. Les règles portent une sévérité fail ou warn et --fail-on décide quelles portes sont franchies, afin qu'une équipe puisse adopter un seuil plus strict comme avertissement d'abord et le promouvoir plus tard sans rien modifier.

Écrivez la vôtre en JSON :

Télécharger l’outil