Backdoors & Trojan
La prima cosa che viene in mente leggendo la parola Trojan Horse (letteralmente Cavallo di Troia) sono i tool di mministrazione remota, le famose Back Door. In realtà, con il termine Trojan Horse si intendono tutti quei programmi che, sotto le false spoglie di software “pacifici”, si introducono nel sistema vittima e svolgono funzioni dannose, proprio come fece Ulisse per espugnare Troia. Pur essendo riconosciuti generalmente come “virus”, differiscono da essi perché generalmente non hanno la capacità di autoreplicarsi.
Le Tipologie
- I Trojan più conosciuti sono sicuramente le cosiddette Back Door (o R.A.T. “Remote Access Tool” o anche Trojan Client - Server) che permettono di gestire un sistema remoto tramite protocollo TCP/IP. Nati con lo scopo di facilitare il lavoro di chi ha la necessità di lavorare su macchine remote, permettono di avere il pieno controllo del sistema infetto.
- I Trojan Distruttivi (Descructive Trojan) rappresentano una seconda tipologia di Trojan Horse. Vengono utilizzati per lo più da chi vuole far danni ad una sola macchina e vengono spesso confusi con i virus ma il loro unico punto in comune è l’azione distruttiva: infatti i Destructive Trojan non si replicano e sono composti da codici molto semplici. Non per questo sono da considerare innocui, anzi.
- Un’altra distinzione all’interno della famiglia sono i Trojan Ladri di Password. Sono scarsamente utilizzati e dovrebbero permettere (dico dovrebbero perché spesso non funzionano) di rubare delle password (ad esempio quella della casella di posta).
- Leggermente più conosciuti sono i Chat Trojan che, spesso non riconosciuti come veri e propri Trojan, sono dei programmi in grado di svolgere diverse funzioni tramite le chat.
Stiamo navigando tranquillamente nella rete quando improvvisamente il nostro fido PC inizia a fare cose strane: alcune finestre si chiudono, il cassettino del lettore CD sembra posseduto, strane immagini appaiono e scompaiono dallo schermo e una bella musichetta gira in sottofondo… No, non è la trama di un film e non significa che un’entità aliena tenta di mettersi in contatto con noi. La realtà è che qualche lamer (persona che dice di essere un grande hacker quando in realtà è solo una vandalo informatico… ma questo non è il momento di etica) si sta divertendo alle nostre spalle. Ma come fanno questi “individui” (parola da interpretare in modo dispregiativo) a fare cose del genere? Semplice: per mezzo di una Back Door.
Questi programmi permettono di avere il pieno controllo di un PC remoto. Alla loro nascita consistevano in semplici “porte secondarie” (come dice il nome stesso), che i programmatori lasciavano aperte per accedere al loro lavoro e apportarvi delle modifiche. Poi l’idea si è diffusa! Ora la semplicità di utilizzo e l’interfaccia “user friendly” di questi strumenti, permettono a chiunque di violare un sistema remoto. Il vandalo di turno ha la possibilità di utilizzare il computer “vittima” come se lo avesse di fronte (e forse anche meglio).
Generalmente sono costituiti da due parti: il Client e il Server. Il server (la parte di programma da installare sul sistema vittima), quando viene eseguito, apporta delle modifiche al registro di sistema in modo da essere avviato ad ogni sessione e si mette in ascolto su una determinata porta; solitamente è di piccole dimensioni e la sua esecuzione è invisibile all’utente. Il client, invece, è installato sulla macchina “dell’aggressore”. Questa applicazione (come già detto, pienamente conforme all’interfaccia “user friendly” tipica di Windows) permette di comunicare con il server. Esistono centinaia di Back Door ma, grossomodo, la maggior parte tende ad avere le caratteristiche delle tre più famose (ed utilizzate): Net Bus, Back Orifice, Sub Seven.
Quindi i comandi a disposizione variano dalla ricerca di password alla gestione dei file, dalla modifica del registro all’esecuzione di applicazioni. Sono praticamente infinite le cose che si possono fare, limitate solo dalle possibilità della macchina remota (… se è senza stampante non si può pretendere di stampare).
Net Bus Pro
Questo è il RAT (Remote Administrator Tool) più semplice e, manco a dirlo, anche il più diffuso. Un po’ snobbato negli ambienti hacker a causa di alcune funzioni destinate al puro divertimento (ad esempio l’apri/chiudi del lettore CD, oppure il controllo del mouse) è comunque giunto alla versione Pro 2.10.
Caratteristica curiosa: Net Bus pro 2.10 è distribuito in licenza shareware, il costo per registrare il programma è di 15 dollari.
I comandi di Net Bus Pro 2.10
- IP Scanner: Come ogni altro Back door, ha a disposizione un programmino che scansiona un “range” di indirizzi IP, alla ricerca di PC con il server in ascolto su una determinata porta.
- Host information: Permette di ricevere alcune informazioni sul sistema remoto, queste informazioni variano dalla memoria ram alle password nascoste nel sistema infetto
- Chat manager: Oltre alla possibilità di aprire una chat con il sistema remoto, permette di inviare dei messagebox (quei messaggi tipo questo) personalizzati, e di sapere quale è stata la risposta.
- File manager: E’ simile all’esplora risorse di windows, permette di cancellare o creare file e fare download e upload.
- Window manager: Permette di sapere quali applicazioni sono attive, e ovviamente di interagire con esse.
- Registry manager: Esplora o modifica il registro di configurazione.
- Sound system: Modifica il bilanciamento dei suoni.
- Plugin manager: L’aspetto di Net Bus può essere cambiato attraverso dei plugin, proprio come winamp.
- Port redirect: Utilizza il sistema remoto come un proxy.
- Application redirect: Permette di eseguire delle applicazioni dalla macchina con il client, eseguendone i comandi su quella con il server. (Ad esempio è possibile avere un prompt del dos; i comandi che vengono scritti, verranno eseguiti sul PC remoto.
- File actions: E’ possibile eseguire dei files, dei suoni, visualizzare delle immagini, aprire documenti e avviare delle stampe.
- Spy functions: Permette di “leggere” i tasti premuti sulla tastiera remota, di “fotografare” ciò che c’è sul monitor, di catturare un’immagine con la webcam e di registrare dei suoni.
- Exit windows: Da la possibilità di spegnere e resettare il sistema remoto.
- Cool functions: Come già detto in precedenza, Net Bus ha la caratteristica di avere dei comandi destinati allo scherzo; ad esempio può aprire/chiudere il cassettino del lettore, disabilitare alcuni tasti o eseguire dei suoni quando alcuni di essi vengono premuti, invertire i bottoni del mouse, aprire il browser verso un URL prestabilito e scrivere al posto della tastiera remota; ad esempio, se l’utente remoto sta chattando, è possibile scrivere a posto suo.
- Script manager: Da la possibilità di pianificare tutti i comandi.
Questo è ciò che può fare Net Bus Pro 2.10, ho riportato i comandi a puro scopo informativo. Sono convinto che per neutralizzare un pericolo bisogna prima conoscerlo il più possibile; finché non sappiamo quale è la causa di un problema, difficilmente potremo risolverlo con successo.
Il server di Net Bus Pro 2.10
Il server di Net Bus è ampiamente configurabile: come standard lavora sulla porta 20034, ma questo valore può essere facilmente cambiato. Può essere settato per dare il pieno controllo del PC remoto, per darne solo l’accesso base (si limita a riferire il contenuto del sistema remoto, senza poter fare altro) o per darne l’accesso in modalità spia (è possibile fare upload e download ma non si può alterare nulla). Altra possibilità è quella di settare il server come completamente visibile, visibile solo nella systray (dove c’è l’orologio), visibile solo con la combinazione Ctrl+Alt+Canc oppure totalmente invisibile.
E’ possibile dare una password di accesso al server, in questo modo solo chi conosce la chiave di accesso potrebbe entrare nel sistema; ho scritto “potrebbe” perché questa protezione non è molto affidabile.
Esiste anche la possibilità di dare accesso con Telnet e tramite HTTP, su porte configurabili.
Come comunicano il client e il server di Net Bus
Premetto che ciò che state per leggere vale per la versione 1.6 (probabilmente anche 1.7) di Net Bus. La versione 2.10 pro, comunica in modo differente.
Tuttavia ho ritenuto opportuno (ed interessante) inserire queste righe, se non altro per imparare qualcosa di più sui nostri nemici.
La comunicazione tra client e server, avviene tramite pacchetti non codificati, quindi, conoscendo i comandi che il client manda al server, possiamo benissimo utilizzare programmi tipo Telnet per gestire la backdoor.
La struttura dei comandi è la seguente:
|
|
Quindi ogni parametro è separato da un “;” e alla fine c’è un INVIO.
Ad esempio, per aprire il cassettino del lettore CD, il server riceve:
|
|
mentre per chiuderlo:
|
|
In uno dei paragrafi precedenti ho detto che la password di accesso al server non è tra le più sicure… infatti appena qualcuno si connette al server, questo invia la propria versione seguita da una “X” se è richiesta una password (in caso contrario invia solamente la versione).
Dall’altra parte, quando il client invia la password, lo fa in questo modo:
|
|
Il server riceve la password, la confronta con quella originale e, se corrispondono, risponde con:
|
|
Se invece la password è errata la risposta è:
|
|
La protezione non è sicura perché basta sostituire lo “0” con un “1” nel comando inviato dal client, per avere l’accesso anche se la parola d’ordine è errata. Quindi connettendosi con Telnet al server e digitando:
|
|
la password verrà cambiata con una a piacimento.
Il comando ServerPwd, come appena visto, serve per cambiare la password, e prende come unico parametro la nuova password; se questo parametro non viene specificato, la protezione viene annullata.
Altro comando è
|
|
Lo scambio di comandi che avviene è questo:
|
|
Il server risponde con “Info;”, seguito dal contenuto testuale della finestra di info che verrà visualizzata dal client (i caratteri “|” sostituiscono l’invio).
I messaggi
NetBus utilizza due tipi di messaggi: alcuni danno la possibilità di rispondere, mentre altri no. Nel primo caso, il comando che viene inviato al server è
|
|
e il server risponde:
|
|
Nel secondo caso le cose si fanno un po’ più complicate. Il comando inviato al server comprende gli stessi parametri necessari per la chiamata API MsgBox. Ad esempio:
|
|
fa apparire un messaggio che non da possibilità di rispondere (0), con testo “ciao!”, titolo della finestra “Information”, ed infine con l’icona relativa ai messaggi di informazione e solo il tasto “ok” (64).
Il server risponde in maniera molto semplice… ad esempio nel caso in cui sia stato premuto OK:
|
|
Sub Seven
Con un’interfaccia grafica diversa dal solito e molto meno amichevole rispetto a Net Bus ed a Back Orifice, è dotato di innumerevoli comandi, tra cui i più caratteristici sono: la possibilità di scrivere messaggi “matrix” (simili, se non identici, alla scena in cui Neo viene contattato) e un simpatico “tris”. L’ultima versione di questo trojan è la 2.2. Il client è compatibile anche con il server di Net Bus fino alla versione 1.7.
I comandi di Sub Seven 2.2
I comandi di questo trojan, sono organizzati come un menu “ad albero”, simile, ad esempio, alla rappresentazione delle cartelle e sottocartelle del gestione risorse di Windows.
- Shortcuts: Contiene dei collegamenti ai comandi più utilizzati, divisi in 3 sottogruppi: Local shortcuts, in cui sono presenti una rubrica, una console, alcuni tool per l’indirizzo IP e non (ping, resolve host name e resolve UIN ICQ) e un menu per settare l’aspetto e le funzioni dell’ambiente di lavoro. Misc shortcuts: file manager (un gestione risorse remoto), queue (un menu che tiene sotto controllo i download), Windows manager (che gestisce le finestre aperte), screen capture (per “fotografare” lo schermo), plugin manager (gestisce i plugin del PC remoto). Open, questo sottomenu da la possibilità di aprire il notepad, telnet o la Home Page di Sub Seven 2.2 (sul PC locale).
- Connection: Da la possibilità di connettersi tramite proxy, di ottenere delle informazioni sul PC remoto, di gestire il server (cambiare la password, la porta, chiudere il server…), di notificare la connessione alla rete su ICQ, IRC o tramite posta, di effettuare download dalla rete, di scandire un “range” di IP dalla macchina remota o da quella locale.
- Keys/messages: Contiene un keylogger (un programma che salva tutti i tasti premuti in un file di testo; utile per scoprire password non salvate), permette di disabilitare o riabilitare tutti i tasti, di far apparire messaggi tipo matrix (questo non apre una chat, il remoto non può rispondere), di mandare messagebox, di spiare le comunicazioni in chat (supporta ICQ, MSN messenger, Aol instant messenger e Yahoo messenger) e di prendere il controllo di ICQ.
- Advanced: Permette di impostare un server ftp, di cercare file tramite estensione (come il trova file di Windows), di “sniffare” pacchetti UDP destinati alla macchina remota, di scovare password, di manipolare il registro di configurazione (tramite un registry editor), di curiosare (e disabilitare) fra i drive e le cartelle, di usare il PC remoto per redirect (usarlo come una specie di proxy) ed infine di scoprire tutte le connessioni tramite il comando Netstat.
- Miscellaneous: Contiene un file manager (esplora risorse remoto), Windows manager (gestore delle finestre), un programmino che (se sulla macchina remota è presente il motore di text2speech) fa parlare la macchina remota, uno strumento che visualizza i contenuti della clipboard e uno che permette di stampare ciò che si vuole.
- Fun manager: Permette di catturare ciò che c’è sullo schermo e ciò che vede la webcam, di far rimbalzare la schermata, di gestire la stampante, di aprire il browser su un determinato URL, di cambiare la risoluzione, di cambiare i colori di Windows, di giocare a tris con l’utente remoto e di inviare messaggi matrix.
- Fun other: Tramite questo menu si può spegnere, resettare o bloccare la macchina remota, controllare il mouse, modificare il volume, utilizzare il microfono, cambiare ora e data, nascondere le icone del desktop, nascondere il pulsante “start” e la taskbar, aprire/chiudere il cassettino del lettore CD, nascondere l’orologio, disabilitare Ctrl+Alt+Canc e giocare con i tasti caps lock, num lock e scroll lock.
- Plugin: Gestisce i plugin remoti.
- Local option: Permette di configurare il client, dando la possibilità di aggiungere, rimuovere o modificare i comandi e i plugin.
Il server di Sub Seven 2.2
Come per gli altri trojan che campeggiano nel campo, Sub Seven dispone di un editor per il server. Questo usa come default la porta 27374 (ma questo valore è modificabile), ha una dimensione che si aggira intorno ai 55 kb (ovviamente se non compattato) e penso sia il server maggiormente configurabile. Dall’editor è possibile cambiare l’icona, unirlo ad altri file (anche non .exe), settarlo in modo da notificare la connessione alla rete via ICQ, e-mail, Sin, IRC e CGI e fare in modo che modifichi o meno il registro e i files win.ini e system.ini.
Back Orifice
Rappresenta il RAT dall’aspetto più professionale. Originariamente nato per scopi legali (come il concetto stesso di back door) è ora considerato il trojan preferito dai loschi individui. La comprensione del programma è semplice (non come Net Bus, ma comunque semplice); dispone anche di un Wizard Setup per configurare il server. Attualmente la sua ultima versione è la 2000. Questo software è copyright “Cult of the Dead Cow” (Culto della Mucca Morta).
I comandi di Back Orifice 2000
A differenza degli altri trojan più diffusi, i comandi di BO, vengono riportati in una finestra a parte, che appare quando si specifica con che server ci si vuole connettere; all’interno di questa finestra sono organizzati come un menu ad albero.
- Simple: Contiene ping e query.
- System: Da questo menu è possibile resettare la macchina remota, bloccarla, ottenere una lista di password e delle informazioni sul PC (remoto).
- Key logging: Gestisce un keylogger, che permette di sapere quali tasti sono stati premuti (quindi anche le password non salvate).
- GUI: Manda i messagebox.
- TCP/IP: Alcune informazioni sulle comunicazioni remote, apre un server HTTP e gestisce le porte aperte.
- Process control: Permette di gestire tutti i processi della macchina remota.
- Registry: Modifica il registro di configurazione.
- Multimedia: Cattura immagini ed esegue file sonori (solo wav).
- File/Directory: Con questi comandi è possibile gestire file e cartelle, permette anche di modificare gli attributi.
- Compression: Comprime e decomprime file.
- DNS: Traduce un Host name in indirizzo IP numerico e viceversa.
- Server control: Controlla e gestisce il server remoto.
- Legacy buttplugs: Aggiorna il server tramite dei plugin.
Il server di Back Orifice 2000
Ha una dimensione che si aggira intorno ai 136 Kb ed è ampiamente configurabile, anche grazie ad un Wizard Setup in 8 passaggi. Questo permette di stabilire se la comunicazione avverrà tramite TCP/IP o attraverso pacchatti UDP, la porta da sfruttare (i Wizard ci ricorda persino che scegliendo un porta fra la 1 e la 1024 probabilmente si avranno conflitti con altri demoni), dà la possibilità di scegliere tra due tipi di crittografia per la comunicazione col client e permette di settare una password di accesso (che, a seconda del tipo di crittografia, dovrà essere lunga almeno 4 o 14 caratteri). E’ inoltre possibile installare dei plugin, in modo da aggiornare i comandi del server.
Diffusione
Come detto in precedenza, le back door differiscono dai virus in quanto (generalmente) non hanno la capacità di autoreplicarsi. Ma allora come sono riusciti a diffondersi in tutta la rete?
Ci sono moltissimi modi per infettare nuovi PC con il server di qualche trojan: questo può essere nascosto dentro altri file e diffuso via e-mail o (più raramente) su dischetti; può essere installato da un hacker per mantenere l’accesso root, può unirsi ad un worm (ottenendo così la capacità di autoreplicarsi)… e potremmo andare avanti all’infinito, limitati solo dall’immaginazione.
La posta elettronica, rappresenta sicuramente il mezzo più comune, anche se una normale mail con allegati sospetti sarebbe facilmente smascherbile. Vediamo quindi le principali strategie adottate dai diffusori dei server per inviare mail non troppo normali e ben più pericolose.
Antivirus cechi
La tecnica più pericolosa, in quanto rende il server invisibile agli antivirus, consiste nel compattare il server stesso con un compattatore di eseguibili (come wwpack32 o ASPack) e nel fonderlo con altri file tramite tools (come stealth installer).
I compattatori di eseguibili hanno la caratteristica di comprimere l’area dati e codici del file mantenendo inalterate le sue funzioni, quindi il risultato sarà un server invisibile (in quanto l’antivirus non sarà più in grado di riconoscerlo) ma comunque eseguibile (e pericoloso).
I programmi tipo Stealth Installer e Skillrope invece, riescono a unire più file in un unico eseguibile; all’esecuzione del file ottenuto, i files originari si rigenereranno e verranno eseguiti. La pericolosità di questi tool è che generalmente codificano i codici con chiavi random MOD-OR di lunghezza infinita, rendendo irriconoscibili i files originari.
Exploits
Sono numerosissimi gli exploits che permettono di nascondere e far eseguire un file: il più famoso credo sia quello del MIME (penso sia il più famoso perché è apparso anche su “Io Programmo”). Questo exploit (di dubbia efficacia) viene sfruttato facendo passare un tipo di allegato per qualcos’altro: ad esempio è possibile far passare un exe per un jpg.
Il problema del protocollo MIME è che se il Subject è di 255 caratteri ASCII (quindi anche spazi vuoti), ad esso può essere data un’estensione diversa da quella “dichiarata” nel Content type. Quindi otterremo un allegato con icona (e falsa estensione se in Subject viene messo il nome con una falsa estensione) diversa da quella di default per l’estensione reale. Al posto di un’icona di applicazione vedremo l’icona di immagine.
Questo exploit è quindi in grado di confondere le idee ad un ignaro utente, che vede un’immagine allegata (molto meno sospetta rispetto ad un eseguibile). Se poi l’antivirus non rileva nulla (grazie agli ormai noti “compattatori di eseguibili”) la faccenda è ancora più rischiosa.
Autoreplicazione
E’ vero, per definizione i trojan non si replicano da soli. Tuttavia nessuno impedisce ad un “individuo” di creare un worm che apra delle porte sul sistema infetto. Questa tecnica (molto poco diffusa di cui non si hanno notizie certe) penso comunque sia controproducente per l’individuo stesso; è vero che avrebbe numerose macchine infette a disposizione, ma è anche vero che in tempo breve l’infezione verrebbe scoperta ed eliminata. L’obiettivo dei trojan, invece, è quello di rimanere nascosto il più possibile nella macchina remota. In secondo luogo c’è anche da considerare che la stragrande maggioranza degli utilizzatori di Back Door non è in grado di creare o modificare un worm e viceversa.
Questi sono solo dei piccoli esempi di come un server trojan riesce a diffondersi nella rete. Come già detto le tecniche sono praticamente infinite, limitate solo all’immaginazione e alla creatività di chi li usa.
Per non far confusione, penso sia meglio dividere l’argomento in due parti, ovvero: Prevenire e Curare.
Prevenire
Che dire? Beh, sicuramente la prima regola per evitare infezioni è: Non fidarti se non di te stesso (e in certi casi, non fidarti nemmeno di te stesso :); non cedere mai alla curiosità di sapere che cosa c’è nell’allegato, anche se la mail viene dalla casella del tuo migliore amico, non è detto che sia stato lui a mandarla… Le stesse regole che evitano le infezioni di virus e worm, sono efficaci anche sul campo trojan (vedi sezione virus e worm).
Da sole però non bastano, la mancanza di autoreplicazione infatti, se è un vantaggio da una parte, non lo è dall’altra: non dobbiamo difendere la nostra macchina da un programma (quindi da un qualcosa di ripetitivo, che esegue determinati comandi) ma da una persona che ragiona a modo suo, non seguendo determinati schemi o comandi, e questo rappresenta un pericolo. E’ vero, è un ragionamento paranoico, la rete non è poi così piena di individui che aspettano solo di entrare nel nostro computer (anche perché non contiene informazioni così preziose), ma serve comunque a essere un pochino più cauti, risparmiandoci errori stupidi.
Inutile ricordare che un antivirus non aggiornato è un antivirus semi-inutile e che una scansione ogni tanto non nuoce.
Importante è anche avere un CD o comunque delle copie dei dati importanti, custodite al di fuori del PC connesso alla rete, in modo da limitare gli eventuali danni.
Nel campo dei trojan però, dobbiamo ricordarci che il rischio più grande non è quello di perdere dei dati (o anche tutti i dati): il pericolo reale è che un intruso può usare la nostra macchina per ridirezionare il flusso dei dati. In poche parole, l’intruso navigherà con il nostro IP e, se farà danni, i responsabili potremmo risultare noi.
Come evitarlo? Come disse non mi ricordo più chi, “l’unico computer sicuro è quello sconnesso, spento e chiuso in una stanza schermata da due metri di piombo… e anche in questo caso ho dei dubbi” Ovviamente la situazione non è così grave, basterebbe essere sconnessi… già, ma così non potremo accedere alla rete… quindi ecco che ci vengono incontro i firewalls. Personalmente consiglio ATGuard e Conseal (utilizzati insieme danno una buona protezione, anzi veramente buona). Questi programmi controllano costantemente tutte le connessioni della macchina e chiedono conferma per ogni tipo di comunicazione, cosa che blocca i tentativi di lamer e simili (“per Hacker veri… speriamo che non facciano troppi danni”).
Curare
Il nostro antivirus di fiducia (aggiornato) dovrebbe eliminare il problema, ma non è sempre così. Se il risultato della scansione non ci soddisfa, dobbiamo innanzitutto sapere il più possibile su che tipo di trojan è installato sul nostro PC: la “port list” potrebbe tornarci utili qualora con il comando “netstat” (ne parleremo più sotto) scoprissimo comunicazioni sospette su una determinata porta. Una volta scoperto di che si tratta, possiamo seguire diverse strategie: la più facile penso sia procurarsi il client e chiudere il server per poi eliminarlo manualmente.
Altro metodo consiste nel controllare manualmente il registro di configurazione, eliminando comandi sospetti nella chiave
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
stando ovviamente attenti a non cancellare cose utili (o vitali). Una volta eliminata la chiamata “maligna” potremo eliminare il server dal nostro sistema solo dopo aver riavviato; infatti non potremo cancellare il file poiché questo risulta in esecuzione.
In rete si possono trovare dei tool (Netbuster e simili) per eliminare i server dei trojan più famosi. Queste applicazioni sono efficaci la maggior parte delle volte, però spesso hanno il brutto difetto di nascondere altri server di altri trojan… quindi valutatene voi la validità.
Dimenticavo: spesso i server sono accompagnati da un file con estensione dll. Questo è il file dedicato al keylogger… di per se non è pericoloso perché, una volta eliminato il server, cade in disuso: prima di rischiare di eliminare una dll utile, è meglio pensarci due volte; comunque i nomi delle dll possono essere cambiati (non nella configurazione dei server ma in hex) quindi… forse è meglio lasciarle dove sono.
Netstat
Ovvero il miglior amico di chi non si sente al sicuro. Netstat si trova in c:\windows ed è un programma MS-DOS, quindi per lanciarlo bisogna prima aprire il prompt dos e poi digitarne il nome.
Netstat è in grado di visualizzare e monitorare tutte le connessioni e le porte in ascolto della nostra macchina, quindi può anche dirci se c’è qualche demone in ascolto su qualche porta.
Il comando netstat è seguito da diversi parametri, in questo modo:
NETSTAT [-a] [-e] [-n] [-s] [-p XX] [-r] [intervallo]
- -a: Visualizza tutte le connessioni e le porte di ascolto.
- -e: Visualizza le statistiche Ethernet. L’opzione può essere associata al parametro -s.
- -n: Visualizza gli indirizzi e i numeri di porta in forma numerica.
- **-p XX**Visualizza connessioni del protocollo specificato da “XX” questo può essere TCP o UDP. Se usato con l’opzione -s per le statistiche, “XX” può essere TCP, UDP, o IP.
- -r: Visualizza la tabella di routing.
- -s: Visualizza le statistiche per protocollo. Per impostazione predefinita, le statistiche sono visualizzate per TCP, UDP e IP; l’opzione -p può essere utilizzata per specificare un sottoinsieme dell’impostazione predefinita.
- intervallo: Rivisualizza le statistiche selezionate, interrompendo per un numero di secondi pari a “intervallo” tra ogni visualizzazione. Premere CTRL+C per fermare la visualizzazione delle statistiche. Se omesso, netstat stamperà le informazioni di configurazione correnti una sola volta.
Quindi, lanciando “NETSTAT -an 20” avremo un rapporto aggiornato ogni 20 secondi sulle connessioni della macchina, le porte in ascolto, gli indirizzi (in formato numerico) e le porte delle macchine a cui siamo connessi.
Da tenere sott’occhio sono le porte remote, sapendo che la 80 (o anche 8080) è usata dai server web (non dei trojan ma da quelli che ospitano i siti), la 21 dal protocollo ftp, la 23 da telnet, la 25 per SMTP e la 110 per POP3 (per una lista completa visita la lista delle porte) e che generalmente le porte dalla 1 alla 1024 vengono usate da programmi conosciuti e non bellicosi, se ci troviamo connessi a una porta remota più alta di 1024 e non dovrebbe essere così… beh, allora sapremo su che porta comunica il trojan e, con ogni probabilità, avremo l’IP dell’intruso..'
Esempio di codice C
In questa pagina il nostro discorso andrà oltre l’aspetto esteriore dei trojan. Di seguito viene illustrato il codice di un piccolo server, l’applicazione, che chiameremo miniserver, si metterà in ascolto sulla porta 4444 e, dopo un preciso comando inviatogli dal client (telnet e simili), farà apparire un messaggio avvertendo l’utente della macchina remota che il suo pc è insicuro. Per sviluppare miniserver è stato usato il linguaggio C++ e per la compilazione Dev C++, ma penso che qualsiasi compilatore C/C++ vada bene.
Bene, iniziamo. Per rendere più facile la lettura del codice, lo riportiamo in colori diversi, in azzurro verranno riportati i commenti, mentre in nero ed in verde il codice vero e proprio (in rosso gli avvisi a video).
|
|
Beh, con il codice soprastante non è possibile arrecare danni ad una eventuale vittima, penso serva comunque a capire con che facilità potrebbe essere generato un trojan. A seconda del linguaggio utilizzato, questo potrà avere funzioni più o meno complesse e dimensioni diverse (il nostro miniserver occupa circa 8 kb).
Le porte più diffuse
Port | Trojan |
2 | Death |
21 | Back Construction, Blade Runner, Doly Trojan, Fore, FTP Trojan, Invisible FTP, Larva, MBT, Motiv, Net Administrator, Senna Spy FTP Server, WebEx, WinCrash |
23 | Tint Telnet Server, Truva Atl |
25 | Ajan, Antigen, Email Password Sender, Gip, Haebu Coceda, Happy 99, I Love You, Kaung2, Pro Mail Trojan, Shtrilitz, Stealth, Tapiras, Terminator, WinPC, WinSpy |
31 | Agent 31, Hackers Paradise, Masters Paradise |
41 | Deep Throat |
48 | DRAT |
50 | DRAT |
59 | DMSetup |
79 | Firehotcker |
80 | Back End, Executer, Hooker, RingZero |
99 | Hidden Port 2.0 |
110 | ProMail Trojan |
113 | Invisible Identd daemon, Kazimas |
119 | Happy99 |
121 | Jammer Killah V |
123 | Net Controller |
133 | Faranz, port 146 - Infector |
146 UDP | Infector |
170 | A-Trojan |
421 | TCP Wrappers |
456 | Hackers Paradise |
531 | Rasmin |
555 | ini-Killer, NetAdmin, Phase Zero, Stealth Spy |
666 | Attack FTP, Back Construction, Cain & Able, NokNok, Satanz Backdoor, ServeU, Shadow Phyre |
667 | SniperNet |
669 | DP Trojan |
692 | GayOL |
777 | Aimspy |
133 | Faranz, port 146 - Infector |
808 | WinHole |
911 | Dark Shadow |
999 | Deep Throat, WinSatan |
1000 | Der Spaeher 3 |
1001 | Der Spaeher 3, Doly Trojan, Silencer, WebEx |
1010 | Doly Trojan 1.35 |
1011 | Doly Trojan |
1012 | Doly Trojan |
1015 | Doly Trojan 1.5 |
1016 | Doly Trojan 1.6 |
1020 | Vampire |
1024 | NetSpy, Psyber Streaming Server |
1029 | InCommand Access |
1033 | NetSpy |
1042 | Blah 1.1 |
1045 | Rasmin |
1050 | Mini Command 1.2 Access |
1080 | WinHole |
1081 | WinHole |
1082 | WinHole |
1083 | WinHole |
1090 | Xtreme |
1095 | RAT |
1097 | RAT |
1098 | RAT |
1099 | BFevolution, RAT |
1170 | Psyber Stream Server, Streaming Audio Trojan, Voice |
1200 UDP | NoBackO |
1201 UDP | NoBackO |
1207 | Softwar |
1212 | Kaos |
1225 | Scarab |
1234 | Ultors Trojan |
1243 | BackDoor-G, SunSeven, SubSeven Apocalypse |
1245 | VooDoo Doll |
1255 | Scarab |
1256 | Project nEXT |
1269 | Mavericks Matrix |
1313 | NETrojan |
1338 | Millenium Worm |
1349 UDP | BackOrifice DLL |
1492 | FTP99CMP |
1509 | Psyber Streaming Server |
1524 | Trinoo |
1600 | Shivka-Burka |
1777 | Scarab |
1807 | Spy Sender |
1981 | Shockrave |
1966 | Fake FTP |
1969 | OpC BO |
1981 | Shockrave |
1999 | TransScout, Backdoor |
2000 | Der Spaeher 3, TransScout, Insane Network 4, Milennium |
2001 | Der Spaeher 3, TransScout, Trojan Cow |
2002 | TransScout |
2003 | TransScout |
2004 | TranScout |
2005 | TransScout |
2023 | Ripper Pro, PassRipper |
2080 | WinHole |
2115 | Bugs |
2140 | Deep Throat, The invasor |
2155 | illusion Mailer |
2283 | HVL Rat 5 |
2300 | Xplorer |
2565 | Striker |
2583 | WinCrash 2 |
2600 | Digital Root Beer |
2716 | The Prayer 2 |
2773 | SubSeven |
2801 | Phineas Phucker |
2989 UDP | Rat |
3000 | Remote Shutdown |
3024 | WinCrash |
3128 | RingZero |
3129 | Masters Paradise |
3150 | Deep Throat, The invasor |
3459 | Eclipse 2000, Sanctuary |
3700 | Portal Of Doom |
3791 | Eclypse, Totaleclipse 1.0 |
3801 UDP | Eclypse |
4000 | Psyber Streaming Server, Skydance |
4092 | WinCrash |
4242 | Virtual Hacking Machine |
4321 | BoBo, SchoolBus 1.0 |
4444 | Prosiak, Swift remote |
4567 | File Nail |
4590 | ICQTrojan |
5000 | Bubbel, Back Door Setup, Sockets de Troie, Socket 23 |
5001 | Back Door Setup, Socket de Troie |
5010 | Solo |
5011 | One Of The Last Trojans (OOTLT), OOTLT Cart |
5031 | NetMetropolitan 1.0/1.04 |
5032 | NetMetropolitan |
5321 | Filehotcker |
5343 | wCrat |
5400 | Blade Runner, Back Construction 1.2/1.5 |
5401 | Blade Runner, Back Construction |
5402 | Blade Runner, Back Construciton |
5512 | illusion Mailer |
5521 | illusion Mailer |
5550 | Xtcp, Xtcp2 |
5555 | ServeMe |
5556 | Bo Facil |
5557 | Bo Facil |
5569 | RoboHack |
5637 | Crasher |
5638 | Crasher |
5714 | WinCrash |
5741 | WinCrash |
5742 | WinCrash |
5882 UDP | Y3K RAT |
5888 | Y3K RAT |
6000 | The Thing |
6006 | The Thing |
6272 | Secret Service |
6400 | The Thing |
6666 | TCPShell (*NIX Backdoor) |
6669 | Vampyre |
6670 | Deep Throat |
6711 | SubSeven |
6712 | SubSeven |
6713 | SebSeven |
6723 | Mstream |
6771 | Deep Throat |
6776 | BackDoor-G, SubSeven |
6838 UDP | Mstream |
6883 | DeltaSource |
6912 | ShitHeep |
6913 | ShitHeep Danny |
6939 | Indoctrination |
6969 | GeteCrasher, Priority, IRC 3 |
6970 | GeteCrasher |
7000 | Remote Grab, Kazimas |
7001 | Freak88 |
7215 | SubSeven |
7300 | NetMonitor |
7301 | NetMonitor |
7302 | NetMonitor |
7303 | NetMonitor |
7304 | NetMonitor |
7305 | NetMonitor |
7306 | NetMonitor |
7307 | NetMonitor |
7308 | NetMonitor |
7309 | NetMonitor |
7424 | Host Control |
7424 UDP | Host Control |
7789 | Back Door Setup, ICKiller |
7983 | Mstream |
8080 | RingZero |
8787 | BO2K |
8879 | Hack Office Armageddon |
8988 | BacHack |
8989 | Rcon |
9000 | Netministrator |
9325 UDP | Mstream |
9400 | InCommand |
9872 | Portal Of Doom |
9873 | Portal Of Doom |
9874 | Portal Of Doom |
9875 | Portal Of Doom |
9876 | Cyber Attack, RUX |
9878 | TransScout |
9989 | ini-Killer |
9999 | The Prayer 1 |
10067 UDP | Portal Of Doom |
10085 | Syphillis |
10086 | Syphillis |
10101 | BrainSpy |
10167 UDP | Portal Of Doom |
10520 | Acid Shivers |
10528 | Host Control |
10607 | Coma |
10666 | Ambush |
10752 | LINUX mounts Backdoor |
11000 | Senna Spy |
11050 | Host Control |
11051 | Host Control |
11223 | Progenic Trojan |
12076 | Gjamer |
12223 | Hack 99 KeyLogger |
12345 | NetBus, GabanBus, X-Bill, Pie Bill Gates |
12346 | NetBus 1.0, GabanBus, X-Bill |
12361 | Whack-a-Mule |
12362 | Whack-a-Mule |
12623 UDP | DUN Control |
12624 | Buttman |
12631 | Whack Job |
12701 | Eclipse 2000 |
12754 | Mstream |
13000 | Senna Spy |
13010 | Hacker Brazil |
13700 | Kuang 2 The Virus |
15092 | Host Control |
15104 | Mstream |
16484 | Mosucker |
16660 | Stracheldracht |
16772 | ICQ Revenge |
16959 | Subseven DEFCON8 2.1 |
16969 | Priority, Portal Of Doom |
17166 | Mosaic |
17300 | Kaung 2 The Virus |
17777 | Nephron |
18753 UDP | Shaft |
19864 | ICQ Revenge |
20000 | Milennium |
20001 | Milennium |
20002 | AcidkoR |
20034 | NetBus 2 Pro |
20203 | Logged!, Chupacabra |
20331 | Bla |
20432 | Shaft |
20432 UDP | Shaft |
21544 | Girl Friend, Kidterror, Schwindler 1.8, Schwindler 1.82 |
22222 | Prosiak |
23023 | Logged |
23432 | Asylum |
23456 | Evil FTP, Ugly FTP, Whack Job |
23476 | Donald Duck |
23476 UDP | Donald Duck |
23477 | Donald Duck |
26274 UDP | Delta Source |
26681 | Spy Voice |
27374 | SubSeven 2.1 |
27444 UDP | Trinoo |
27573 | SubSeven |
27665 | Trinoo |
29104 | Host Control |
29891 UDP | The Unexplained |
30001 | TerrOr32 |
30029 | AOL Trojan 1.1 |
30100 | NetSphere |
30101 | NetSphere |
30102 | NetSphere |
30103 | NetSphere |
30103 UDP | NetSphere |
30133 | NetSphere Final 1.31.337, Trojan Spirit 2001a |
30303 | Sockets de troie, Socket 23, Socket 25 |
30974 | Intruse |
30999 | Kaung 2 |
31335 UDP | Trinoo |
31336 | BO Whack, ButtFunnel |
31337 | Baron Night, BO Client, BO2, BO Facil |
31337 UDP | Back fire, Back Orifice, Deep BO |
31338 | NetSpy DK, ButtFunnel |
31338 UDP | Back Orifice, Deep BO |
31399 | NetSpy DK |
31554 | Schwindler |
31666 | BoWhack |
31785 | Hack a Tack |
31787 | Hack a Tack |
31788 | Hack a Tack |
31789 UDP | Hack a Tack |
31791 UDP | Hack a Tack |
31792 | Hack a Tack |
32100 | Peanut Brittle, Project nEXT |
32418 | Acid Battery 1.0 |
33333 | Blakharaz, Prosiak |
33577 | PsychWard |
33777 | PsychWard |
33911 | Spirit 2001a |
34324 | BigGluck, TN, Tiny Telnet Server |
34555 UDP | Trinoo - Windows |
35555 UDP | Trinoo - Windows |
37651 | Yet Another Trojan |
40412 | The Spy |
40421 | Masters Paradise, Agent 40421 |
40422 | Masters Paradise |
40423 | Masters Paradise |
40426 | Masters Paradise |
41666 | Remote Boot |
41666 UDP | Remote Boot |
43210 | SchoolBus 1.6/2.0 |
44444 | Prosiak |
47262 UDP | Delta Source |
49301 | Online KeyLogger |
50505 | Sockets de Troie |
50766 | Fore, Schwindler |
50776 | Fore, Remote Windows Shutdown |
51996 | Cafeini |
52317 | Acid Battery 2000 |
53001 | Remote Windows Shutdown |
54283 | SubSeven |
54320 | Back Orifice 2000 |
54321 | Back Orifice 2000, SchoolBus 1.6/2.0 |
54321 UDP | Back Orifice |
57341 | Netraider |
58339 | ButtFunnel |
60000 | Deep Throat |
60068 | Xzip 6000068 |
60411 | Connection |
61348 | BunkerHill |
61466 | TeleCommando |
61603 | BunkerHill |
63485 | BunkerHill |
65000 | Devil 1.03, Stacheldracht |
65432 | The Traitor |
65432 UDP | The Traitor |
65535 | RC |