GMER è attualmente uno degli scanner antirootkit più utilizzati per l’individuazione e la rimozione di rootkit dai sistemi Windows. È spesso necessario effettuare scansioni antirootkit con software quali GMER – ed altri che vedremo in altre guide – perché gran parte degli attuali software antivirus non include tecnologie per l’individuazione di questa particolare minaccia, molto differente dalle classiche infezioni da worm, trojan, backdoor o gli ormai defunti virus.

GMER risulta essere a volte un tool complesso per molti utenti che vogliono controllare la presenza di rootkit nel sistema. In effetti il tool fornisce molti strumenti, alcuni avanzati ma che in molti casi non sono necessari per l’utente che vuole semplicemente fare un check del sistema. Vediamo dunque come utilizzare il programma.

Scarichiamo il programma dal sito http://www.gmer.net/gmer.zip e lo decomprimiamo con WinZip o un qualunque gestore di file zip sul desktop o in una qualsiasi cartella locale. Fatto ciò lanciamo gmer.exe. Ci apparirà una schermata del programma e per alcuni secondi il programma risulterà bloccato. In realtà sta effettuando una scansione preliminare del sistema alla ricerca di possibili rootkit nelle zone più delicate del sistema.

Nel 90% dei casi se è presente un rootkit l’utente verrà avvertito già a questa prima scansione. Come vediamo nell’immagine qua sotto, GMER ha individuato due particolari che risultano nascosti agli occhi degli utenti: un processo e un servizio di Windows. Quando GMER indica in rosso una riga e con la dicitura (*** hidden ***) in fondo al nome del file vuol dire che quello specifico file è nascosto agli occhi dell’utente e del sistema, cioè sta avvalendosi di particolari tecniche che permettono di poter agire indisturbato senza che l’utente sappia della sua esistenza. I rootkit usano queste tecniche per infettare un sistema.

Oltre alle righe in rosso, l’utente si può trovare di fronte ad altre informazioni scritte in normale carattere color nero. In effetti GMER non elenca esclusivamente ciò che risulta nascosto nel sistema ma anche tutte le modifiche che vengono rilevate in alcuni punti cruciali del sistema.

Perché dunque due colori, rosso e nero?

Fondamentalmente il colore nero è utilizzato per riportare quelle modifiche alle zone del sistema che però non sono chiaro simbolo di un’infezione da parte di un rootkit – software di sicurezza modificano quelle zone per avere una protezione maggiore del sistema. Invece il colore rosso è utilizzato per quei file o chiavi di registro che risultano chiaramente invisibili all’utente, per cui sono opera di un rootkit.

L’utente meno esperto si dovrebbe curare particolarmente della presenza delle voci in rosso, poiché le voci in nero possono essere sì sintomo di un infezione ma possono tranquillamente essere lecite e andrebbero controllare con maggior dettaglio.

In caso dunque, appena lanciato, ci compare un messaggio, come mostrato nell’immagine sopra, che ci dice “WARNING!!! GMER has found system modification, which might have been caused by ROOTKIT activity. Do you want to fully scan your system?” significa che il programma ha trovato tracce di rootkit nel sistema. Clicchiamo dunque su SI per iniziare la scansione.

In alcuni casi è successo che cliccando su SI il sistema crashi, cioè compaia una schermata blu e il pc si riavvia. Potrebbe essere un bug del programma, ma è possibile comunque tentare di rimediare in qualche modo. È possibile cliccare su NO invece che SI ed eliminare l’eventuale rootkit mostrato in rosso cliccandoci sopra con il tasto destro e scegliendo la voce selezionabile (ad esempio KILL PROCESS se si tratta di un processo o DELETE SERVICE se si tratta di un servizio). Se abbiamo terminato un processo, prima di riavviare il pc, dobbiamo anche accertarci che al prossimo riavvio non riparta il rootkit. Per far ciò dobbiamo eliminare la chiave di avvio nel registro di sistema relativa al rootkit. Purtroppo dobbiamo farlo a mano cliccando su sul pulsante >>> e seguendo poi le istruzioni elencate nell’articolo nella parte relativa alle funzioni AUTOSTART e SERVICES. Se anche così il pc va in crash dobbiamo ricorrere ad un altro software antirootkit.

