MegaLab.it
Stampa Articolo
Aperiodico gratuito di informatica
 
20080829222604

The Avenger: un tool dalle strabilianti capacità

01/04/2008 - articolo
Sicurezza - Un potente tool in grado di intervenire efficacemente sui file in memoria e sul registro: un ottimo alleato nella battaglia contro i virus e i malware in genere.

In questi mesi, si è spesso sentito parlare di The Avenger, di solito citato in merito alla rimozione di molti virus e malware che quotidianamente affliggono i nostri computer. Ma cos'è questo tool? Qual è la sua funzione?

The Avenger è un potente strumento gratuito, capace di cancellare file presenti sul PC e apportare modifiche al registro di sistema; è proprio questa caratteristica che ne fa un alleato fondamentale nella guerra giornaliera contro i virus.

Il segreto della sua straordinaria efficacia risiede nella sua capacità di caricare i comandi a livello kernel, il che gli consente di effettuare i comandi impartitigli nelle primissime fasi di avvio del computer, quando praticamente nessun virus è attivo e la rimozione, quindi, risulta molto più semplice.

Inserito aggiornamento per la versione 2 di Avenger, ora compatibile con Windows Vista. Per l'utilizzo della nuova versione leggete questa pagina

Introduzione al funzionamento

Come detto, The Avenger è utilissimo in quanto in grado di eseguire pressoché tutte le modifiche che desideriamo. Ma come impartirgliele? Proprio questo lo rende uno strumento difficilmente utilizzabile, da adoperare solo sotto la supervisione di una mano esperta.

Infatti, esso necessita di essere "programmato" a mano, tramite una serie di comandi ben precisi, i cosiddetti script, che devono essere preparati con cura e precisione. Ecco perché ci sentiamo in obbligo di sconsigliare all'utente alle prime armi di giocherellare con questo programma. Precisamente, esso non è in grado di riconoscere file ed elementi del registro sani da altri infetti. Se per errore eliminaste il file sbagliato, nel peggiore dei casi potreste danneggiare irrimediabilmente il sistema operativo, causandone un non corretto funzionamento, o addirittura il non funzionamento.

Per quanto concerne la preparazione degli script, essa verrà trattata in seguito.

L'interfaccia

L'interfaccia, seppur non eccezionale dal punto di vista del design grafico, è di facile interpretazione.

Facciata.jpg

Come possiamo notare, il primo insieme di comandi (1) ci consente di inserire lo script da eseguire. Abbiamo tre modalità di caricamento dello script:

Notiamo inoltre la presenza di altri tre pulsanti:

Come abbiamo detto, la compilazione degli script è molto complicata e richiede una mano esperta. Uno script è una sequenza di comandi ben precisi. Essi vengono riuniti in gruppi. Possiamo quindi immaginare uno script in questa maniera:

Ogni tipologia di comando viene seguita da ordini specifici per quella stessa tipologia. Quindi, inserire un comando specifico per una tipologia di comando (alfa) sotto un'altra tipologia (delta) non ci permette di eseguire i comandi voluti. Otterremo un errore.

Esistono ben undici comandi impartibili. Ho deciso di riunirli in gruppi, a seconda della loro funzione.

File e cartelle

In questa breve sezione ci occuperemo di quei comandi che includono la modifica, l'eliminazione, la sostituzione e il ricollocamento di file e cartelle sul nostro disco rigido.

1) Files to delete:

Questo comando, com'è facilmente intuibile da chi conosce anche solo un minimo di inglese, consente di eliminare i file desiderati. Esso è molto utile, in quanto molto spesso i file sono protetti o bloccati dagli stessi virus che vogliamo eliminare. Il programma creerà una copia del file cancellato in C:\Avenger.

Un esempio di script impartito con questo comando può essere

Il file che verrà eliminato è service32.exe, collocato in C:\Windows e relativo a un trojan.clicker.

2) Folders to delete:

