Tutorial di base NMAP

Tutorial di base NMAP

“Questo tutorial spiega come funziona NMAP e come installarlo e usarlo dal terminale.

NMAP (Network Mapper) è probabilmente la scansione di rete più utilizzata, almeno tra gli utenti Linux."

NMAP consente l'esecuzione di eseguire le seguenti attività:

  • Scansione della porta
  • Scansione della gamma IP
  • Host Discovery
  • Scansione di sottorete
  • Diagnostica dei problemi di rete
  • Rilevamento della vulnerabilità
  • Sfruttamento della vulnerabilità

Questo tutorial copre la scansione delle porte, la scoperta dell'host e le gamme e le sottoreti IP di scansione. Alla fine, il lettore può continuare con i collegamenti incentrati su NMAP per il rilevamento e lo sfruttamento della vulnerabilità con NMAP NSE (motore di scripting NMAP).

Il contenuto è altamente ottimizzato per gli utenti senza precedenti esperienze con NMAP. Leggendo questo tutorial e applicando gli esempi pratici, il lettore acquisirà una conoscenza sufficiente di come funziona NMAP, il suo utilizzo e la comprensione dell'output per continuare con le letture di utilizzo avanzate raccomandate dopo questo contenuto.

Tutti i passaggi descritti di seguito contengono schermate, rendendo facile per ogni utente Linux seguirli indipendentemente dal livello di esperienza.

Indice:

  • Installazione di NMAP
  • Come funzionano i tipi di scansione di base NMAP
  • Scansione degli stati e delle porte NMAP
  • Definizione di obiettivi in ​​NMAP
  • Discovery host con NMAP

Installazione di NMAP (da fonti, repository Distri basati su Debian e Redhat)

Questa sezione spiega come installare NMAP su distribuzioni Linux basate su Debian come Ubuntu, distribuzioni Linux basate su Redhat come CentOS e da fonti per tutte le distribuzioni Linux.

Per installare NMAP sulle distribuzioni Linux basate su Debian, eseguire il seguente comando.

SUDO APT Installa NMAP

Per le distribuzioni basate su Redhat, eseguire il comando mostrato nello screenshot seguente.

sudo yum installa nmap

Per compilare NMAP dalle fonti, visitare https: // nmap.org/download.HTML#Source e scarica l'ultima versione NMAP stabile dal link situato nella sezione mostrata nello screenshot in basso (freccia).

Una volta scaricato, estrarre il catrame.file bze2 come mostrato di seguito.

Nota: Sostituire <7.93> con la versione NMAP scaricata.

TAR -XF NMAP -7.93.catrame.BZ2

Una volta estratto, spostati nella directory NMAP.

cd nmap-/

Eseguire lo script di configurazione.

./configura

Infine, termina la compilation eseguendo Fare E Installa l'installazione.

sudo make && make install

Come funzionano i tipi di scansione di base NMAP

Vengono eseguite scansioni NMAP regolari TCP E Syn scansioni. Quando il processo di scansione è TCP, Viene stabilita una connessione con il bersaglio. Con un Syn Scansione, la connessione viene annullata o abbandonata prima di essere stabilita.

La figura seguente mostra come sono stabilite le connessioni: in primo luogo, il computer (PC 1) cercando di stabilire la connessione invia un Syn Pacchetto che richiede il dispositivo di destinazione per la sincronizzazione. Se il dispositivo di destinazione (PC 2) è disponibile per stabilire la connessione, risponde con un altro pacchetto SYN che consente la sincronizzazione e con un Ack (Riconoscere) pacchetto che conferma la ricezione del primo Syn Pacchetto inviato dal computer che richiedeva la connessione, quindi il computer che richiedeva la connessione (PC 1) Ack pacchetto che conferma la ricezione di entrambi i Syn E Ack Pacchetti inviati dal dispositivo di destinazione (PC 2).

