Basically, this is a summary of troubleshooting techniques and registry locations on my other pages.
Once you locate a likely candidate, comment it out - if the key is automatically recreated, then it is usually a virus. (Some antivirus programs may also recreate "missing" keys.)
I've tried to be complete, but remember - most registry entries can occur in both HKCU and HKLM - be sure to check both when either is specified.
Programs run at Startup
In Windows XP, the StartUp menu is located at
C:\Documents and Settings\[UserName]\Start Menu\Programs\Startupbut that can be changed by modifying the registry.
To see running services, use
ControlPanel / Administrative Tools / ServicesFake device drivers can be used to hide viruses.
win.ini and system.ini (in the Windows directory) can be used to start a virus.
Run / RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
Examples of Infected Values
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run SystemSearch = REGEDIT.EXE -s C:/WINDOWS/xyz.regIf the program name appears to be just random letters, search google and see if it is legitimate. If the name is not found, it is probably a virus ... or custom software created for your company.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run sgbifq = c:\windows\system32\zkqnlf.exe r(Used by the Aurora virus.)
I have never seen rundll32.exe in a valid Run or RunOnce key. In this case (WinFixer),
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce *OPPON = rundll32.exe C:\WINDOWS\SYSTEM\OPPON.DLL,CreateProtectProc rerun(Used by the Aurora virus.)
Safe Mode Infector
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon shell = Explorer.exe
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon shell = Explorer.exe C:\WINDOWS\Nail.exeUsed by the Aurora virus.
Safe Mode Infector 2
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\[SomeName] DLLName = SomeProcess.dllI have seen 4 to 10 valid entries in this section.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\vacac DLLName = vacac.dllNotice that there is no difference between infected and normal entries ... you must search the internet for the dll names to determine which are which.
Used by the SystemDoctor/vacac.dll virus.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\URL\DefaultPrefix default = http:// HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\URL\Prefixes ftp = ftp:// gopher = gopher:// home = http:// mosaic = http:// www = http:// HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AboutURLs blank = res://mshtml.dll/blank.htm NavigationCanceled = res://shdoclc.dll/navcancl.htm NavigationFailure = res://shdoclc.dll/navcancl.htm HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main Search Page = http://www.microsoft.com/isapi/redir.dll?prd=ie&ar=iesearch Start Page = http://www.xyz.com/
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\URL\Prefixes www = http://www.xyz.com/cgi-bin? HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\URL\DefaultPrefix default = http://www.xyz.com/cgi-bin?
Browser Helper Objects
The procedure is to manually check out each CLSID.
Another approach is to comment them all out and see which ones recreate themselves ... those are usually the bad guys.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\ Browser Helper Objects\{B313D637-F405-4052-AC37-E2119AB3C8F8}
Tools
AgentRansack
Once it is installed, in Windows Explorer right click and select AgentRansack from the menu.
The first step with most parasites is to run RegMon.
This cycle was repeated about every 3 seconds.
(I've added spaces in the trace below to make it easier to read.)
43 3.73025036 Rundll32:FFFECA37 OpenKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESS hKey: 0xC188F7B0
44 3.73029375 Rundll32:FFFECA37 QueryValueEx HKLM\Software\Microsoft\Windows\CurrentVersion\SubVersionNumber SUCCESS 20 0
45 3.73031759 Rundll32:FFFECA37 CloseKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESS
46 3.73088241 Rundll32:FFFECA37 OpenKey HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce SUCCESS hKey: 0xC1896600
47 3.73094153 Rundll32:FFFECA37 QueryValueEx HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\*OPPON SUCCESS 72 75 6E 64 6C 6C 33 32 ...
48 3.73097134 Rundll32:FFFECA37 FlushKey HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce SUCCESS
49 3.73099685 Rundll32:FFFECA37 CloseKey HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce SUCCESS
50 3.73112655 Rundll32:FFFECA37 OpenKey HKLM\SOFTWARE\...\Browser Helper Objects\{B313D637-F405-4052-AC37-E2119AB3C8F8} SUCCESS hKey: 0xC1896600
51 3.73115849 Rundll32:FFFECA37 FlushKey HKLM\SOFTWARE\...\Browser Helper Objects\{B313D637-F405-4052-AC37-E2119AB3C8F8} SUCCESS
52 3.73118734 Rundll32:FFFECA37 CloseKey HKLM\SOFTWARE\...\Browser Helper Objects\{B313D637-F405-4052-AC37-E2119AB3C8F8} SUCCESS
53 3.73230720 Rundll32:FFFECA37 OpenKey HKCR\CLSID\{B313D637-F405-4052-AC37-E2119AB3C8F8}\InprocServer32 SUCCESS hKey: 0xC1896600
54 3.73237038 Rundll32:FFFECA37 QueryValueEx HKCR\CLSID\{B313D637-F405-4052-AC37-E2119AB3C8F8}\InprocServer32 SUCCESS 43 3A 5C 57 49 4E 44 4F ...
55 3.73240161 Rundll32:FFFECA37 FlushKey HKCR\CLSID\{B313D637-F405-4052-AC37-E2119AB3C8F8}\InprocServer32 SUCCESS
56 3.73242640 Rundll32:FFFECA37 CloseKey HKCR\CLSID\{B313D637-F405-4052-AC37-E2119AB3C8F8}\InprocServer32 SUCCESS
57 3.73249292 Rundll32:FFFECA37 OpenKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESS hKey: 0xC188F7B0
58 3.73253036 Rundll32:FFFECA37 QueryValueEx HKLM\Software\Microsoft\Windows\CurrentVersion\SubVersionNumber SUCCESS 20 0
59 3.73255205 Rundll32:FFFECA37 CloseKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESS
Rundll32:FFFECA37 is very unusual in a RegMon trace.
In this case, it was the
WinFixer virus.
Both the RunOnce and Browser Helper Objects keys
pointed to files that had to be deleted.
FileMon
FileMon will identify which program is using the hard drive.
Because the Aurora virus read the registry and wrote the data to a cookie - FileMon was useful in identifying it and evaluating the risk.
Process Explorer
In some cases (specifically winlogon.exe and explorer.exe), this program will allow you to stop specific threads without actually stopping the program.
Windows Recovery Console
Domain Names and Related Tools
Given a URL, I use several methods to determine the associated IP address
The has been useful in identifying families of parasites owned by a single person - such as winfixer, errorsafe, winantivirus, and the like - all associated with WinSoftware Ltd.
ping, tracert, and nslookup
Start / Programs / Accessories / Command PromptAll 3 programs will accept a Domain Name and provide DNS Lookup to determine (and display) the associated IP address.
>nslookup winfixer.com Server: cns.manassaspr.va.dc02.comcast.net Address: 68.87.73.242 Non-authoritative answer: Name: winfixer.com Address: 127.0.0.1
This trace (from my SystemDoctor page) was made 11-09-06 (reformatted to be more readable)
tracert systemdoctor.com Tracing route to systemdoctor.com [66.244.254.63] ... The first few hops are omitted - they add no useful information 15 12 ms 15 ms 13 ms rx0as.vx.shawcable.net [68.86.88.126] 16 18 ms 17 ms 17 ms rc2hu-pos7-0.ny.shawcable.net [66.163.77.49] 17 17 ms 19 ms 17 ms rc1hu-ge4-0-0.ny.shawcable.net [66.163.74.5] 18 27 ms 28 ms 28 ms rc1sh-pos12-0.mt.shawcable.net [66.163.76.13] 19 27 ms 28 ms 29 ms ra1sh-ge3-3.mt.shawcable.net [66.163.66.33] 20 30 ms 27 ms 28 ms rx0sh-set-up-a-host.mt.bigpipeinc.com [66.244.223.98] 21 47 ms 28 ms 28 ms rr-grp1.yyz1.cl1.setupahost.net [66.244.254.63] Trace complete.Notice that the IP address for systemdoctor.com resolves (via reverse DNS) to setupahost.net
Also notice that shawcable and bigpipeinc.com provide the actual access. Additional research on those names indicates that the physical server is located in Canada.
Web Based DNS Tools
However, sometimes it is useful to bypass local blocks and see what other people get for a specific Domain Name. To do this, I use web based DNS Lookup and Reverse DNS tools.
Specifically, in April 2007, WinFixer.com was returning the LocalHost IP address (127.0.0.1) when using ping, tracert, and nslookup. In order to determine if this was caused by something on my machine, or if it was real, I used a web based solution - NSLookup.
DNS Lookup Results Host Type Value winfixer.com A 127.0.0.1This proved that it wasn't just my machine. However, there is no data about who might have removed this from the web.
This was interesting, using another web based tool, winfixer apparently has its own name server ... and that server returns 127.0.0.1
C:\Documents and Settings\User>ping ns1.winfixer.com Pinging ns1.winfixer.com [84.16.243.230] with 32 bytes of data:Besides ping and tracert, IPAddressGuide.com provides Geolocation by IP Address to find the city and country of an IP - pretty cool.
whois
Just search the internet for *whois* and use one of the free programs. The available whois sites change so often it is hard to give a good recommendation. I normally have to use several sites to get all the information I want about a single Domain Name.
Unfortunately, there is no way to keep people from providing false information when they register a Domain Name - as a result, obviously fake information is one indication of a parasite.
Author: Robert Clemenzi