Una volta cliccato su SI inizia una scansione completa del sistema. Sul lato destro del programma vediamo un elenco di voci da poter spuntare (sono tutte abilitate di default): sono le locazioni del sistema che GMER andrà a controllare. Per fare una scansione approfondita del sistema è consigliabile lasciarle tutte abilitate – compresa l’opzione ADS per controllare la presenza di eventuali file nascosti negli Alternate Data Stream del file system NTFS.

La scansione durerà parecchi minuti e ci troveremo alla fine di fronte ad una schermata del genere:

Probabilmente, come si vede nell’immagine, ci potremmo trovare davanti ad un’enormità di informazioni che non riusciamo ad interpretare.

Come abbiamo detto sopra, quello che a noi ci interessa è individuare le voci in rosso. Le voci in nero, sempre come già detto, sono delle modifiche a delle zone del sistema che possono essere causa di un rootkit ma potrebbero anche essere lecite.

Per prima cosa troviamo le voci in rosso, se ci sono, e clicchiamo su ognuna di esse con il tasto destro del mouse. Scegliamo l’opzione apposita per l’eliminazione – spesso solo un’opzione è utilizzabile per cui l’utente difficilmente si potrà sbagliare. Eliminate tutte le voci in rosso (può succedere che qualche voce in rosso non sia eliminabile immediatamente a causa dell’esecuzione del file, ma l’importante è che tutte le voci rosse che si potevano eliminare siano state eliminate. Riavviando poi il sistema e ri-effettuando una scansione con GMER sarà poi possibile eliminare ciò che prima non era eliminabile).

Vogliamo dare uno sguardo comunque alle voci in nero, per tentare di dare un’interpretazione a quello che leggiamo. La casella più importante è la casella TYPE, che ci fornisce indicazioni su cosa è stato riportato.

Se la casella riporta il valore .text significa che un processo in esecuzione è stato modificato. Se andiamo a vedere nella casella a fianco NAME vedremo anche il nome del processo (in figura ad esempio c’è il processo ctfmon.exe con Process ID 1684 che è stato modificato). Ancora a fianco del nome del processo possiamo vedere il nome di una dll (nel caso della figura ntdll.dll) che è una libreria utilizzata dal processo per importare delle funzioni di sistema. Se guardiamo ancora più a fianco vediamo anche il nome della funzione specifica che risulta alterata (nel caso della figura ad esempio vediamo più di una funzione, tra le quali NtEnumerateKey). Sappiamo dunque che il processo ctfmon.exe, che utilizza la libreria ntdll.dll per importare delle funzioni, utilizza una versione alterata della funzione NtEnumerateKey. Che poi sia alterata da un rootkit oppure no, questo il software antirootkit non può dirlo con certezza, può solo riportare che ci sono state delle modifiche. Se poi, eliminate tutte le voci rosse, scompaiono anche le modifiche elencate in nero, allora significa che quelle alterazioni erano state causate dal rootkit; altrimenti potrebbe essere ad esempio un software di sicurezza.

Se invece il TYPE riporta il valore Reg, significa che ci troviamo di fronte ad una chiave di registro che risulta alterata – ad esempio non visibile. Nel campo NAME verrà elencata la chiave di registro in dettaglio.

Se il TYPE riporta ADS, significa che il file mostrato nella relativa casella NAME è nascosto all’interno di una particolare locazione del file system, in uno stream di dati invisibile all’utente. In qualunque caso – a meno che l’utente non sia a conoscenza del file in questione – è sempre consigliabile l’eliminazione perché è spesso utilizzato come vettore di infezione.

