La Trinakria.it
 
Disclaimer Segnala un errore Segnala un errore
 
 
 


di: Giuseppe D'Agrusa  
Port scanning
 

Cos'è il port scanning

Il portscanning è una tecnica che viene utilizzata per determinare quale porta di comunicazione TCP e UDP sul sistema nel quale si vuole tentare una penetrazione al fine di determinare quali siano in ascolto verso le connessioni provenienti dall'esterno. Lo ``scanning'' viene fatto con tecniche che mandano un gran numero di pacchetti di vari protocolli in modo da dedurre quali servizi sono in ascolto verso l'esterno dalla risposta che questi danno ai pacchetti inviati. Negli ultimi anni le tecniche per creare programmi, che effettuino il portscanning in maniera accettabile, hanno subito un notevole miglioramento tenendo presente i diversi obiettivi che un possibile intruso vorrebbe fossero raggiunti quando lo si esegue. Questi includono:

   Identificare i servizi TCP o UDP in esecuzione sul dato sistema.
   Identificare quale Sistema Operativo, è presente sul dato sistema.
   Identificare applicazioni specifiche o versioni di un dato servizio sul sistema.

Tecniche di scanning

Vediamo adesso alcune tecniche di scanning (sia host che port scanning) attuati per rilevare informazioni su host di una rete remota. Possono essere utilizzati per conoscere relativamente ad un host il suo indirizzo IP, se è attivo o meno, se alcune porte (e quindi determinati servizi conosciuti sono attivi) sono aperte ...

Attenzione - Queste attività sono rilevabili da un sistema di intrusioni.

- UDP ICMP ping sweep - questo tipo di scannig viene effettuato solo allo scopo di verificare se un indirizzo IP corrisponde ad un host attivo e raggiungibile all'interno di una rete. Chi utilizza un tool per compiere questa operazione il sito sotto attacco riceverà molteplici pacchetti in un breve lasso di tempo.

- TCP connect() scan - il metodo più semplice per eseguire port scanning: viene utilizzato il comando connect( ) del sistema operativo per aprire una connessione con le porte di interesse. Se una porta generica porta è aperta la connect( ) avrà successo, altrimenti la porta sarà irraggiungibile.

- UDP scan
- è utilizzato per determinare quali porte UDP sono aperte su una data macchina remota. La tecnica prevede di spedire pacchetti Udp da 0 byte ad ogni porta su una data macchina. Se viene spedita come risposta un pacchetto ICMP port unreachable, la porta è chiusa, altrimenti si può presumere che sia aperta.

- TCP Reverse ident scan - Questa tecnica di scanning permette la scoperta del nome dell'utente residente sull'host per ogni connessione TCP attiva su quell'host, ascolta solitamente, se attivo, sulla porta 113 (auth). Dopo aver investigato quale porte sono aperte, richiedere a ident informazioni per ogni porta aperta e connessione attivata, in modo da raccogliere informazioni sugli utenti.

- RPC scan - Per tutte le porte UDP/TCP che sono state trovate aperte, da una precedente analisi, vengono inviati dei pacchetti SunRPC NULL command, per determinare se sono porte RPC e in caso affermativo, quali applicazioni (e che versione) servono. Questo metodo può fornire le stesse informazioni date dal comando rpcinfo [2] , anche se il portmapper è protetto dietro un firewall.

- TCP SYN scan - Questa tecnica viene anche chiamata "half-open scanning'' perchè non stabilisce una completa connessione TCP. Essa manda un "SYN packet''alla porta che si vuole sondare, come se dovesse aprire una reale connessione, e aspetta la risposta da parte del sistema. Se la porta è predisposta per l'ascolto viene ricevuto un segnale ``SYN/ACK'' e viene immediatamente rispedito dal cracker verso l'obbiettivo un segnale "RST'' che permette di chiudere la connesione dopo aver appreso la disponibilità della porta. Questa tecnica di attacco è rilevabile da pochi sistemi in quanto la connessione non viene realmente aperta, ma creata a metà.
Il maggior problema nell'utilizzo di questa tecnica consiste nel fatto che l'attaccante deve essere in possesso dei privilegi di "root'' per poter creare i SYN packet da mandare al sistema

Come difendersi

Internet connette tra loro, ogni giorno, milioni di persone in tutto il mondo, ogni computer che si collega alla Rete è quindi potenzialmente a rischio.
Il consiglio che si può dare è quello di installare sul proprio personal computer un valido software firewall che permetta di proteggere i propri dati da eventuali intrusioni, da ActiveX o Java maligni e da tutti gli altri pericoli della Rete e dei programmi come gli Sniffing che permettono di analizzare tutti i pacchetti IP, effettuare delle ricerche nei loro contenuti, impostare dei filtri in modo da ottenere solo la lista dei pacchetti cui si è effettivamente interessati.

Conclusioni

Abbiamo parlato di alcune tecniche di scanning e abbiamo visto, pressapoco, come funziona in pratica uno scanning, ma ne esistono altri tipi di tecniche di scanning, come il FIN, che prevede l'invio di pacchetti FIN tcp; il 'null', tipo di scanning basato su pacchetti tcp "vuoti" (senza nessun flag settato); il Xmas tree (l'albero di Natale), dove vengono inviati pacchetti tcp con i flag URG,FIN e ACk settati (!!!), ecc.; comunque occorre ricordare che anche se IL PORTSCANNER IN SE NON E' UN REATO e quindi non perseguibile dalla legge, ma può dare fastidio all'amministratore della rete che state controllando.