Missing Explorer
Ovvero, quando Windows non parte perchè non trova explorer.exe.
Mi è successo recentemente di dover sistemare un PC affetto con uno strano sintomo, e cioè una nuova istanza di Internet Explorer che si avviava ogni qualche minuto. Ovviamente ho pensato subito a un virus, ma AVG non riusciva a trovare niente. Ho provato con Spybot, ma anche lì nessun risultato. Mi sono dunque rassegnato a una analisi manuale, e ho fatto passare il task manager alla ricerca di processi “strani”.
Trovati.
spoolw.exe e igfxsvc.exe.
E’ ormai una consuetudine creare eseguibili maligni con un nome molto simile a file di sistema, per sviare l’attenzione. Infatti nella stessa cartella (c:\windows\system32) esistono il file spoolsv.exe, che è un file valido di Windows relativo al sistema di stampa, e il file igfxsrvc.exe, che è un file valido legato alla gestione delle schede grafiche Intel. Per complicare ulteriormente il riconoscimento, la data di modifica del file di malware era artificialmente contraffatta per corrispondere a quella del file valido.
Ma siccome per esperienza sono abituato a controllare uno ad uno tutti gli eseguibili presenti nel task manager, una rapida ricerca su internet mi ha mandato nella direzione giusta. Infatti ho trovato rapidamente su un forum questo thread che spiega quali sono i file da cancellare:
- c:\windows\system32\igfxsvc.exe
- c:\windows\system32\spoolw.exe
- c:\windows\iexplore_32.exe
- c:\windows\w32dbg.exe
- c:\u.exe
- imfe.exe direttamente nel Menu Avvio
Nota: attenzione a cancellare i file giusti, nel dubbio fate prima un salvataggio.
Preziosa risorsa, Internet, vero? Unica aggiunta, visto che anche in modalità provvisoria i processi sospetti entravano in funzione e non erano cancellabili, ho dovuto usare un LiveCD (System Rescue CD www.sysresccd.org è di gran lunga il mio preferito). Non è l’unico metodo possibile, ma per me ha funzionato.
Fatto.
Quasi.
Dopo un riavvio, arrivo alla schermata di avvio, accedo con utente e password, e aspetto. Aspetto. Aspetto. Dopo un po’ mi accorgo che Windows ha finito di caricare, ma non compare il desktop, la barra della applicazioni, nulla. Vedo solo una finestra vuota con la freccettina del cursore. Segue un momento di fastidio, con l’idea che alla fine dovrò comunque formattare il PC, che i malware hanno fatto un danno irreparabile. Poi pero’ mi dico che non e’ il caso di arrendersi senza combattere.
Premo Ctrl+Alt+Canc e vedo che compare la consueta finestra di scelta. Scelgo “task manager”, poi clicco su File -> Nuova operazione (esegui), scrivo “explorer.exe” e dò invio. “Impossibile trovare il file explorer.exe o uno dei suoi componenti”. Ahia. Che si siano scompaginate le lettere di unità? Ho già avuto un’esperienza simile con il Logon Logoff Loop. Allora clicco di nuovo su Sfoglia e vado a cercare il disco C:, entro nella cartella di Windows, scorro i file e seleziono “explorer.exe”. Il file c’è. Dunque?
E’ di nuovo il momento di Internet. Preziosa risorsa. Sono sicuro che qualcuno c’e’ gia’ passato. Ed ecco infatti la soluzione del mistero: bisogna cancellare due chiavi di registro create dal virus:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\iexplorer.exe
Praticamente, i due antipatici file venivano collocati come debugger di due processi fondamentali quali explorer.exe e iexplore.exe, il che garantiva che venissero sempre eseguiti indirettamente (quindi fossero piu’ difficili da trovare). Rimuovendoli a mano, il sistema non trovava più un componente di explorer.exe e quindi si rifiutava ostinatamente di eseguirlo.
E’ interessante l’abilità con cui questo sistema di malware e’ stato costruito. A volte chi progetta malware ci si mette proprio di impegno.
Fortunatamente, spesso un po’ di analisi e un po’ di ricerca possono evitare di formattare e reinstallare.
E fortunatamente, internet è una risorsa preziosa.