NoPacScan 是一个 CVE-2021-42287/CVE-2021-42278 扫描器,它能比原始脚本扫描到更多的域控制器,并且更加精确。它通过 DNS 查询 _msdcs.aaa.com 来扫描 DC,这比 LDAP 和 SAMR 更好,并且它会自动扫描我们找到的所有 DC。如果你使用 LDAP 或 SAMR,可能会漏掉一些已从主 DC 中移除的 DC。为了更加精确,它会扫描 PAC 中类型等于 0x10 的部分,这是微软针对此漏洞的主要补丁位置。
Nopac漏洞扫描器,相比其他扫描器能更加精确的扫描更多的DC,通过dns查询_msdcs.aaa.com来获取所有的域控制器(相比其他脚本的LDAP获取SAMR协议,通过dns查询能找到那些已经脱域但未在dns中注销的DC)。然后自动扫描所有获取到的DC。漏洞扫描的方式主要是通过获取到解密的PAC文件并查找其中是否有类型为0x10的结构体。(微软打补丁的主要位置)
Python3.5+impacket
usage: NopacScan.py [-h] [-debug] [-hashes LMHASH:NTHASH] [-dc-ip ip address] [-dns-ip dns ip address] [-dns-port dns port] credentials
positional arguments:
credentials domain/username[:password]
optional arguments:
-h, --help show this help message and exit
-debug Turn DEBUG output ON
authentication:
-hashes LMHASH:NTHASH
NTLM hashes, format is LMHASH:NTHASH
-dc-ip ip address IP Address of the domain controller.
-dns-ip dns ip address
Dns search Ip(default is DC-IP)
-dns-port dns port Dns search port (default is 53) scan with
python3 NopacScan.py windows.local/test:aaaa -dc-ip 172.16.178.9
通过 dc-ip 进行扫描(使用此 DC IP,它将通过 DNS 查询发现更多 DC,并自动扫描其他 DC),如果你有 DNS IP,可以通过 -dns-ip 添加。
通过dc-ip传入域控地址后,将默认通过DC的dns服务器来进行dns查询,并自动扫描所有查询到的DC。
