
Zeroscan es un escáner de vulnerabilidades para Controladores de Dominio, que actualmente incluye comprobaciones para Zerologon (CVE-2020-1472), MS-PAR/MS-RPRN y SMBv2 Signing.
Zeroscan es un escáner de vulnerabilidades para Controladores de Dominio, que actualmente incluye comprobaciones para Zerologon (CVE-2020-1472), MS-PAR/MS-RPRN y firma SMBv2.
CVE-2020-1472:
Utiliza un script incorporado para comprobar Zerologon (CVE-2020-1472), pero NO intenta explotar el objetivo, es simplemente un escáner de vulnerabilidades. Código base tomado de: https://github.com/SecuraBV/CVE-2020-1472
MS-PAR / MS-RPRN:
Utiliza un envoltorio alrededor de rpcdump de Impacket para comprobar si los servicios de impresión MS-PAR y MS-RPRN son accesibles remotamente. Esta comprobación puede ayudar a determinar si el objetivo es vulnerable a CVE-2021-1675.
SMBv2 Signing:
Utiliza un envoltorio alrededor del script del Nmap Scripting Engine (NSE) 'smb2-security-mode', para identificar la configuración de firma SMBv2 del objetivo.
Instalación:
git clone https://github.com/NickSanzotta/zeroscan.git
cd zeroscan/
virtualenv -p /usr/bin/python3.9 venv
source venv/bin/activate
python3 -m pip install -r requirements.txt
Menú:
Zeroscan
--------------------------------------------------
Usage:
python3 zeroscan.py -t dc01 192.168.1.10
python3 zeroscan.py -iL /path/to/targetfile.txt
python3 zeroscan.py -iL /path/to/targetfile.txt --database
python3 zeroscan.py -iL /path/to/targetfile.txt --drop-table
python3 zeroscan.py -iL /path/to/targetfile.txt -r
python3 zeroscan.py -iL /path/to/targetfile.txt -v
Primary options:
-t TARGET TARGET Single target using netbiosname and ipaddress. I.e "dc01 192.168.1.10"
-iL TARGETSFILE File that contains one target per line using netbiosname and ipaddress. I.e "dc01 192.168.1.10"
Secondary options:
--database DATABASE Filepath for database file.
--drop-table Drops database table.
-r, --rpc-message Turn on RPC response messages for CVE-2020-1472, helpful when troubleshooting connectivity issues.
-v, --verbose Turn on verbosity, helpful when debugging code.
-h, --help Show this help message and exit.
Salida de ejemplo:
╔════════════════════════════════════════════════════════ ZEROSCAN ═════════════════════════════════════════════════════════╗
╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
Impacket v0.9.23
./zeroscan.py -iL targets.txt
CVE-2020-1472
DC01 192.168.160.134 - AUTH-ATTEMPTS: 26
DC02 192.168.160.133 - AUTH-ATTEMPTS: 1
DC03 192.168.160.137 - AUTH-ATTEMPTS: 2000
Impacket v0.9.23
rpcdump.py @ipaddress
MS-PAR/MS-RPRN
DC01 192.168.160.134 - MS-PAR: False, MS-RPRN: False
DC02 192.168.160.133 - MS-PAR: False, MS-RPRN: False
DC03 192.168.160.137 - MS-PAR: True, MS-RPRN: True
Nmap 7.91
nmap -Pn --script smb2-security-mode -p 445 -iL ./outputfiles/targets.txt -oX ./outputfiles/xml/smb2-security-mode.xml
SMB2-SECURITY-MODE
192.168.160.134 - MESSAGE SIGNING ENABLED BUT NOT REQUIRED
192.168.160.137 - MESSAGE SIGNING ENABLED AND REQUIRED
Zeroscan Database
╔══════════╤═════════════════╤════════════════╤════════╤═════════╤══════════════════════════════════════════╗
║ Hostname │ IP Address │ CVE_2020_1472 │ MS_PAR │ MS_RPRN │ SMBv2_Signing ║
╟──────────┼─────────────────┼────────────────┼────────┼─────────┼──────────────────────────────────────────╢
║ DC01 │ 192.168.160.134 │ VULNERABLE │ False │ False │ Message signing enabled but not required ║
║ DC02 │ 192.168.160.133 │ NA │ False │ False │ NA ║
║ DC03 │ 192.168.160.137 │ NOT VULNERABLE │ True │ True │ Message signing enabled and required ║
╚══════════╧═════════════════╧════════════════╧════════╧═════════╧══════════════════════════════════════════╝
Demostración - Múltiples objetivos:
