Vediamo un'analisi dei virus virus worm più diffusi

11/2000

MAGISTR - NIMDA - SIRCAM

WORM.MAGISTR

Si tratta di un nuovo Internet worm molto pericoloso (i worm sono particolari tipi di virus che si diffondono in reti di computer) a 32 bit, residente in memoria e combinato con routine di infezione tipiche di un virus. Si diffonde via Internet tramite messaggi che contengono allegati infetti, inoltre e’ in grado di infettare eseguibili Windows a 32 bit e di diffondersi attraverso rete locale.

Il virus possiede un payload (effetto distruttivo) estremamente pericoloso: a seconda di certe condizioni cancella i dati su disco rigido, nella memoria CMOS e nel Flash BIOS in modo simile al virus Win95.CIH.

Il virus presenta la seguente "firma" nel proprio codice:

ARF! ARF! I GOT YOU! v1rus: Judges Disemboweler. by: The Judges Disemboweler. written in Malmo (Sweden)

Magistr è costituito da un programma realizzato direttamente in Assembly di circa 30 KB di lunghezza, fatto davvero notevole se si considera che il virus è scritto in linguaggio macchina. Le ragguardevoli dimensioni del virus sono giustificate dalla presenza di un algoritmo utile all’infezione dei file EXE a 32 bit, di routine usate per diffondersi via posta elettronica e in rete locale, di motori polimorfi (il virus ne possiede due), di routine del payload e di molti espedienti anti-debugging usati dal virus per rendere più difficili analisi, identificazione e disinfezione. Alla luce di questi dati si può affermare che Magistr è uno dei virus più complessi conosciuti al momento.

E’ inoltre importante notare che il virus è considerato "in the wild", cioè particolarmente diffuso.

Esecuzione di un file infetto

Quando il virus viene eseguito (ad esempio, da un messaggio di posta elettronica, se l’utente clicca con il mouse su un allegato infetto) si installa nella memoria del sistema operativo, rimane inattivo per 3 minuti e quindi esegue le proprie routine: infezione di file a 32 bit presenti sul sistema e in rete locale, invio di e-mail infette, ecc.

Per installarsi residente il virus ottiene accesso all’area di memoria dove risiede il processo EXPLORER.EXE, e la modifica in modo tale da inserire un "loader" (caricatore) di 110 byte che ha il compito di eseguire il codice principale del virus nella memoria assegnata a EXPLORER.EXE. In altre parole si può affermare che il virus si installa in memoria come una sorta di componente del processo EXPLORER.EXE, lavorando in background come thread di tale processo.

Quindi il virus accede a un file (di norma il primo) presente nella cartella Windows, lo infetta e crea un riferimento a tale file in una nuova chiave nel Registro di sistema sotto il percorso

HKLM\Software\Microsoft\Windows\CurrentVersion\Run

e in una nuova entrata nel file WIN.INI (istruzione "run=" nella sezione [windows]).

In questo modo il virus viene attivato a ogni avvio del sistema operativo.

Questo file viene infettato in maniera tale che il programma ospite non venga attivato dopo l’avvio del virus: il codice virale non cede il controllo all’applicazione infettata e dunque l’utente non si accorge che allo startup del sistema viene eseguita una nuova applicazione.

A questo punto il virus esegue le proprie routine di infezione che hanno il compito di controllare tutti i drive disponibili sul sistema alla ricerca di file a 32 bit con formato Portable Executable (PE) che hanno estensione .EXE e .SCR (quest’ultima rappresenta l’estensione dei programmi salvaschermo). Prima di tutto il virus effettua una scansione nelle cartelle WINNT, WINDOWS, WIN95 e WIN98, infettando tutti i file trovati. Questa routine viene attivata con una probabilità di 3 su 4.

Quindi il virus procede a una scansione ad ampio raggio di tutti i drive locali, infettando tutti i file trovati.

Infine il virus enumera le risorse di rete condivise sul computer infetto effettuando una ricerca nelle cartelle WINNT, WINDOWS, WIN95 e WIN98. Anche in questo caso vengono infettati subito tutti i file la cui estensione corrisponde ai criteri di ricerca sopra menzionati. Inoltre il virus registra se stesso nei drive di rete andando a creare una nuova istruzione "run=" in un eventuale file WIN.INI presente sul drive remoto. In questo modo anche il sistema remoto con Windows 9x eseguirà il virus automaticamente a ogni avvio.

Quando processa la ricerca nei drive il virus crea uno speciale file .DAT per i propri scopi. Il nome del file e la sua locazione dipendono dal nome della macchina all’interno della rete. Ad esempio:

Nome della macchina

  Nome del file creato dal virus
