Ancora sul rilevamento Conficker di Nmap
by admin on Oct.14, 2010, under Hacking, Networking, Sicurezza, Tools
La maggior parte degli “hackers” ha da sempre usato Nmap per effettuare un più o meno sofisticato port scanning oppure un rilevamento di OS o di servizi.
La piuttosto recente introduzione (2007), del Nmap Scripting Engine (NSE) ha notevolmente ampliato le prospettive di utilizzo di Nmap.
Il networking engine ad alta velocità di Nmap può ora visitare, come fosse uno spyder, web sites alla ricerca di vulnerabilità di tipo SQL injection, o cui sia applicabile il brute-force cracking, ed interrogare servizi MSRPC, trovare open proxies, e molto altro ancora.
Nmap si sta cioè trasformando da semplice tool di network scanning (per quanto modello di riferimento nella categoria) in valido strumento nell’ambito dell’ assessment e del penetration testing.
Nmap include ora più di 150 scripts NSE (153, per la precisione, nel momento in cui vengono scritte queste parole)
Tra gli script NSE avevamo a suo tempo già accennato a quelli dedicati al rilevamento di infezioni da conficker.
Nell’arsenale degli script NSE ne esiste anche un altro, assimilabile per scopo a quelli già incontrati: lo script p2p-conficker.
Tale script verifica se un host è infetto da Conficker.C o superiore, sulla base della comunicazione peer to peer specifica di Conficker.
Quando Conficker.C o superiore infetta un sistema, apre quattro porte: due TCP e due UDP. Le porte sono casuali, ma relazionate alla settimana in corso e all’indirizzo IP dell’ host infetto. Determinando l’algoritmo, si può verificare se queste quattro porte siano aperte, e quindi sondarle per ottenere altri dati.
Una volta che siano state rilevate aperte le porte, può essere avviata infatti una comunicazione tramite il protocollo peer to peer di Conficker forgiando una richiesta personalizzata. Se viene ricevuta una risposta valida, sul target è in atto una infezione da Conficker.
Per default, questo scrpt va lanciato contro un sistema che abbia delle porte standard (per Windows) aperte (445, 139, 137).
Esempi di utilizzo
Esegue gli scripts contro host(s) che si presentano come piattaforme Windows
# nmap --script p2p-conficker,smb-os-discovery,smb-check-vulns --script-args=safe=1 -T4 -vv -p445 192.168.4.253
# nmap -sU -sS --script p2p-conficker,smb-os-discovery,smb-check-vulns --script-args=safe=1 -vv -T4 -p U:137,T:139,445 192.168.4.253
Esegue gli scripts contro tutti gli hosts attiivi di una sottorete
# nmap -p139,445 -vv --script p2p-conficker,smb-os-discovery,smb-check-vulns --script-args=checkconficker=1,safe=1 -T4 172.16.5.0/24
Possibili Output dello Script
Qui si tratta di una macchina sana (dei risultati vengono visualizzati solo nel caso in cui una extra verbosity (”-vv”) sia stata richiesta):
Host script results:
| p2p-conficker: Checking for Conficker.C or higher...
| | Check 1 (port 44329/tcp): CLEAN (Couldn't connect)
| | Check 2 (port 33824/tcp): CLEAN (Couldn't connect)
| | Check 3 (port 31380/udp): CLEAN (Failed to receive data)
| | Check 4 (port 52600/udp): CLEAN (Failed to receive data)
|_ |_ 0/4 checks: Host is CLEAN or ports are blocked
Qui si tratta invece di una macchina infetta (i risultati vengono sempre visualizzati):
Host script results:
| p2p-conficker: Checking for Conficker.C or higher...
| | Check 1 (port 18707/tcp): INFECTED (Received valid data)
| | Check 2 (port 65273/tcp): INFECTED (Received valid data)
| | Check 3 (port 11722/udp): INFECTED (Received valid data)
| | Check 4 (port 12690/udp): INFECTED (Received valid data)
|_ |_ 4/4 checks: Host is likely INFECTED

