
Audita servidores SSH en busca de grupos débiles de intercambio de claves Diffie-Hellman probando múltiples configuraciones de cliente, identificando puntos finales vulnerables a Logjam con análisis de escaneo detallado.
Esta herramienta crea conexiones SSH a un servidor y recorre diferentes configuraciones de cliente para comprobar si el servidor permite un intercambio de claves Diffie-Hellman (DH) utilizando un grupo débil. Nuestro objetivo es que nuestra herramienta ayude a evaluar servidores SSH en busca de configuraciones débiles de intercambio de claves DH.
Tenga en cuenta que esta herramienta prueba un conjunto limitado de configuraciones, lo que podría dar lugar a que algunas configuraciones débiles pasen desapercibidas. Además, el servidor podría bloquear las conexiones antes de que finalice el escaneo.
Consulte la página de información sobre Logjam para obtener sugerencias sobre cómo configurar los servidores SSH para protegerlos a ellos y a sus clientes de ataques que exploten intercambios de claves DH utilizando un grupo débil.
Para la publicación original del blog, visite 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 .
Ejecute uno de los siguientes comandos:
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: Nombre de host o dirección IP del servidor SSH.port: Puerto opcional del servidor SSH (por defecto es 22).Los resultados del escaneo se imprimirán en la salida estándar. Los resultados detallados se guardan en el directorio ./logs/ en una subcarpeta llamada host-port.
La herramienta de escaneo llama al script ssh-weak-dh-analyze.py para analizar los resultados del escaneo almacenados en la subcarpeta mencionada.
El script de análisis es una herramienta independiente que se puede ejecutar de la siguiente manera:
# 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/
Detener un contenedor en ejecución:
podman stop ssh-weak-dh
docker stop ssh-weak-dh
Este proyecto está licenciado bajo la Licencia Pública General de GNU v2.0. Consulte LICENSE para obtener más detalles.
Copyright (C) 2015-2026 Fabian Foerg / Gotham Digital Science