
Zeroscan è uno scanner di vulnerabilità per Domain Controller, che attualmente include controlli per Zerologon (CVE-2020-1472), MS-PAR/MS-RPRN e SMBv2 Signing.
Zeroscan è uno scanner di vulnerabilità per Domain Controller, che attualmente include controlli per Zerologon (CVE-2020-1472), MS-PAR/MS-RPRN e firma SMBv2.
CVE-2020-1472:
Utilizza uno script integrato per verificare la presenza di Zerologon (CVE-2020-1472), ma NON tenta di sfruttare il target; è semplicemente uno scanner di vulnerabilità. Codice preso in prestito da: https://github.com/SecuraBV/CVE-2020-1472
MS-PAR / MS-RPRN:
Utilizza un wrapper attorno a rpcdump di Impacket per verificare se i servizi di stampa MS-PAR e MS-RPRN sono accessibili da remoto. Questo controllo può aiutare a determinare se il target è vulnerabile a CVE-2021-1675.
Firma SMBv2:
Utilizza un wrapper attorno allo script Nmap Scripting Engine (NSE) 'smb2-security-mode', per identificare la configurazione della firma SMBv2 del target.
Installazione:
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
Menu:
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
Opzioni principali:
-t TARGET TARGET Singolo target usando netbiosname e ipaddress. Es. "dc01 192.168.1.10"
-iL TARGETSFILE File che contiene un target per riga usando netbiosname e ipaddress. Es. "dc01 192.168.1.10"
Opzioni secondarie:
--database DATABASE Percorso del file del database.
--drop-table Elimina la tabella del database.
-r, --rpc-message Attiva i messaggi di risposta RPC per CVE-2020-1472, utile per diagnosticare problemi di connettività.
-v, --verbose Attiva la verbosità, utile per il debug del codice.
-h, --help Mostra questo messaggio di aiuto ed esce.
Esempio di Output:
╔════════════════════════════════════════════════════════ 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
Database di Zeroscan
╔══════════╤═════════════════╤════════════════╤════════╤═════════╤══════════════════════════════════════════╗
║ 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 ║
╚══════════╧═════════════════╧════════════════╧════════╧═════════╧══════════════════════════════════════════╝
Demo - Multi-target:
