
CVE-2016-6210에 따라 사용자 이름을 열거하기 위해 작성된 맞춤형 익스플로잇
CVE-2016-6210 (OpenSSH 7.2-p2 및 이전)에 따라 사용자 이름을 열거하기 위해 작성된 맞춤형 익스플로잇 (python 2.7)
승인된 시스템에서만 사용해야 함
이 프로그램은 OpenSSH(버전 7.3 이전)의 취약점인 CVE-2016-6210을 익스플로잇하기 위한 도구로 작성되었습니다. Eddie Harari가 공개
제가 이해한 바에 따르면, 문제는 이 버전들에서 OpenSSH가 작동하는 방식으로 인해 대용량 비밀번호(이 경우 25kb)가 주어지면 해싱 처리 시간이 유효한 사용자에 대해 더 길어지므로 사용자 이름이 존재하는지 여부를 알 수 있다는 것입니다.
이 프로그램은 사용자가 (워드리스트에서) 여러 사용자 이름을 보내고 처리하는 데 걸린 시간을 계산할 수 있게 함으로써 이 취약점을 익스플로잇하는 데 도움을 줍니다. 사용자는 자신에게 맞는 시간에 대한 알림을 설정할 수 있으며, 처리 시간이 이를 초과하면 시간과 사용자 이름이 표시됩니다.
사용자는 또한 IP나 이메일을 추가하여 목록의 항목을 끝에 이메일 부가 없이 또는 부가하여 모두 테스트할 수 있습니다. 기본적으로 (부가 항목이 제공되지 않은 경우) 프로그램은 워드리스트의 각 단어를 word 및 word@IP 형태로 테스트합니다. 부가 항목이 제공되면 동일하게 수행하지만 _word@IP_를 _word@appendage_로 대체합니다.
각 단어가 전송되고 응답이 측정되는 횟수를 사용자 지정할 수 있으며, 프로그램은 신뢰성을 위해 개별 시간 대신 사용할 평균 처리 시간을 자동으로 생성합니다.
지연 시간도 제공할 수 있어 프로그램이 너무 빨리 너무 많은 지연을 보내는 것을 방지합니다.
SSH 요청 코드 자체에 관해서는 cveCode.py의 대부분의 코드에 대해 Eddie Harari에게 공을 돌립니다: Harari의 코드 수정 버전이 전송 및 타이밍 계산에 사용됩니다. 그의 권고 및 샘플 코드는 여기에서 찾을 수 있습니다.
참고: 제 코드는 OpenSSH-7.2p2(클라이언트는 kali linux)에서만 블랙박스 테스트되었으며 추가 테스트가 필요합니다. 결과와 매개변수는 사용자가 제어하고 해석합니다.
python exploit_6210.py IP_ADDRESS [-h] [-a ALERT] [-w WORDLIST] [-e EMAIL] [-av ITERATE_AMOUNT] [-d DELAY]
설명:
IP_ADDRESS 프로그램을 테스트하는 호스트입니다.
-a ALERT (선택 사항, 기본값 0.1) 처리 시간이 더 큰 경우 알림을 받을 시간(초)입니다.
-w WORDLIST (선택 사항, 기본값 usernamelist) 호스트에 대해 테스트할 사용자 이름 목록의 파일 경로입니다.
-e EMAIL (선택 사항) 워드리스트의 각 요소 끝에 추가할 IP 또는 이메일(형식: @IP_ADDRESS 또는 @email.com)입니다. (항목 자체와 항목+이메일이 모두 시도됩니다.)
-av ITERATE_AMOUNT (선택 사항, 기본값 1) 각 사용자 이름에 대해 SSH 서버를 쿼리하는 횟수입니다. 이를 통해 더 신뢰할 수 있는 평균 타이밍을 사용할 수 있습니다. (숫자가 높을수록 시간이 훨씬 오래 걸립니다.)
-d DELAY (선택 사항, 기본값 0.5) 각 요청 사이의 대략적인 지연 시간(초)입니다. (숫자가 높을수록 시간이 크게 오래 걸립니다.)