
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 baut SSH-Verbindungen zu einem Server auf und durchläuft verschiedene Client-Konfigurationen, um zu prüfen, ob der Server einen Diffie-Hellman-(DH-)Schlüsselaustausch unter Verwendung einer schwachen Gruppe erlaubt. Unser Ziel ist es, dass unser Tool dabei hilft, SSH-Server auf schwache DH-Schlüsselaustausch-Einstellungen zu bewerten.
Bitte beachten Sie, dass dieses Tool nur eine begrenzte Anzahl von Konfigurationen testet, wodurch einige schwache Konfigurationen unentdeckt bleiben können. Darüber hinaus kann der Server Verbindungen blockieren, bevor der Scan abgeschlossen ist.
Konsultieren Sie die Logjam-Infoseite für Empfehlungen, wie SSH-Server konfiguriert werden können, um sie sowie ihre Clients vor Angriffen zu schützen, die DH-Schlüsselaustausche mit einer schwachen Gruppe ausnutzen.
Den ursprünglichen Blogbeitrag finden Sie unter https://www.levelblue.com/blogs/spiderlabs-blog/ssh-weak-diffie-hellman-group-identification-tool/.
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 Port des SSH-Servers (Standard ist 22).Die Scan-Ergebnisse werden auf stdout ausgegeben. Detaillierte 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
zuvor genannten Unterordner gespeicherten Scan-Ergebnisse zu analysieren.
Das Analyse-Skript ist ein eigenständiges Tool, das wie folgt ausgeführt werden kann:
# Get a container shell:
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
# Run the analysis script on logged scan results:
./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