WIN98 -> CQL98.DAT
PUPKIN -> JEJOQL.DAT
CS-GOAT -> WG-SKYF.DAT

Questo file viene creato alternativamente nella cartella Windows, in quella dei "Programmi" nella cartella radice del disco C:, o in quella del disco di sistema.

Infezione dei file

Il virus infetta i file a 32 bit per Windows usando un sistema molto complesso, che rende molto difficile la disinfezione. Il virus cifra il suo corpo principale usando un motore polimorfo e quindi scrive tali istruzioni alla fine del file ospite. Per passare il controllo alla parte principale del suo codice il virus modifica le istruzioni d’entrata del file infettato usando una o più routine polimorfe.

Diffusione via posta elettronica

Per inviare delle e-mail che contengono degli allegati infetti il virus tenta di leggere dal Registro le impostazioni relative a 3 client di posta elettronica:

Outlook Express
Netscape Messenger
Internet Mail e News

Quindi il virus scandisce i database di e-mail alla ricerca di indirizzi di posta elettronica ai quali spedire le e-mail infette.

E’ importante notare che, nel caso in cui sul sistema non siano installati i programmi di posta elettronica sopra menzionati, il virus non spedisce e-mail infette e non tenta nemmeno di infettare i file sul sistema, ma in ogni caso tenta di diffondersi su rete locale, se quest’ultima è presente.

L’oggetto delle e-mail è vuoto o costruito attraverso una procedura che sceglie casualmente delle parole e delle frasi trovate in file .DOC o .TXT presenti sul sistema infetto (il virus infatti controlla i drive locali alla ricerca di file con le estensioni sopra menzionate ed estrapola dei dati da quest’ultimi). Altrettanto casualmente il virus usa delle parole presenti nella seguente lista:

sentences you

ayant délibéré

sentences him to

le présent arrêt

sentence you to

vu l',27h,'arrêt

ordered to prison

Conformément à la loi

convict

exécution provisoire

, judge

Rdonn

circuit judge

audience publique

trial judge

a fait constater

found guilty

cadre de la procédure

find him guilty

Magistrad

affirmed

Apelante

judgment of conviction

recurso de apelaci

verdict

pena de arresto

guilty plea

y condeno

trial court

mando y firmo

trial chamber

calidad de denunciante

sufficiency of proof

costas procesales

sufficiency of the evidence

diligencias previas

proceedings

Antecedentes de hecho

against the accused

hechos probados

habeas corpus

Sentencia

jugement

Comparecer

condamn

Juzgando

trouvons coupable

dictando la presente

à rembourse

los autos

sous astreinte

en autos

aux entiers dépens

denuncia presentada

aux dépens

 


Anche il corpo del messaggio può essere privo di testo o costruito casualmente

Il nome del file allegato al messaggio può variare. Il virus effettua una ricerca nel sistema per un file di tipo PE con estensione .EXE o .SCR lungo 132 KB al massimo, lo infetta e lo allega al messaggio.

In un caso su cinque, il virus allega al messaggio anche un file .DOC o .TXT che era stato trovato sul sistema quando il virus era alla ricerca dei testi da inserire nel messaggio e nell’oggetto dell’e-mail infetta. Come conseguenza di tale azione è possibile che il virus diffonda delle informazioni riservate dal sistema infetto.

Quando invia dei messaggi infetti il virus si connette al server SMTP configurato sul sistema (l’informazione viene prelevata dal Registro) e invia direttamente le e-mail, cioè usando il protocollo SMTP senza l’ausilio di client di posta elettronica.

Usando una procedura casuale il virus, con una probabilità di 4 a 5, modifica la seconda lettera del nome del mittente.

Il virus memorizza nel proprio codice gli ultimi 10 indirizzi e-mail degli utenti di computer infettati. Quando si diffonde via e-mail il virus confronta l’indirizzo di posta elettronica del target potenziale con quelli presenti nella lista e in caso di esito positivo evita di spedire se stesso agli indirizzi di computer che risultano già infetti.

Effetto distruttivo (payload)

A seconda del valore assunto da certi contatori interni al codice virale, il virus si manifesta sul sistema: accede al desktop di Windows e impedisce l’accesso alle icone da parte del mouse. Se il puntatore del mouse viene posto su un’icona questa viene spostata in modo tale che non sia possibile cliccare su di essa con il mouse.

Entro un mese dall’infezione del computer il virus esegue la routine del payload che sovrascrive il contenuto di tutti i file locali e di rete con il testo "YOUARESHIT". Inoltre, sotto Windows 9x il virus cancella anche il contenuto della CMOS, del Flash BIOS e del disco rigido.

