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