
Active Directoryドメインコントローラをスキャンし、DNSに対して全DCをクエリしてPAC構造の0x10タイプを分析することでCVE-2021-42287およびCVE-2021-42278を検出し、LDAP/SAMR方式よりも検出精度を向上させます。
NoPacScanはCVE-2021-42287/CVE-2021-42278のスキャナーです。元のスクリプトよりも多くのドメインコントローラーをスキャンでき、より正確です。DNS検索_msdcs.aaa.comを使用してDCをスキャンします。これはLDAPやSAMRよりも優れており、見つけたすべてのDCを自動的にスキャンします。LDAPやSAMRを使用すると、プライマリDCから削除された一部のDCを見逃す可能性があります。より正確にするために、この脆弱性に対するマイクロソフトの主要なパッチであるタイプ0x10のPACをスキャンします。
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。
