Trojan Horse
(Cavallo di Troia)

Premessa.
Un po' di tempo fa mi è stato chiesto aiuto da parte di un'amica che ha avuto problemi con il suo PC ed Internet. Veniva importunata da persone, fino ad allora a lei sconosciute, che però sapevano molto sul suo conto: da tutte le sue informazioni personali (telefono, abitazione,...) a quelle sulla sua famiglia e per di più notava strani comportamenti di funzionamento nel suo sistema proprio quando queste persone la contattavano nelle chat. Nel cercare di capire quali fossero le cause dei suoi problemi, ho intuito che poteva trattarsi di quella forma di virus che fino ad allora credevo fosse pura fantasia e ne ignoravo i rischi: i trojan horse. Dopo essermi documentato da diverse fonti, ho iniziato a procurami del software adeguato per combattere questa forma di virus. Be', fino ad oggi ho scoperto che circa 1 su 3 dei miei amici e conoscenti erano infetti da uno o più trojan, me compreso! Non avrei mai creduto che tali fossero così diffusi. Noi tutti abbiamo quindi provveduto a ripulire i nostri sistemi. Adesso potete farlo anche voi!!! Passerò quindi prima a descrivere velocemente cosa sono i trojans e poi come procedere per rilevarvi ed eliminarli in modo semplice e veloce!

Cos'è un trojan horse.
I trojan horse (cavalli di troia), o semplicemente trojan, non sono esattamente virus, per cui se si usa un tool antivirus difficilmente lo si individua. Sono nati come strumenti atti a spiare (violazione di privacy) e fondamentalmente rappresentano un mezzo per controllare a distanza (controllo remoto) le risorse hardware e software di un PC. Con controllo remoto di un sistema si intende che su tale PC sono effettuabili molte delle operazioni che possono attuarsi direttamente davanti ad esso, ma a distanza. Un trojan è costituito da due moduli principali: un programma server ed un programma client. Il server è il programma di piccole dimensioni che infetta un PC, cioè quando un PC è infetto da un trojan allora significa che nel file system di quel PC è presente un programma trojan-server installato che automaticamente si carica in memoria (vale a dire, si lancia in esecuzione da solo). Il client è invece il programma che usa il "pirata" per controllare un PC quando questo è infetto da un trojan (e solo in quest'ultima ipotesi). Se un PC è infetto da un trojan, quando questo viene connesso ad Internet, il server-trojan rimane nascosto (nel senso che non ci si accorge che esiste, da cui il nome) e pronto per ricevere richieste di connessione (e successivamente comandi) da parte di un qualunque PC in rete che disponga di un programma trojan-client e che sia maneggiato da un qualunque utente che non sia necessariamente un "pirata telematico". I trojan sono molto diffusi, nel senso che una gran percentuale dei nostri PC è infetta a nostra insaputa ed inoltre sono di facile acquisizione nella grande rete sia i programmi che infettano che quelli per il controllo di un PC infetto. Solitamente vengono distribuiti insieme, sia il lato server che il lato client, e per la maggiore sono programmi della categoria freeware.

Cosa succede se si ha il PC infetto da un trojan e qualcuno si connette ad esso.
Praticamente può far di tutto: dalla lettura di tutti i files personali sull'hard-disk (tra cui la posta elettronica, le password, ...), alla cancellazione di questi (fino a distruggere tutto o parte del file system o comunque i files essenziali per l'avvio di Windows e rendere così il PC inutilizzabile). Può fare scherzi bizzarri (apertura dello sportellino del CD-ROM, attivazione di suoni, scambio tasti del mouse, riavvio del sistema, ...). Può ascoltare ciò che si digita dalla tastiera, mentre si scrive una lettera o si dialoga in chat. Altro ancora...

