Nimda kompletny opis wirusa

Autor: ontus_at_poland.com
Data: Sat 22 Sep 2001 - 22:18:43 MET DST


Jest to bardzo niebezpieczny robak. Rozprzestrzenia się w systemach operacyjnych
WinNT/Win2000/Win9x. Szkodnik może infekować zarówno serwery IIS (Internet
Information Server) jak i stacje robocze. Po uruchomieniu zainfekowanego pliku
robak sprawdza czy w pamięci komputera znajduje się jego uaktywniona kopia. Po
znalezieniu takiej kopii wirus przerywa swoje działanie. W przeciwnym wypadku
szkodnik sprawdza typ pliku, z którego został uruchomiony i tworzy swoją kopię o
takiej samej nazwie lecz z dodanym na końcu znakiem spacji, przykładowo:

                 TEST.EXE => TEST .EXE

Jeśli wirus został uruchomiony z dysku sieciowego, tworzy plik tymczasowy o
losowej nazwie. Następnie rozpakowuje przy użyciu własnych procedur zawartość
oryginalnego pliku do pliku tymczasowego i uruchamia go. Kolejnym działaniem
robaka jest utworzenie własnej kopii w katalogu tymczasowym i uruchomienie jej z
parametrem "-dontrunold", który powoduje usunięcie pliku podczas następnego
uruchomienia systemu operacyjnego (w systemach Win9x robak wykorzystuje do tego
celu plik WININIT.INI, natomiast w systemach WinNT/2000 - odpowiednią funkcję
API. Z 20% prawdopodobieństwem robak próbuje usuwać wszystkie pliki README*.EXE
zapisane w katalogu tymczasowym. Uruchomiona kopia wirusa tworzy w katalogu
tymczasowym jeszcze jedną jego replikę posiadającą losową nazwę i próbuje
wyczyścić własną sekcję zawierającą zasoby, usuwając w tym celu oryginalny plik
robaka. Systemy Win9x nie posiadają mechanizmów umożliwiających wykonanie takiej
operacji dlatego funkcja ta działa tylko w systemach
 WinNT/2000. Następnie robak skanuje ustawienia TCP/IP w poszukiwaniu wszystkich
zarejestrowanych interfejsów sieciowych i próbuje wykryć adres serwera DNS.
Jeśli operacja ta zakończy się pomyślnie, wirus zapisuje adres do swojego kodu
oraz do swojego uprzednio utworzonego pliku tymczasowego. Następnie robak
tworzy własny plik szablonu zawierający jego kod w formacie MIME. Szablon ten
zostanie później wykorzystany do
wysyłania kopii robaka poprzez pocztę elektroniczną. Kolejna czynność wirusa
zależna jest od systemu operacyjnego - w systemach WinNT/2000 robak próbuje
dołączyć swoją kopię do systemowego procesu EXPLORER, natomiast w przypadku
systemu Win9x rejestruje swój proces jako serwis i usuwa go z listy zadań. Po
wykonaniu tych czynności szkodnik uruchamia swoją główną procedurę
reprodukującą. Po 30 sekundach oczekiwania robak pobiera nazwę hosta
(zainfekowanej maszyny) oraz jego adres IP, uruchamia
własny serwer TFTP (port 69/udp) jako samodzielny wątek środowiska WinNT/2000.
Serwer ten jest wykorzystywany przez robaka do dostarczania zawartości jego
pliku do klienta oraz do tworzenia wątków
skanujących i atakujących serwery IIS. Ataki te nie są przeprowadzane na
komputery pracujące pod kontrolą Win9x. Aby zaatakować serwer IIS robak
wykorzystuje luki w ich zabezpieczeniach zwane "Microsoft IIS CGI Filename
Decode Error Vulnerability" (wykryta w maju 2001) oraz "Microsoft IIS Unicode
Bug" (wykryta w grudniu 2000), jak również próbuje użyć luk utworzonych przez
ataki robaka CodeRedII. Jeśli atak powiedzie się zdalny serwer inicjuje sesję
TFTP co umożliwia robakowi przesłanie swojego kodu, skopiowanie go do pliku
ADMIN.DLL, uruchomienie tego pliku i utworzenie własnej kopii o nazwie
%windows%\mmc.exe. Następnie, w przypadku systemu Win9x, szkodnik tworzy swoje
kopie w plikach %WINDOWS%\LOAD.EXE oraz %WINDOWS%\RICHED20.DLL. Kopie te
posiadają atrybutu Ukryty oraz Systemowy, a plik LOAD.EXE jest rejestrowany jako
parametr Shell pliku SYSTEM.INI, co zapewnia robakowi uruchamianie wraz z każdym
startem systemu operacyjnego. W systemach WinNT/2000 robak szuka plików DEFAULT,
INDEX oraz MAIN oraz, z pewnym prawdopodobieństwem, plików README posiadających
rozszerzenia ASP, HTM lub HTML. Po znalezieniu takich plików robak dodaje do
nich własny skrypt i kopiuje uprzednio utworzony szablon MIME do pliku
README.EML. W wyniku działania skryptu podczas uruchamiania zainfekowanego
pliku, przeglądarka internetowa będzie zawsze otwierać w nowym oknie plik
README.EML.
Następnie (tylko w systemach WinNT/2000) wirus pobiera z rejestru systemowego
listę zainstalowanych aplikacji i próbuje atakować ich pliki EXE - robak
przenosi ich zawartość do własnych plików (do sekcji zawierającej zasoby) i
zastępuje ikony zainfekowanych zbiorów ikonami oryginalnych plików EXE.
Kolejną czynnością robaka jest infekowanie plików zapisanych na udpstępnionych
dyskach sieciowych (w systemach WinNT/2000) lub udostępnianie w sieci lokalnych
dysków bez żadnych ograniczeń - z pełnym dostępem (w systemach Win9x). We
wszystkich folderach tych dysków przeprowadzane są następujące operacje:
infekowane są wszystkie pliki EXE (z wyjątkiem pliku WINZIP32.EXE); jeśli folder
zawiera pliki z rozszerzeniami EML, NWS lub DOC, szkodnik kopiuje się do tego
katalogu z nazwą RICHED20.DLL. Plik RICHED20.DLL jest wykorzystywany przez wiele
aplikacji (włącznie z programami MS Outlook oraz MS Office); po wykryciu w
folderze plików EML lub NWS wirus (z pewnym prawdopodobieństwem) zapisuje w nim
swój szablon MIME pod nazwą pobraną losowo z katalogu Moje dokumenty i
posiadającą rozszerzenie EML lub NWS.
Następnie wirus wykorzystuje funkcje MAPI w celu określenia adresu hosta SMTP
oraz pobiera listę adresów e-mail z książki adresowej oraz z plików HTML
zapisanych w pamięci podręcznej, po czym wysyła zainfekowane wiadomości.
Wysyłane przez robaka wiadomości posiadają format HTML a załączony do nich plik
to README.EXE o rozmiarze około 57KB. Wiadomość jest przygotowana tak aby po jej
otwarciu (przez program Internet Explorer) załącznik został automatycznie
uruchomiony. Robak zmienia ustawienia Explorer'a systemu Windows - wyłącza
wyświetlanie ukrytych plików oraz rozszerzeń oraz (w systemach WinNT/2000)
dodaje użytkownika Guest do grupy administratorów i udostępnia wszystkie dyski
lokalne w sieci. Następnie wirus próbuje połączyć się z losowym adresem IP w
celu znalezienia udostępnionych dysków sieciowych i zapisania na nie własnych
kopii w opisany powyżej sposób. Po wykonaniu tych wszystkich czynności robak
pozostaje bezczynny przez okres 3 minut, po czym cały cykl wykonywany jest od
nowa. W kodzie robaka zapisana jest sygnatura autora: Concept Virus(CV) V.5,
Copyright(C)2001 R.P.China Ponieważ opisywany robak jest bardzo niebezpieczny,
zalecamy wszystkim zainstalowanie najnowszych
uaktualnień przeznaczonych dla systemów Windows (łącza poniżej). Łata dla
serwerów IIS:http://www.microsoft.com/technet/security/bulletin/MS01-044.asp
Łata dla klienta poczty elektronicznej:
http://www.microsoft.com/technet/security/bulletin/MS01-020.asp

Przedruk ze strony http://www.drweb.com.pl

-- 
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 22:54:52 MET DST