一个 CVE-2021-34527(又名 PrintNightmare)Python 扫描器。允许你扫描整个子网中的 PrintNightmare RCE(不是 LPE)并生成包含结果的 CSV 报告。通过 MS-PAR 和 MS-RPRN 测试可利用性。
该工具包含“去毒版”的 Python 漏洞利用代码,它实际上并不利用主机,而是使用与漏洞利用相同的易受攻击的 RPC 调用来判断主机是否易受攻击。
2021年7月7日更新:该工具还会使用 @gentilkiwi 发现的 UNC 绕过 检查主机是否易受攻击。
观点:试图确定某物是否对 PrintNightmare 易受攻击:

在撰写本文时,决定一台机器是否易受攻击 的变量数量多得令人抓狂且令人困惑。
此工具当前需要 cube0x0 的 Impacket 分支,其中包含一项检查所需的 MS-PAR 实现。此更改已通过 此 Pull Request 提交给 Impacket。
你需要从 git 安装 Impacket,因为它包含一项检查所需的 MS-PAR 实现。(下面的两种安装方法会自动为你执行此操作)
Docker:
git clone https://github.com/byt3bl33d3r/ItWasAllADream
cd ItWasAllADream && docker build -t itwasalladream .
docker run -it itwasalladream -u user -p password -d domain 192.168.1.0/24
开发安装需要 Poetry:
git clone https://github.com/byt3bl33d3r/ItWasAllADream
cd ItWasAllADream && poetry install && poetry shell
itwasalladream -u user -p password -d domain 192.168.1.0/24
usage: itwasalladream [-h] -u USERNAME [-p PASSWORD] -d DOMAIN [--timeout TIMEOUT] [--threads THREADS] [-v] [--csv-column CSV_COLUMN] target
PrintNightmare (CVE-2021-34527) scanner
positional arguments:
target Target subnet in CIDR notation, CSV file or newline-delimited text file
optional arguments:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
username to authenticate as (default: None)
-p PASSWORD, --password PASSWORD
password to authenticate as. If not specified will prompt. (default: None)
-d DOMAIN, --domain DOMAIN
domain to authenticate as (default: None)
--timeout TIMEOUT Connection timeout in secods (default: 30)
--threads THREADS Max concurrent threads (default: 100)
-v, --verbose Enable verbose output (default: False)
--csv-column CSV_COLUMN
If target argument is a CSV file, this argument specifies which column to parse (default: DNSHostName)
I used to read Word Up magazine!
由于漏洞利用需要你通过 Active Directory 进行身份验证,因此你需要提供凭据。如果未提供密码,则会提示你输入。
默认情况下,它将使用 100 个线程,你可以使用 -t 参数增加/减少线程数。
完成后,你将在当前目录中看到一个包含结果的 report_<timestamp>.csv 文件。