pc-facile.com |
http://www.pc-facile.com/guide/metodi_esecuzione_virus_spyware_malware/130.htm |
Virus: hydra 20 Dicembre 04 @ 00:01 am |
2. Esecuzione all'Avvio Le metodologie di "auto" esecuzione sono molteplici, alcune semplici altre brutali e complesse.Ecco come e dove si possono trovare eseguibili ( o collegamenti ad essi ) che verranno caricati senza chiedere nessun tipo di autorizzazione da parte dell'utente : C:\WINDOWS\Menu Avvio\Programmi\Esecuzione automatica C:\WINDOWS\All Users\Menu Avvio\Programmi\Esecuzione automatica Entrambe le cartelle possono contenere sia eseguibili che collegamenti. La prima contiene files che vengono caricati qualora l'utente X si logghi, mentre la seconda ne contiene altri che vengono eseguiti in seguito al login di qualsiasi utente in ambiente windows. Per eliminare l'eventuale eseguibile nocivo, è semplicemente necessario rimuoverlo o cancellarlo. Ricordo inoltre che l'eseguibile nocivo può semplicemente esser unito ad uno lecito ( come spiegherò più avanti ), pertanto è possibile che un file da voi ritenuto innocuo, in realtà, non lo sia. All'interno del file : C:\WINDOWS\WIN.INI ( che appartiene alla famiglia dei documenti di inizializzazione editabili con il notepad come fossero normali files di testo txt ) qualsiasi scrittura del tipo : [windows] load=patch.exe run=patch.exe permetterà l'esecuzione del file patch.exe. Normalmente sotto [windows] ( la cui presenza è invece giustificata ) non sono presenti comandi del tipo "load" o "run", diffidare quindi degli eseguibili, se presenti, dopo questi comandi. Per modificare il file ini ed eliminare eventuali richiami infetti è necessario cancellarne il nome ( se si è aggiunto il comando load o run manualmente per altri fini ) o l'intera stringa ( load/run=patch.exe se non si è creato manualmente il comando per altri eseguibili utili ); una volta cancellato il codice nocivo è ora di salvare il tutto come si trattasse di un normale txt mantenendo però l'estensione ini ( in modo da riottenere un file win.ini aggiornato ). E' sempre una buona abitudine, prima di modificare files o chiavi di registro, farne una copia di backup. Un discorso analogo lo si può fare per il file C:\WINDOWS\SYSTEM.INI dove una scrittura del tipo : [boot] Shell=Explorer.exe patch.exe permetterà l'esecuzione di patch.exe. Diffidare quindi di qualsiasi eseguibile che segua ( separato da uno spazio ) Explorer.exe. Diversamente, all'interno del file C:\WINDOWS\WININIT.INI è possibile trovare un file che verrà eseguito una ed una sola volta per poi esser cancellato. Viene utilizzato da molti programmi, prevalentemente durante la fase di installazione ( dove viene richiesto il riavvio del pc ). Editandolo è possibile trovare una situazione del genere : [Rename] NUL=C:\Temp\patch.exe in questo modo il file verrà eseguito e poi cancellato ( causa NUL ). Modificando i files : C:\WINDOWS\WINSTART.BAT e C:\AUTOEXEC.BAT è possibile caricare arbitrariamente eseguibili. Utilizzando l'autoexec.bat il file verrà eseguito in ambiente DOS prim'ancora che il sistema operativo venga caricato ( questo risulta particolarmente limitante ma facilmente dannoso,come nel caso di alcuni vecchi virus ). E' anche possibile sfruttare una falla del file SYSTEM.INI ( e del sistema in generale ) che, non specificando il percorso del file EXPLORER.EXE da eseguire, permette l'esecuzione del file patch.exe rinominato in explorer.exe e posizionato in C:\ . Infatti il sistema andrà a cercare l' explorer.exe e lo troverà prima in C:\ che in C:\WINDOWS dove normalmente risiede. Se si verifica questa eventualità, il file patch.exe rinominato, sarà "stato precedentemente fuso" ( tramite appositi programmi ) con il file explorer.exe presente in C:\WINDOWS ( o lo richiamerà al suo interno ) per permettere un apparente normale funzionamento e caricamento del sistema. Andiamo ora ad analizzare le chiavi del registro di sistema ( raggiungibile tramite il file C:\WINDOWS\REGEDIT.EXE ) responsabili dell'esecuzione di files all'avvio del s.o. Innanzitutto le chiavi : [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce] possono contenere valori del genere "Nome"="c:\cartella\patch.exe" e sono responsabili dell'esecuzione di patch.exe . Le chiavi CURRENT_USER si riferiscono all'utente X , mentre le LOCAL_MACHINE si riferiscono a qualsiasi utente connesso. Le chiavi terminanti con RUN, a differenza di quelle terminanti con RUNSERVICES, eseguono i files e ne rendono disponibile il nome ( sotto forma di processo attivo ) all'interno della finestrella di controllo che appare premendo CTRL+ALT+CANC. Sia il RUNONCE che il RUNSERVICESONCE eseguono la patch una sola volta. ( Con un comportamento analogo al wininit.ini ) Situazione simile ma comando diverso si nota nella stringa : [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\000x] dov'è possibile trovare una scrittura del genere : "Esegui"="||patch.exe" il comando è del formato : "DllFileName|FunctionName|CommandLineArguements" oppure "||command parameters" Altra metodologia, piuttosto brutale, consiste nella modifica di una stringa relativa all'esecuzione delle famiglie di files EXE, BAT, COM, PIF e HTA. Modificando il valore <"%1" %*>, ( default per ogni tipo di eseguibile) aggiungendo il nome dell' eseguibile infetto patch.exe "%1 %*" quest'ultimo verrà eseguito ogni volta che un file con estensione exe, bat, com, pif o hta ( a seconda della stringa modificata ) venga caricato. Di conseguenza le stringhe interessate sono : [HKEY_CLASSES_ROOT\exefile\shell\open\command] [HKEY_CLASSES_ROOT\comfile\shell\open\command] [HKEY_CLASSES_ROOT\batfile\shell\open\command] [HKEY_CLASSES_ROOT\htafile\shell\open\command] [HKEY_CLASSES_ROOT\piffile\shell\open\command] [HKEY_LOCAL_MACHINE\Software\CLASSES\batfile\shell\open\command] [HKEY_LOCAL_MACHINE\Software\CLASSES\comfile\shell\open\command] [HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command] [HKEY_LOCAL_MACHINE\Software\CLASSES\htafile\Shell\Open\command] [HKEY_LOCAL_MACHINE\Software\CLASSES\piffile\shell\open\command] Per riparare le stringhe è necessario rimuovere il nome dell'eseguibile e ripristinare il valore iniziale (<"%1" %*>). Una volta fatto bisogna procedere alla creazione di un file di testo con all'interno quanto segue ( dove TIPOfile può essere exefile, comfile ecc... ) : REGEDIT4 [HKEY_CLASSES_ROOT\TIPOfile\shell\open\command] @="\"%1\" %*" oppure REGEDIT4 [HKEY_LOCAL_MACHINE\Software\CLASSES\TIPOfile\shell\open\command] @="\"%1\" %*" e rinominare il file creato con l'estensione .reg . Ora, salvato in c:\ e riavviato il pc in modalità DOS è semplicemente necessario digitare REGEDIT nomecheavetedato.reg per riparare il danno. E' anche possibile lanciare un eseguibile sfruttando una chiave del registro riservata ai componenti Active-X. Infatti utilizzando una subpath del tipo : StubPath=C:\cartella\patch.exe in una stringa dedicata quale : HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\KeyName l'eseguibile verrà lanciato ancor prima che si carichino quelli presenti nelle "chiavi run" ( particolare attenzione poiché è così possibile precedere gli antivirus ). |
© 2000-2024 pc-facile.com