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
SSH-Terrapin-Prefix-Truncation-Weakness-CVE-2023-48795-Checker — Scanner Python léger pour CVE-2023-48795 (SSH Terrapin prefix truncation). Effectue une capture passive de bannière et une analyse KEXINIT pour détecter les combinaisons vulnérables de chiffrement/MAC et l'absence de mitigation strict-KEX. | Kitploit
Outils/GitHubGitHub/mr-whiskerss/ssh-terrapin-prefix-truncation-weakness-cve-2023-48795-checker
ReconnaissanceScanners de VulnérabilitésExploitationCollecte d'InformationsSécurité RéseauTests d'Intrusion
GitHubmr-whiskerss/ssh-terrapin-prefix-truncation-weakness-cve-2023-48795-checker

SSH-Terrapin-Prefix-Truncation-Weakness-CVE-2023-48795-Checker

Scanner Python léger pour CVE-2023-48795 (SSH Terrapin prefix truncation). Effectue une capture passive de bannière et une analyse KEXINIT pour détecter les combinaisons vulnérables de chiffrement/MAC et l'absence de mitigation strict-KEX.

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 →
Voir le dépôt
11il y a 3 moisPas encore vérifié
Partager

terrapin_check.py

Un scanner Python léger pour CVE-2023-48795 — la vulnérabilité de troncature de préfixe SSH Terrapin.

Terrapin est une vulnérabilité au niveau du protocole SSH qui permet à un attaquant effectuant un MitM actif de tronquer les informations d'extension négociées, dégradant la sécurité de la connexion — ce qui désactive de manière critique ext-info (utilisé pour les algorithmes de signature du serveur) et ping (utilisé par l'extension no-auth d'OpenSSH).


📋 Table des matières

  • À propos de la vulnérabilité
  • Comment ça fonctionne
  • Prérequis
  • Installation
  • Utilisation
  • Sortie
  • Conditions de vulnérabilité
  • Remédiation
  • Avertissement

À propos de la vulnérabilité

La vulnérabilité existe car certaines combinaisons de chiffrement/MAC SSH — spécifiquement chacha20-poly1305 et les chiffrements en mode CBC avec Encrypt-then-MAC — permettent à un attaquant MitM actif d'injecter et de supprimer des numéros de séquence SSH lors du handshake, tronquant les données d'extension négociées sans être détecté.

Le correctif a introduit une extension KEX stricte (kex-strict-*[email protected]) que le client et le serveur doivent annoncer pour être immunisés.


Comment ça fonctionne

Le script effectue une récupération passive de bannière et une analyse KEXINIT uniquement — pas de handshake SSH complet, pas d'authentification, pas d'exploitation :

  1. Ouvre une connexion TCP au port SSH cible
  2. Échange les bannières d'identification SSH
  3. Reçoit et analyse le paquet SSH_MSG_KEXINIT du serveur
  4. Inspecte les listes de noms d'algorithmes annoncés pour les combinaisons vulnérables
  5. Vérifie la présence de l'extension d'atténuation KEX stricte
  6. Ferme la connexion

Étant donné que la vérification se produit entièrement dans la phase d'échange de clés, elle est non intrusive et ne laisse aucune trace significative au-delà d'une tentative de connexion TCP normale.


Prérequis

  • Python 3.8+
  • Aucune dépendance tierce — uniquement la bibliothèque standard (socket, struct, argparse, concurrent.futures)

Installation

root@kitploit:~
git clone https://github.com/Mr-Whiskerss/terrapin_check
cd terrapin_check
chmod +x terrapin_check.py

Utilisation

Hôte unique

root@kitploit:~
python3 terrapin_check.py <host> [port]
root@kitploit:~
python3 terrapin_check.py 192.168.1.10
python3 terrapin_check.py 192.168.1.10 2222

Analyse groupée depuis un fichier

Un hôte par ligne — accepte le format host ou host:port.

root@kitploit:~
python3 terrapin_check.py -f targets.txt
python3 terrapin_check.py -f targets.txt --threads 20 --timeout 3

Sortie résumée uniquement (utile pour les analyses volumineuses)

root@kitploit:~
python3 terrapin_check.py -f targets.txt --summary

Options complètes

root@kitploit:~
usage: terrapin_check.py [-h] [-f FILE] [-p PORT] [--threads THREADS] [--timeout TIMEOUT] [--summary] [host] [port]

