
이 개념 증명 스크립트는 예상치 못한 `SSH_MSG_NEWKEYS` 패킷을 전송하여 7.4 이전 버전의 OpenSSH(CVE-2016-10708)의 취약점을 악용합니다.
이 개념 증명 스크립트는 OpenSSH 7.4 이전 버전(CVE-2016-10708)의 취약점을 악용하여 예상치 못한 SSH_MSG_NEWKEYS 패킷을 전송함으로써 DoS를 유발할 수 있습니다. 다음 두 가지 모드로 작동합니다:
NEWKEYS 메시지로 서버를 플러딩하여 서비스 거부 상태를 유발합니다.이 도구는 연구 및 교육 목적으로만 제공됩니다. 소유하지 않았거나 명시적 테스트 허가를 받지 않은 시스템을 무단으로 스캔하거나 공격하는 행위는 해당 법률 및 규정을 위반할 수 있습니다.
이 스크립트를 책임감 있게 사용하십시오:
-t, --targets
대상 IP 또는 호스트 이름의 쉼표로 구분된 목록 (필수)
-p, --port
연결할 SSH 포트 (기본값: 22)
-m, --mode
작동 모드: scan 또는 attack (필수)
--sockets
대상당 열 TCP 연결 수 (기본값: 5)
--threads
최대 동시 작업자 스레드 수 (기본값: 10)
-v, --verbose
디버그 수준 로깅 출력 활성화
배너 교환 scan 모드에서 스크립트는 각 대상에 연결하고 SSH 배너를 읽어 OpenSSH 버전을 추출합니다.
연결 설정
attack 모드에서는 대상당 지정된 수의 TCP 소켓을 열고 즉시 가짜 클라이언트 배너(SSH-2.0-OpenSSH_8.9)를 보낸 다음 연결을 유지합니다.
패킷 제작
SSH_MSG_NEWKEYS 페이로드만 포함하는 원시 SSH 전송 패킷을 구성합니다. 패킷 길이, 패딩 길이 및 무작위 패딩은 SSH 바이너리 패킷 프로토콜을 준수하도록 계산됩니다.
플러드 루프
스크립트는 무한 루프에 진입하여 모든 소켓에 무작위 1밀리초 미만의 지연을 두고 조작된 NEWKEYS 패킷을 전송합니다. 패치되지 않은 sshd 인스턴스는 순서가 잘못된 NEWKEYS 메시지를 잘못 처리하여 결국 충돌하거나 불안정해집니다.