
ssh-mitm v6.0.0
SSH-MITM - SSH-Audits leicht gemacht
SSH-MITM - ssh-Audits leicht gemacht
Ein interaktives SSH-Abfangwerkzeug für autorisierte Sicherheitsaudits.
Fangen Sie Sitzungen ab, überwachen Sie Live-Datenverkehr, injizieren Sie Befehle und manipulieren Sie Dateiübertragungen – alles in Echtzeit.
Rechtlicher Hinweis: SSH-MITM ist ausschließlich für autorisierte Sicherheitsaudits, Penetrationstests und Forschung gedacht. Verwenden Sie es nicht gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben. Das unbefugte Abfangen von SSH-Datenverkehr kann in Ihrer Rechtsordnung illegal sein.
🎓 Neu bei SSH-MITM? Beginnen Sie mit dem interaktiven Tutorial
ssh-mitm tutorial
Öffnet einen browserbasierten, Schritt-für-Schritt-Leitfaden – kein Zielserver erforderlich. Fünf Kapitel folgen einer autorisierten Bewertung der Logfile Inc. und behandeln Passwort-Abfangen, Public-Key-Authentifizierung, SFTP-Übertragungen, Befehlsausführung und Live-Sitzungsspiegelung.
Schnellstart
Zwischen einem Client und seinem SSH-Server platziert, fängt SSH-MITM die Verbindung ab – beide Seiten werden unabhängig voneinander beendet und der gesamte Datenverkehr wird weitergeleitet, während der Auditor volle Sichtbarkeit und Kontrolle erhält:
1. Installation
SSH-MITM erfordert keine Installation. Laden Sie das AppImage herunter und schon kann es losgehen:
wget https://github.com/ssh-mitm/ssh-mitm/releases/latest/download/ssh-mitm-x86_64.AppImage
chmod +x ssh-mitm-x86_64.AppImage
Für andere Installationsoptionen (pip, Flatpak, Snap) siehe die Installationsanleitung.
⚡ Holen Sie sich die neueste Version
Die PyPI-Version kann hinterherhinken. Installieren Sie direkt von GitHub, um das interaktive Tutorial und alle aktuellen Verbesserungen zu erhalten:
pip install git+https://github.com/ssh-mitm/ssh-mitm.git
2. SSH-MITM starten
Richten Sie SSH-MITM auf Ihren Zielhost aus – verwenden Sie ein System, das Sie testen dürfen:
./ssh-mitm-x86_64.AppImage server --remote-host <target-host>
3. Eine Client-Verbindung weiterleiten
Lassen Sie den SSH-Client über SSH-MITM auf Port 10022 verbinden:
ssh -p 10022 user@mitm-host
SSH-MITM fängt die Sitzung ab und protokolliert die Anmeldedaten sofort:
INFO Remote authentication succeeded
Remote Address: <target-host>:22
Username: alice
Password: secret
Agent: no agent
4. An der Live-Sitzung teilnehmen
Für jede abgefangene Verbindung öffnet SSH-MITM eine Spiegel-Shell auf einem lokalen Port:
INFO ℹ created mirrorshell on port 34463. connect with: ssh -p 34463 127.0.0.1
Verbinden Sie sich von einem separaten Terminal aus:
ssh -p 34463 127.0.0.1
Die Spiegel-Shell spiegelt die Sitzung in Echtzeit wider. Der Auditor kann die Aktivität des Benutzers beobachten und unabhängig Befehle injizieren, ohne die ursprüngliche Verbindung zu beeinträchtigen.
Was SSH-MITM kann
| Funktion | Beschreibung |
|---|---|
| Interaktive Sitzungsüberwachung | An jeder abgefangenen Sitzung über eine Spiegel-Shell teilnehmen – Befehle in Echtzeit beobachten und injizieren |
| Manipulation von Dateiübertragungen | SCP/SFTP-Übertragungen abfangen, Kopien speichern oder Dateien im laufenden Betrieb ersetzen |
| Abfangen von Portweiterleitungen | TCP-Tunnel und dynamische SOCKS 4/5-Weiterleitung abfangen |
| FIDO2-Token-Phishing | Hardware-Token-Authentifizierung über den Trivial-Auth-Angriff abfangen (OpenSSH-Info) |
| Abfangen der Authentifizierung | Passwörter erfassen; denselben öffentlichen Schlüssel wie der Zielserver akzeptieren und automatisch auf Passwort-Authentifizierung zurückfallen |
| MOSH-Sitzungsüberwachung | MOSH (Mobile Shell) UDP-Sitzungen abfangen und entschlüsseln; das Live-Terminal über einen integrierten VT100/ANSI-Emulator anzeigen |
| PowerShell-Remoting (PSRP) | PowerShell-Remoting-Sitzungen über SSH abfangen; Befehle, Ausgaben, Fehler und Zustandsübergänge protokollieren; Sitzungsprotokolle pro Sitzung schreiben |
| Client-Auditing | Bekannte Schwachstellen in verbindenden SSH-Clients allein anhand des Schlüsselaustausch-Verhaltens identifizieren |
| Plugin-Unterstützung | Erweitern und Anpassen des gesamten Abfangverhaltens mit Plugins |
Anwendungsfälle
- Penetrationstests – SSH-Clients und -Server in autorisierten Engagements aktiv auditieren; Sitzungen abfangen, manipulieren und wiedergeben
- Sicherheitsforschung – SSH-Client-Verhalten, Authentifizierungsabläufe und protokollbezogene Schwachstellen interaktiv analysieren
- Trainingsumgebungen – MITM-Techniken und Sitzungsübernahmen in kontrollierten Laborumgebungen demonstrieren
- Malware-Analyse – SSH-Sitzungen von verdächtigen Clients in isolierten Umgebungen überwachen und mit ihnen interagieren
Sicherheitsforschung
SSH-MITM wurde ursprünglich entwickelt, um eine grundlegende Schwachstelle in der Art und Weise zu untersuchen, wie SSH-Clients die Hardware-Token-Authentifizierung handhaben. Die Forschung deckte auf, dass FIDO2-Token – oft als zweiter Faktor verwendet – durch eine Technik namens triviale Authentifizierung phishen lassen.
Der Angriff nutzt die Tatsache aus, dass SSH-Clients zu einer trivialen Authentifizierungsmethode gezwungen werden können – wie z. B. keyboard-interactive ohne Aufforderungen – was effektiv Zugriff ohne echte Authentifizierung gewährt. Dies umgeht den Hardware-Token-Schutz vollständig, da der Token nie herausgefordert wird. SSH-MITM kann dies gegen jeden Client simulieren, der es nicht explizit ablehnt:
ssh-mitm server --enable-trivial-auth
Die Arbeit von der Man-in-the-Middle-Position aus ermöglicht es, SSH-Client-Verhalten zu beobachten, das von keinem der beiden Endpunkte aus sichtbar ist. SSH-MITM wurde verwendet, um 7 bisher unbekannte Schwachstellen in weit verbreiteter SSH-Software zu entdecken:
Neueste: CVE-2026-60000 – Die GSSAPI-Authentifizierung von OpenSSH verstieß in einer Weise gegen RFC 4462, die es einem Angreifer ermöglichte,
MaxAuthTriesvollständig zu umgehen, was einen Denial-of-Service vor der Authentifizierung verursachte. Dieselbe Grundursache erzeugte auch ein Orakel für die Gültigkeit von Benutzernamen und einen Absturz eines privilegierten Prozesses, alles behoben in OpenSSH 10.4.
Vortrag auf der DeepSec 2021 – vollständige Erklärung des Angriffs:
Klicken Sie, um auf vimeo.com anzusehen
Nicht jedes Ergebnis dieser Forschung ist eine Schwachstelle – siehe Upstream-Beiträge für Härtungs-Fixes, die direkt zu OpenSSH beigetragen wurden.
Mitwirken
Beiträge sind willkommen! Bitte lesen Sie CONTRIBUTING.md für Details zum Entwicklungssetup, Code-Stil und wie Sie einen Pull-Request einreichen.
Kontakt
- E-Mail: [email protected]
- Issue-Tracker