Infine il virus mostra su video il seguente messaggio:

Another haughty bloodsucker.......

YOU THINK YOU ARE GOD ,

BUT YOU ARE ONLY A CHUNK OF SHIT

 


Worm.Sircam.c

Si tratta di un nuovo worm (i worm sono particolari tipi di virus in grado di diffondersi in reti di computer) che si propaga via Internet e all’interno di network locali.

Il worm è costituito da un file eseguibile di circa 130 KB di lunghezza scritto in Delphi (un compilatore prodotto da Borland). Quando si diffonde, il worm può appendere a se stesso un file DOC, XLS, ZIP o di altro tipo (vedere più sotto), quindi la lunghezza del worm può essere superiore ai 130 KB.

Una volta eseguito (ad esempio, per mezzo di un clic del mouse su un file allegato a un messaggio di posta elettronica) il worm si installa nel sistema, invia dei messaggi infetti che hanno il worm in allegato, infetta dei computer collegati in rete locale, se sono presenti dei drive condivisi, e in base alla data di sistema esegue il proprio payload (routine distruttiva).

Diffusione via e-mail

Il worm invia se stesso da computer infetti sotto forma di allegato a dei messaggi di posta elettronica. Il file allegato ha un nome variabile e una estensione doppia:

nomefile.ext1.ext2

dove "ext1" può essere una delle seguenti estensioni

DOC, XLS, ZIP, EXE

Mentre "ext2" viene selezionata casualmente tra

PIF, LNK, BAT, COM

Ad esempio:

feb01.xls.pif

normas.doc.bat

Il "nomefile.ext1" viene determinato da uno dei file presenti sulla macchina infettata: il worm, infatti, compie una ricerca sul computer usando come parametro l’estensione "ext1" e una volta trovato un file che soddisfa tale condizione, ne usa il nome per determinare quello dell’allegato infetto. Quindi il worm legge il contenuto del file trovato, lo appende in coda a una copia di se stesso e la spedisce sotto forma di allegato a un messaggio di posta elettronica.

I file infetti che vengono spediti via e-mail sono costituiti da due parti:

  1. una copia del worm
  2. un file appeso in coda al codice del worm, selezionato casualmente tra file DOC/XLS/ZIP/EXE presenti sul sistema infetto

E’ importante notare che il metodo di diffusione usato dal worm può causare la trasmissione di informazioni riservate.

Il messaggio di posta elettronica ha come oggetto il nome del file in allegato. Il corpo del messaggio può essere in due linguaggi: inglese e spagnolo. La prima e l’ultima riga sono sempre uguali:

Prima linea : Hi! How are you? Hola como estas ?

Ultima linea: See you later. Thanks Nos vemos pronto, gracias.

 Il contenuto variabile tra la prima e l’ultima riga viene selezionato fra le seguenti stringhe di testo:

I send you this file in order to have your advice
I hope you can help me with this file that I send
I hope you like the file that I sendo you
This is the file with the information that you ask for

Te mando este archivo para que me des tu punto de vista
Espero me puedas ayudar con el archivo que te mando
Espero te guste este archivo que te mando
Este es el archivo con la información que me pediste

Il worm ottiene gli indirizzi e-mail ai quali spedire se stesso effettuando una scansione dei file che possono contenere indirizzi di posta elettronica: SHO*, GET*, HOT*, *.HTM, *WAB e altri.

Il risultato delle varie ricerche effettuate dal worm viene memorizzato in una serie di "false" DLL all’interno della cartella di sistema:

SCD.DLL: contiene una lista dei file con estensione "ext1"

SCH1.DLL, SCI1.DLL: contengono una lista degli indirizzi di posta elettronica trovati nei file sottoposti a scansione.

SCW1.DLL: contiene l’elenco di indirizzi e-mail trovati nella Rubrica di Windows.

Oltre a questi file, possono esserci anche i file SCT1.DLL e SCY1.DLL dove il worm memorizza altri dati.

Installazione sul sistema

Quando infetta un computer il worm copia se stesso in

  1. La cartella speciale \RECYCLED del drive dove è stato installato Windows usando il nome SirC32.exe. Ad esempio, se Windows è presente nella cartella C:\Windows, il worm copierà se stesso in C:\RECYCLED\SirC32.exe
  2. Nella cartella di sistema di Windows con il nome Scam32.exe
  3. Nella cartella Windows con il nome ScMx32.exe
  4. Nella cartella di Esecuzione automatica di windows con il nome "Microsoft Internet Office.exe"

E’ da notare che tali azioni non vengono compiute dal worm la prima volta che viene eseguito, alcuni file infatti vengono creati a seconda del verificarsi di certe condizioni. Tutti i file creati hanno impostato l’attributo "nascosto"

