
네트워크 내에서 SMB를 통해 대규모로 자격 증명이 유효한지, 유효하지 않은지, 또는 로컬 관리자 유효 자격 증명인지 식별하도록 설계된 멀티스레드 도구이며, 이제 사용자 헌터 기능도 포함합니다.
이 도구는 침투 테스터가 빠르고 효율적으로 작업을 수행할 수 있도록 설계되었습니다. 이 도구는 좀 더 은밀한 작업(아래에 몇 가지 추가 기능 포함)에도 사용할 수 있지만, 대규모 네트워크 규모에서 사용할 때 진가를 발휘합니다.
핵심적으로, 덤프한 자격 증명 목록(또는 해시, pass-the-hash 가능)과 도메인의 시스템 목록(포트 445를 먼저 스캔하거나 "--scan"을 사용하는 것을 권장)을 제공하면, 덤프한 자격 증명이 도메인에서 유효한지, 호스트에 대한 로컬 관리자 액세스 권한이 있는지 알려줍니다. 사용자 헌팅 및 호스트 세부 정보 열거와 같은 추가 기능은 아래를 참조하세요.
Kali Linux에서 실행하도록 설계되었습니다.
.d8888b. 888 888b 888 d8b d8b
d88P Y88b 888 8888b 888 Y8P Y8P
888 888 888 88888b 888
888 888d888 .d88b. .d88888 888Y88b 888 888 88888b. 8888 8888b.
888 888P" d8P Y8b d88" 888 888 Y88b888 888 888 "88b "888 "88b
888 888 888 88888888 888 888 888 Y88888 888 888 888 888 .d888888
Y88b d88P 888 Y8b. Y88b 888 888 Y8888 888 888 888 888 888 888
"Y8888P" 888 "Y8888 "Y88888 888 Y888 888 888 888 888 "Y888888
888
d88P
888P"
v2.3 (Built 1/26/2018) - Chris King (@raikiasec)
도움말: ./CredNinja.py -h
사용법: CredNinja.py -a 테스트할_계정.txt -s 테스트할_시스템.txt [-t 스레드] [--ntlm] [--valid] [--invalid] [-o 출력파일] [-p 암호구분자] [--delay 초 %지터] [--timeout 타임아웃] [--stripe] [--scan] [--scan-timeout 스캔_타임아웃] [-h] [--no-color] [--os] [--domain] [--users] [--users-time 사용자_시간]
여러 서버에서 여러 사용자 자격 증명의 유효성을 신속하게 확인하고, 각 서버에서 해당 사용자가 로컬 관리자 권한을 가지고 있는지 알려줍니다.
필수 인수: -a 테스트할_계정.txt, --accounts 테스트할_계정.txt 테스트할 사용자 자격 증명이 담긴 단어 또는 파일입니다. 사용자 이름은 "DOMAIN\USERNAME:PASSWORD" 형식으로 허용됩니다. -s 테스트할_시스템.txt, --servers 테스트할_시스템.txt 테스트할 서버가 담긴 단어 또는 파일입니다. 단일 시스템, 시스템 목록이 포함된 파일 이름, gnmap 파일 또는 cidr 표기법의 IP 주소일 수 있습니다. 각 자격 증명은 SMB를 통해 C$를 브라우징하여 각 서버에 대해 테스트됩니다.
선택적 인수: -t 스레드, --threads 스레드 사용할 스레드 수입니다. 기본값은 10입니다. --ntlm 암호를 NTLM 해시로 처리하고 pass-the-hash를 시도합니다! --valid 유효한/로컬 관리자 자격 증명만 출력합니다. --invalid 유효하지 않은 자격 증명만 출력합니다. -o 출력파일, --output 출력파일 결과를 파일로 출력합니다. -p 암호구분자, --passdelimiter 암호구분자 계정 사용자 이름과 암호 사이의 구분자를 변경합니다. 기본값은 ":"입니다. --delay 초 %지터 스레드별로 각 요청을 지정된 초만큼 지연시키고 지터를 추가합니다 (예: --delay 20 10, 20초 지연에 10% 지터). --timeout 타임아웃 데이터를 기다리는 최대 시간(초)입니다. 기본값은 15초입니다. --stripe 한 호스트에 여러 로그인 시도를 스팸하지 않고 하나의 자격 증명만 하나의 호스트에서 테스트합니다(자격 증명의 유효성을 확인하는 데 사용). 제공된 호스트 파일에서 호스트를 무작위로 선택합니다. --scan 호스트를 큐에 추가하기 전에 포트 445가 사용 가능한지 빠르게 확인합니다. --scan-timeout 스캔_타임아웃 --scan 인수로 지정된 스캔의 타임아웃을 설정합니다. 기본값은 2초입니다. -h, --help 이 스크립트 사용법에 대한 도움말을 표시합니다. --no-color 출력 색상을 끕니다. 기록된 파일은 항상 무색입니다.
추가 정보 검색: --os 가능한 경우 시스템의 OS를 표시합니다(추가 요청이 전송되지 않음). --domain 가능한 경우 시스템의 기본 도메인을 표시합니다(추가 요청이 전송되지 않음). --users 지난 6개월 동안 시스템에 로그인한 사용자를 나열합니다(로컬 관리자 권한 필요). 사용자 이름과 해당 홈 디렉터리가 변경된 이후의 일수를 반환합니다. 각 호스트에 하나의 추가 요청을 보냅니다. --users-time 사용자_시간 --users를 수정하여 지난 지정된 일수 이내에 로그인한 사용자를 검색합니다(기본값 100일).
변경 로그:
v2.3 - 몇 가지 추가 기능으로 업데이트됨
* gnmap 파일 파싱 추가. --systems (-s) 인수에 제공된 파일은 이제 gnmap 파일(.gnmap으로 끝남)일 수 있습니다.
* cidr 표기법 파싱 추가. --systems (-s) 인수에 제공된 IP 주소는 이제 cidr 표기법일 수 있으며, 범위를 적절히 확장하여 IP 공간 내의 모든 시스템을 테스트합니다(시스템을 미리 스캔하려면 --scan을 제공해야 합니다).
* --scan을 멀티스레드로 만들어 훨씬 빠르게 실행됩니다.
v2.0 - 이전 CredSwissArmy에서 CredNinja의 초기 릴리스:
* 이전 CredSwissArmy와 동일한 기능(자격 증명 및 호스트 목록을 사용하여 네트워크를 통해 SMB로 로컬 관리자 액세스 검색)
* 완전 멀티스레드! 이전 CredSwissArmy보다 8배 빠릅니다!
* 오류 및 복잡한 암호를 훨씬 잘 처리합니다.
* "--ntlm" 옵션으로 여전히 pass-the-hash 가능
* 여전히 이전과 동일한 인수를 가지고 있습니다.
* "--timeout" 추가 - 원할 경우 스캔을 더 빨리 완료할 수 있습니다.
* "--scan" 추가 - 자격 증명을 시도하기 전에 호스트의 포트 445가 연결 가능한지 빠르게 스캔합니다.
* "--stripe" 추가 - 각 자격 증명을 무작위 시스템에서 한 번씩 테스트합니다(한 시스템의 이벤트 로그에서 의심스럽게 보이지 않도록 자격 증명을 확인하는 데 사용).
* "--delay" 추가 - 더 은밀하게 호스트 스캔 사이에 지연을 지정할 수 있습니다. "--delay 10 20"은 20% 지터로 10초 지연(즉, 8~10초 사이)을 의미합니다.
* 색상 출력 추가 - 성공 시 더 명확하게 표시됩니다!
이제 멋진 추가 기능
* "--os" 추가 - 지문 인식이 가능한 각 시스템의 운영 체제를 표시합니다(대상 호스트에 추가 패킷이 전송되지 않음).
* "--domain" 추가 - 시스템이 속한 기본 도메인을 표시합니다(대상 호스트에 추가 패킷이 전송되지 않음).
* "--users" 추가 - X일 이내에 홈 디렉터리가 수정된 사용자 목록을 표시합니다(X는 "--users-days"로 수정 가능, 기본값 100). 기본적으로 사용자가 로그인했거나 로그인한 위치를 보여주는 SMB 사용자 헌터입니다(각 대상 호스트에 1개의 추가 패킷이 전송됨).
* 곧 출시 예정: 시스템에서 실행 중인 잠재적 안티바이러스를 알려주는 안티바이러스 탐지기