![]() Tanti pionieri dell'epoca di Internet immaginarono una rete globale aperta con uno spazio di indirizzi IP universale, che potesse consentire connessioni virtuali tra qualsiasi coppia di nodi. Questo permette ad ogni host di diventare allo stesso tempo fruitore e fornitore di informazioni da e per l'altro. Chiunque poteva accedere dal lavoro a tutti i propri sistemi di casa, regolando il termostato o aprendo la porta per un visitatore che dovesse arrivare in anticipo. Questa visione di connettivita` universale e` stata soffocata da carenze nello spazio di indirizzamento e da preoccupazioni legate alla sicurezza. Nei primi anni novanta le compagnie iniziarono a sviluppare firewall con lo scopo di ridurre la connettivita`. Enormi reti vennero tagliate fuori dall'Internet non filtrato da application proxy, NAT (Network Address Translation) e packet filter (filtri di pacchetto). Il flusso incontrollato delle informazioni lascio` il posto a regole stringenti sui canali di comunicazione approvati e sul contenuto che puo` transitare su di essi. Ostruzioni di rete come i firewall possono rendere la stesura della topografia di una rete un lavoro fin troppo difficile. E non migliorera` mai, perche` limitare le differenze che permettono di distinguere tra un apparecchio e un altro e` spesso lo scopo primario nella loro costruzione. Nondimeno, Nmap offre molte caratteristiche che possono aiutare a capire tali reti complesse e a verificare che i filtri impostati stiano funzionando come previsto. Nmap include anche meccanismi per effettuare il bypassing di difese poco robuste o mal implementate. Uno dei migliori metodi per capire quant'e` sicura la propria rete e` proprio il cercare di forzarla. Mettetevi nei panni di un attaccante, e usate le tecniche spiegate in questa sezione contro le vostre reti. Lanciate una scansione "FTP bounce", un "Idle scan", un "fragmentation attack", o provate a entrare attraverso uno dei vostri proxy. In aggiunta alle restrizioni delle attivita` di rete, le aziende stanno sempre piu` tenendo sotto controllo il traffico con sistemi anti-intrusione (IDS). La maggior parte di questi IDS e` configurato per accorgersi di una scansione di Nmap di default, poiche` molto spesso l'attacco segue direttamente la scansione. Molti di questi strumenti inoltre si sono evoluti in sistemi di prevenzione delle intrusioni (IPS, "intrusion prevention systems") che bloccano attivamente tutto il traffico che potrebbe essere nocivo. Sfortunatamente per gli amministratori di rete e per i produttori di IDS, pero`, rilevare cattive intenzioni analizzando semplicemente i dati contenuti nei pacchetti e` un problema difficile. Un attaccante con una buona dose di pazienza, talento e l'aiuto di alcune opzioni di Nmap puo` generalmente scavalcare un IDS senza esser visto. Allo stesso tempo un amministratore ha a che fare con molti falsi positivi dovuti ad intenzioni legittime che vengono erroneamente bloccati o per i quali scattano allarmi. Ogni tanto qualcuno suggerisce che Nmap non dovrebbe fornire opzioni per bypassare regole di firewalling o per sgusciare oltre agli IDS. Essi asseriscono che queste caratteristiche sono usate piu` facilmente da attaccanti piuttosto che da amministratori attenti alle problematiche di sicurezza. Il problema con questo tipo di ragionamento e` che tali metodi verrebbero comunque usati da attaccanti che potrebbero semplicemente usare altri strumenti o modificare Nmap per fare cio` che desiderano. E intanto un amministratore si troverebbe a non aver strumenti per poter fare il proprio lavoro correttamente. Sviluppare solo server FTP moderni e con tutte le patch installate e` un approccio molto migliore al voler bloccare lo sviluppo e la distribuzione di strumenti che usano l'attacco "FTP bounce". Non esiste alcuna bacchetta magica (o opzione di Nmap) per riconoscere o bypassare un firewall o un sistema anti-intrusione. E` un'attivita` che richiede talento ed esperienza. Una guida completa esula dagli intenti di questa guida di riferimento, la quale elenca solo le opzioni rilevanti e descrive cio` che fanno. -f (frammenta i pacchetti); --mtu (usando l'unita` di trasmissione minima specificata - "MTU") -D <decoy1 [,decoy2][,ME],...> (Maschera una scansione utilizzando esche - "decoy scan") Separando gli host decoy con una virgola e` possibile usare il parametro ME come uno dei decoy per rappresentare la posizione del proprio indirizzo IP. Se si pone il parametro ME nella sesta posizione o ancora oltre, alcuni sensori di port scan (come l'eccellente "scanlogd" di Solar Designer) difficilmente mostreranno il vostro indirizzo IP. Se non si dovesse usare il parametro ME, Nmap mettera` il vostro IP in una posizione a caso. Si noti che gli host che vengono usati come decoy dovrebbero essere attivi o si corre il rischio di creare un "SYN flood" verso il proprio obbiettivo. Inoltre diventerebbe molto facile capire quale host e` la causa della scansione, se solo uno e` attivo in una rete. E` consigliabile usare indirizzi IP al posto di nomi, per evitare che la rete dei decoy individui i propri tentativi di risoluzione dei nomi nei log dei propri DNS. I decoy vengono usati sia nel "ping scan" iniziale (indipendentemente dal fatto che si usi ICMP, SYN, ACK, eccetera) sia durante la fase di port scanning effettiva. Infine i decoys vengono usati durante la "Operating System Detection" remota, specificabile con l'opzione -O). L'utilizzo dei decoy non e` valido con scansioni di tipo "version detection" o scansioni di tipo TCP connect(). Inutile ricordare che l'uso di troppi decoy puo` rallentare la propria rete e potenzialmente renderla meno accurata. Inoltre, alcuni ISP ("Internet Service Providers") potrebbero filtrare i pacchetti "spoofed" (falsificati), anche se molti non operano alcun tipo di azione su questi ultimi. -S <IP_Address> (falsifica l'indirizzo sorgente - "spoof source address") Un altro possibile uso di quest'opzione potrebbe essere per falsificare ("spoof") la scansione per far credere al bersaglio che qualcun altro li sta prendendo di mira e sta effettuando una scansione su di loro. Si immagini solo cosa potrebbe succedere se un'azienda si accorgesse di essere preda di port scan da parte dei propri concorrenti! L'opzione -e e` in genere richiesta per questo particolare utilizzo, e si consiglia anche di usare -P0. -e <interface> (Usa l'interfaccia di rete specificata - "use specified interface") --source-port <portnumber>; -g <portnumber> (Effettua uno spoof del numero di porta di origine) Esistono soluzioni sicure a questi problemi, spesso nella forma di proxy a livello di applicazione o moduli del firewall che fanno parsing del protocollo. Sfortunatamente ci sono anche soluzioni facili ma insicure. Ad esempio, notando che le risposte alle query DNS arrivano dalla porta 53 e i transfer ftp "active" provengono dalla porta 20, tanti amministratori cadono nella trappola di lasciar passare il traffico proveniente da queste porte. Essi assumono spesso che nessun attaccante potrebbe accorgersi di questi buchi di sicurezza e appprofittarne. In altri casi un amministratore puo` considerare questa soluzione una misura temporanea fino a quando non implementera` una soluzione migliore e piu` sicura. E poi si dimentica di farlo. Gli amministratori di rete con troppe cose da fare non sono gli unici a cadere in questa trappola. Molti prodotti sono venduti con queste regole insicure; anche Microsoft e` colpevole. I filtri IPSec parte di Windows 2000 e Windows XP contengono una regola implicita che permette il passaggio di tutto il traffico proveniente dalla porta 88 (Kerberos). Un altro caso ben conosciuto e` quello di Zone Alarm Personal Firewall (fino alla versione 2.1.25: esso permetteva l'ingresso nel sistema a qualsiasi pacchetto UDP che avesse come porta di origine la 53 (DNS) o 67 (DHCP). Nmap offre le opzioni (equivalenti) -g e --source-port per sfruttare queste debolezze. Basta fornire un numero di porta e Nmap mandera` pacchetti da questa porta quando possibile. Tuttavia Nmap deve usare numeri di porta diversi per alcuni test di OS detection perche` essi funzionino a dovere, e le richieste DNS ignorano l'opzione --source-port poiche` Nmap si appoggia alle librerie di sistema per gestirle. La maggior parte delle scansioni TCP, incluse le scansioni SYN e UDP, supportano quest'opzione. --data-length <number> (Aggiunta di dati random ai pacchetti inviati) --ttl <value> (Imposta il campo IP time-to-live) --randomize-hosts (Rimescola l'ordine degli host bersaglio) --spoof-mac <mac address, prefix, or vendor name> (Effettua uno spoof dell'indirizzo hardware (MAC)) --badsum (Invia pacchetti con checksum TCP/UDP non valido) © GnomixLand http://www.gnomixland.com/ |