Questo tutorial spiega quali sono le bandiere NMAP e cosa fanno con esempi di scenari reali.
NMAP è probabilmente la rete e lo strumento di sicurezza più importanti sul mercato. Tra le sue caratteristiche ci sono la scansione delle porte, la scansione della vulnerabilità, gli host Discovery, le capacità di footprint e ancora più funzionalità portate dal motore di scripting NMAP (NSE).
Dopo aver letto questo tutorial sarai in grado di diventare un utente NMAP avanzato, non solo utilizzando flag, ma anche imparando suggerimenti di sintassi e motore di scripting NMAP con ulteriori funzioni.
Tutti gli esempi mostrati in questo articolo includono schermate, rendendo facile per tutti gli utenti capire come applicarli.
La sintassi NMAP
Quando si esegue una scansione utilizzando NMAP, prima dobbiamo chiamare il programma, quindi dobbiamo introdurre flag (tipo di scansione) e infine i target da scansionare.
Un esempio di base di questo sarebbe una semplice scansione di porte che mirano a porte specifiche come mostrato di seguito, in cui la porta 80 dell'host Linuxhint.com è scansionato per imparare il suo stato.
NMAP -P 80 Linuxhint.com
IL -P (porta) flag o parametro mostrato nell'esempio sopra viene utilizzato per definire una o più porte. Puoi aggiungere più porte separandole usando virgole, questo verrà spiegato più avanti in questo articolo.
Comprensione dell'output NMAP: stati della porta
Prima di continuare con la spiegazione sulle bandiere NMAP, è importante per i lettori comprendere le uscite NMAP. Per quanto riguarda questo, ci sono 6 stati portisti che possono essere segnalati da NMAP:
Ora conosci la sintassi NMAP e l'output di base che significa che possiamo procedere ad apprendimento delle flag NMAP.
Flag NMAP per scansionare le porte
La funzione NMAP più utilizzata è la scansione delle porte. Per utilizzare NMAP correttamente, è necessario sapere come può essere implementato questo flag per adattarsi alle esigenze dell'utente.
Come mostrato nella prima sezione di questo tutorial (la sezione di sintassi), per specificare una porta devi solo digitare il -Flag (porte) seguito dalla porta che si desidera essere scansionata, come mostrato di seguito.
NMAP -P 443 Linuxhint.com
Nell'esempio sopra, NMAP è incaricato di controllare lo stato della porta 443 del Linuxhint.com host.
È inoltre possibile specificare più di una porta implementando una virgola. Nell'esempio seguente NMAP è incaricato di controllare le porte 80 (HTTP), 443 (HTTPS), 21 (FTP) e 22 (SSH).
NMAP -P 80.443,21,22 Linuxhint.com
Come puoi vedere, sono state analizzate tutte le porte specificate. Le porte 80 e 443 sono aperte mentre le porte 21 e 22 sono filtrate da un firewall.
Naturalmente, con NMAP è anche possibile definire obiettivi utilizzando indirizzi IP, sottoreti, ecc.
NMAP -P 23,80 162.0.232.43
È inoltre possibile specificare un intervallo di porte implementando un trattino come mostrato nell'esempio seguente, in cui sono scansionate tutte le porte dai 79 a 90.
Nota: Se l'intervallo è troppo grande, l'output può saltare le porte chiuse/filtrate e mostrare solo porte aperte.
NMAP -P 79-90 Linuxhint.com
È importante chiarire quando si utilizza il -P bandiera È inoltre possibile specificare il servizio con il suo nome, non solo con il numero di porta. Nell'esempio seguente, le porte HTTPS e SSH sono scansionate.
NMAP -P HTTP, SSH LinuxHint.com
Quando non si specificano le porte, per impostazione predefinita NMAP scansiona le porte più comunemente usate. Se si desidera scansionare un target e trovare solo porte aperte tra queste 1000 porte, è possibile utilizzare il -Bandiera aperta.
nmap --open Linuxhint.com
Come puoi vedere, le porte trovate NMAP 80.443, 8080 e 8443 sono aperte.
Flag NMAP per il rilevamento di sistemi operativi di sistema operativo e software
Un'altra importante funzionalità NMAP è la capacità di rilevare le versioni di sistema operativo e software del nostro target. NMAP è un ottimo strumento per l'impronta. Possiamo usare bandiere diverse e combinarle per risultati migliori.
La prima bandiera spiegata in questa sezione è il -O (OS) Flag utilizzato per rilevare il sistema operativo target.
Nota: Hai bisogno di privilegi di root per utilizzare il -O bandiera Per il rilevamento del sistema operativo. Usa il sudo prefisso.
sudo nmap -o donweb.com
I rapporti NMAP non erano ideali per rilevare il sistema operativo del target. Eppure è sicuro dell'86% che sta usando un sistema Linux con il kernel 2.6.18 o 2.6.22.
Per rilevare le versioni del servizio, è possibile utilizzare il -Flag SV (versione del servizio) come mostrato di seguito.
nmap -sv argexchanger.com
Nello screenshot sopra, NMAP ha rilevato PURO-FTPD per il servizio FTP, EXIM 4.94.2 e DOVECOT per il servizio di posta, ISC BIND 9.8.2RC1 per DNS e Litepeed come Web Server.
IL -Flag SV supporta diversi livelli di intensità, da 0 a 9, dove 0 è un'intensità della luce e 9 il più aggressivo. Il livello predefinito quando si utilizza il -Flag SV, Se non specificato, è 7.
Di seguito, puoi vedere un esempio di scansione con il livello di intensità inferiore. Come vedrai, nessuna versione viene rilevata.
NMAP -SV -Version -Intensità 0 LinuxHint.com
Ora puoi vedere l'output di a -Sv scansionare con la massima intensità rispetto allo stesso bersaglio.
Ora il risultato è diverso e mentre le versioni non sono state rilevate, conosciamo il motivo. Linuxhint.com è protetto da cloudflare. Con questo output abbiamo appreso possiamo ottenere le versioni utilizzando altri strumenti come Cloudfail o Shodan.
Flag NMAP per definire gli obiettivi
Altre flag di base NMAP e tecniche di sintassi sono utili per definire gli obiettivi da scansionare. Questa sezione mostra come gestirli.
Nota: Inoltre, alle bandiere, questa sezione copre anche alcune tecniche di sintassi.
Negli esempi precedenti abbiamo scansionato un solo obiettivo. Puoi anche scegliere come target molti dispositivi.
L'esempio seguente mostra come colpire un intervallo IP implementando un trattino. La scansione prenderà di mira tutti gli indirizzi IP tra 162.0.232.2 e 162.0.232.20. Naturalmente, lo screenshot non può includere tutti i risultati che vedo nella console.
NMAP 162.0.232.2-20
È possibile specificare gli intervalli in più di un ottetto. L'esempio seguente specifica gli intervalli negli ultimi ottetti implementando un trattino in entrambi.
NMAP 162.0.232-239.2-10
Se vuoi scansionare un intero ottetto, puoi anche usare un jolly (*). È inoltre possibile utilizzare i caratteri jolly in più di un ottetto e puoi combinare gamme IP con caratteri jolly come mostrato nell'esempio seguente.
NMAP 162.0.232-234.*
IL -bandiera IR Incorpora NMAP di trovare gli host in modo casuale, questo flag dipende da un argomento e istruzioni numeriche, richiede all'utente di definire quanti host o target NMAP dovrebbero generare.
Nell'esempio seguente, istruisco NMAP a generare 200 obiettivi casuali di scansionare la porta Netbios.
NMAP -P 139 -IR 200
È inoltre possibile utilizzare NMAP per caricare file contenenti tutti gli host o gli indirizzi IP che desideri. Gli host possono essere elencati con nuove righe come mostrato nello screenshot di seguito o separati da virgola, spazio o scheda.
Per applicare l'esempio seguente per creare un file contenente host e indirizzi IP, puoi aggiungerne molti come desideri. Nel mio caso, ho chiamato il file hostslist.
Il flag per caricare l'elenco host/IPS è -I l. Di seguito, puoi vedere un esempio utilizzando l'elenco creato nello screenshot sopra.
nmap -il hostslist
IL -escludere la bandiera è utile per escludere gli indirizzi IP o gli host dalle scansioni quando scansioniamo gamme IP o file di destinazione. Nel seguente esempio userò di nuovo la lista host per scansionare le porte SSH, FTP e SFTP ma istruisco NMAP di escludere LinuxHint.com dalla lista. Come vedi in contrasto con il risultato mostrato in -IL FLAG Esempio Linuxhint.com non è stato scansionato.
NMAP -P SSH, FTP, SFTP -il HostSlist -Exclude LinuxHint.com
Puoi anche usare il -escludere la bandiera Durante la scansione delle porte variano come mostrato nell'esempio seguente, in cui l'IP 162.0.233.34 è escluso, non scansionato.
NMAP -P SSH, FTP, SFTP 162.0.232-236.34 -Exclude 162.0.233.34
Altre bandiere NMAP comuni
Questa è l'ultima sezione di questo tutorial e spiega ulteriori bandiere non classificate.
-V: Il flag -v (verbosità) stamperà informazioni sul processo di scansione. Per impostazione predefinita, NMAP non mostra il processo, questo parametro istruirà NMAP a mostrare cosa sta succedendo durante la scansione.
-E: Questo flag ci consente di specificare un'interfaccia di rete (e.G. ETH0, WLAN0, enp2s0, ecc.), Utile se siamo collegati sia attraverso le nostre carte cablate che wireless. Nel mio caso la mia scheda wireless è WLP3S0, per istruire NMAP a utilizzare quell'interfaccia per scansionare le porte 22 e 80 su LinuxHint.
nmap -e wlp3s0 -p 22,80 Linuxhint.com
-F: IL -Flag (pacchetti di frammenti) viene anche utilizzato per cercare di mantenere il processo di scansione non rilevato frammentando i pacchetti rendendo più difficile per i firewall o gli ID rilevare la scansione. Questa opzione non è compatibile con tutte le funzionalità NMAP. È importante chiarire di utilizzare questa funzione è necessario privilegi di root, utilizzare il sudo prefisso.
Sudo NMAP -P 80, SSH, 21,23,25 -f Linuxhint.com
-Source -Port / -g: Flags -Source -Port e -G sono equivalenti e istruiscono NMAP di inviare pacchetti attraverso una porta specifica. Questa opzione viene utilizzata per cercare di imbrogliare i firewalls whitelisting traffico da porte specifiche. L'esempio seguente scansionerà il target dalla porta 20 alle porte 80, 22, 21,23 e 25 invio di pacchetti frammentati a Linuxhint.
Sudo NMAP -G 20 -P 80, SSH, 21,23,25 -f Linuxhint.com
-Pn: Il parametro -pn (nessun ping) scansionerà le porte della rete o fornirà l'intervallo senza verificare se il dispositivo è online, non ping e non aspetterà le risposte. Tuttavia, è utile per la scoperta dell'ospite.
NMAP -PN 234.31.1.1-23
Introduzione al motore di scripting NMAP (NSE):
Il motore di scripting NMAP (NSE) è una delle funzionalità NMAP più utili per le attività automatizzate. Contiene anche incredibili script per trovare vulnerabilità sugli obiettivi. Gli utenti possono scrivere i propri script o utilizzare un database con gli script esistenti.
La sintassi per utilizzare NSE è la seguente:
NMAP -Scriptt --