Quando viene stabilita una connessione, viene rilevata dai firewall e registrato; Ecco perché il Syn la scansione è stata implementata, il Syn o la scansione invisibile invia un Syn pacchetto e dopo aver ricevuto le risposte di destinazione invece di rispondere con un Ack pacchetto, invia un Primo (Ripristina) Pacchetto per annullare la connessione prima che fosse stabilito come mostrato nella seguente immagine:

In questo modo, la connessione non è registrata, ma è ancora necessario gestire i sistemi di rilevamento delle intrusioni con Syn capacità di rilevamento dei pacchetti. Per evitare il rilevamento, è possibile utilizzare tecniche di scansione invisibile.

Fasi di scansione NMAP

NMAP attraversa 11 fasi durante il processo di scansione a seconda delle bandiere passate; Alcuni di essi sono opzionali in base ai parametri specificati. Ad esempio, gli script pre e post-scan vengono eseguiti solo se l'utente implementa NSE per il rilevamento o lo sfruttamento della vulnerabilità.

Le 11 possibili fasi sono elencate di seguito:

  1. Script di pre-scansione: L'opzione "Pre-scanning" chiama gli script dal motore di scripting NMAP (NSE) per la fase di pre-scansione; Questa fase si svolge solo quando viene utilizzato l'NSE.
  2. Enumerazione target: In questa fase, NMAP elabora le informazioni sugli obiettivi da scansionare, come indirizzi IP, host, gamme IP, ecc.
  3. Host Discovery (Ping Scanning): NMAP apprende quali obiettivi sono online o sono raggiungibili.
  4. Risoluzione inversa-DNS: NMAP cerca nomi host per gli indirizzi IP.
  5. Scansione delle porte: NMAP scoprirà le porte e il loro stato: aperto, chiuso o filtrato.
  6. Rilevamento della versione: In questa fase, NMAP proverà a imparare la versione del software in esecuzione nelle porte aperte scoperte nella fase precedente, come quale versione di Apache o FTP.
  7. Rilevamento del sistema operativo: NMAP cerca di rilevare il sistema operativo del bersaglio.
  8. Traceroute: NMAP scoprirà il percorso di Target sulla rete o su tutte le rotte della rete.
  9. Scansione di script: Questa fase è facoltativa; In questa fase vengono eseguiti gli script NSE; Gli script NSE possono essere eseguiti prima della scansione, durante la scansione e dopo di essa, ma sono opzionali.
  10. Produzione: NMAP ci mostra informazioni sui dati raccolti.
  11. Script post-scanning: Fase opzionale se gli script sono stati definiti in esecuzione dopo la scansione.

Una semplice scansione NMAP senza una bandiera diversa da -v (Verbosità) mostrerà alcune delle fasi precedentemente elencate.

Nota: Quando non vengono specificate porte, per impostazione predefinita, NMAP scansiona le porte 1000 più utilizzate, compresi tutti i protocolli.

nmap -v linuxhint.com

Stati di porta e tipi di scansione delle porte con NMAP

Una delle principali funzionalità NMAP è la capacità di scansionare le porte che apprendono il loro stato, la versione software che ascolta dietro di loro e persino l'utilizzo delle porte come condizioni per scansioni IP enormi o multiple.

Durante la scansione per i servizi NMAP può segnalare fino a 6 stati o condizioni delle porte scansionate:

  • Aprire: La porta è aperta e un'applicazione sta ascoltando attraverso di essa.
  • Chiuso: La porta è chiusa e nessuna applicazione sta ascoltando.
  • Filtrato: Un firewall impedisce a NMAP di raggiungere il porto.
  • Non filtrato: La porta è accessibile, ma NMAP non è in grado di controllare il suo stato.
  • Aperto | filtrato: NMAP non è in grado di determinare se una porta è aperta o filtrata.
  • Chiuso | filtrato: NMAP non è in grado di determinare se una porta è chiusa o filtrata.