Il worm registra i due primi file all’interno del Registro di sistema

HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
  Driver32 = %windows sytem directory%\SCam32.exe

HKCR\exefile\shell\open\command
  SirC32.exe

Quindi estrae nella cartella temporanea di Windows il file che ha memorizzato alla fine del proprio codice, aprendolo con l’applicazione ad esso associata: WINWORD.EXE, WORDPAD.EXE, EXCEL.EXE, WINZIP.EXE, a seconda del tipo di file.

Il worm crea un’ulteriore serie di chiavi nel Registro dove memorizza altri dati

HKLM\SOFTWARE\SirCam

Diffusione in rete locale

Per diffondersi in rete locale, il worm enumera tutte le risorse di rete del computer infettato, ottenendo tutte le cartelle remote condivise, dove copia se stesso. Se esiste una cartella \Recycled nella cartella condivisa, il worm vi crea una copia del proprio codice usando il nome SirC32.exe. Quindi modifica il file AUTOEXEC.BAT inserendo alla fine del file la linea

@win \recycled\SirC32.exe

Se esiste una cartella \Windows, il worm rinomina il file RUNDLL32.EXE in RUN32.EXE e quindi sovrascrive il file RUNDLL32.EXE originale con una copia di se stesso. Il worm imposta l’attributo nascosto sulle proprie copie.

La routine del payload

A seconda della data e del tempo di sistema, con una probabilità di 1 a 20 il worm cancella tutti i file sul drive dove è installato Windows e quindi rimuove tutte le cartelle.

Ogni volta che viene eseguito, con una probabilità di 1 su 50, il worm crea un file SirCam.sys nella cartella radice del drive corrente e vi scrive il seguente testo, cifrato nel codice del worm:

[SirCam_2rP_Ein_NoC_Rma_CuiTzeO_MicH_MeX]

[SirCam Version 1.0 Copyright © 2001 2rP Made in / Hecho en - Cuitzeo, Michoacan Mexico]

Sembra che il worm scriva queste frasi in un ciclo continuo, con l’intento di esaurire lo spazio libero disponibile sul disco.

A causa di errore presente nel codice del worm, le routine del payload non vengono eseguite correttamente, rendendo il worm meno pericoloso di quello che doveva essere nelle intenzioni del suo autore. Ad ogni modo, la prima routine (cancellazione di tutti i file nel drive di Windows) verrà eseguita nel caso in cui le copie del worm SIRC32.EXE, SCAM32.EXE e RUNDLL32.EXE vengano rinominate ed eseguite.

 


 

Worm.Nimda

Si tratta di un nuovo worm (i worm sono particolari tipi di virus che si propagano attraverso reti locali) che si diffonde via Internet tramite e-mail infette, copiando se stesso in cartelle condivise su rete locale e tramite siti Web che montano una versione di IIS (Internet Information Services) vulnerabile a un certo tipo di attacco (vedere sotto). Il worm e' in grado di infettare anche i file EXE come un virus: i file originali vengono rimpiazzati da una copia del worm, che inserisce l'originale all'interno della propria tavola delle risorse.

Il worm è costituito da un programma a 32 bit di tipo PE (Portable Executable) per Windows di circa 57 KB di lunghezza, scritto con il Visual C++ di Microsoft.

Al fine di esssere eseguito automaticamente dai messaggi di posta elettronica infetti il worm sfrutta una vulnerabilità nella sicurezza di Internet Explorer. Una volta lanciato sul sistema, il worm esegue la propria routine di diffusione e si installa nel sistema

Il worm contiene nel proprio codice la seguente stringa:

Concept Virus(CV) V.5, Copyright(C)2001 R.P.China

Installazione

Quando si installa nel sistema il worm copia se stesso nelle seguenti cartelle:

Quest'ultimo file viene registrato all'interno del file SYSTEM.INI, al fine di essere eseguito automaticamente all'avvio del sistema. La modifica apportata al file SYSTEM.INI è la seguente:

[boot]
shell=explorer.exe load.exe -dontrunold

Inoltre, il worm copia se stesso nella cartella temporanea di Windows, usando nomi casuali: MEP*.TMP e MA*.TMP.EXE. Ad esempio:

mep01A2.TMP
mep1A0.TMP.exe
mepE002.TMP.exe
mepE003.TMP.exe
mepE004.TMP

I file EXE (compreso il file LOAD.EXE) possiedono gli attributi nascosto e sistema.

A questo punto il worm esegue le routine di diffusione e di payload. A seconda della versione di Windows, il worm modifica il processo di EXPLORER.EXE e può eseguire le sue routine come un thread appartenente a tale processo.

