Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
opensshenum — CVE-2018-15473 기반의 OpenSSH 사용자 열거 도구로, 포트 스캔, 핑거프린팅, 병렬 실행을 지원하여 원격 SSH 서버에서 사용자 존재 여부를 확인합니다. | Kitploit
도구/GitHubGitHub/gbonacini/opensshenum
Port ScanningVulnerability AnalysisExploitationInformation GatheringNetwork SecurityPenetration Testing
GitHubgbonacini/opensshenum

opensshenum

CVE-2018-15473 기반의 OpenSSH 사용자 열거 도구로, 포트 스캔, 핑거프린팅, 병렬 실행을 지원하여 원격 SSH 서버에서 사용자 존재 여부를 확인합니다.

저장소 보기
3477년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

설명:

Opensshenum은 OpenSsh 사용자 열거 도구로, 임의의 사용자 이름 목록을 OpenSsh 서버에 대해 확인하여 해당 원격 머신에 실제로 존재하는 사용자를 알 수 있게 해줍니다. 이 프로그램은 2018년 7월에 수정된 버그를 악용하며, 적어도 2000년 11월에 출시된 OpenSSH 2.3.0부터 효과가 입증되었습니다.

저는 Tssh에서 시작하여 이 exploit을 작성했습니다. Tssh는 제가 RFC를 기반으로 C++11로 처음부터 작성한 SSH 2 클라이언트입니다.

자세한 정보는 여기에서 읽어보세요:

http://seclists.org/oss-sec/2018/q3/124

이 문제는 CVE-2018-15473으로 지정되었습니다.

면책 조항:

이 코드는 정보 및 교육 목적으로 게시되었습니다. 소유자의 허가 없이 시스템이나 서비스에 침입하는 것은 불법입니다. 이 저장소의 정보와 소프트웨어를 오용하면 범죄자에 대한 형사 고발이 제기될 수 있습니다. 이 Git 저장소에 포함된 자료와 관련된 모든 행위나 활동은 전적으로 귀하의 책임입니다. 저자는 이 웹사이트의 정보나 소프트웨어를 불법적으로 사용하여 법을 위반하는 개인에 대해 형사 고발이 제기되는 경우 책임을 지지 않습니다.

사전 요구 사항:

이 프로그램은 *nix 환경에서 사용하도록 설계되었으며 다양한 Linux 배포판과 OS X에서 테스트되었습니다:

  • Ubuntu 17.10;
  • OS X 10.11.6;

컴파일러로 다음 목록 중 하나를 사용합니다:

  • gcc version7.2.0 (Ubuntu 7.2.0-8ubuntu3.2);
  • Apple LLVM version 8.0.0 (clang-800.0.42.1)

그리고 ssh 서버로 다음 중 하나를 사용합니다:

  • OpenSSH_7.5p1

유일한 외부 종속성은 암호화 기능에 사용되는 OpenSSL 라이브러리입니다. 향후 버전에서는 OpenSSL의 대안을 도입할 수 있습니다. 이 프로그램은 OpenSSL 버전이 다음 이상인 환경에서 사용하도록 설계되었습니다:

  • OpenSSL 1.0.2h;

(즉, OS X에서는 업그레이드가 필수입니다.)

프로그램을 컴파일하려면 다음 도구/라이브러리가 필요합니다:

  • C++ 컴파일러 (C++11 지원);
  • automake/autoconf;
  • libtool;
  • OpenSSL 1.0.2h 이상 ("dev" 패키지);

설치:

  • configure 스크립트 실행: ./configure
  • 프로그램 컴파일: make
  • 프로그램 및 매뉴얼 페이지 설치: sudo make install

사용법:

파이프로 전달된 사용자 목록을 처리합니다. 예:

cat user.txt | ./opensshenum -i dummy_cert target_addr
xxx:NOK
gabriel:OK

여기서 user.txt는 각 줄에 하나씩 사용자 목록이 포함된 파일이고, dummy_cert는 OpenSsh의 ssh-keygen 명령으로 생성된 키입니다. (기본적으로 키 디렉토리는 ~/.ssh입니다.)

다음과 같이 프로그램을 사용하여 목록을 생성할 수도 있습니다:

printf "xxx\ngabriel" | ./src/opensshenum -i dummy_rsa localhost
xxx:NOK
gabriel:OK

이 릴리스에 포함된 매뉴얼 페이지를 참조하세요.

새로운 기능:

포트 스캐너:

SSH 포트 스캐너 기능 추가: 이제 opensshenum은 주소와 연결된 모든 포트를 스캔하여 22번 포트가 아닌 다른 포트에서 수신 중인 SSH 인스턴스를 찾아 검증된 포트에만 exploit을 수행할 수 있습니다. 이 기능은 독립적으로 사용할 수 있으며, 공격을 실행하지 않고 SSH와 관련된 포트 목록만 얻을 수 있습니다.

예:

opensshenum -s -n -t2 -m22221 -M22225 -r'.*OpenSSH' -idummy_rsa my_imaginary_website.com

는 포트 22221과 22225 사이(포함)의 포트를 스캔하고(-s), 스캔만 수행하며(-n), 타임아웃 2초(-t), hello 문자열에 OpenSSH가 포함될 것으로 예상하고(-r), idummy_rsa라는 공개 키를 사용하며(-i, 이러한 작업에만 사용할 키를 생성하는 것을 권장), 대상으로 my_imaginary_website.com을 사용합니다. 자세한 내용은 매뉴얼 페이지를 참조하세요.

병렬 실행:

GNU Parallel을 사용하는 알파 스크립트(parallenum.sh)가 포함되어 있습니다. 이는 스캔할 포트 범위를 하위 범위로 분할하여 각각 특정 프로세스에 할당함으로써 달성할 수 있는 스캔 시간 단축의 개념 증명입니다. 이는 분명히 많은 노이즈를 생성합니다. 노이즈를 줄이기 위해 -t 매개변수를 사용할 수 있습니다.

핑거프린팅:

핑거프린트 기능은 OS 유형(예: "hello" 문자열이 생략된 경우)과 서비스를 사용자/사용자 조합의 데이터베이스로 자동 식별하는 데 유용합니다. 데이터베이스는 디렉토리에 수집된 *.lst 파일로부터 생성됩니다. 각 *.lst 파일의 이름은 <os_name_or_service>.lst 형식입니다. 예:

ubuntu_17_10.lst aix.lst proprietary_ftp.lst

데이터베이스는 csv 파일이며 형식은 다음과 같습니다:

user_1;os_or_service_1; ... ;os_or_service_n ... user_m;os_or_service_1; ... ;os_or_service_n

데이터베이스는 ./utils 디렉토리에 있는 createdb 유틸리티를 사용하여 *.lst 파일에서 생성할 수 있습니다. *.lst 디렉토리를 지정합니다. 예:

cd utils make ./createdb ../lists/

핑거프린팅을 요청하려면 -F 옵션과 데이터베이스 파일을 사용합니다. 예:

cat test/scan.sample | opensshenum -p22 -idummy_rsa -Futils/opensshenum.db localhost

도구 다운로드