Il funzionamento è praticamente identico al precedente. Questo comando, però, si occuperà di cancellare intere cartelle, incluso ovviamente il loro contenuto. Difatti, spesso accade che malware e simili creino intere cartelle ove depositare i loro file portanti. Vengono create copie di backup anche delle cartelle eliminate.

Un esempio dello script in discorso è

La cartella che verrà eliminata è ratorefaci, classico esempio di un'avvenuta infezione da Citofarera.

3) Files to move:

Questo comando ci consente di spostare un file da una cartella a un'altra. Nel caso in cui nella cartella di destinazione fosse presente un file omonimo a quello che si desidera spostare, il programma creerà una copia di backup del file, che verrà perso, quindi procederà alla sovrascrittura.

Un esempio dello script è

Il file canzone.mp3 verrà spostato dalla cartella C:\Musica\ alla cartella C:\Musica\Autore\. Se in quest'ultima cartella fosse presente un file omonimo, ne verrebbe salvata una copia di backup.

Da notare l'uso del simbolo grafico | (in gergo pipe), che ricorrerà in molti altri comandi. In questo caso, esso separa la directory di provenienza da quella di destinazione.

N.B.: La funzione Files to move non funziona se si tenta di spostare i file da una partizione all'altra. Ciò significa che un file proveniente da una directory in C:\ potrà essere spostato solo all'interno della stessa partizione C:\.

4) Files to replace with dummy:

Questo è un comando molto particolare, ma comunque molto efficace. Grazie ad esso, possiamo sostituire a un file infetto con un file omonimo, ma assolutamente vuoto. Ciò impedirà al virus di ricreare il file infetto, poiché si troverà di fronte all'impossibilità di sovrascrivere il "file-fantoccio", che risulterà quindi innocuo. Verrà creata una copia di backup dei file sostituiti.

Un esempio può essere

Il file service32.exe verrà sostituito da un file omonimo, ma vuoto e quindi innocuo.

Il registro

Questo paragrafo include i comandi più delicati, poiché appunto modificano il registro. Sappiamo benissimo che una sfortunata modifica errata al registro può provocare nel peggiore dei casi il non funzionamento del sistema.

N.B.: il programma può effettuare modifiche solo alle chiavi e ai valori inclusi nelle chiavi HKEY_LOCAL_MACHINE e HKEY_USERS (in breve HKLM e HKU). Il motivo è semplice: come abbiamo detto, il programma, per funzionare al meglio, viene lanciato dal kernel nelle primissime fasi di boot del PC, quando i virus non sono attivi. Ebbene, nemmeno l'albero del registro è completamente formato a quel punto. Ecco perché il programma non riesce ad individuare e a lavorare nelle chiavi che non siano contenute in quelle sopra citate.

5) Registry keys to delete:

Questo comando elimina le chiavi di registro indicate. Il programma effettua copie di backup anche di elementi del registro, salvandoli come file .reg; basterà un doppio click su di essi a ripristinarli nel registro.

Ad esempio,

Con questo script cancelliamo il servizio LogDrr, che potrebbe essere associato (ab esempio) ad un'avvenuta infezione da LinkOptimizer.

N.B.: da notare che The Avenger interpreta alla stessa maniera sia HKEY_LOCAL_MACHINE sia HKLM, sua abbreviazione. Stesso discorso per HKEY_USERS, che diventa HKU.

6) Registry values to delete:

Il funzionamento è del tutto simile a quello del comando precedente. In questo caso, però, si eliminano solo i valori infetti, e non le chiavi che li contengono. The Avenger, ovviamente, crea una copia di backup del valore.

In questo caso, eliminiamo il valore infetto bfne1.exe dall'avvio automatico. Notare che con questo comando il pipe (|) va posto fra la chiave interessata e il valore da eliminare collocato all'interno di essa.

7) Registry keys to replace with dummy:

