Masscan è un tool che scansione porte TCP trasmettendo i pacchetti SYN in modo asincrono riproducendo risultati simili a nmap.
Nel complesso funziona più come scanrand, unicornscan e ZMap utilizzando però la trasmissione asincrona. Utilità flessibile che consente indirizzi e intervalli di porte arbitrari.
Questo tool dipende da libc6.
Installazione:
Installazione Debian:
sudo apt install masscan
Comandi:
root@kali:~# masscan --help
MASSCAN is a fast port scanner. The primary input parameters are the
IP addresses/ranges you want to scan, and the port numbers. An example
is the following, which scans the 10.x.x.x network for web servers:
masscan 10.0.0.0/8 -p80
The program auto-detects network interface/adapter settings. If this
fails, you'll have to set these manually. The following is an
example of all the parameters that are needed:
--adapter-ip 192.168.10.123
--adapter-mac 00-11-22-33-44-55
--router-mac 66-55-44-33-22-11
Parameters can be set either via the command-line or config-file. The
names are the same for both. Thus, the above adapter settings would
appear as follows in a configuration file:
adapter-ip = 192.168.10.123
adapter-mac = 00-11-22-33-44-55
router-mac = 66-55-44-33-22-11
All single-dash parameters have a spelled out double-dash equivalent,
so '-p80' is the same as '--ports 80' (or 'ports = 80' in config file).
To use the config file, type:
masscan -c <filename>
To generate a config-file from the current settings, use the --echo
option. This stops the program from actually running, and just echoes
the current configuration instead. This is a useful way to generate
your first config file, or see a list of parameters you didn't know
about. I suggest you try it now:
masscan -p1234 --echo
Esempio pratico:
Supponiamo di dover scansionare un range di indirizzi IP alla ricerca di porte aperte per identificare vulnerabilità.
Prima di tutto bisogna identificare il range di indirizzi IP da scansionare per esempio l'intera rete 192.168.0.0/24.
In seguito determiniamo le porte da scansionare ad esempio le porte comuni dei siti web (80, 443) e alle connessioni (22 per SSH).
Avviamo una scansione:
masscan 192.168.0.0/24 -p80,443,22
In questo modo stiamo scansionando l'intera rete 192.168.0.0/24 e di controllando le porte 80, 443 e 22 per individuare servizi aperti.
Vediamo un altro esempio dove noi dobbiamo identificare le porte aperte su tutti i dispositivi in ogni segmento di rete al fine di valutare la sicurezza complessiva e individuare eventuali vulnerabilità.
Inizialmente bisogna subito creare un file di configurazione, l'ho chiamato scan_config.conf, in cui si deve specificare i parametri di scansione desiderati per esempio il range di indirizzi IP per ciascun segmento di rete e le porte da scansionare.
adapter-ip = 192.168.1.10
adapter-mac = 00-11-22-33-44-55
router-mac = 66-55-44-33-22-11
range = 192.168.1.0/24
ports = 80,443,22
range = 192.168.2.0/24
ports = 3389,8080,445
range = 10.0.0.0/16
ports = 1433,23,21
Ora lanciamo una scansione del file con il tool:
masscan -c scan_config.conf
Dopo questo comando Masscan mostrerà i risultati per ogni segmento di rete e le porte specificate. In conclusione si può andare quindi ad analizzare il risultato valutando complessivamente la sicurezza della infrastuttura.
Possiamo dire che fra Nmap e Masscan ci siano punti di forza differenti in genere Masscan è conosciuto per la sua velocità e la capacità di effettuare scansioni su un ampio range di indirizzi IP in modo molto rapido insomma sono tutti e due molto validi.
Voi lo avete trovato utile o preferite usare il buon vecchio Nmap?