
Auditiert SSH-Server auf schwache Diffie-Hellman-Schlüsselaustauschgruppen, indem mehrere Client-Konfigurationen getestet werden, und identifiziert Logjam-gefährdete Endpunkte mit detaillierter Scan-Analyse.
Dieses Tool stellt SSH-Verbindungen zu einem Server her und durchläuft verschiedene Client-Konfigurationen, um zu prüfen, ob der Server einen Diffie-Hellman (DH)-Schlüsselaustausch mit einer schwachen Gruppe erlaubt. Unser Ziel ist es, mit diesem Tool SSH-Server auf schwache DH-Schlüsselaustausch-Einstellungen zu überprüfen.
Bitte beachten Sie, dass dieses Tool eine begrenzte Anzahl von Konfigurationen testet, was dazu führen kann, dass einige schwache Konfigurationen unentdeckt bleiben. Außerdem kann der Server Verbindungen blockieren, bevor der Scan abgeschlossen ist.
Konsultieren Sie die Logjam-Informationsseite für Vorschläge zur Konfiguration von SSH-Servern, um sowohl sie als auch ihre Clients vor Angriffen zu schützen, die DH-Schlüsselaustausche mit einer schwachen Gruppe ausnutzen.
Den ursprünglichen Blogbeitrag finden Sie unter https://blog.gdssecurity.com/labs/2015/8/3/ssh-weak-diffie-hellman-group-identification-tool.html.
podman build -t ssh-weak-dh .
docker build --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t ssh-weak-dh .
Führen Sie einen der folgenden Befehle aus:
podman run --userns=keep-id:uid=65532,gid=65532 --name ssh-weak-dh --rm -v "$(pwd)/logs/":/logs/ ssh-weak-dh host [port]
docker run --name ssh-weak-dh --rm -v "$(pwd)/logs/":/logs/ ssh-weak-dh host [port]
host: Hostname oder IP-Adresse des SSH-Servers.port: Optionaler SSH-Server-Port (Standard ist 22).Die Scan-Ergebnisse werden auf stdout ausgegeben. Detailierte Ergebnisse werden im Verzeichnis ./logs/ in einem Unterordner namens host-port gespeichert.
Das Scan-Tool ruft das Skript ssh-weak-dh-analyze.py auf, um die im genannten Unterordner gespeicherten Scan-Ergebnisse zu analysieren.
Das Analysescript ist ein eigenständiges Tool, das wie folgt ausgeführt werden kann:
# Eine Container-Shell öffnen:
podman run --userns=keep-id:uid=65532,gid=65532 --name ssh-weak-dh --rm -v "$(pwd)/logs/":/logs/ -it --entrypoint bash ssh-weak-dh
docker run --name ssh-weak-dh --rm -v "$(pwd)/logs/":/logs/ -it --entrypoint bash ssh-weak-dh
# Das Analysescript auf den protokollierten Scan-Ergebnissen ausführen:
./ssh-weak-dh-analyze.py /logs/scanme.example.com-22/
Stoppen Sie einen laufenden Container:
podman stop ssh-weak-dh
docker stop ssh-weak-dh
Dieses Projekt ist unter der GNU General Public License v2.0 lizenziert. Siehe LICENSE für Details.
Copyright (C) 2015-2026 Fabian Foerg / Gotham Digital Science