Come detto nella sezione precedente. Quando l'utente non specifica le porte, per impostazione predefinita, NMAP scansiona le 1000 porte più popolari e usate.

Il flag NMAP più elementare per specificare una porta è -P, seguito dal numero di porta o dal protocollo.

Nell'esempio pratico di seguito, la Porta 22 scansiona l'utente sul target Linuxhint.com.

NMAP -P 22 Linuxhint.com

Come puoi vedere nello screenshot sopra, porta 22 è filtrato da un firewall.

Invece del numero di porta, l'utente può anche definire il nome del protocollo. Di seguito l'utente esegue la stessa scansione ma specifica il nome del protocollo ssh invece del numero di porta 22.

nmap -p ssh linuxhint.com

Ci sono bandiere e caratteri per definire più di una porta specifica da scansionare. La virgola (,) consente di definire porte diverse da intervalli diversi.

Nello screenshot seguente, l'utente utilizza virgole per scansionare le porte 22, 80 e 179. Come puoi vedere, la porta 80 è stata definita dal suo nome di protocollo, http.

NMAP -P 22, http, 179 Linuxhint.com

Come puoi vedere, la porta 80 è stata trovata aperta mentre il resto è stato filtrato da un firewall.

Il trattino è un carattere importante durante la scansione di entrambe le gamme di porta o IP.

Nell'esempio seguente, un trattino viene implementato per definire un intervallo di porta tra 21 e 30.

NMAP -P 20-30 Linuxhint.com

NMAP consente di definire più dell'intervallo delle porte implementando virgole e trattini, come mostrato di seguito, dove le porte variano da 70 a 90 e da 20 a 40 sono scansionate.

NMAP -P 70-90,20-40 Linuxhint.com

Durante la scansione delle porte, l'utente può escludere porte o intervalli specifici dal processo di scansione implementando il -Esclu-Ports bandiera.

Nell'esempio seguente, l'utente scansiona la porta dalla porta 20 alla porta 80 ma esclude le porte da 30 a 40. L'utente può anche escludere una sola porta o porte diverse separate da una virgola.

NMAP -P 20-80 Linuxhint.com-Exclude-Ports 30-40

Se l'utente desidera scansionare tutte le porte sull'obiettivo, ha due opzioni. Può definire l'intero intervallo da 1 a 65535, come mostrato di seguito.

NMAP -P0-65535 192.168.0.1

L'opzione più pratica per scansionare tutte le porte è implementare due trattini, prima e dopo il P, come mostrato di seguito.

NMAP -P- 192.168.0.1

Definizione di obiettivi in ​​NMAP

Questa sezione descrive diverse tecniche per definire obiettivi di scansione, inclusi più obiettivi.

Nella sezione precedente, i trattini sono stati utilizzati per definire gli intervalli di porte.

I trattini possono anche essere utilizzati per definire gli intervalli IP, come mostrato nello screenshot seguente, in cui l'utente definisce un intervallo IP a partire da 192.168.0.1 e terminando a 192.168.0.120.

NMAP 192.168.0.1-120

Nell'esempio seguente, due intervalli sono definiti negli ultimi due ottetti (200-210 e 80-90).

NMAP -P80,22.443 186.33.200-210.80-90

Gli utenti possono utilizzare il Cidr formato. Nell'esempio seguente, la sottorete /24 viene scansionata.

IL -ss FLAG indica a NMAP di eseguire un file Syn Scansione non rilevata dai firewall.

Nota: Syn La scansione richiede privilegi di root.

sudo nmap -ss 192.168.0.0/24

Nell'esempio seguente, il jolly (*) è implementato per istruire NMAP di scansionare l'intero ottetto dell'indirizzo IP, da 0 a 255.

IL -Sn (Ping sweep) Flag indica NMAP di omettere la scansione delle porte, limitando la scoperta dell'ospite.

NMAP -SN 192.168.0.*