Come per il comando precedente, questa opzione ci permette di sostituire la chiave del registro infetta con un "fantoccio vuoto". La chiave eliminata verrà salvata come copia di backup. Un esempio della corretta sintassi dello script:

Dopo l'esecuzione dello script, noteremo che la chiave LogDrr esiste ancora, ma ora è del tutto vuota, e quindi innocua.

8) Registry values to replace with dummy:

Stesso funzionamento del precedente. Il valore infetto verrà sostituito da un valore omonimo, ma privo di riferimenti, e quindi innocuo.

Un esempio dello script è

Il valore relativo verrà ripristinato come vuoto. Anche in questo caso, il valore precedente sarà salvato come copia di backup.

Comandi ausiliari

I rimanenti comandi impartibili con The Avenger sono tre e hanno funzioni abbastanza diverse dai precedenti.

9) Programs to launch on reboot:

Questo comando ci consente di settare il registro in modo tale da far avviare, la prima volta che accediamo a Windows, un programma da noi compilato, come ad esempio un file di batch.

Un esempio dello script è

Il file miobatch.bat verrà caricato all'avvio del sistema operativo. Potrebbe essere utilizzato per implementare le modifiche da avviare con The Avenger.

10) Drivers to unload:

Si tratta di un comando molto delicato, a tal punto che lo stesso autore del programma si raccomanda di usarlo con molta moderazione. Anch'esso agisce nel registro, ma ho preferito non unirlo agli altri, perché con esso non è necessario specificare le chiavi di registro su cui operare

Esso ci permette di disattivare un servizio di sistema; tuttavia, non verranno eliminati i file relativi, per i quali resta necessario l'uso del comando Files to delete. A questo comando sono necessari ben due riavvii del sistema per poter svolgere il proprio ruolo. Ci basterà inserire nello script il nome del servizio che vogliamo eliminare, come in questo caso:

Il servizio che disabiliteremo è relativo a un trojan.medbot.

N.B.: il nome del servizio da disabilitare è lo stesso della subkey relativa, presente in HKLM\System\CurrentControlSet\Services.

11) Comment:

L'ultimo comando è probabilmente il meno utile. Consente a chi ha stilato lo script di inserire commenti personali, che ovviamente non verranno considerati dal programma in fase di lavoro.

Prima e dopo lo script

Dopo aver inserito correttamente lo script, per avviare il programma sarà sufficiente cliccare una volta sul semaforo e dare due consensi al programma. The Avenger riavvierà il sistema, e quando esso si sarà completamente ricaricato, noteremo la comparsa di una finestra del prompt di comando. Subito dopo, comparirà un file del blocco note contenente il log che ci informerà sull'esito dello script. Il log sarà salvato nel file C:\avenger.txt. Inoltre, i backup di tutti i file e le chiavi di registro che avete eliminato col programma saranno disponibili nella cartella C:\Avenger, pronti per essere ripristinati in caso di errore.

N.B.: prima di avviare il programma, è necessario disabilitare tutti i nostri programmi di sicurezza che potrebbero interferire col corretto funzionamento di The Avenger. Assicuratevi di aver disattivato antivirus, firewall ed eventuali moduli HIPS.

Per darvi un'idea di come possa apparire il file di log, riporterò qui un esempio di uno degli script che ho compilato per ripulire un PC da alcuni virus.

In questo PC erano presenti due infezioni piuttosto di moda in questo periodo: il Backdoor-Rustock.B e il Trojan.Clicker.Small. Lo script ha avuto ottimo esito. Ecco il log generato dal programma:

Possiamo facilmente notare che tutte le voci desiderate sono state eliminate.

Conclusioni e opinioni sul programma

Come abbiamo più volte affermato, The Avenger è un programma potente e molto efficace. Si contraddistingue per la sua versatilità: le sue numerosissime funzioni ci consentono di eseguire praticamente tutte le modifiche possibili.

