
약한 Diffie-Hellman 키 교환 그룹을 감사하기 위해 여러 클라이언트 구성을 테스트하여 SSH 서버를 감사하고, 상세 스캔 분석을 통해 Logjam 취약 엔드포인트를 식별합니다.
이 도구는 서버에 SSH 연결을 생성하고 다양한 클라이언트 구성을 시도하여 서버가 약한 그룹을 사용한 Diffie-Hellman(DH) 키 교환을 허용하는지 확인합니다. 우리는 이 도구가 SSH 서버의 취약한 DH 키 교환 설정을 평가하는 데 도움이 되기를 목표로 합니다.
이 도구는 제한된 구성 집합만 테스트하므로 일부 취약한 구성이 탐지되지 않을 수 있다는 점을 유의하십시오. 또한 서버가 스캔이 완료되기 전에 연결을 차단할 수 있습니다.
약한 그룹을 사용한 DH 키 교환을 악용하는 공격으로부터 SSH 서버와 클라이언트를 보호하기 위한 구성 방법에 대한 제안은 Logjam 정보 페이지를 참조하십시오.
원본 블로그 게시물은 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 .
다음 명령 중 하나를 실행합니다:
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 스크립트를 호출하여 앞서 언급한 하위 폴더에 저장된 스캔 결과를 분석합니다.
분석 스크립트는 다음과 같이 실행할 수 있는 독립 실행형 도구입니다:
# 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/
실행 중인 컨테이너를 중지합니다:
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