Possono esserci altre voci nella casella TYPE, ad esempio SYSENTER, ma si entrerebbe in dettagli tecnici avanzati che poco importano in una guida adibita ad un pubblico di vario livello.

Finita la scansione, è possibile riavviare il pc e, ripartito Windows, ri-effettuare un’altra scansione per verificare che le voci in rosso siano scomparse. Se risultano ancora alcune voci in rosso – possibile in alcune infezioni – ri-eseguire tutti i passi elencati sopra e riavviare di nuovo il pc. Al successivo restart il PC dovrebbe essere privo di infezioni da rootkit.

Se clicchiamo il pulsante in alto a fianco di Rootkit denominato “>>>” avremo accesso alle funzionalità avanzate di GMER.

Tra le varie opzioni quelle che possono interessarci di più sono SERVICES e AUTOSTART. La voce SERVICES ci elenca tutti i servizi che partono all’avvio di Windows. Come sopra, possiamo controllare manualmente che non ci siano voci in rosso. Se ne vediamo alcune possiamo come al solito cliccarci sopra con il tasto destro ed eliminarle.

La voce AUTOSTART invece ci dà una panoramica molto dettagliata di tutto ciò che parte all’avvio del sistema – servizi di Windows esclusi ovviamente. Stesso discorso vale qui, l’utente può controllare a mano la presenza di eventuali voci rosse cliccando sul pulsante SCAN. L’unica particolarità in questo caso è l’assenza del pulsante destro per la rimozione diretta delle chiavi di registro. Ciò significa che l’utente deve andare ad eliminare manualmente la chiave del registro attraverso l’editor di Windows.

Se ad esempio abbiamo la voce HKLMSoftwareMicrosoftWindowsCurrentversionPoliciesExplorerRun@1 C:WINDOWSservice32.exe, dobbiamo lanciare l’editor del registro da START ESEGUI – “regedit” (e diamo invio), dopo di che cerchiamo la voce HKEY_LOCAL_MACHINE (la cui abbreviazione è per l’appunto HKLM), poi cerchiamo Software, Microsoft e così via fino ad arrivare alla chiave Run che dovrebbe contenere (indicato con la @) Il valore “1” che richiama C:WINDOWSservice32.exe. L’utente deve eliminare quel valore.

Nel caso evidenziato precedentemente che GMER possa crashare quando si va ad eseguire una scansione completa del sistema, oltre ad eseguire i passi di emergenza elencati nella citazione dobbiamo anche garantire di eliminare le chiavi di avvio che possano far partire ad esempio il processo che abbiamo “killato” nella finestra principale. Per far ciò prendiamo nota del nome del processo che abbiamo terminato (le voci in rosso che GMER ci mostra immediatamente quando eseguiamo il programma) e lo ricerchiamo manualmente all’interno delle voci SERVICES e AUTOSTART. Trovata la chiave che lo richiama, agiamo come già descritto nell’illustrazione della funzione AUTOSTART.

Infine, GMER fornisce anche un’ottima funzionalità di LOG, attraverso il pulsante COPY che è possibile trovare solitamente vicino al pulsante SCAN. Cliccando il tasto COPY viene copiato tra gli appunti tutto ciò che la schermata di GMER mostra all’utente. Basta dunque aprire un qualunque editor di testo (Blocco note, Word, Wordpad, etc…), fare MODIFICA INCOLLA e avrete esportato tutti i dati elencati da GMER. Questa funzionalità è utile in caso vogliate far analizzare il log da qualcuno più esperto di voi, in un forum o qualche amico.

GMER fondamentalmente si conclude qui. In effetti il tool fornisce degli ottimi strumenti avanzati per il tracking di eventuali infezioni, controlli avanzati e report dettagliati di ciò che è attivo nel sistema, ma sono strumenti particolarmente complessi, lo studio dei quali è consigliabile solo agli “smanettoni” o a coloro che intendono conoscere a fondo quello che è considerato uno dei tool più famosi per l’individuazione di rootkit.