
Impacket 기반의 간단한 파이썬 도구로, 서버에서 다양한 알려진 NTLM 취약점을 테스트합니다.
네트워크의 DC를 스캔하여 CVE-2020-1472의 실제 익스플로잇을 탐지합니다.
예시:
python scan.py -vuln CVE-2020-1472 -target-file targets.txt
python scan.py -vuln CVE-2020-1472 -target <DC name/IP>
이 도구는 매분마다 DC에 대해 빈 암호를 시도하는 방식으로 작동합니다. 익스플로잇은 암호를 빈 값으로 설정해야 하므로, 매우 빠르게 되돌리지 않는 한 익스플로잇 중에 실행 중이라면 익스플로잇 시도를 탐지할 수 있습니다.
SMB를 통해 다양한 NTLM 취약점을 확인합니다. 스크립트는 대상 호스트에 연결을 설정하고 잘못된 NTLM 인증을 보냅니다. 이것이 수락되면 해당 호스트는 적용된 NTLM 취약점에 취약한 상태이며 관련 NTLM 공격을 실행할 수 있습니다. 자세한 내용은 다음을 참조하세요:
참고: 대부분의 스캔은 로그인 정보 자체가 유효하므로 실패한 로그인 시도를 생성하지 않습니다. CVE-2019-1338은 인증 실패를 생성하며 계정 잠금을 유발할 수 있습니다.
소프트웨어는 다음을 기반으로 합니다:
스크립트는 최신 impacket 버전이 필요합니다. Python 2와 3 모두에서 작동해야 합니다 (Python 3는 git의 impacket을 사용해야 함).
[*] NTLM vulnerabilities scanner by @YaronZi / Preempt - Based on impacket by SecureAuth
usage: scan.py [-h] [-target TARGET] [-target-file file]
[-port [destination port]] [-vuln [scanned vulnerability]]
[-hashes LMHASH:NTHASH]
NTLM scanner - Connects over SMB and attempts to authenticate with invalid
NTLM packets. If accepted, target is vulnerable to the scanned vulnerability
optional arguments:
-h, --help show this help message and exit
-target TARGET [[domain/]username[:password]@]<targetName or address>
connection:
-target-file file Use the targets in the specified file instead of the
one on the command line (you must still specify
something as target name)
-port [destination port]
Destination port to connect to SMB Server
-vuln [scanned vulnerability]
The vulnerability to scan SMB Server on [CVE-2019-1019
|CVE-2019-1040|CVE-2019-1166|CVE-2019-1338|CVE-2020-14
72]
authentication:
-hashes LMHASH:NTHASH
NTLM hashes, format is LMHASH:NTHASH