Wirusy plikowe, DOS | Wirusy sektora startowego | Wirusy wieloczęściowe | Wirusy wieloplatformowe | Wirusy NewEXE | Makrowirusy | Konstruktory wirusów | Wirusy HLP | Wirusy Java | Generatory polimorficzne i bazujące na nich wirusy | Konie trojańskie | Wirusy skryptowe | Robaki | Żarty oraz programy nie będące wirusami | Wirusy dla systemu Palm OS | Szkodliwe programy | Dowcipy | Backdoory

Net-Worm.Win32.Kido.fx

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:

  1. 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) 
    
  2. 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:

  1. Usuń następujący klucz rejestru systemowego:

    [HKLMSYSTEMCurrentControlSetServices etsvcs]

  2. Usuń “%System%(rnd).dll” z poniższej wartości klucza rejestru systemowego:

    [HKLMSOFTWAREMicrosoftWindows NTCurrentVersionSvcHost]
    "netsvcs"

  3. 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"

  4. Uruchom ponownie komputer.
  5. Usuń oryginalny plik robaka (jego lokalizacja będzie zależała od sposobu przeniknięcia programu do zaatakowanej maszyny)
  6. 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.

  7. 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, 
    
  8. Pobierz i zainstaluj aktualizacje dla systemu operacyjnego:
    http://www.microsoft.com/technet/security/Bulletin/MS08-067.mspx
    
  9. Uaktualnij sygnatury zagrożeń i wykonaj pełne skanowanie komputera (w tym celu można pobrać darmową wersję testową oprogramowania Kaspersky Anti-Virus).