Ultima modifica:
Introduzione
Nmap è un tool per il port scanning, host discovering e network mapping scritto principalmente in LUA, C e C++ riesce ad individuare quali porte siano aperte/chiuse/filtrate, è cross-platform, disponibile per Windows(GUI-CLI) , Linux (CLI) e Mac OS (GUI-CLI).
Creazione del laboratorio
Per prima cosa creiamo il laboratorio, se non avete installato Nmap andate nella shell e scrivete:
Su Kali e Parrot SEC è preinstallato. ci servirà la VM di Metasploitable. Mapperemo quest'ultima.
Scansione su porta specifica e non
Nel caso volessimo sapere se solo una determinata porta (es. la 80 HTTP) sia aperta/chiusa/filtrata ci sono due possibili metodi:
Inserire il prefisso
Se volessimo mappare tutte le porte dobbiamo mettere il parametro
Nmap prende in considerazione di default le prime 1000 porte (well know ports), quindi se vogliamo scansionare una porta oltre a quella soglia dobbiamo mettere il parametro
Stealth scan SYN
Nmap offre la possibilita di effetuare una scansione "Stealth" , per esempio può effettuare una scansione SYN senza però stabilire una connessione.
ma prima vediamo cos'è il "3-way TCP handshake" :
Mettiamo caso che il computer di Alice si debba collegare con quello di Bob sfruttando il protocollo TCP:
Per farlo andiamo nella shell e scriviamo:
Scansione UDP
Ora vediamo come scansionare porte UDP (User Datagram Protocol) , andiamo nella shell e digitiamo:
In output andranno le porte UDP con il proprio stato e servizio.
OS detection
Possiamo stabilire l'OS (Operating System) usato dal computer remoto con il parametro
Essendo che Metasploitable è una macchina Linux, Nmap di conseguenze ci ha restituito "Linux 2.6 X". Ma come funziona questa flag:
In pratica Nmap riesce a rilevare l'OS utilizzato dall'host attraverso il Fingerprint dello Stack TCP/IP e controlla ogni singolo bit preso in risposta,
Poi effettua test come "TCP ISN sampling", il "TCP option support and ordering", "IP ID Sampling" e altri. dopo di chè il Nmap mette a confronto il tutto con il proprio database: nmap -os -db.
Nmap è un tool per il port scanning, host discovering e network mapping scritto principalmente in LUA, C e C++ riesce ad individuare quali porte siano aperte/chiuse/filtrate, è cross-platform, disponibile per Windows(GUI-CLI) , Linux (CLI) e Mac OS (GUI-CLI).
Creazione del laboratorio
Per prima cosa creiamo il laboratorio, se non avete installato Nmap andate nella shell e scrivete:
Bash:
sudo apt install nmap -y #debian e derivate
sudo pacman -Sy nmap #arch e derivate
Scansione su porta specifica e non
Nel caso volessimo sapere se solo una determinata porta (es. la 80 HTTP) sia aperta/chiusa/filtrata ci sono due possibili metodi:
Inserire il prefisso
-p numero porta
oppure Inserire sempre il prefisso -p
ma con il nome della porta al posto del numero:
Bash:
nmap -p 80 192.168.1.218
nmap -p http 192.168.1.218
-p-
:
Bash:
nmap -p- 192.168.1.218
-p numero porta
:
Bash:
nmap -p 8080 192.168.1.218
Stealth scan SYN
Nmap offre la possibilita di effetuare una scansione "Stealth" , per esempio può effettuare una scansione SYN senza però stabilire una connessione.
ma prima vediamo cos'è il "3-way TCP handshake" :
Mettiamo caso che il computer di Alice si debba collegare con quello di Bob sfruttando il protocollo TCP:
- Alice invia un pacchetto SYN a Bob;
- Bob, dopo aver ricevuto il pacchetto SYN, invia un SYN-ACK;
- Alice a questo punto invia un pacchetto ACK;
Per farlo andiamo nella shell e scriviamo:
Bash:
nmap -sS 192.168.1.218
Scansione UDP
Ora vediamo come scansionare porte UDP (User Datagram Protocol) , andiamo nella shell e digitiamo:
Bash:
nmap -sU 192.168.1.218
OS detection
Possiamo stabilire l'OS (Operating System) usato dal computer remoto con il parametro
-O
seguito dall'IP
Bash:
nmap -O 192.168.1.218
In pratica Nmap riesce a rilevare l'OS utilizzato dall'host attraverso il Fingerprint dello Stack TCP/IP e controlla ogni singolo bit preso in risposta,
Poi effettua test come "TCP ISN sampling", il "TCP option support and ordering", "IP ID Sampling" e altri. dopo di chè il Nmap mette a confronto il tutto con il proprio database: nmap -os -db.