Sicurezza - Metodologia di un'intrusione in una rete

Questo articolo ha lo scopo di spiegare la metodologia generalmente usata dai pirati per introdursi in un sistema informatico. Non vuole spiegare come compromettere un sistema ma piuttosto aiutare a comprendere il modo in cui questo può essere fatto per poterlo prevenire al meglio. In effetti, il miglio modo per proteggersi è di procedere nello stesso modo che i pirati utilizzano per 'mappare' le vulnerabilità del sistema.

Inoltre questo articolo non da nessuna precisazione rispetto al modo in cui le falle sono sfruttate, ma spiega come scoprirle e correggerle.

Metodologia globale

Gli hacker intenzionati ad introdursi nei sistemi informatici cercano in un primo tempo delle falle, cioè delle vulnerabilità nocive alla sicurezza del sistema, nei protocolli, nei sistemi operativi, nelle applicazioni o nel personale stesso di un'organizzazione. I termini vulnerabilità, falla o buco di sicurezza (in inglese security hole) sono ugualmente usati per designare le falle di sicurezza.

Per poter metter in atto un exploit (si tratta di un termine tecnico che significa sfruttare una vulnerabilità), l'hacker, prima, recupera il massimo di informazioni sull'architettura di rete e sui sistemi operativi e le applicazioni. La maggiorparte degli attacchi sono opera di script kiddies che provano stupidamente degli exploit trovati su internet, senza nessuna conoscenza del sistema, né dei rischi legati alle loro azioni.

Una volta che l'hacker ha stabilito una mappa del sistema, sarà capace di applicare gli exploit relativi alle versioni delle applicazioni che ha recensito. Il primo accesso ad un terminale gli permetterà di estendere la sua azione fino a recuperare le altre informazioni, e eventualmente di estendere i suoi privilegi sul terminale stesso.

Quando si ottiene un accesso amministratore (si usa il termine inglese root ), si parla allora di compromissione del terminale (o più esattamente in inglese root compromise), dato che i file di sistema sono suscettibili di essere modificati. L'hacker avrà quindi i diritti massimi sul terminale. Se si tratta di un pirata, l'ultima tappa consiste nel cancellare le sue tracce, per evitare il minimo sospetto da parte dell'amministratore delle rete compromessa e da poter così mantenere più a lungo possibile il controllo dei terminali compromessi. Lo schema seguente riassume la metodologia completa:

Metodologia di un attacco di rete

Il recupero di informazioni nel sistema

L'ottenimento di informazioni sull'indirizzamento della rete bersaglio, solitamente qualificata da presa di impronte, è primordiale per ogni attacco. Questo consiste nel mettere insieme il massimo di informazioni possibili riguardanti le infrastrutture di comunicazione della rete oggetto dell'attacco:

Indirizzamento IP;

Nome del dominio;

Protocolli di rete;

Servizi attivi;

Architettura dei server;

Ecc.

Consultazioni di basi pubbliche

Conoscendo l'indirizzo IP pubblico di un terminale di rete o semplicemente il nome del dominio dell'organizzazione, un pirata può potenzialmente conoscere l'indirizzamento dell'intera rete, cioè il "range" d'indirizzi IP pubblici appartenenti all'organizzazione bersaglio nonché la sua divisione in sub-reti. A questo fine basta consultare le basi pubbliche d'attribuzione degli indirizzi IP e dei nomi di dominio:

Iana.net;

Ripe.net per l'Europa

Arin.net per gli USA

Consultazione di motori di ricerca

La semplice consultazione dei motori di ricerca permette talvolta di raccogliere le informazioni sulla struttura di una società, il nome dei suoi prodotti principali, fino al nome di una parte del personale.

Scansione di rete

Quando il pirata conosce il tipo di rete, può scansionarla, cioè determinare attraverso uno strumento software (chiamato scanner) quali sono gli indirizzi IP attivi nella rete, le porte aperte corrispondente a servizi accessibili, e il sistema operativo usato da questi server.

