Run the Microsoft Safety Scanner.
The Microsoft Malware Protection Center has updated the Microsoft Safety Scanner. This is a stand-alone binary that is useful in the removal of prevalent malicious software, and it can help remove the Win32/Conficker malware family.
Note The Microsoft Safety Scanner does not prevent reinfection because it is not a real-time antivirus program.
You can download the Microsoft Safety Scanner from the following Microsoft Web site:
Note The Stand-Alone System Sweeper tool will also remove this infection. This tool is available as a component of the Microsoft Desktop Optimization Pack 6.0 or through Customer Service and Support. To obtain the Microsoft Desktop Optimization Pack, visit the following Microsoft Web site:
If Microsoft Security Essentials or Microsoft Forefront Client Security is running on the system, these programs also block the threat before it is installed.
Manual steps to remove the Win32/Conficker virus
Notes- These manual steps are not required any longer and should only be used if you have no antivirus software to remove the Conficker virus.
- Depending on the Win32/Conficker variant that the computer is infected with, some of these values referred to in this section may not have been changed by the virus.
The following detailed steps can help you manually remove Conficker from a system:
- Log on to the system by using a local account.
Important Do not log on to the system by using a Domain account, if it is possible. Especially, do not log on by using a Domain Admin account. The malware impersonates the logged on user and accesses network resources by using the logged on user credentials. This behavior allows for the malware to spread. - Stop the Server service. This removes the Admin shares from the system so that the malware cannot spread by using this method.
Note The Server service should only be disabled temporarily while you clean up the malware in your environment. This is especially true on production servers because this step will affect network resource availability. As soon as the environment is cleaned up, the Server service can be re-enabled.
To stop the Server service, use the Services Microsoft Management Console (MMC). To do this, follow these steps:
- Depending on your system, do the following:
- In Windows Vista and Windows Server 2008, click Start, type services.msc in the Start Search box, and then click services.msc in the Programs list.
- In Windows 2000, Windows XP, and Windows Server 2003, click Start, click Run, type services.msc, and then click OK.
- Double-click Server.
- Click Stop.
- Select Disabled in the Startup type box.
- Click Apply.
- Remove all AT-created scheduled tasks. To do this, type AT /Delete /Yes at a command prompt.
- Stop the Task Scheduler service.
- To stop the Task Scheduler service in Windows 2000, Windows XP, and Windows Server 2003, use the Services Microsoft Management Console (MMC) or the SC.exe utility.
- To stop the Task Scheduler service in Windows Vista or in Windows Server 2008, follow these steps.
ImportantThis section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows
- Click Start, type regedit in the Start Search box, and then click regedit.exe in the Programs list.
- Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule
- In the details pane, right-click the Start DWORD entry, and then click Modify.
- In the Value data box, type 4, and then click OK.
- Exit Registry Editor, and then restart the computer.
Note The Task Scheduler service should only be disabled temporarily while you clean up the malware in your environment. This is especially true on Windows Vista and Windows Server 2008 because this step will affect various built-in Scheduled Tasks. As soon as the environment is cleaned up, re-enable the Server service.
- Download and manually install security update 958644 (MS08-067). For more information, visit the following Microsoft Web site:
Note This site may be blocked because of the malware infection. In this scenario, you must download the update from an uninfected computer, and then transfer the update file to the infected system. We recommend that you burn the update to a CD because the burned CD is not writable. Therefore, it cannot be infected. If a recordable CD drive is not available, a removable USB memory drive may be the only way to copy the update to the infected system. If you use a removable drive, be aware that the malware can infect the drive with an Autorun.inf file. After you copy the update to the removable drive, make sure that you change the drive to read-only mode, if the option is available for your device. If read-only mode is available, it is typically enabled by using a physical switch on the device. Then, after you copy the update file to the infected computer, check the removable drive to see whether an Autorun.inf file was written to the drive. If it was, rename the Autorun.inf file to something like Autorun.bad so that it cannot run when the removable drive is connected to a computer. - Reset any Local Admin and Domain Admin passwords to use a new strong password. For more information, visit the following Microsoft Web site:
- In Registry Editor, locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost
- In the details pane, right-click the netsvcs entry, and then click Modify.
- If the computer is infected with the Win32/Conficker virus, a random service name will be listed.
Note With Win32/Conficker.B, the service name was random letters and was at the bottom of the list. With later variants, the service name may be anywhere in the list and may seem to be more legitimate. If the random service name is not at the bottom, compare your system with the "Services table" in this procedure to determine which service name may have been added by Win32/Conficker. To verify, compare the list in the "Services table" with a similar system that is known not to be infected.
Note the name of the malware service. You will need this information later in this procedure. - Delete the line that contains the reference to the malware service. Make sure that you leave a blank line feed under the last legitimate entry that is listed, and then click OK.
Notes about the Services table- All the entries in the Services table are valid entries, except for the items that are highlighted in bold.
- The items that are highlighted in bold are examples of what the Win32/Conficker virus may add to the netsvcs value in the SVCHOST registry key.
- This may not be a complete list of services, depending on what is installed on the system.
- The Services table is from a default installation of Windows.
- The entry that the Win32/Conficker virus adds to the list is an obfuscation technique. The highlighted, malicious entry that is supposed to resemble the first letter is a lowercase "L." However, it is actually an uppercase "I." Because of the font that is used by the operating system, the uppercase "I" seems to be a lowercase "L."
Services table
Windows Server 2008 | Windows Vista | Windows Server 2003 | Windows XP | Windows 2000 |
---|
AeLookupSvc | AeLookupSvc | AppMgmt | 6to4 | EventSystem |
wercplsupport | wercplsupport | AudioSrv | AppMgmt | Ias |
Themes | Themes | Browser | AudioSrv | Iprip |
CertPropSvc | CertPropSvc | CryptSvc | Browser | Irmon |
SCPolicySvc | SCPolicySvc | DMServer | CryptSvc | Netman |
lanmanserver | lanmanserver | EventSystem | DMServer | Nwsapagent |
gpsvc | gpsvc | HidServ | DHCP | Rasauto |
IKEEXT | IKEEXT | Ias | ERSvc | Iaslogon |
AudioSrv | AudioSrv | Iprip | EventSystem | Rasman |
FastUserSwitchingCompatibility | FastUserSwitchingCompatibility | Irmon | FastUserSwitchingCompatibility | Remoteaccess |
Ias | Ias | LanmanServer | HidServ | SENS |
Irmon | Irmon | LanmanWorkstation | Ias | Sharedaccess |
Nla | Nla | Messenger | Iprip | Ntmssvc |
Ntmssvc | Ntmssvc | Netman | Irmon | wzcsvc |
NWCWorkstation | NWCWorkstation | Nla | LanmanServer | |
Nwsapagent | Nwsapagent | Ntmssvc | LanmanWorkstation | |
Rasauto | Rasauto | NWCWorkstation | Messenger | |
Rasman | Rasman | Nwsapagent | Netman | |
Iaslogon | Iaslogon | Iaslogon | Iaslogon | |
Remoteaccess | Remoteaccess | Rasauto | Nla | |
SENS | SENS | Rasman | Ntmssvc | |
Sharedaccess | Sharedaccess | Remoteaccess | NWCWorkstation | |
SRService | SRService | Sacsvr | Nwsapagent | |
Tapisrv | Tapisrv | Schedule | Rasauto | |
Wmi | Wmi | Seclogon | Rasman | |
WmdmPmSp | WmdmPmSp | SENS | Remoteaccess | |
TermService | TermService | Sharedaccess | Schedule | |
wuauserv | wuauserv | Themes | Seclogon | |
BITS | BITS | TrkWks | SENS | |
ShellHWDetection | ShellHWDetection | TrkSvr | Sharedaccess | |
LogonHours | LogonHours | W32Time | SRService | |
PCAudit | PCAudit | WZCSVC | Tapisrv | |
helpsvc | helpsvc | Wmi | Themes | |
uploadmgr | uploadmgr | WmdmPmSp | TrkWks | |
iphlpsvc | iphlpsvc | winmgmt | W32Time | |
seclogon | seclogon | wuauserv | WZCSVC | |
AppInfo | AppInfo | BITS | Wmi | |
msiscsi | msiscsi | ShellHWDetection | WmdmPmSp | |
MMCSS | MMCSS | uploadmgr | winmgmt | |
browser | ProfSvc | WmdmPmSN | TermService | |
winmgmt | EapHost | xmlprov | wuauserv | |
SessionEnv | winmgmt | AeLookupSvc | BITS | |
ProfSvc | schedule | helpsvc | ShellHWDetection | |
EapHost | SessionEnv | | helpsvc | |
hkmsvc | browser | | xmlprov | |
schedule | hkmsvc | | wscsvc | |
AppMgmt | AppMgmt | | WmdmPmSN | |
sacsvr | | | hkmsvc | |
- In a previous procedure, you noted the name of the malware service. In our example, the name of the malware entry was "Iaslogon." Using this information, follow these steps:
- In Registry Editor, locate and then click the following registry subkey, where BadServiceName is the name of the malware service:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BadServiceName
For example, locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Iaslogon
- Right-click the subkey in the navigation pane for the malware service name, and then click Permissions.
- In the Permissions Entry for SvcHost dialog box, click Advanced.
- In the Advanced Security Settings dialog box, click to select both of the following check boxes:
Inherit from parent the permission entries that apply to child objects. Include these with entries explicitly defined here.
Replace permission entries on all child objects with entries shown here that apply to child objects.
- Press F5 to update Registry Editor. In the details pane, you can now see and edit the malware DLL that loads as "ServiceDll." To do this, follow these steps:
- Double-click the ServiceDll entry.
- Note the path of the referenced DLL. You will need this information later in this procedure. For example, the path of the referenced DLL may resemble the following:
%SystemRoot%\System32\doieuln.dll
Rename the reference to resemble the following:
%SystemRoot%\System32\doieuln.old
- Click OK.
- Remove the malware service entry from the Run subkey in the registry.
- In Registry Editor, locate and then click the following registry subkeys:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- In both subkeys, locate any entry that begins with "rundll32.exe" and also references the malware DLL that loads as "ServiceDll" that you identified in step 12b. Delete the entry.
- Exit Registry Editor, and then restart the computer.
- Check for Autorun.inf files on any drives on the system. Use Notepad to open each file, and then verify that it is a valid Autorun.inf file. The following is an example of a typical valid Autorun.inf file.
[autorun]
shellexecute=Servers\splash.hta *DVD*
icon=Servers\autorun.ico
A valid Autorun.inf is typically 1 to 2 kilobytes (KB). - Delete any Autorun.inf files that do not seem to be valid.
- Restart the computer.
- Make hidden files visible. To do this, type the following command at a command prompt:
reg.exe add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t REG_DWORD /d 0x1 /f
- Set Show hidden files and folders so that you can see the file. To do this, follow these steps:
- In step 12b, you noted the path of the referenced .dll file for the malware. For example, you noted a path that resembles the following:
%systemroot%\System32\doieuln.dll
In Windows Explorer, open the %systemroot%\System32 directory or the directory that contains the malware. - Click Tools, and then click Folder Options.
- Click the View tab.
- Select the Show hidden files and folders check box.
- Click OK.
- Select the .dll file.
- Edit the permissions on the file to add Full Control for Everyone. To do this, follow these steps:
- Right-click the .dll file, and then click Properties.
- Click the Security tab.
- Click Everyone, and then click to select the Full Control check box in the Allow column.
- Click OK.
- Delete the referenced .dll file for the malware. For example, delete the %systemroot%\System32\doieuln.dll file.
- Enable the BITS, Automatic Updates, Error Reporting, and Windows Defender services by using the Services Microsoft Management Console (MMC).
- Turn off Autorun to help reduce the effect of any reinfection. To do this, follow these steps:
- Depending on your system, install one of the following updates:
- If you are running Windows 2000, Windows XP, or Windows Server 2003, install update 967715.
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
967715 How to disable the Autorun functionality in Windows
- If you are running Windows Vista or Windows Server 2008, install security update 950582.
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
950582 MS08-038: Vulnerability in Windows Explorer could allow remote code execution
Note Update 967715 and security update 950582 are not related to this malware issue. These updates must be installed to enable the registry function in step 23b. - Type the following command at a command prompt:
reg.exe add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDriveTypeAutoRun /t REG_DWORD /d 0xff /f
- If the system is running Windows Defender, re-enable the Windows Defender autostart location. To do this, type the following command at the command prompt:
reg.exe add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "Windows Defender" /t REG_EXPAND_SZ /d "%ProgramFiles%\Windows Defender\MSASCui.exe –hide" /f
- For Windows Vista and later operating systems, the malware changes the global setting for TCP Receive Window Autotuning to disabled. To change this setting back, type the following command at a command prompt:
netsh interface tcp set global autotuning=normal
If, after you complete this procedure, the computer seems to be reinfected, either of the following conditions may be true:
- One of the autostart locations was not removed. For example, either the AT job was not removed or an Autorun.inf file was not removed.
- The security update for MS08-067 was installed incorrectly.
This malware may change other settings that are not addressed in this article. Please visit the following Microsoft Malware Protection Center Web page for the latest details about Win32/Conficker:
Verify that the system is clean
Verify that the following services are started:
- Automatic Updates (wuauserv)
- Background Intelligent Transfer Service (BITS)
- Windows Defender (windefend) (if applicable)
- Windows Error Reporting Service
To do this, type the following commands at the command prompt. Press ENTER after each command:
Sc.exe query wuauservSc.exe query bitsSc.exe query windefendSc.exe query ersvcAfter each command runs, you will receive a message that resembles the following:
SERVICE_NAME: wuauserv
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 4 RUNNING
(STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
In this example, "STATE : 4 RUNNING" indicates that the service is running.
To verify the status of the SvcHost registry subkey, follow these steps:
- In Registry Editor, locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost
- In the details pane, double-click netsvcs, and then review the service names that are listed. Scroll down to the bottom of the list. If the computer is reinfected with Conficker, a random service name will be listed. For example, in this procedure, the name of the malware service is "Iaslogon."
If these steps do not resolve the issue, contact your antivirus software vendor.
For more information about this issue, click the following article number to view the article in the Microsoft Knowledge Base:
49500 List of antivirus software vendors
If you do not have an antivirus software vendor, or your antivirus software vendor cannot help, contact Microsoft Consumer Support Services for more help.
After the environment is fully cleaned
After the environment is fully cleaned, follow these steps:
- Re-enable the Server service and the Task Scheduler service.
- Restore the default permissions on the SVCHOST registry key and the Tasks folder. This should be reverted to the default settings by using Group Policy settings. If a policy is only removed, the default permissions may not be changed back. See the table of default permissions in the "Mitigation steps" section for more information.
- Update the computer by installing any missing security updates. To do this, use Windows Update, Microsoft Windows Server Update Services (WSUS) server, Systems Management Server (SMS), System Center Configuration Manager (Configuration Manager 2007), or your third-party update management product. If you use SMS or Configuration Manager 2007, you must first re-enable the Server service. Otherwise, SMS or Configuration Manager 2007 may be unable to update the system.