[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 384.   Verifica della vulnerabilità della propria rete

Sono disponibili alcuni applicativi in grado di sondare una rete, o un elaboratore singolo, alla ricerca di informazioni e di problemi noti che possono consentire a un aggressore di compiere delle azioni indesiderabili.

I programmi di questo tipo sono strumenti di aggressione, ma lo scopo dovrebbe essere quello di aiutare gli amministratori a prevenire problemi nella sicurezza della rete di propria competenza. Di conseguenza, tali programmi vanno utilizzati esclusivamente contro sistemi che rientrano nella propria gestione, o per i quali è stata ottenuta l'autorizzazione a farlo.

L'utilizzo di questo genere di programmi lascia normalmente delle tracce nel registro del sistema del nodo analizzato, pertanto queste azioni potrebbero anche essere considerate un'attività ostile e scatenare la reazione degli amministratori rispettivi.

384.1   Queso

Queso, (1) è un programma che cerca di determinarne il sistema operativo, attraverso l'invio di pacchetti TCP a una porta qualunque di un certo nodo, purché lì ci sia qualcosa in ascolto. Teoricamente, la scelta della porta è indifferente, purché si tratti di una porta presso cui sia disponibile un servizio in ascolto; comunque, se non viene specificata si fa riferimento alla numero 80.

queso [opzioni] indirizzo_ipv4[/n][:porta]

L'indirizzo, se è seguito da una barra obliqua e da un numero, rappresenta un gruppo di nodi da sondare, dove ciò che segue la barra obliqua è la maschera di rete espressa come quantità di bit a uno da considerare nell'indirizzo. Se l'indirizzo è seguito da due punti e un numero, si intende fare riferimento esplicito a una certa porta da usare per le prove.

Queso ha la necessità di funzionare con i privilegi dell'utente root.

Segue la descrizione di alcuni esempi:

Le informazioni in base alle quali è possibile individuare di che tipo di sistema operativo si tratta, sono contenute nel file di configurazione, che corrisponde a /etc/queso.conf. Si comprende intuitivamente come è organizzato questo file, osservando quanto già contiene; se si incontra un tipo di risposta imprevisto, si può aggiornare il file configurazione con l'opzione -w, andando poi a ritoccare l'annotazione aggiunta con la descrizione del sistema, che si presume conoscere per altre vie:

*- Unknown OS @ 192.168.1.1:80
0 1 +1 1 SA
1 0 0 0 R
2 - - - -
3 0 0 0 R
4 1 +1 1 SA
5 - - - -
6 1 +1 1 SA

L'esempio rappresenta ciò che si può ottenere in questi casi, in coda al file. È sufficiente modificare la prima riga, in un modo simile a quello seguente:

*- GNU/Linux, kernel 2.4.19
0 1 +1 1 SA
1 0 0 0 R
2 - - - -
3 0 0 0 R
4 1 +1 1 SA
5 - - - -
6 1 +1 1 SA

384.2   Raccess

Raccess, (2) ovvero Remote Access Session, è un programma molto semplice per la scansione di un elaboratore o di una rete di elaboratori, alla ricerca di problemi. Il suo utilizzo è molto semplice:

raccess [opzioni] nodo
raccess [opzioni] -n indirizzo_ipv4/n

L'uso normale di Raccess prevede di sondare un solo nodo, mentre l'opzione -n consente di indicare un indirizzo IPv4 seguito dalla maschera di rete espressa come quantità di bit iniziali da considerare. Se Raccess si avvia con l'opzione -s si ottiene la verifica dei servizi di rete disponibili, senza la ricerca di difetti specifici insiti in una certa versione di un certo servizio.

Segue la descrizione di alcuni esempi.

Il funzionamento di Raccess richiede comunque una forma di interazione con l'utente; in particolare, al termine dell'analisi di ogni nodo, viene chiesto se conservare o cancellare il file contenente il rapporto generato. Questo file viene creato nella directory corrente, con un nome corrispondente all'indirizzo dell'elaboratore sondato. Per esempio, il file 192.168.1.2 contiene le notizie raccolte a proposito del nodo che ha lo stesso indirizzo. Ecco come si può presentare il contenuto di questo file:

---------192.168.1.2 Report--------

--Service ssh Port 22 opened!!--
SSH-1.99-OpenSSH_3.4p1 Debian 1:3.4p1-2.1

--Service telnet Port 23 opened!!--
--Service smtp Port 25 opened!!--
220 roggen.brot.dg ESMTP Exim 3.35 #1 Thu, 14 Nov 2002 15:34:31 +0100

--Service www Port 80 opened!!--
Server: Boa/0.94.11

--Service sunrpc Port 111 opened!!--

384.3   Nmap

Nmap, (3) è un programma di scansione delle porte di uno o più nodi di rete, che mette a disposizione tecniche differenti per determinare se ci sono servizi disponibili e se ci sono firewall, o comunque altri sistemi che filtrano il passaggio delle comunicazioni. Per la precisione, Nmap distingue tre situazioni:

  1. porte a cui corrisponde un servizio che accetta la connessione;

  2. porte filtrate da qualcosa, per le quali non si può determinare se esista effettivamente un servizio disponibile;

  3. porte inutilizzate, nel senso che non sono abbinate ad alcun servizio di rete, in modo certo.

Nmap si compone in pratica dell'eseguibile nmap, che può essere usato secondo la sintassi generale seguente:

nmap [metodo_di_scansione] [opzioni] {nodo|rete}...

In pratica, si può specificare un metodo, o più metodi di scansione; se non lo si fa, viene usato quello predefinito che comporta la determinazione dei servizi disponibili, in base al fatto che questi accettano la connessione. Dopo altre opzioni particolari si indicano uno o più gruppi di nodi, secondo varie possibilità. Per la precisione, un gruppo di indirizzi può essere specificato attraverso il nome di dominio:

nome_di_dominio[/n]

In questo modo, si fa riferimento al nodo indicato per nome e se appare anche una barra obliqua seguita da un numero intero, si intende includere nella scansione tutti i nodi che rientrano in quella maschera di rete. Per esempio, se dinkel.brot.dg corrispondesse all'indirizzo IPv4 1.2.3.4, scrivere dinkel.brot.dg/24 significa fare riferimento a tutti gli indirizzi 1.2.3.*.

Se si utilizzano indirizzi numerici è possibile avvalersi di asterischi per indicarne un gruppo. Gli asterischi possono essere collocati in qualunque posizione e, nel caso indirizzi IPv4, rappresentano qualunque valore nell'ambito dell'ottetto. Naturalmente, dal momento che l'asterisco è utilizzato normalmente dalla shell per fare riferimento a nomi di file che si trovano nel file system, questo va protetto in qualche modo.

Come accennato sono disponibili molti tipi diversi di metodi di scansione, ma per poterli apprezzare occorre conoscere bene le caratteristiche dei protocolli TCP/IP. L'elenco seguente ne riepiloga alcuni, ma per una descrizione completa e più dettagliata è necessario leggere la pagina di manuale nmap(1).

Opzione di scansione Descrizione
-sS
Esegue una scansione di tipo TCP SYN, che è quella predefinita se l'utente è root.
-sT
Esegue una scansione «normale», attraverso la funzione connect() del sistema operativo, che è quella predefinita se richiesta da un utente comune senza privilegi.
-sF
Scansione di tipo TCP FIN.
-sX
Scansione nota come Xmas tree.
-sN
Scansione nota come Null scan.
-sP
Scansione attraverso l'invio di richieste di eco ICMP (ping); serve soltanto per determinare la presenza dei nodi ipotizzati.
-sU
Scansione alla ricerca di servizi UDP.
-sO
Scansione IP, per determinare quali protocolli IP sono disponibili.
-sA
Scansione TCP ACK, per determinare la presenza di un firewall e delle sue caratteristiche generali.
-sW
Scansione Window, intesa come una variante del metodo ottenuto con l'opzione -sA.
-sR
Scansione RPC, da abbinare a un altro metodo di scansione, per determinare se le porte di servizi disponibili corrispondono a servizi RPC.

Tra le opzioni che non servono a specificare dei metodi di scansione ce ne sono due di molto utili:

Opzione Descrizione
-O
Cerca di determinare il sistema operativo utilizzato nei nodi oggetto di indagine.
-p gruppo_porte
Limita il gruppo di porte che si vogliono scandire. Il gruppo di porte può essere indicato come un elenco separato da virgole o attraverso degli intervalli separati da un trattino medio.
-v
Dà maggiori dettagli sul lavoro che viene svolto.

Segue la descrizione di alcuni esempi.

Eventualmente è disponibile anche un programma frontale per l'uso di Nmap attraverso un'interfaccia grafica. Si tratta di nmapfe, che ha l'aspetto visibile nella figura successiva.

Figura 384.6. Nmap attraverso l'interfaccia grafica offerta da nmapfe.

nmapfe

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) Queso   GNU GPL

2) Raccess   GNU GPL

3) Nmap   GNU GPL


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome verifica_della_vulnerabilita_della_propria_rete.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!