Tuttavia, si tratta di un tool efficace quanto potenzialmente pericoloso. Il suo uso deve appoggiarsi ad una non indifferente conoscenza del funzionamento del sistema operativo in generale e del registro nello specifico. Lo abbiamo già scritto almeno un paio di volte in questo articolo, ma non ci stanchiamo di ripeterlo: The Avenger non può essere usato alla leggera, dato che un suo non corretto uso potrebbe portare a un cattivo funzionamento del computer. Scopo di questo articolo non è quello di istruire una schiera di spericolati ;-), bensì di informare i lettori circa efficacia di questo straordinario strumento.

Recentemente, è stata resa disponibile la nuova versione di The Avenger, la 2.0 appunto.

Innovazioni

Le innovazioni apportate sono poche, ma consistenti:

La novità più importante di questa versione è sicuramente la completa compatibilità con il nuovo sistema Windows Vista.

Salta immediatamente all'occhio la nuova interfaccia, interamente rivista e riscritta. Si presenta all'utente in modo facile e intuitivo, così da essere alla portata di tutti:

The_avenger_v2_1A.JPG

Notiamo l'assenza del pulsante "lente d'ingrandimento", usato nella precedente versione per aprire il box in cui inserire lo script, ora sostituito direttamente dalla finestra principale, in cui è possibile immetterlo.

Le opzioni di caricamento alternative (Da File o Da URL) sono state anch'esse sostituite da alcuni bottoni presenti nella parte superiore dell'interfaccia; l'ultimo pulsante a destra ci consente di copiare nella finestra lo script precedentemente copiato in memoria tramite l'opzione Copia.

The_avenger_v2_2.JPG

Le opzioni di esecuzione e il pulsante Execute, adibito alla conferma dello script inserito, sono stati spostati nella parte inferiore della finestra.

The_avenger_v2_3.JPG

Una funzione importante implementata nel tool è proprio la scansione anti-rootkit.

The Avenger è ora in grado di identificare i rootkit in esecuzione e di disabilitarli. Per attivare o disattivare questo strumento, è sufficiente spuntare la voce Scan for Rootkits e/o Automatical Disable Any Rootkits Found nelle opzioni presenti in basso nella finestra.

Nella nuova versione, i backup creati dal tool sono protetti da password ("infected"), proprio per evitare un'accidentale re-infezione.

The Avenger non è più in grado di operare nella chiave HKEY_USERS (HKU), poiché il tool viene caricato prima che la chiave si sia completamente formata.

Infine, sono stati introdotti due nuovi comandi: Drivers to delete: per l'eliminazione di un driver, e Drivers to disable: per la sola disabilitazione di un driver (la sintassi è uguale per entrambi i comandi, la vedremo tra poco).

Inserimento dello script

I comandi rimangono pressoché gli stessi, a parte la piccola variazione sul comando della precedente versione Drivers to unload:, sostituito adesso dagli omonimi Drivers to delete: e Drivers to disable:.

La differenza sta nel fatto che il primo nuovo comando disabilita soltanto il servizio indicato e lascia integri i file che lo costituiscono; il secondo comando, invece, elimina proprio il servizio interessato, tralasciando però anch'esso i file che lo definiscono.

Un esempio di questi due comandi potrebbe essere il seguente:

Il driver srosa rimarrà presente nel computer, ma verrà disabilitato, mentre il driver pci32 verrà eliminato. Entrambi i servizi fanno parte del Trojan-Rootkit Bagle.

Gli altri comandi, elencati e spiegati approfonditamente nelle pagine precedenti, rimangono invariati anche nell'attuale versione di The Avenger.

Questa nuova versione di Avenger ha un problema che si presenta abbastanza di frequente, quando tentate di eseguire lo script ottenete questo messaggio di errore:

Error: invalid script. Avalid script must begin with a command directive.

Aborting execution!

In questo caso provate a cancellare e riscrivere la prima riga dello script e poi a rieseguirlo.

MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .

Copyright 2008 MegaLab.it - Tutti i diritti sono riservati