Uno degli strumenti più famosi per scansionare una rete è Nmap, definito come indispensabile alla sicurizzazione di una rete da numerosi amministratori di rete. Questo strumento agisce inviando dei pacchetti TCP e/o UDP ad un gruppo di terminali in una rete (determinato da un indirizzo di rete e da una maschera), e poi ne analizza le risposte. Secondo l'aspetto dei pacchetti TCP ricevuti, gli è possibile determinare per ogni terminale scansionato il sistema operativo remoto.

Esiste un altro tipo di scanner, chiamato mapper passivo (uno dei più conosciuti è Siphon), che permette di conoscere la tipologia di rete del ramo fisico sul quale il mapper analizza i pacchetti. Contrariamente agli scanner precedenti, questo strumento non invia dei pacchetti sulla rete ed è quindi impossibile da individuare per i sistemi di rilevamento d'intrusione.

Infine, alcuni strumenti permettono di catturare le connessioni X (un server X è un server che gestisce la visualizzazione dei terminali di tipo UNIX). Questo sistema ha come caratteristica di poter utilizzare la visualizzazione delle stazioni presenti sulla rete, così da studiare ciò che viene visualizzato sugli schermi ed eventualmente intercettare le personalizzazioni inserite dagli utenti di terminali vulnerabili.

Una volta finita la scansione, al pirata basta esaminare il file log degli strumenti usati per conoscere gli indirizzi IP dei terminali connessi alla rete e le porte aperte su quest'ultimi. I numeri delle porte aperte sui terminali possono fornirgli delle informazioni sul tipo di servizio aperto e quindi invitarlo ad interrogare il servizio per ottenere delle informazioni supplementari sulla versione del server nelle informazioni dette di «banner» («bandiera»).

Così, per conoscere la versione di un server HTTP, basta connettersi al server Web in Telnet sulla porta 80:

telnet it.kioskea.net 80

Poi chiedere la home page:

GET / HTTP/1.0

Il server fornisce allora le seguenti prime linee:

HTTP/1.1 200 OK
Date: Thu, 21 Mar 2002 18:22:57 GMT
Server: Apache/1.3.20 (Unix) Debian/GNU

Il sistema operativo, il server e la sua versione sono a questo punto conosciuti.

Ingegneria sociale

L'Ingegneria sociale (in inglese «Social Engineering») consiste nel manipolare gli esseri umani, cioè ad utilizzare l'ingenuità e la troppa gentilezza degli utenti della rete, per ottenere delle informazioni sulla rete stessa. Questa procedura consiste nell'entrare in contatto con un utente della rete, solitamente con falsa identità, per ottenere delle indicazioni sul sistema d'informazione o eventualmente per ottenere direttamente una password.

Allo stesso modo si può creare una falla di sicurezza nel sistema remoto inviando un trojan ad alcuni utenti della rete. Basta che un utente apra l'allegato per dare all'attaccante esterno un accesso alla rete interna. Questa è la ragione per cui la politica di sicurezza deve essere globale ed integrare i fattori umani (ad esempio la sensibilizzazione degli utenti ai problemi della sicurezza).

La localizzazione delle falle

Dopo l'inventario del parco software ed eventualmente anche dell'hardware, l'hacker deve determinare l'esistenza di possibili falle. Vi sono degli scanner di vulnerabilità che permettono agli amministratori di sottoporre le loro reti a dei test d'intrusione per constatare se alcune applicazioni possiedono delle falle di sicurezza. I due principali scanner di falle sono:

Nessus;

SAINT.

Si consiglia inoltre agli amministratori di rete di consultare regolarmente i siti tenendo aggiornato un database delle vulnerabilità: SecurityFocus/Vulnerabilities]. Così, alcuni organismi, in particolare i CERT (Computer Emergency Response Team), sono incaricati di capitalizzare le vulnerabilità e di mettere insieme le informazioni riguardanti i problemi di sicurezza: Security.dsi.unimi.it.

L'intrusione

Una volta che il pirata ha designato un mappa delle risorse e dei terminali presenti sulla rete, può preparare la sua intrusione. Per potersi introdurre sulla rete, il pirata ha bisogno di accedere a degli account validi sui terminali che ha recensito. Per farlo, i pirati utilizzano diversi metodi:

L'ingegneria sociale, cioè contattando direttamente alcuni utenti della rete (per mail o per telefono) per sottrarre loro delle informazioni riguardanti i loro login di connessione e le loro password. In questo caso si fanno solitamente passare per l'amministratore della rete;

