
약한 Diffie-Hellman 키 교환 그룹을 감사하기 위해 여러 클라이언트 구성을 테스트하여 SSH 서버를 감사하고, 상세 스캔 분석을 통해 Logjam 취약 엔드포인트를 식별합니다.
이 도구는 SSH 연결을 생성하고 다양한 클라이언트 구성을 시도하여 서버가 약한 그룹을 사용하는 Diffie-Hellman(DH) 키 교환을 허용하는지 확인합니다. 이 도구는 SSH 서버에서 약한 DH 키 교환 설정을 평가하는 데 도움을 주기 위해 설계되었습니다.
이 도구는 제한된 구성 집합만 테스트하므로 일부 약한 구성이 감지되지 않을 수 있습니다. 또한 스캔이 완료되기 전에 서버가 연결을 차단할 수도 있습니다.
SSH 서버와 클라이언트를 약한 그룹을 이용한 DH 키 교환 공격으로부터 보호하는 방법에 대한 제안은 Logjam 정보 페이지를 참조하세요.
원본 블로그 게시물은 다음을 방문하세요: 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 .
다음 명령 중 하나를 실행합니다:
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: SSH 서버의 호스트명 또는 IP 주소.port: 선택적 SSH 서버 포트 (기본값은 22).스캔 결과는 stdout으로 출력됩니다. 자세한 결과는 ./logs/ 디렉터리 아래에 host-port라는 하위 폴더에 저장됩니다.
스캔 도구는 ssh-weak-dh-analyze.py 스크립트를 호출하여 위 하위 폴더에 저장된 스캔 결과를 분석합니다.
분석 스크립트는 다음과 같이 실행할 수 있는 독립형 도구입니다:
# 컨테이너 셸 얻기:
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
# 기록된 스캔 결과에 대해 분석 스크립트 실행:
./ssh-weak-dh-analyze.py /logs/scanme.example.com-22/
실행 중인 컨테이너 중지:
podman stop ssh-weak-dh
docker stop ssh-weak-dh
이 프로젝트는 GNU General Public License v2.0에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE를 참조하세요.
Copyright (C) 2015-2026 Fabian Foerg / Gotham Digital Science