
ssh-mitm v6.0.0
SSH-MITM - audits SSH simplifiés
SSH-MITM - des audits SSH simplifiés
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.
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.
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 :
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
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 interactive | Attachez-vous à toute session interceptée via un shell miroir — observez et injectez des commandes en temps réel |
| Manipulation de transfert de fichiers | Interceptez les transferts SCP/SFTP, stockez des copies ou remplacez des fichiers à la volée |
| Interception de redirection de port | Interceptez les tunnels TCP et la redirection dynamique SOCKS 4/5 |
| Hameçonnage de jeton FIDO2 | Interceptez l'authentification par jeton matériel via l'attaque d'authentification triviale (info OpenSSH) |
| Interception d'authentification | Capturez 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 MOSH | Interceptez 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 client | Identifiez 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 :
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
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.
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.
Contact
- E-Mail : [email protected]
- Suivi des problèmes