Come viene infettato un PC da un trojan.
Il modo più semplice per acquisire (nel senso di infettarsi) un trojan è quello di scaricare un programma apparentemente innocuo (un gioco, un'applicazione di qualunque tipo) dalla rete che però dentro sé nasconde anche un programmino trojan-server che si installa nel PC a propria insaputa! Come succede per i virus, dopotutto. Non basta però che tra questi files sia presente un trojan-server, ma bisogna anche programmarlo in modo tale che questo si carichi in memoria all'avvio o alla connessione del sistema della vittima, che sia fatto per via del registro di configurazione o per via dei files di inizializzazione di Windows (alla vecchia maniera!). Come fare questo? Esistono programmini che riescono ad integrare i contenuti di pacchetti d'installazione comune con programmi virus.

Come fa un "pirata" a sapere se un PC è infetto da qualche trojan per connettersi ad esso.
Esistono programmi che effettuano la scansione delle porte di un IP (singolo PC) o di un intervallo di domini IP (più PC) per individuare su questi l'esistenza di trojan-server pronti a ricevere comandi. Questi programmi sono peraltro molto diffusi e spesso sono inclusi direttamente nel programma di controllo di un trojan (trojan lato client) e nei programmi di chat.

Esempio pratico
Ammettiamo che si voglia trovare in rete una casuale vittima di un trojan SubSeven nella vers. 2.1 (ALLO SCOPO DI AIUTARLO AD ELIMINARE IL TROJAN CHE INFETTA IL SUO PC :). Procediamo perciò per via indiretta, senza sapere nulla a priori sul suo conto. Le informazioni di cui necessitiamo in questo caso sono la consapevolezza che su una macchina ci sia un SubSeven-server in ascolto sulla porta 27374 (porta default per il trojan SubSeven) ed il suo indirizzo IP nella forma classica xxx.yyy.zzz.www. Innanzitutto conviene procurarci un programma di chat (IRC client) come looksharp, costruito su mIRC. Da qui, dopo aver impostato i soliti parametri personali e quelli del nostro abituale server chat (ad esempio irc.tin.it sulla porta 6667, conveniente se vogliamo accorciare i tempi di individuazione dell'IP completo), passiamo ad impostare le funzioni di scansione delle porte sulle macchine remote (in breve, in "General Setup", alla scheda "XAPS", selezionare la casella "ports" ed immettere manualmente "27374" nello spazio al suo fianco, eliminando eventuali altre informazioni già presenti in tale spazio). Effettuiamo ora la connessione al server chat ed entriamo nei canali. La scansione verrà effettuata automaticamente ed in modo trasparente a noi, che nel frattempo chattiamo, sulle porte dei PC degli utenti presenti nei canali in cui ci troviamo. Appena rilevata una vittima del trojan SubSeven, apparirà una nuova finestrella denominata "XAPS". Da qui potremo leggere il suo nick ed il suo indirizzo IP. Se questo IP non è nella forma xxx.yyy.zzz.www (tale può apparire in forma differente in dipendenza dal provider server a cui tale utente è connesso) bisogna effettuare la conversione nella forma voluta (selezionando il relativo nick nella lista utenti di un canale in cui è presente e selezionando "DNS lookup" dal menù rapido che appare una volta cliccato esso con il tasto destro del mouse. Dopodiché si potrà leggere e copiare il suo IP nella forma voluta dalla finestrella "Status"). A questo punto potremo informare l'utente direttamente dalla chat che è infetto dal trojan SubSeven e quindi domandargli il PERMESSO di accedere al suo sistema per aiutarlo a rimuovere esso. Se concesso tale, si potrà aprire il SubSeven-client, immettere l'IP trovato e impostare il numero di porta "27374". Cliccato su "connect", potrebbe essere richiesta una password, nel qual caso potremo rispondere con "cancel". La connessione potrebbe essere ora attiva. Nel menù del SubSeven, selezioniamo "connection", andiamo alla sezione "server option" e clicchiamo su "remove server". Dopo una conferma di esecuzione dell'operazione avremo portato a termine la nostra buona azione!

I protocolli TCP/IP e le porte.
I sistemi connessi ad Internet comunicano tra di loro utilizzando delle regole; queste regole sono racchiuse e definite nel protocollo TCP/IP, o meglio, nel pacchetto di protocolli TCP/IP. In base a tale protocollo, affinché un PC si possa connettere ad un altro PC (o sistema informatico, in generale) è necessario che esso conosca l'indirizzo IP (es. 62.120.184.7) della macchina remota e la porta sulla quale essa è in ascolto (cioè pronta ad accettare comandi). Per quanto definito nel protocollo TCP/IP, ogni sistema dispone di all'incirca 65.000 porte (numerate da 0 a 65.000); per vederla in analogia ai sistemi radiofonici, una porta è comparabile alla frequenza di un canale sulla quale ci si deve sintonizzare per ascoltare una specifica emittente. Un centinaio di queste porte sono riservate (vale a dire, già assegnate dal protocollo TCP/IP a programmi e comandi), le altre tutte libere e disponibili.

I trojan horse.
I trojan noti sono centinaia, ma tutti con le stesse caratteristiche. Ognuno di essi è costituito dalla coppia di programmi client-server. Quando un PC è infetto da un trojan, allora significa che tra i files del suo hard-disk è presente una copia di programma trojan-server. Questo programma va in esecuzione quando si avvia il PC ed inizia ad operare (e diventare una minaccia) alla connessione del PC in rete. A questo punto il trojan-server resta in ascolto sulla porta per cui è stato programmato nell'attesa di ricevere comandi. Solitamente i trojan operano su porte predefinite (es. il trojan NetBus1.x sulla porta 12345/12346, il trojan NetBusPro sulla porta 20034, il trojan SubSeven sulla porta 27374, ...) ma questa non è una regola. Un trojan-server può anche essere protetto da una password, questo per permettere l'accesso ed il controllo di un PC infetto in maniera limitata e non da parte di un qualunque "hacker" alla ricerca casuale di prede. La connessione ad un PC infetto può avvenire solo utilizzando il rispettivo programma client (ad esempio, se un PC è infetto dal trojan SubSeven, occorrerà utilizzare il SubSeven-client per potersi connettere e controllare tale PC).

Come ci si accorge se il proprio sistema è infetto da un trojan.
Un primo metodo per individuare un trojan nel proprio sistema è quello di utilizzare dei semplici programmi che monitorano le porte del PC quando questo è connesso ad Internet. Questi programmi sono solo informativi, cioè elencano le diverse porte in ascolto o attive in un dato istante e da qui bisogna individuare se tra queste ce ne sia qualcuna sospetta: non è sempre molto semplice capire dal solo numero di porta se esiste un trojan nel proprio sistema. (NukeNabber)
Un secondo metodo è quello di utilizzare programmi simili ma attivi, cioè capaci di individuare in maniera automatica richieste di connessione sospette. (CheckBO)
Un metodo più affidabile è quello di utilizzare un firewall locale che controlla l'intero flusso di comunicazione da/verso la rete e garantisce un grado di sicurezza molto elevato non solo nei riguardi dei trojan. (ZoneAlarm)

Come si elimina un trojan dal proprio sistema.
Esistono programmi anti-trojan, simili nel comportamento agli anti-virus. Questi possono scandire l'intero hard-disk o parte di esso alla ricerca di trojan-server istallati in un PC e comprendono anche task residenti in memoria per individuare in tempo reale l'insinuarsi di un trojan nel PC. Una volta eliminati tutti gli eventuali trojans presenti sul proprio PC non ci sarà più nessun rischio che qualcuno si possa connettere al nostro PC e non sarà allora più necessario monitorare le porte. (BackWork)
E' anche possibile rimuovere un trojan a distanza: dopo che si è individuata una vittima e ci si è connessi utilizzando un trojan-client, questo programma dispone di solito anche di comandi per eliminare a distanza il trojan-server che infetta il sistema remoto.

Software

Trojans First Aid Kit 3.0 Utilità che raccoglie un pacchetto di programmi destinato innanzitutto a rimuovere i trojans che potrebbero infettare il proprio sistema. E' in grado di riconoscere ben 255 trojans noti. Inoltre include un dispositivo d'esplorazione che può rilevare nuovi trojans sconosciuti. E' anche in grado di fungere da client per una ventina di trojan più diffusi.
BackWork 2.12 Utilità che effettua la scansione dei files per la ricerca di trojan horse sul proprio PC. Attualmente è in grado di riconoscerne ben 250. Uno strumento di semplice uso ed indispensabile per evitare di essere spiati da sconosciuti.
CheckBO 1.56 Ottimo ed indispensabile programma che monitora le porte di comunicazione per impedire accessi non autorizzati al proprio PC durante la connessione ad Internet. Sono moltissimi i PC infetti dai trojan e, nella nostra inconsapevolezza, manipolabili da hacker (e non solo) che potrebbero fare di tutto nel nostro sistema di files: dall'acquisizione dei nostri files, alla cancellazione di essi e tanto altro!
NukeNabber 2.9 Utilità che si programma in modo da ascoltare le porte TCP e UDP attraverso le quali passano gli attacchi al proprio PC connesso ad Internet. Il programma è in grado di monitorare 50 porte simultaneamente e fornire tutte le informazioni che servono per identificare e tracciare gli attacchi. Il programma include inoltre un metodo per trovare il nickname di chi attacca sui popolari server IRC.
ZoneAlarm 2.1.1.44 Ottimo firewall, facile, funzionale e gratuito solo per uso personale, fornisce da solo un elevato grado di sicurezza essenziale per un PC connesso ad Internet. Controlla ogni attività collegata ad Internet e permette di bloccarle se rilevata un'azione sospetta. Ideale per difendersi da Trojan e Spyware o da ogni altra azione "pirata" di hackers.
ZoneAlarm (TRADUZIONE ITALIANA) 2.1.1.44 Traduzione della versione inglese di ZoneAlarm, per utilizzarla, occorre prima aver installato la versione inglese, successivamente scaricare la traduzione, e scompattare il contenuto nel direttorio creato dall'installazione originale del programma (ATTENZIONE: scaricando l'aggiornamento di ZoneAlarm, la 2.1.1.6, NON potrai usufruire della VERSIONE ITALIANA!).
Con Seal PC Firewall 2.09

Ottimo firewall, facile, funzionale che permette il blocco di possibili intrusi nel vostro PC (valido per 30 giorni con licenza)

Con Seal PC Firewall (LIC.)   Licenza per 30 giorni

 

© Copyright "Il Sito di Andrea Fracassi" - Gaggiano
Tutte le informazioni, testi, immagini o suoni contenuti in questa specifica pagina sono di proprietà di Andrea Fracassi e sono soggette a Copyright.
La riproduzione anche elettronica e la trasmissione di queste informazioni richiede il consenso scritto di Andrea Fracassi.
Tutti i diritti riservati - All rights reserved

 

 
Pagina realizzata da Fracassi Andrea