Questo tutorial si concentrerà su un uso chiave NMAP, i.e., Metodologia della scoperta e della scoperta host host. È bene notare che questa non è una guida per principianti per lavorare con NMAP o metodologia di raccolta delle informazioni nei test di penetrazione.
Cos'è la scoperta dell'ospite
Il processo di scoperta dell'host NMAP si riferisce all'enumerazione degli host di rete per raccogliere informazioni su di loro per costruire un piano di attacco nel test della penna.
Durante l'host Discovery, NMAP utilizza elementi come Ping e uno script integrato per cercare sistemi operativi, porte e servizi di gestione utilizzando protocolli TCP e UDP. Se specificato, è possibile abilitare il motore di scripting NMAP che utilizza vari script per cercare vulnerabilità contro l'host.
Il processo di scoperta host impiegata da NMAP utilizza pacchetti ICMP RAW. Questi pacchetti possono essere disabilitati o filtrati da firewall (raramente) e amministratori di sistemi molto cauti. Tuttavia, NMAP ci fornisce una scansione invisibile, come vedremo in questo tutorial.
Iniziamo.
Discovery di rete
Senza perdere troppo tempo, esaminiamo vari metodi per eseguire la scoperta dell'ospite e superare varie limitazioni causate da dispositivi di sicurezza della rete come i firewall.
1: classico ping ICMP
Puoi eseguire Host Discovery con un semplice Richiesta di eco ICMP dove l'host risponde con un Risposta di eco ICMP.
Per inviare una richiesta Echo ICMP con NMAP, immettere il comando:
$ nmap -pe -sn 192.168.0.16
L'output assomigliarà come mostrato di seguito:
Avvio di NMAP 7.91 (https: // nmap.org)
Rapporto di scansione per 192.168.0.16
L'host è attivo (0.11s latenza).
Indirizzo MAC: EC: 08: 6b: 18: 11: D4 (TP-Link Technologies)
NMAP fatto: 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 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 non sono affidabili e non traggono una conclusione in base alla risposta. Ad esempio, considera la stessa richiesta a Microsoft.com
$ nmap -sn -pe Microsoft.com
L'output sarà come mostrato di seguito:
Avvio di NMAP 7.91 Nota: l'host sembra giù.
Se è davvero su, ma bloccando le nostre sonde, prova -pn
NMAP fatto:
1 indirizzo IP (0 host up) scansionato in 2.51 secondi
Ecco uno screenshot per l'analisi Wireshark:
2: TCP syn ping
Un altro metodo di scoperta dell'host è utilizzare una scansione NMAP TCP Syn Ping. 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 utilizzando filtri permissivi.
Se diciamo a NMAP di utilizzare syn ping, invia il pacchetto alla porta target e se l'host è attivo, risponde con un pacchetto ACK. Se l'host è inattivo, risponde con un primo pacchetto.
Utilizzare il comando come mostrato di seguito per eseguire una richiesta di syn ping.
sudo nmap -sn -ps scanme.nmap.org
La risposta da questo comando dovrebbe indicare se l'host è su o giù. Di seguito è riportato un filtro Wireshark della richiesta.
TCP.bandiere.syn && tcp.bandiere.Ack
NOTA: Usiamo il -ps per specificare che vogliamo utilizzare la richiesta di ping syn TCP, che può essere un metodo più efficiente rispetto ai pacchetti ICMP RAW. Di seguito è riportata una richiesta NMAP di Microsoft.com usando tcp syn.
$ nmap -sn -ps Microsoft.com
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 29s).
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 up) scansionato in 1.08 secondi
3: TCP Ack Ping
Il metodo TCP ACK Ping è un figlio della richiesta Syn Ping. Funziona allo stesso modo ma utilizza invece il pacchetto ACK. In questo metodo, NMAP prova qualcosa di intelligente.
Si inizia inviando un pacchetto TCP ACK vuoto all'host. Se l'host è offline, il pacchetto non dovrebbe ottenere alcuna risposta. Se online, l'host risponderà con un pacchetto RST che indica che l'host è attivo.
Se non hai familiarità con il RST (pacchetto di ripristino), è il pacchetto inviato dopo la ricezione di un pacchetto TCP inaspettato. Poiché il pacchetto ACK NMAP non è una risposta a SYN, l'host deve restituire un pacchetto RST.
Per inizializzare un ping nmap ack, usa il comando come:
$ nmap -sn -pa 192.168.0.16
Dato 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 15s).
Indirizzo MAC: EC: 08: 6b: 18: 11: D4 (TP-Link Technologies)
NMAP fatto:
1 indirizzo IP (1 host up) scansionato in 0.49 secondi
4: UDP Ping
Parliamo di un'altra opzione per Host Discovery in NMAP, io.e., Ping UDP.
UDP Ping 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 una porta ICMP irraggiungibile. Se l'host è inattivo, il prompt sarà vari messaggi di errore ICMP come TTL superati o nessuna risposta.
La porta predefinita per il ping UDP è 40, 125. L'UDP Ping è una buona tecnica da utilizzare quando si esegue l'host Discovery 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 NMAP Host Discovery con UDP Ping, utilizzare il comando qui sotto:
sudo nmap -sn -pu scanme.nmap.org
L'output dal comando sopra è esaminabile usando Wireshark, come mostrato nello screenshot seguente. Filtro Wireshark usato - UDP.porta == 40125
Come puoi vedere nello screenshot sopra, NMAP invia un ping UDP all'IP 45.33.32.156 (Scanme.nmap.org). Il server risponde con ICMP irraggiungibile, il che indica che l'host è attivo.
5: ARP Ping
Non possiamo dimenticare il metodo ARP Ping che funziona molto bene per la scoperta host all'interno delle reti locali. Il metodo ARP Ping funziona inviando una serie di sonde ARP alla gamma di indirizzi IP data e scopre host live. Arp ping è veloce e molto affidabile.
Per eseguire un ping ARP usando NMAP, utilizzare il comando:
sudo nmap -sn -pr 192.168.0.1/24
Se si esaminano il comando con Wireshark e filtri ARP dalla sorgente 192.168.0.30, otterrai uno screenshot di richieste di sonda di trasmissione ARP 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 l'host Discovery perché è veloce e può scansionare una serie di porte in pochi secondi, a condizione che i sistemi di sicurezza come i firewall non interferiscano non interferiscano. Syn è anche molto potente e furtivo in quanto 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 NMAP TCP Syn Stealth Scan, utilizzare il comando:
sudo nmap -ss 192.168.0.1/24
Ho fornito una cattura di Wireshark del comando NMAP -SS e i reperti NMAP della scansione, esaminanoli e vedi come funziona. Cerca richieste TCP incomplete con il pacchetto RST.
Conclusione
Per ricapitolare, ci siamo concentrati sulla discussione di come utilizzare la funzione di scoperta dell'host NMAP e ottenere informazioni sull'host specificato. Abbiamo anche discusso di quale metodo utilizzare quando è necessario eseguire la scoperta host per gli host dietro i firewall, bloccare le richieste di ping ICMP e molto altro.
Esplora NMAP per acquisire una conoscenza più profonda.