Nmap

Processo di scoperta dell'host Nmap

Processo di scoperta dell'host Nmap
Nmap è un potente strumento di scansione e controllo della rete preferito dai tester di penetrazione e dagli ingegneri di rete. Consente di scansionare un singolo host o una rete di grandi dimensioni con migliaia di host e trovare informazioni rilevanti su di essi.

Questo tutorial si concentrerà su un utilizzo chiave di Nmap, i.e., host discovery e metodologia di host discovery discovery. È bene notare che questa nonèuna guida per principianti per lavorare con Nmap o la metodologia di raccolta delle informazioni nei test di penetrazione.

Che cos'è la scoperta dell'host?

Il processo di scoperta dell'host Nmap si riferisce all'enumerazione degli host di rete per raccogliere informazioni su di essi per costruire un piano di attacco nel pen-test.

Durante il rilevamento dell'host, Nmap utilizza elementi come Ping e uno script integrato per cercare sistemi operativi, porte e servizi in esecuzione utilizzando i protocolli TCP e UDP. Se specificato, puoi abilitare il motore di scripting Nmap che utilizza vari script per cercare vulnerabilità contro l'host.

Il processo di scoperta dell'host impiegato da Nmap utilizza pacchetti ICMP non elaborati. Questi pacchetti possono essere disabilitati o filtrati da firewall (raramente) e amministratori di sistema molto cauti. Tuttavia, Nmap ci fornisce una scansione invisibile, come vedremo in questo tutorial.

Cominciamo.

Scoperta della rete

Senza perdere troppo tempo, esaminiamo vari metodi per eseguire l'individuazione degli host e superare le varie limitazioni causate dai dispositivi di sicurezza della rete come i firewall.

1: ping ICMP classico

Puoi eseguire il rilevamento dell'host con un semplice Richiesta di eco ICMP dove l'host risponde con an Risposta eco ICMP.

Per inviare una richiesta echo ICMP con Nmap, inserisci il comando:

$ nmap -PE -sn 192.168.0.16

L'output sarà simile a quello mostrato di seguito:

