Wednesday, February 11, 2009

Downup / Conficker / Downadup / Kido Worm

Technical details

This malicious program exploits the MS08-067 vulnerability to spread via network resources and removable storage media.

This modification of the worm is a Windows PE DLL file. The file is 158110 bytes in size. It is packed using UPX.

Installation

The worm copies its executable file with random names to the following directories:

%System%\dir.dll
%Program Files%\Internet Explorer\.dll
%Program Files%\Movie Maker\.dll
%All Users Application Data%\.dll
%Temp%\.dll
%System%\tmp
%Temp%\.tmp

is a random string of symbols.

In order to ensure that the worm is launched next time the system is started, it creates a system service which launches the worm’s executable file each time Windows is booted. The following registry key will be created:

[HKLM\SYSTEM\CurrentControlSet\Services\netsvcs]

The name of the service will be created from combining words from the list below:

Boot
Center
Config
Driver
Helper
Image
Installer
Manager
Microsoft
Monitor
Network
Security
Server
Shell
Support
System
Task
Time
Universal
Update
Windows

The worm also modifies the following system registry key value:

[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost] "netsvcs" = " %System%\.dll"

The worm hides its files in Explorer by modifying the registry key value shown below:

[HKCR\ Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden" = "dword: 0x00000002"
"SuperHidden" = "dword: 0x00000000"
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]
"CheckedValue" = "dword: 0x00000000"

The worm flags its presence in the system by creating the unique identifier shown below:

Global\%rnd%-%rnd%

Propagation

In order to spread quickly via networks, the worm uses tcpip.sys functions to increase the number of potential network connections.

The worm connects to the servers shown below in order to determine the external IP address of the victim machine:

http://www.getmyip.org
http://www.whatsmyipaddress.com
http://www.whatismyip.org
http://checkip.dyndns.org

The worm then launches an HTTP server on a random TCP port; this is then used to download the worm's executable file to other computers.

Copies of the worm have the extensions listed below:

.bmp
.gif
.jpeg
.png

The worm gets the IP addresses of computers in the same network as the victim machine and attacks them via a buffer overrun vulnerability (MS08-067) in the Server service. More details about the vulnerability can be found here: www.microsoft.com/technet/security/Bulletin/MS08-067.mspx. The worm sends a specially crafted RPC request to TCP ports 139 (NetBIOS) and 445 (Direct hosted SMB) remote machines on remote machines. This causes a buffer overrun when the wcscpy_s function is called in netapi32.dll, which launches code that downloads the worm's executable file to the victim machine and launches it. The worm is then installed on the new victim machine.

The worm then hooks the NetpwPathCanonicalize API call (netapi.dll) to prevent buffer overruns caused by the absence of a check on the size of outgoing strings. By doing this, the worm makes repeat exploitation of the vulnerability impossible.

In order to speed up propagation, the worm modifies the following registry value:

[HKLM\ SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpNumConnections" = "dword:0x00FFFFFE"

In order to exploit the vulnerability described above, the worm attempts to connect to the Administrator account on the remote machine. It searches the network for an appropriate machine and gets a list of users. It then attempts to brute force each user account using the passwords shown below:z

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

In order to gain administrator access, the worm copies itself to the following shared folders:

\\*\ADMIN$\System32\.
\\\IPC$\.

The worm can then be launched remotely or scheduled for remote launch using the following commands:

rundll32.exe ,

Spreading via removable storage media

The worm copies its executable file to all removable media under the following name:

:\RECYCLER\S-<%d%>-<%d%>-%d%>-%d%>-%d%>-
%d%>-%d%>\.vmx, rnd is a string of random lower case letters; d is a random number; X
is the disk

In addition to its executable file, the worm also places the file shown below in the root of every disk:

:\autorun.inf

This file will launch the worm's executable file each time Explorer is used to open the infected disk.

Payload

When launching, the worm injects its code into the address space of one of the “svchost.exe” system processes. (The worm may also write its code to the “explorer.exe” and “services.exe” processes.) This code delivers the worm's main malicious payload and:

  1. disables the following services:
    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. blocks access to addresses which contain any of the strings listed below:
    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

In Windows Vista, the worm will disable autoconfiguration of the TCP/IP stack in order to speed up propagation via network channels by using a fixed window size for TCP packets:

netsh interface tcp set global autotuning=disabled

The worm also hooks the following API calls (dnsrslvr.dll) in order to block access to the list of user domains:

DNS_Query_A
DNS_Query_UTF8
DNS_Query_W
Query_Main
sendto

The worm may also download files from links of the type shown below:

http:///search?q=<%rnd2%>

rnd2 is a random number; URL is a link generated by a special algorithm which uses the current date. The worm gets the current date from one of the sites shown below:

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

Downloaded files are saved to the Windows system directory under their original names.

Removal instructions

If your computer does not have an up-to-date antivirus solution, or does not have an antivirus solution at all, you can either use a special removal tool (which can be found here or follow the instructions below:

More details about the vulnerability can be found here:
http://www.kaspersky.ru/support/wks6mp3/error?qid=208636215

Or follow the instructions below:

  1. Delete the following system registrykey:
    [HKLM\SYSTEM\CurrentControlSet\Services\netsvcs]
  2. Delete “%System%\.dll” from the system registry key value shown below:
    [HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost]
    "netsvcs"
  3. Revert the following registry key values:
    [HKCR\ Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
    "Hidden" = "dword: 0x00000002"
    "SuperHidden" = "dword: 0x00000000"

    to

    [HKCR\ Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
    "Hidden" = "dword: 0x00000001"
    "SuperHidden" = "dword: 0x00000001"
    [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]
    "CheckedValue" = "dword: 0x00000000"

    to

    [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]
    "CheckedValue" = "dword: 0x00000001"
  4. Reboot the computer.
  5. Delete the original worm file (the location will depend on how the program originally penetrated the victim machine).
  6. Delete copies of the worm:
    %System%\dir.dll
    %Program Files%\Internet Explorer\.dll
    %All Users Application Data%\.dll
    %Temp%\.dll
    %System%\tmp
    %Temp%\.tmp
    is a random string of symbols.
  7. Delete the files shown below from all removable storage media:
    :\autorun.inf
    :\RECYCLER\S-<%d%>-<%d%>-%d%>-%d%>-%d%>-%d%>-
    %d%>\.vmx,
  8. Download and install updates for the operating system:
    http://www.microsoft.com/technet/security/Bulletin/MS08-067.mspx
  9. Update your antivirus databases and perform a full scan of the computer (download a trial version of Kaspersky Anti-Virus).
  10. Or download f-secure here:

    Download

Detection added: 01-06-2009
Update released: Jan 06 2009 22:05 GMT
Description Added:
Jan 21 2009

Source: http://www.viruslist.com