Retour aux mises à jour
New releaseSep 11, 2026

ssh-mitm v6.0.0

SSH-MITM - audits SSH simplifiés

Partager

SSH-MITM - des audits SSH simplifiés

SSH-MITM intercepting password login

Un outil interactif d'interception SSH pour les audits de sécurité autorisés.
Interceptez les sessions, surveillez le trafic en direct, injectez des commandes et manipulez les transferts de fichiers — le tout en temps réel.

Download as an AppImage     Download on Flathub     Get it from the Snap Store

OpenSSF Best Practices Code style: black CodeFactor Documentation Status PRs Welcome GitHub Follow me on GitHub

Avis légal : SSH-MITM est destiné uniquement aux audits de sécurité autorisés, aux tests d'intrusion et à la recherche. Ne l'utilisez pas contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de test. L'interception non autorisée du trafic SSH peut être illégale dans votre juridiction.


🎓 Nouveau sur SSH-MITM ? Commencez par le tutoriel interactif

ssh-mitm tutorial

Ouvre un guide pas à pas basé sur un navigateur — aucun serveur cible requis. Cinq chapitres suivent une évaluation autorisée de Logfile Inc., couvrant l'interception de mots de passe, l'authentification par clé publique, les transferts SFTP, l'exécution de commandes et la mise en miroir de sessions en direct.

SSH-MITM interactive tutorial


Démarrage rapide

Placé entre un client et son serveur SSH, SSH-MITM intercepte la connexion — terminant les deux côtés indépendamment et transférant tout le trafic tout en donnant à l'auditeur une visibilité et un contrôle complets :

SSH-MITM setup

1. Installation

SSH-MITM ne nécessite aucune installation. Téléchargez l'AppImage et vous êtes prêt :

wget https://github.com/ssh-mitm/ssh-mitm/releases/latest/download/ssh-mitm-x86_64.AppImage
chmod +x ssh-mitm-x86_64.AppImage

Pour d'autres options d'installation (pip, Flatpak, Snap), consultez le guide d'installation.

⚡ Obtenez la dernière version

La version PyPI peut être en retard. Installez directement depuis GitHub pour obtenir le tutoriel interactif et toutes les améliorations récentes :

pip install git+https://github.com/ssh-mitm/ssh-mitm.git

2. Démarrez SSH-MITM

Pointez SSH-MITM vers votre hôte cible — utilisez un système que vous êtes autorisé à tester :

./ssh-mitm-x86_64.AppImage server --remote-host <target-host>

3. Acheminez une connexion client

Faites en sorte que le client SSH se connecte via SSH-MITM sur le port 10022 :

ssh -p 10022 user@mitm-host

SSH-MITM intercepte la session et enregistre les identifiants immédiatement :

INFO     Remote authentication succeeded
    Remote Address: <target-host>:22
    Username: alice
    Password: secret
    Agent: no agent

SSH-MITM intercepting credentials

4. Attachez-vous à la session en direct

Pour chaque connexion interceptée, SSH-MITM ouvre un shell miroir sur un port local :

INFO     ℹ created mirrorshell on port 34463. connect with: ssh -p 34463 127.0.0.1

Connectez-vous-y depuis un terminal séparé :

ssh -p 34463 127.0.0.1

Le shell miroir reflète la session en temps réel. L'auditeur peut observer l'activité de l'utilisateur et injecter des commandes indépendamment, sans affecter la connexion d'origine.

Ce que SSH-MITM peut faire

FonctionnalitéDescription
Surveillance de session interactiveAttachez-vous à toute session interceptée via un shell miroir — observez et injectez des commandes en temps réel
Manipulation de transfert de fichiersInterceptez les transferts SCP/SFTP, stockez des copies ou remplacez des fichiers à la volée
Interception de redirection de portInterceptez les tunnels TCP et la redirection dynamique SOCKS 4/5
Hameçonnage de jeton FIDO2Interceptez l'authentification par jeton matériel via l'attaque d'authentification triviale (info OpenSSH)
Interception d'authentificationCapturez les mots de passe ; acceptez la même clé publique que le serveur cible et revenez automatiquement à l'authentification par mot de passe
Surveillance de session MOSHInterceptez et déchiffrez les sessions UDP MOSH (Mobile Shell) ; visualisez le terminal en direct via un émulateur VT100/ANSI intégré
PowerShell remoting (PSRP)Interceptez les sessions PowerShell remoting sur SSH ; journalisez les commandes, les sorties, les erreurs et les transitions d'état ; écrivez des transcriptions par session
Audit clientIdentifiez les vulnérabilités connues des clients SSH qui se connectent à partir du seul comportement de négociation de clés
Support de pluginsÉtendez et personnalisez tout comportement d'interception avec des plugins

Cas d'utilisation

  • Tests d'intrusion — auditez activement les clients et serveurs SSH lors d'engagements autorisés ; interceptez, manipulez et rejouez les sessions
  • Recherche en sécurité — analysez le comportement des clients SSH, les flux d'authentification et les faiblesses au niveau du protocole de manière interactive
  • Environnements de formation — démontrez les techniques MITM et le détournement de session dans des configurations de laboratoire contrôlées
  • Analyse de logiciels malveillants — surveillez et interagissez avec les sessions SSH de clients suspects dans des environnements isolés

Recherche en sécurité

SSH-MITM a été initialement développé pour enquêter sur une faiblesse fondamentale dans la façon dont les clients SSH gèrent l'authentification par jeton matériel. La recherche a révélé que les jetons FIDO2 — souvent utilisés comme second facteur — peuvent être hameçonnés via une technique appelée authentification triviale.

L'attaque exploite le fait que les clients SSH peuvent être forcés à utiliser une méthode d'authentification triviale — telle que keyboard-interactive sans invites — ce qui accorde effectivement l'accès sans aucune authentification réelle. Cela contourne complètement la protection par jeton matériel, car le jeton n'est jamais sollicité. SSH-MITM peut simuler cela contre tout client qui ne le rejette pas explicitement :

ssh-mitm server --enable-trivial-auth

Opérant depuis la position d'homme du milieu, il est possible d'observer le comportement des clients SSH qui est invisible depuis l'une ou l'autre extrémité. SSH-MITM a été utilisé pour découvrir 7 vulnérabilités jusqu'alors inconnues dans des logiciels SSH largement déployés :

CVE-2026-60000 CVE-2022-38337 CVE-2022-38336 CVE-2021-36370 CVE-2021-36369 CVE-2021-36368 CVE-2021-36367

Dernière : CVE-2026-60000 — L'authentification GSSAPI d'OpenSSH violait la RFC 4462 de manières permettant à un attaquant de contourner entièrement MaxAuthTries, provoquant un déni de service avant authentification. La même cause racine a également produit un oracle de validité de nom d'utilisateur et un crash de processus privilégié, tous corrigés dans OpenSSH 10.4.

Conférence à DeepSec 2021 — explication complète de l'attaque :
Cliquez pour voir sur vimeo.com
Click to view video on vimeo.com

Télécharger les diapositives de la présentation

Tous les résultats de cette recherche ne sont pas des vulnérabilités — voir Contributions en amont pour les correctifs de durcissement contribués directement à OpenSSH.

(retour en haut)

Contribuer

Les contributions sont les bienvenues ! Veuillez lire CONTRIBUTING.md pour les détails sur la configuration de développement, le style de code et la façon de soumettre une pull request.

(retour en haut)

Contact

(retour en haut)

Contributeurs

Catégories