Nella prossima screenshot, l'utente implementa due caratteri jolly per scansionare i due ottetti. IL -sp (Ping sweep) La bandiera è equivalente a quanto sopra (il -Sn La bandiera sta sostituendo -sp),

nmap -sp 192.168.*.*

I caratteri jolly e i trattini possono essere combinati per la definizione di obiettivi personalizzati.

nmap -sp 186.33.205-210.*

Gli obiettivi possono anche essere caricati dall'elenco di testo semplice di un target.

Il seguente elenco è chiamato scantargets.TXT e contiene un nome di dominio, un indirizzo IP, una sottorete e gamme IP definite sia con un trattino e un jolly.

IL -I l (Elenco) Flag seguito dal percorso dell'elenco target lancerà la scansione rispetto agli obiettivi elencati nel file.

nmap -sn -il scantargets.TXT

L'utente può scansionare gli obiettivi definiti in un elenco escludendo quelli specifici.

Nell'esempio seguente, gli obiettivi di scansione dell'utente definiti nel scantargets.TXT file, omettendo l'obiettivo 192.168.0.0/24 con il -escludere opzione.

nmap -sn -il scantargets.txt -Exclude 192.168.0.0/24

IL -ir (Casuale) Flag indica a NMAP di scansionare obiettivi casuali. Con questa bandiera, NMAP scansionò obiettivi generati in modo casuale, molti dei quali possono essere ospiti morti.

Questo flag deve essere seguito dal numero di obiettivi casuali che l'utente desidera essere generato.

Nell'esempio seguente, il -ir Il flag viene utilizzato per scansionare 100 target casuali.

nmap -ir 100

Discovery host con NMAP

Alcune opzioni di scoperta host erano già implementate nella sezione precedente con flags -Sn E -sp, che istruisce NMAP di omettere il processo di scansione delle porte, limitandosi alla scoperta di ospiti vivi.

Ci sono flag aggiuntivi per eseguire compiti di scoperta con NMAP.

IL -Ps Il flag (syn ping) invia un vuoto TCP pacchetto con il Syn set di bandiere. Nel caso in cui la porta remota sia aperta quando il target risponde a un Syn/ack pacchetto, NMAP annullerà la connessione inviando un Primo pacchetto invece di un Ack uno.

NMAP -PS 192.168.0.0/24

IL PAPÀ (Ack Ping) invia un TCP pacchetto con il Ack set di bandiere. Questo pacchetto invia messaggi di riconoscimento a connessioni inesistenti Primo pacchetti dell'ospite remoto, rivelando la sua esistenza.

nmap -pn -pa50-100 nic.ar

IL -Pu (UDP Ping) Flag invia UDP pacchetti a indirizzi remoti. Se le porte non sono specificate, i pacchetti vengono inviati alle porte 40 e 125.

sudo nmap -pu 192.168.0.0/24

Invia pacchetti IP con le intestazioni di un protocollo diverso. Se non specificato, per impostazione predefinita, le intestazioni lo sono ICMP, Igmp, E Ip-in-ip protocolli.

sudo nmap -po 192.168.0.0/24

La prossima lettura consigliata per continuare con NMAP sono le bandiere NMAP e ciò che fanno, che descrive ulteriori bandiere e introduce il lettore al NSE (NMAP Scripting Engine).

Conclusione

Come puoi vedere, NMAP è uno strumento molto potente ma facile da imparare. Ogni utente di rete che si occupa di un terminale può iniziare seguendo esempi come quello offerto sopra.

Altre funzionalità NMAP come Traceroute possono essere utilizzate per diagnosticare i problemi di rete, oppure la suite NSE può essere utilizzata per rilevare e sfruttare le vulnerabilità.

Le istruzioni in questo tutorial sono valide per tutte le distribuzioni Linux. Si consiglia vivamente di applicare tutti gli esempi forniti per incorporare la conoscenza.

Grazie per aver letto il nostro tutorial di base NMAP. Continua a seguire il suggerimento Linux per più Linux professionali e contenuti di networking.