La consultazione dell'annuario o dei servizi di messaggeria o di condivisione di file permettono di trovare dei login validi di utenti;

Lo sfruttamento delle vulnerabilità dei comandi R* di Berkeley;

Gli attacchi da forza bruta (brute force cracking), consistono nel provare in maniera automatica diverse password su una lista di account (ad esempio il login, eventualmente seguito da una cifra, oppure come password: password, o psswd, ecc).

Estensione di privilegi

Quando il pirata ha ottenuto uno o più accessi alla rete installandosi su uno o più account poco protetti, cercherà di aumentare i suoi privilegi ottenendo l'accesso root (in italiano superutente), e si parla quindi di estensione di privilegi. Non appena ottenuto un accesso root su un terminale, l'attaccante ha la possibilità di esaminare la rete alla ricerca di informazioni supplementari.

Gli è quindi possibile installare uno sniffer, cioè un software capace di ascoltare (il termine sniffing, è usato in questo caso) il traffico di rete in provenienza o destinato ai terminali posti sullo stesso ramo. Grazie a questa tecnica, il pirata può sperare di recuperare le coppie login/password che gli permettono di accedere agli account con dei privilegi estesi su altri terminali di rete (ad esempio l'accesso all'account di un amministratore) così da arrivare a controllare una parte più estesa della rete.

I server NIS presenti su una rete sono ugualmente dei bersagli scelti dai pirati visto che traboccano di informazioni sulla rete e i suoi utenti.

Compromissione

Grazie alle tappe precedenti, il pirata ha potuto designare una mappa completa della rete, dei terminali che vi si trovano, delle loro falle e possiede un accesso root in almeno uno di essi. Gli è quindi possibile estendere ancora la sua azione sfruttando le relazioni d'approvazione esistenti tra i diversi terminali. Questa tecnica d'usurpazione d'identità, chiamata spoofing, permette al pirata di penetrare delle rete privilegiate alle quali il terminale compromesso ha accesso.

Porta nascosta

Una volta che il pirata est riuscito ad infiltrarsi su una rete di società e a compromettere un terminale, può succedere che voglia poterci tornare. A questo scopo installerà un'applicazione per creare artificialmente una falla di sicurezza, si parla quindi di backdoor(in italiano Porta nascosta).

Pulizia delle tracce

Quando l'intruso ha raggiunto un livello di conoscenza sufficiente della rete, non gli resta che cancellare le tracce del suo passaggio eliminando i file che ha creato e pulendo i file di log dei terminali nei quali si è introdotto, cioè cancellando le linee di attività che riguardano le sue azioni.

Peraltro, esistono dei software, detti «rootkit» che permettono di sostituire gli strumenti d'amministrazione del sistema con delle versioni modificate per mascherare la presenza del pirata nel sistema. In effetti, se l'amministratore si connette nello stesso momento del pirata, il primo potrebbe notare i servizi lanciati dal pirata o semplicemente accorgersi che un'altra persona diversa da lui è connessa simultaneamente. L'obiettivo del rootkit è quindi di ingannare l'amministratore nascondendogli la realtà.

Conclusione

Sta ad ogni responsabile di rete connessa ad internet di assicurarne la sicurezza, e quindi di testarne le falle. Questa è la ragione per cui un amministratore di rete deve essere al corrente delle vulnerabilità dei software che utilizza e deve provare ad introdursi nel proprio sistema e rimanere quindi in una situazione di paranoia continua. Quando le competenze all'interno della società non sono sufficienti per svolgere questa operazione, conviene far controllare la situazione da una società specializzata in sicurezza informatica.

Articolo scritto da Jean-François PILLOU, ispirato da un articolo di GomoR.

Image: © Martial Red – Shutterstock.com

I nostri contenuti sono creati in collaborazione con esperti di high-tech, sotto la direzione di Jean-François Pillou, fondatore di CCM.net. CCM è un sito di high-tech leader a livello internazionale ed è disponibile in 11 lingue.
Potrebbe anche interessarti
Il documento intitolato « Sicurezza - Metodologia di un'intrusione in una rete » dal sito CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.