arguments positionnels :
  host                  Hôte cible
  port                  Port SSH (par défaut : 22)

options :
  -h, --help            Affiche ce message d'aide et quitte
  -f, --file FILE       Fichier contenant les hôtes (host ou host:port par ligne)
  -p, --port-flag PORT  Port par défaut lors de l'utilisation de -f (par défaut : 22)
  --threads THREADS     Threads simultanés pour l'analyse groupée (par défaut : 10)
  --timeout TIMEOUT     Délai d'attente de la socket en secondes (par défaut : 5.0)
  --summary             Affiche un résumé d'une ligne par hôte uniquement

Codes de sortie

CodeSignification
0Aucun hôte vulnérable trouvé
1Un ou plusieurs hôtes vulnérables détectés

Cela permet d'utiliser le script proprement dans des pipelines et des workflows automatisés.


Sortie

Hôte unique (détaillé)

root@kitploit:~
────────────────────────────────────────────────────────────
  Target : 192.168.1.10:22
  Banner : SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.6
  Status : VULNERABLE

  Strict-KEX : No
  ✗ ChaCha20-Poly1305 advertised → prefix-truncation possible
  ✗ CBC+ETM combination advertised
      CBC ciphers : aes128-cbc, aes256-cbc
      ETM MACs    : [email protected], [email protected]

  KEX algorithms:
    curve25519-sha256
    ecdh-sha2-nistp256
    diffie-hellman-group14-sha256
────────────────────────────────────────────────────────────

Analyse groupée (résumé)

root@kitploit:~
  [VULN]  192.168.1.10:22                  VULNERABLE (CVE-2023-48795)
  [SAFE]  192.168.1.20:22                  Not vulnerable
  [MIT]   192.168.1.30:22                  Algorithms present but strict-KEX mitigates
  [?]     192.168.1.99:22                  ERROR: Connection refused

Conditions de vulnérabilité

Le script marque un hôte comme VULNÉRABLE si l'une des conditions suivantes est vraie, et que l'extension KEX stricte n'est pas annoncée :

1. ChaCha20-Poly1305

Le serveur annonce [email protected] dans l'une ou l'autre direction de chiffrement.

2. Combinaison de chiffrement CBC + MAC ETM

Le serveur annonce un chiffrement en mode CBC et un MAC ETM ensemble :

Chiffrements CBC vérifiés : aes128-cbc, aes192-cbc, aes256-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, idea-cbc, arcfour, arcfour128, arcfour256, [email protected]

MAC ETM vérifiés : [email protected], [email protected], [email protected], [email protected], et variantes

Atténuation — KEX stricte

Si le serveur annonce [email protected] dans sa liste d'algorithmes KEX, la connexion est protégée indépendamment des chiffrements et MAC proposés. Le script signalera MITIGATED plutôt que VULNERABLE dans ce cas.


Remédiation

root@kitploit:~
# /etc/ssh/sshd_config
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
MACs hmac-sha2-256,hmac-sha2-512

La suppression d'algorithmes réduit l'agilité de chiffrement. La mise à jour est toujours la remédiation privilégiée.


Avertissement

Cet outil est destiné uniquement aux évaluations de sécurité autorisées. Utilisez-le uniquement sur des systèmes dont vous êtes propriétaire ou pour lesquels vous avez une autorisation écrite explicite de test. L'auteur décline toute responsabilité en cas d'utilisation abusive.


Partie de la boîte à outils de pentesting Mr-Whiskerss.

Télécharger l’outil
ChampDétail
CVECVE-2023-48795
CVSS5.9 (Moyen)
TypeProtocole SSH — Troncature de préfixe / Contournement d'intégrité
DivulgationDécembre 2023
AffectéOpenSSH < 9.6, PuTTY < 0.80, libssh < 0.10.6, et bien d'autres
Référencesterrapin-attack.com
ActionDétail
Mettre à jour OpenSSHMettez à jour vers ≥ 9.6 sur le client et le serveur. KEX stricte est activée par défaut.
Corriger les autres implémentationsPuTTY ≥ 0.80, libssh ≥ 0.10.6, Paramiko ≥ 3.4.0, AsyncSSH ≥ 2.14.2
Supprimer les algorithmes vulnérablesSi la mise à jour n'est pas immédiatement possible, supprimez chacha20-poly1305 et les chiffrements CBC + MAC ETM de sshd_config :