Avvio di Nmap 7.91 (https://nmap.org)
rapporto di scansione per 192.168.0.16
L'host è attivo (0.latenza 11s).
Indirizzo MAC: EC:08:6B:18:11:D4 (tecnologie Tp-link)
Nmap done: 1 indirizzo IP (1 host up) scansionato in 0.62 secondi

Nel comando sopra, diciamo a Nmap di inviare una richiesta ping echo (-PE) al target. Se riceve una risposta ICMP, l'host è attivo.

Di seguito è riportato uno screenshot di Wireshark del comando nmap -sn -PE:

Considera la risorsa fornita di seguito per saperne di più sul protocollo ICMP.

https://linkfy.a/ICMP

NOTA: Le richieste di eco ICMP sono inaffidabili e non traggono una conclusione in base alla risposta. Ad esempio, considera la stessa richiesta a Microsoft.come

$ nmap -sn -PE microsoft.come

L'output sarà come mostrato di seguito:

Avvio di Nmap 7.91 Nota: l'host sembra inattivo.
Se è davvero attivo, ma blocca le nostre sonde ping, prova -Pn
Nmap fatto:
1 indirizzo IP (0 host up) scansionato in 2.51 secondi

Ecco uno screenshot per l'analisi di Wireshark:

2: TCP SYN Ping

Un altro metodo di rilevamento dell'host è utilizzare una scansione ping SYN TCP Nmap. Se hai familiarità con le tre strette di mano TCP SYN/ACK, Nmap prende in prestito dalla tecnologia e invia una richiesta a varie porte per determinare se l'host è attivo o utilizza filtri permissivi.

Se diciamo a Nmap di usare SYN ping, invia il pacchetto alla porta di destinazione e, se l'host è attivo, risponde con un pacchetto ACK. Se l'host è inattivo, risponde con un pacchetto RST.

Utilizzare il comando come mostrato di seguito per eseguire una richiesta ping SYN.

sudo nmap -sn -PS scanme.nmap.organizzazione

La risposta di questo comando dovrebbe indicare se l'host è attivo o meno. Quello che segue è un filtro Wireshark della richiesta.

tcp.bandiere.syn && tcp.bandiere.ack

NOTA: Usiamo il -PS per specificare che vogliamo usare la richiesta ping TCP SYN, che può essere un metodo più efficiente rispetto ai pacchetti ICMP non elaborati. Quella che segue è una richiesta Nmap di Microsoft.com utilizzando TCP SYN.

$ nmap -sn -PS microsoft.come

L'output è mostrato di seguito:

Avvio di Nmap 7.91 (https://nmap.org)
Rapporto di scansione Nmap per Microsoft.com (104.215.148.63)
L'host è attivo (0.latenza di 29 secondi).
Altri indirizzi per Microsoft.com (non scansionato): 40.112.72.205 13.77.161.179 40.113.200.201 40.76.4.15
Nmap fatto:
1 indirizzo IP (1 host attivo) scansionato in 1.08 secondi

3: Ping ACK TCP

Il metodo ping TCP ACK è figlio della richiesta ping SYN. Funziona in modo simile ma usa invece il pacchetto ACK. In questo metodo, NMAP prova qualcosa di intelligente.

Inizia inviando un pacchetto ACK TCP vuoto all'host. Se l'host è offline, il pacchetto non dovrebbe ricevere alcuna risposta. Se online, l'host risponderà con un pacchetto RST che indica che l'host è attivo.

Se non hai familiarità con l'RST (reset packet), è il pacchetto inviato dopo la ricezione di un pacchetto TCP imprevisto. Poiché il pacchetto ACK inviato da Nmap non è una risposta a SYN, l'host deve restituire un pacchetto RST.

Per inizializzare un ping ACK di Nmap, usa il comando come:

$ nmap -sn -PA 192.168.0.16

Dato l'output di seguito:

Avvio di Nmap 7.91 (https://nmap.org)
Rapporto di scansione Nmap per 192.168.0.16
L'host è attivo (0.latenza di 15 secondi).
Indirizzo MAC: EC:08:6B:18:11:D4 (tecnologie Tp-link)
Nmap fatto:
1 indirizzo IP (1 host attivo) scansionato in 0.49 secondi

4: Ping UDP

Parliamo di un'altra opzione per la scoperta dell'host in Nmap, i.e., Ping UDP.

Il ping UDP funziona inviando pacchetti UDP alle porte specificate dell'host di destinazione. Se l'host è online, il pacchetto UDP potrebbe incontrare una porta chiusa e rispondere con un messaggio di porta ICMP irraggiungibile. Se l'host è inattivo, il prompt sarà vari messaggi di errore ICMP come TTL superato o nessuna risposta.

La porta predefinita per il ping UDP è 40, 125. Il ping UDP è una buona tecnica da utilizzare quando si esegue l'individuazione degli host per gli host dietro un firewall e filtri. Questo perché la maggior parte dei firewall cerca e blocca TCP ma consente il traffico del protocollo UDP.

Per eseguire il rilevamento dell'host Nmap con il ping UDP, utilizzare il comando seguente:

sudo nmap -sn -PU scanme.nmap.organizzazione

L'output del comando precedente è esaminabile utilizzando Wireshark, come mostrato nello screenshot qui sotto. Filtro Wireshark utilizzato - udp.porta == 40125

Come puoi vedere nello screenshot qui sopra, Nmap invia un ping UDP all'IP 45.33.32.156 (scansione).nmap.org). Il server risponde con ICMP irraggiungibile, che indica che l'host è attivo.

5: Ping ARP

Non possiamo dimenticare il metodo ping ARP che funziona molto bene per l'individuazione degli host all'interno delle reti locali. Il metodo ping ARP funziona inviando una serie di sonde ARP all'intervallo di indirizzi IP specificato e scopre gli host live. Il ping ARP è veloce e molto affidabile.

Per eseguire un ping ARP usando Nmap, usa il comando:

sudo nmap -sn -PR 192.168.0.1/24

Se esamini il comando con Wireshark e filtri ARP dalla sorgente 192.168.0.30, otterrai uno screenshot delle richieste di sonda ARP Broadcast come mostrato di seguito. Il filtro Wireshark utilizzato è: arp.src.proto_ipv4 == 192.168.0.30

TCP SYN Stealth

Scoprirai che SYN scan è una buona opzione per il rilevamento dell'host perché è veloce e può scansionare una serie di porte in pochi secondi, a condizione che i sistemi di sicurezza come i firewall non interferiscano. SYN è anche molto potente e furtivo poiché funziona con richieste TCP incomplete.

Non entrerò nei dettagli di come funziona TCP SYN/ACK, ma puoi saperne di più dalle varie risorse fornite di seguito:

Per eseguire la scansione invisibile Nmap TCP SYN, utilizzare il comando:

sudo nmap -sS 192.168.0.1/24

Ho fornito una cattura Wireshark del comando Nmap -sS e dei reperti Nmap della scansione, esaminali e vedi come funziona. Cerca richieste TCP incomplete con il pacchetto RST.

Conclusione

Per ricapitolare, ci siamo concentrati sulla discussione su come utilizzare la funzione di individuazione degli host di Nmap e ottenere informazioni sull'host specificato. Abbiamo anche discusso del metodo da utilizzare quando è necessario eseguire il rilevamento dell'host per gli host dietro i firewall, il blocco delle richieste di ping ICMP e molto altro.

Esplora Nmap per acquisire una conoscenza più approfondita.

Come utilizzare Xdotool per stimolare i clic del mouse e le sequenze di tasti in Linux
Xdotool è uno strumento da riga di comando gratuito e open source per simulare i clic del mouse e le sequenze di tasti. Questo articolo tratterà una b...
I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...