Szkodnik ten wykorzystuje lukę w zabezpieczeniach MS08-067 w celu rozprzestrzeniania się za pośrednictwem zasobów sieciowych i przenośnych nośników danych.
Ta modyfikacja robaka jest plikiem Windows PE DLL o rozmiarze 158110 bajtów. Szkodnik został spakowany przy użyciu UPX.
Instalacja
Robak ten kopiuje swój plik wykonywalny z losowymi nazwami do następujących katalogów głównych:
%System%(rnd)dir.dll
%Program Files%Internet Explorer(rnd).dll
%Program Files%Movie Maker(rnd).dll
%All Users Application Data%(rnd).dll
%Temp%(rnd).dll
%System%(rnd)tmp
%Temp%(rnd).tmp
(rnd) jest losowo wybranym ciągiem symboli.
Aby zapewnić sobie uruchomienie wraz z kolejnym startem systemu, szkodnik tworzy usługę systemową, która uruchamia jego plik wykonywalny wraz z każdym powtórnym uruchomieniem systemu Windows. Zostanie utworzony następujący klucz rejestru:
[HKLMSYSTEMCurrentControlSetServices
etsvcs]
Nazwa usługi zostanie utworzona poprzez połączenie słów z poniższej listy:
Boot
Center
Config
Driver
Helper
Image
Installer
Manager
Microsoft
Monitor
Network
Security
Server
Shell
Support
System
Task
Time
Universal
Update
Windows
Robak modyfikuje również następującą wartość klucza rejestru systemowego:
[HKLMSOFTWAREMicrosoftWindows NTCurrentVersionSvcHost] "netsvcs" = "(oryginalna wartość) %System%(rnd).dll"
Robak ukrywa swoje pliki w Exploratorze poprzez modyfikowanie poniższej wartość klucza rejestru:
[HKCR SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced]
"Hidden" = "dword: 0x00000002"
"SuperHidden" = "dword: 0x00000000"
[HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALL]
"CheckedValue" = "dword: 0x00000000"
Robak oflagowuje swoją obecność w systemie poprzez utworzenie poniższego unikatowego identyfikatora:
Global\%rnd%-%rnd%
Rozprzestrzenianie
W celu szybkiego rozprzestrzeniania się za pośrednictwem sieci robak wykorzystuje funkcje tcpip.sys w celu zwiększenia liczby potencjalnych połączeń sieciowych.
Robak łączy się z poniższymi serwerami w celu określenia zewnętrznego adresu IP zaatakowanej maszyny:
http://www.getmyip.org
http://www.whatsmyipaddress.com
http://www.whatismyip.org
http://checkip.dyndns.org
Robak uruchamia następnie serwer HTTP na losowo wybranym porcie TCP; jest on następnie wykorzystywany w celu pobrania pliku wykonywalnego robaka na inne komputery.
Kopie robaka mają poniższe rozszerzenia:
.bmp
.gif
.jpeg
.png
Robak uzyskuje adresy IP komputerów w tej samej sieci co zaatakowana maszyna i atakuje je poprzez lukę przepełnienia bufora (MS08-067) w usłudze Serwera. Więcej na temat tej luki w zabezpieczeniach można przeczytać tutaj: http://www.microsoft.com/technet/security/Bulletin/MS08-067.mspx. Robak wysyła specjalnie spreparowane zapytanie RPC do portów TPC numer 139 (NetBIOS) i 445 (Direct hosted SMB) na zdalnych maszynach. Powoduje to przepełnienie bufora w momencie wywołania funkcji wcscpy_s w netapi32.dll, która uruchamia kod, który pobiera plik wykonywalny robaka na zaatakowaną maszynę i uruchamia go. Robak jest następnie instalowany na nowej maszynie.
Robak przechwytuje następnie odwołanie do funkcji API NetpwPathCanonicalize (netapi.dll), aby zapobiec przepełnieniu bufora na skutek braku kontroli rozmiaru wychodzących ciągów. Dzięki temu robak uniemożliwia wielokrotne wykorzystanie luki w zabezpieczeniu.
W celu przyspieszenia propagacji robak modyfikuje następującą wartość rejestru:
[HKLM SYSTEMCurrentControlSetServicesTcpipParameters]
"TcpNumConnections" = "dword:0x00FFFFFE"
W celu wykorzystania opisanej wyżej luki w zabezpieczeniach robak próbuje się połączyć z kontem administratora na zdalnej maszynie. Przeszukuje sieć w celu znalezienia odpowiedniej maszyny i uzyskuje listę użytkowników. Następnie próbuje włamać się na konto każdego użytkownika metodą brute force przy pomocy poniższych haseł:
99999999
9999999
999999
99999
9999
999
99
9
88888888
8888888
888888
88888
8888
888
88
8
77777777
7777777
777777
77777
7777
777
77
7
66666666
6666666
666666
66666
6666
666
66
6
55555555
5555555
555555
55555
5555
555
55
5
44444444
4444444
444444
44444
4444
444
44
4
33333333
3333333
333333
33333
3333
333
33
3
22222222
2222222
222222
22222
2222
222
22
2
|
11111111
1111111
111111
11111
1111
111
11
1
00000000
0000000
00000
0000
000
00
0987654321
987654321
87654321
7654321
654321
54321
4321
321
21
12
fuck
zzzzz
zzzz
zzz
xxxxx
xxxx
xxx
qqqqq
qqqq
qqq
aaaaa
aaaa
aaa
sql
file
web
foo
job
home
work
intranet
controller
killer
games
private
market
coffee
cookie
forever
freedom
student
account
academia
files
windows
monitor
|
unknown
anything
letitbe
letmein
domain
access
money
campus
explorer
exchange
customer
cluster
nobody
codeword
codename
changeme
desktop
security
secure
public
system
shadow
office
supervisor
superuser
share
super
secret
server
computer
owner
backup
database
lotus
oracle
business
manager
temporary
ihavenopass
nothing
nopassword
nopass
Internet
internet
example
sample
love123
boss123
work123
home123
mypc123
temp123
test123
qwe123
abc123
pw123
root123
pass123
pass12
pass1
admin123
admin12
admin1
|
password123
password12
password1
default
foobar
foofoo
temptemp
temp
testtest
test
rootroot
root
adminadmin
mypassword
mypass
pass
Login
login
Password
password
passwd
zxcvbn
zxcvb
zxccxz
zxcxz
qazwsxedc
qazwsx
q1w2e3
qweasdzxc
asdfgh
asdzxc
asddsa
asdsa
qweasd
qwerty
qweewq
qwewq
nimda
administrator
Admin
admin
a1b2c3
1q2w3e
1234qwer
1234abcd
123asd
123qwe
123abc
123321
12321
123123
1234567890
123456789
12345678
1234567
123456
12345
1234
123 |
Aby uzyskać przywileje administratora, robak kopiuje się do następujących folderów współdzielonych:
\*(nazwa hosta)ADMIN$System32(rnd).(rnd)
\(nazwa hosta)IPC$(rnd).(rnd)
Robak może zostać zdalnie uruchomiony lub można zaplanować w terminarzu swoje zdalne uruchomienie przy pomocy następujących poleceń:
rundll32.exe (ścieżka do pliku robaka), (rnd)
Rozprzestrzenianie się za pośrednictwem przenośnych nośników danych
Robak kopiuje swój plik wykonywalny na wszystkie nośniki przenośne z następującą nazwą:
:RECYCLERS-<%d%>-<%d%>-%d%>-%d%>-%d%>-
%d%>-%d%>(rnd).vmx, rnd jest ciągiem losowych małych liter; d jest losowo wybraną liczbą; X
jest dyskiem
Oprócz swojego pliku wykonywalnego robak umieszcza również poniższy plik w katalogu głównym każdego dysku:
(X):autorun.inf
Plik ten uruchomi plik wykonywalny robaka za każdym razem, gdy wykorzystywany jest Explorator w celu otwarcia zainfekowanego dysku.
Funkcje szkodnika
Podczas uruchamiania robak wstrzykuje swój kod do przestrzeni adresowej jednego z procesów systemowych “svchost.exe”. (Robak może również zapisać swój kod do procesów “explorer.exe” i “services.exe”). Kod ten dostarcza główną funkcję szkodliwą robaka oraz:
- wyłącza następujące usługi:
Windows Automatic Update Service (wuauserv)
Background Intelligent Transfer Service (BITS)
Windows Security Center Service (wscsvc)
Windows Defender Service (WinDefend, WinDefender)
Windows Error Reporting Service (ERSvc)
Windows Error Reporting Service (WerSvc)
- blokuje dostęp do adresów zawierających jakikolwiek z wymienionych niżej ciągów:
nai
ca
avp
avg
vet
bit9
sans
cert
windowsupdate
wilderssecurity
threatexpert
castlecops
spamhaus
cpsecure
arcabit
emsisoft
sunbelt
securecomputing
rising
prevx
pctools
norman
k7computing
ikarus
hauri
hacksoft
gdata
fortinet
ewido
clamav
comodo
quickheal
avira
avast
esafe
ahnlab
centralcommand
drweb
grisoft
eset
nod32
f-prot
jotti
kaspersky
f-secure
computerassociates
networkassociates
etrust
panda
sophos
trendmicro
mcafee
norton
symantec
microsoft
defender
rootkit
malware
spyware
virus
W systemie Windows Vista robak wyłączy autokonfigurację stosu TCP/IP w celu przyspieszenia rozprzestrzeniania za pośrednictwem kanałów sieciowych poprzez wykorzystanie stałego rozmiaru okna pakietów TCP:
netsh interface tcp set global autotuning=disabled
Robak przechwytuje również następujące odwołania do funkcji API (dnsrslvr.dll) w celu zablokowania dostępu do listy domen użytkowników:
DNS_Query_A
DNS_Query_UTF8
DNS_Query_W
Query_Main
sendto
Robak może również pobierać pliki z odsyłaczy poniższego typu:
http:///search?q=(%rnd2%)
rnd2 jest losową liczbą; URL jest odsyłaczem wygenerowanym przez specjalny algorytm wykorzystujący aktualną datę. Robak uzyskuje aktualną datę z jednej z poniższych stron:
http://www.w3.org
http://www.ask.com
http://www.msn.com
http://www.yahoo.com
http://www.google.com
http://www.baidu.com
http://www.myspace.com
http://www.msn.com
http://www.ebay.com
http://www.cnn.com
http://www.aol.com
Pobrane pliki są zapisywane w katalogu głównym systemu Windows z ich oryginalnymi nazwami.
Usuwanie szkodnika z zainfekowanego systemu
Jeśli oprogramowanie antywirusowe zainstalowane na twoim komputerze nie jest aktualne lub nie korzystasz z żadnego rozwiązania antywirusowego, w celu usunięcia szkodnika z zainfekowanego systemu wykonaj następujące operacje:
- Usuń następujący klucz rejestru systemowego:
[HKLMSYSTEMCurrentControlSetServices
etsvcs]
- Usuń “%System%(rnd).dll” z poniższej wartości klucza rejestru systemowego:
[HKLMSOFTWAREMicrosoftWindows NTCurrentVersionSvcHost]
"netsvcs"
- Cofnij następujące wartości klucza rejestru systemowego:
[HKCR SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced]
"Hidden" = "dword: 0x00000002"
"SuperHidden" = "dword: 0x00000000"
na
[HKCR SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced]
"Hidden" = "dword: 0x00000001"
"SuperHidden" = "dword: 0x00000001"
oraz
[HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALL]
"CheckedValue" = "dword: 0x00000000"
na
[HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALL]
"CheckedValue" = "dword: 0x00000001"
- Uruchom ponownie komputer.
- Usuń oryginalny plik robaka (jego lokalizacja będzie zależała od sposobu przeniknięcia programu do zaatakowanej maszyny)
- Usuń kopie robaka:
%System%(rnd)dir.dll
%Program Files%Internet Explorer(rnd).dll
%Program Files%Movie Maker(rnd).dll
%All Users Application Data%(rnd).dll
%Temp%(rnd).dll
%System%(rnd)tmp
%Temp%(rnd).tmp
(rnd) jest losowo wybranym ciągiem symboli.
- Usuń poniższe pliki z wszystkich przenośnych nośników danych:
(X):autorun.inf
(X):RECYCLERS-(%d%)-(%d%)-%d%)-%d%)-%d%)-%d%)-
%d%>(rnd).vmx,
- Pobierz i zainstaluj aktualizacje dla systemu operacyjnego:
http://www.microsoft.com/technet/security/Bulletin/MS08-067.mspx
- Uaktualnij sygnatury zagrożeń i wykonaj pełne skanowanie komputera (w tym celu można pobrać darmową wersję testową oprogramowania Kaspersky Anti-Virus).