Diffusione via e-mail

Per inviare dei messaggi infetti il worm usa connessioni SMTP dirette (cioè non impiega i client di posta elettronica) e quindi spedice dei messaggi infetti. Per ottenere gli indirizzi e-mail dove spedire se stesso, il worm impiega due sistemi di ricerca:

  1. scansione di file *.HTM e *.HTML
  2. uso dei servizi MAPI (Messaging API) per connettersi ai client e-mail configurati come MAPI server al fine di ottenere gli indirizzi di posta elettronica.

I messaggi infetti hanno formato HTML e si presentano in questo modo:

Oggetto: vuoto o generato casualmente
Corpo del messaggio: vuoto
Allegato: README.EXE

Il contenuto del campo oggetto, quando presente, viene prelevato dal nome di un file selezionato casualmente dalla cartella il cui percorso è memorizzato in una chiave nel Registro di sistema:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal

che di norma contiene il percorso della cartella "Documenti"

Per essere eseguito automaticamente dai messaggi infetti, il worm usa la vulnerabilità di sicurezza IFRAME, descritta da Microsoft nel seguente bollettino:

Microsoft Security Bulletin (MS01-020): Incorrect MIME Header Can Cause IE to Execute E-mail Attachment

http://www.microsoft.com/technet/security/bulletin/MS01-020.asp

Per prelevare la patch:

http://www.microsoft.com/windows/ie/downloads/critical/q290108/default.asp

Diffusione tramite rete locale/Internet

Il worm effettua una scansione dei drive locali e remoti presenti sulla rete usando diversi metodi e infettando tutte le cartelle che può accedere.

1. il worm crea dei file .EML (nel 95% dei casi) o dei file .NWS (nel restante 5% dei casi) che hanno nomi generati casualmente. I file EML e NWS creati dal worm sono molto numerosi, e in una rete locale se ne possono trovare a migliaia. Questi file contengono la copia del worm in formato e-mail: un messaggio in HTML con il worm codificato sotto forma di allegato MIME creato per sfruttare la vulnerabilità IFRAME descritta sopra. Su una macchina vulnerabile, la semplice anteprima del messaggio può far eseguire automaticamente il worm.

2. Il worm effettua una ricerca per una serie di combinazioni di nomefile+estensione:

*DEFAULT*, *INDEX*, *MAIN*, *README* + .HTML, .HTM, .ASP

(*NOME* significa che possono esistere delle sottostringhe nel nome del file)

Nel caso vengano trovati tali file, all'interno dei loro percorsi (file path) il worm crea una copia di se stesso in formato e-mail usando il nome README.EML e appendendo alla fine del file vittima (HTML o ASP) un programma in Javascript che ha il compito di aprire il file README.EML quando viene letto il file HTML/ASP infettato, il tutto al fine di attivare il worm sulle macchine vulnerabili.

E' importante notare che attraverso questa tecnica il worm può infettare delle pagine Web e diffondersi nei computer di chi visita il sito Web infettato, se il browser del visitatore è una versione di Internet Explorer che presenta la vulnerabilità IFRAME.

Diffusione attraverso attacco a IIS

Il worm effettua una scansione su indirizzi IP, ricercando dei server IIS che presentano una vulnerabilità di sistema conosciuta come Web folder transversal vulnerability (usata anche dal worm CodeBlue) e li infetta inviando una richiesta GET creata ad hoc. Attraverso questa tecnica il worm ha l'effetto di inizializzare una sessione TFTP per inviare il file ADMIN.DLL sulla macchina da infettare. Una volta memorizzato, il file ADMIN.DLL viene eseguito provocando l'infezione del computer.

La patch di Microsoft utile all'eliminazione di questa vulnerabilita' puo' essere prelevata al seguente indirizzo:

http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS01-044.asp

La routine del payload

Il worm crea delle condivisioni (share) per ogni drive locale usando la stringa %$ (dove % sta per il nome di ogni drive che viene condiviso). Sui sistemi Windows 9x/ME la condivisione viene configurata come full (lettura/scrittura) senza password. Sui sistemi Windows NT/2000 all'account GUEST viene dato il permesso di accedere alle share e viene aggiunto al gruppo ADMINISTRATORS e GUESTS. Per la creazione di queste share è richiesto il riavvio del sistema.

Microsoft ha rilasciato un advisor riguardante l'applicazione delle patch utili per eliminare le vulnerabilità di sistema sfruttare dal worm Nimda:

http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/topics/Nimda.asp

 

GuestBook

Forum
Pagina realizzata da Fracassi Andrea