HijackThis日志细解R0,R1,R2,R3 Internet Explorer(IE)的默认起始主页和默认搜索页的改变
F0,F1,F2,F3 ini文件中的自动加载程序
N1,N2,N3,N4 Netscape/Mozilla 的默认起始主页和默认搜索页的改变
O1 Hosts文件重定向
O2 Browser Helper Objects(BHO,浏览器辅助模块)
O3 IE浏览器的工具条
O4 自启动项
O5 控制面板中被屏蔽的IE选项
O6 IE选项被管理员禁用
O7 注册表编辑器(regedit)被管理员禁用
O8 IE的右键菜单中的新增项目
O9 额外的IE“工具”菜单项目及工具栏按钮
O10 Winsock LSP“浏览器绑架”
O11 IE的高级选项中的新项目
O12 IE插件
O13 对IE默认的URL前缀的修改
O14 对“重置WEB设置”的修改
O15 “受信任的站点”中的不速之客
O16 Downloaded Program Files目录下的那些ActiveX对象
O17 域“劫持”
O18 额外的协议和协议“劫持”
O19 用户样式表(stylesheet)“劫持”
O20 注册表键值AppInit_DLLs处的自启动项
O21 注册表键ShellServiceObjectDelayLoad处的自启动项
O22 注册表键SharedTaskScheduler处的自启动项
O23 加载的系统服务
组别——R
1. 项目说明
R –注册表中Internet Explorer(IE)的默认起始主页和默认搜索页的改变
R0 - 注册表中IE主页/搜索页默认键值的改变
R1 - 新建的注册表值(V),或称为键值,可能导致IE主页/搜索页的改变
R2 - 新建的注册表项(K),或称为键,可能导致IE主页/搜索页的改变
R3 - 在本来应该只有一个键值的地方新建的额外键值,可能导致IE搜索页的改变
R3主要出现在URLSearchHooks这一项目上,当我们在IE中输入错误的网址后,浏览器会试图在注册表中这一项列出的位置找到进一步查询的线索。正常情况下,当我们在IE中输入错误的网址后,浏览器会使用默认的搜索引擎(如[url]http://search.msn.com/[/url]、网络实名等)来查找匹配项目。如果HijackThis报告R3项,相关的“浏览器绑架”现象可能是:当在IE中输入错误的网址后,被带到某个莫名其妙的搜索网站甚至其它网页。
2. 举例
R0 - HKCU\Software\Microsoft\Internet Explorer\Main,Start Page=http://www.google.com/
R1 - HKLM\Software\Microsoft\Internet Explorer\Main,Default_Page_URL=http://www.google.com/
(HKCU就是HKEY_CURRENT_USER,HKLM就是HKEY_LOCAL_MACHINE,下同)
上面的例子中,默认主页被改变,指向了新的地址[url]http://www.google.com/[/url]。
R3 - URLSearchHook: BDSrchHook Class - {2C5AA40E-8814-4EB6-876E-7EFB8B3F9662} - C:\WINDOWS\DOWNLOADED PROGRAM FILES\BDSRHOOK.DLL
这是百度搜索
R3 - URLSearchHook: CnsHook Class - {D157330A-9EF3-49F8-9A67-4141AC41ADD4} - C:\WINDOWS\DOWNLO~1\CNSHOOK.DLL
这是3721网络实名
R3 - Default URLSearchHook is missing
这是报告发现一个错误(默认的URLSearchHook丢失)。此错误可以用HijackThis修复。
3. 一般建议
对于R0、R1,如果您认得后面的网址,知道它是安全的,甚至那就是您自己这样设置的,当然不用去修复。否则的话,在那一行前面打勾,然后按“Fix checked”,让HijackThis修复它。
对于R2项,据HijackThis的作者说,实际上现在还没有用到。
对于R3,一般总是要选修复,除非它指向一个您认识的程序(比如百度搜索和3721网络实名)。
4. 疑难解析
(1) 偶尔,在这一组的某些项目后面会出现一个特殊的词——(obfuscated),例如下面几个
R1 - HKCU\Software\Microsoft\Internet Explorer\Main,Search Bar = res://C:\WINDOWS\System32\kihm.dll/sp.html (obfuscated)
R1 - HKCU\Software\Microsoft\Internet Explorer\Main,Search Page = res://C:\WINDOWS\System32\kihm.dll/sp.html (obfuscated)
R1 - HKCU\Software\Microsoft\Internet Explorer\Main,Default_Search_URL = [url]http://ls0.net/home.html[/url] (obfuscated)
R1 - HKCU\Software\Microsoft\Internet Explorer\Search,SearchAssistant = res://C:\WINDOWS\System32\kihm.dll/sp.html (obfuscated)
R1 - HKCU\Software\Microsoft\Internet Explorer\Search,CustomizeSearch = [url]http://ls0.net/srchasst.html[/url] (obfuscated)
R1 - HKLM\Software\Microsoft\Internet Explorer\Main,Search Bar = res://C:\WINDOWS\System32\kihm.dll/sp.html (obfuscated)
R1 - HKLM\Software\Microsoft\Internet Explorer\Main,Search Page = res://C:\WINDOWS\System32\kihm.dll/sp.html (obfuscated)
R0 - HKLM\Software\Microsoft\Internet Explorer\Search,SearchAssistant = res://C:\WINDOWS\System32\kihm.dll/sp.html (obfuscated)
R1 - HKCU\Software\Microsoft\Internet Explorer\Main,SearchAssistant = [url]http://%34%2Dv%2Enet/srchasst.html[/url] (obfuscated)
R1 - HKLM\Software\Microsoft\Internet Explorer\Main,SearchAssistant = [url]http://%34%2Dv%2Enet/srchasst.html[/url] (obfuscated)
R1 - HKLM\Software\Microsoft\Internet Explorer\Search,(Default) = [url]http://ls0.net/srchasst.html[/url] (obfuscated)
R1 - HKLM\Software\Microsoft\Internet Explorer\Main,Default_Search_URL = [url]http://homepage.com[/url] %00@[url]www.e-finder.cc/search/[/url] (obfuscated)
R0 - HKLM\Software\Microsoft\Internet Explorer\Search,CustomizeSearch = [url]http://homepage.com[/url] %00@[url]www.e-finder.cc/search/[/url] (obfuscated)
R1 - HKCU\Software\Microsoft\Internet Explorer\SearchURL,(Default) = [url]http://homepage.com[/url] %00@[url]www.e-finder.cc/search/[/url] (obfuscated)
obfuscated,中文大意为“使混乱,使糊涂迷惑,使过于混乱或模糊,使得难于感觉或理解”。这里主要是最后一个意义。这些被HijackThis标为obfuscated的项目在对IE主页/搜索页进行修改的同时,还利用各种方法把自己变得不易理解,以躲避人们对注册表内容的查找辨识(比如直接在注册表特定位置添加十六进制字符键值,电脑认得它,一般人可就不认得了)。
(2) 有些R3项目{ }号后面,会跟上一个下划线(_ ),比如下面几个:
R3 - URLSearchHook: (no name) - {8952A998-1E7E-4716-B23D-3DBE03910972}_ - (no file)
R3 - URLSearchHook: (no name) - {5D60FF48-95BE-4956-B4C6-6BB168A70310}_ - (no file)
R3 - URLSearchHook: (no name) - {CFBFAE00-17A6-11D0-99CB-00C04FD64497}_ - (no file)
这些{ }后面多一个下划线的R3项目,实际上无法使用HijackThis修复(这是HijackThis本身的一个bug)。如果要修复这样的项目,需要打开注册表编辑器(开始——运行——输入regedit——按“确定”),找到下面的键
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\URLSearchHooks
对比HijackThis的扫描日志中那些R3项的CLSID——就是{ }号中的数字——删除想要删除的项目,但要注意不要误删以下一项
CFBFAE00-17A6-11D0-99CB-00C04FD64497
这一项是默认的。
请注意,如果是在{ }号前面有一个下划线,这些项目HijackThis可以正常清除。比如下面的:
R3 - URLSearchHook: (no name) - _{00D6A7E7-4A97-456f-848A-3B75BF7554D7} - (no file)
R3 - URLSearchHook: (no name) - _{CFBFAE00-17A6-11D0-99CB-00C04FD64497} - (no file)
R3 - URLSearchHook: (no name) - _{707E6F76-9FFB-4920-A976-EA101271BC25} - (no file)
R3 - URLSearchHook: (no name) - _{8952A998-1E7E-4716-B23D-3DBE03910972} - (no file)
R3 - URLSearchHook: (no name) - _{5D60FF48-95BE-4956-B4C6-6BB168A70310} - (no file)
R3 - URLSearchHook: (no name) - _{4FC95EDD-4796-4966-9049-29649C80111D} - (no file)
(3)最近见到不少后面没有内容的R3项。比如
R3 - URLSearchHook:
怀疑这是3721的项目,如果您安装了3721,则会出现这样一个R3项。使用HijackThis无法修复这一项。是否使用3721决定权在用户自己。
** 特别提醒:
如果您在HijackThis的扫描日志中发现了F2项并进行了修复,一旦因为某些原因想要反悔,请“不要”使用HijackThis的恢复功能来取消对F2项目的修改(我指的是config菜单——Backups菜单——Restore功能),因为据报告HijackThis在恢复对F2项的修改时,可能会错误地修改注册表中另一个键值。此bug已被反映给HijackThis的作者。
此bug涉及的注册表键值是
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon:UserInit
一旦对上面键值相关的F2项使用HijackThis修复后再使用HijackThis的恢复功能恢复对这一项的修改,可能会错误修改另一个键值
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon:Shell
所以,如果您在HijackThis的扫描日志中发现了类似下面的F2项并进行了修复,一旦因为某些原因想要反悔,请手动修改上面提到的UserInit键值(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon:UserInit)
F2 - REG:-System.ini: UserInit=C:\WINDOWS\System32\Userinit.exe
F2 - REG:-System.ini: UserInit=C:\Windows\System32\wsaupdater.exe,
不过,说实话,在我的记忆中我从没有处理过含有F2项的HijackThis扫描日志。
2006-6-28 23:07 王五
组别——F
1. 项目说明
F - ini文件中的自动运行程序或者注册表中的等价项目
F0 - ini文件中改变的值,system.ini中启动的自动运行程序
F1 - ini文件中新建的值,win.ini中启动的自动运行程序
F2 - 注册表中system.ini文件映射区中启动的自动运行程序或注册表中UserInit项后面启动的其它程序
F3 - 注册表中win.ini文件映射区中启动的自动运行程序
F0和F1分别对应system.ini和win.ini文件中启动的自动运行程序。
F0对应在System.ini文件中“Shell=”这一项(没有引号)后面启动的额外程序。在Windows 9X中,System.ini里面这一项应该是
Shell=explorer.exe
这一项指明使用explorer.exe作为整个操作系统的“壳”,来处理用户的操作。这是默认的。如果在explorer.exe后面加上其它程序名,该程序在启动Windows时也会被执行,这是技术软件启动的方式之一(比较传统的启动方式之一)。比如
Shell=explorer.exe trojan.exe
这样就可以使得trojan.exe在启动Windows时也被自动执行。
F1对应在win.ini文件中“Run=”或“Load=”项(均没有引号)后面启动的程序。这些程序也会在启动Windows时自动执行。通常,“Run=”用来启动一些老的程序以保持兼容性,而“Load=”用来加载某些硬件驱动。
F2和F3项分别对应F0和F1项在注册表中的“映像”。在Windows NT、2000、XP中,通常不使用上面提到的system.ini和win.ini文件,它们使用一种称作IniFileMapping(ini文件映射)的方式,把这些ini文件的内容完全放在注册表里。程序要求这些ini文件中的相关信息时,Windows会先到注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping这里查找需要的内容,而不是去找那些ini文件。F2/F3其实和F0/F1相类似,只不过它们指向注册表里的ini映像。另外有一点不同的是,F2项中还报告下面键值处额外启动的程序
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
此处默认的键值是(注意后面有个逗号)
C:\WINDOWS\system32\userinit.exe,
(根据您的Windows版本和安装目录的不同,路径里的“C”和“windows”可能不尽相同,总之这里默认指向%System%\userinit.exe
%System%指的是系统文件目录
对于NT、2000,该键值默认为X:\WINNT\system32\userinit.exe
对于XP,该键值默认为X:\WINDOWS\system32\userinit.exe
这里的X指的是Windows安装到的盘的盘符。此问题后面不再重复解释了。)
这个键值是Windows NT、2000、XP等用来在用户登录后加载该用户相关信息的。如果在这里添加其它程序(在该键值中userinit.exe后的逗号后面可以添加其它程序),这些程序在用户登录后也会被执行。比如将其键值改为
C:\windows\system32\userinit.exe,c:\windows\trojan.exe
则c:\windows\trojan.exe这个程序也会在用户登录后自动执行。这也是技术软件等启动的方式之一。
总之,F项相关的文件包括
c:\windows\system.ini
c:\windows\win.ini
(根据您的Windows版本和安装目录的不同,路径里的“C”和“windows”可能不尽相同,总之这里指的是%windows%目录下的这两个ini文件
%Windows%目录指的是Windows安装目录
对于NT、2000,Windows安装目录为X:\WINNT\
对于XP,Windows安装目录为X:\WINDOWS\
这里的X指的是Windows安装到的盘的盘符。此问题后面不再重复解释了。)
F项相关的注册表项目包括
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping
2. 举例
F0 - system.ini: Shell=Explorer.exe trojan.exe
上面的例子中,在system.ini文件中,默认的Shell=Explorer.exe后面又启动了一个trojan.exe,这个trojan.exe十分可疑。
F1 - win.ini: run=hpfsched
上面的例子中,在win.ini文件中,启动了hpfsched这个程序,需要分析。
F2 - REG:-System.ini: UserInit=userinit,trojan.exe
上面的例子中,UserInit项(说明见上)中额外启动了trojan.exe
F2 - REG:-System.ini: Shell=explorer.exe trojan.exe
上面的例子其实相当于第一个例子F0 - system.ini: Shell=Explorer.exe trojan.exe,在注册表中的system.ini文件“映像”中,额外启动了trojan.exe。
3. 一般建议
基本上,F0提示的Explorer.exe后面的程序总是有问题的,一般应该修复。
F1后面的需要慎重对待,一些老的程序的确要在这里加载。所以应该仔细看看加载的程序的名字,在电脑上查一下,网上搜一搜,具体问题具体分析。
对于F2项,如果是关于“Shell=”的,相当于F0的情况,一般应该修复。如果是关于“UserInit=”的,除了下面的“疑难解析”中提到的几种情况另作分析外,一般也建议修复。但要注意,一旦修复了关于“UserInit=”的F2项,请不要使用HijackThis的恢复功能恢复对这一项的修改,这一点上面着重提到了。当然,您也可以利用“UserInit=”自己设置一些软件开机自启动,这是题外话了,相信如果是您自己设置的,您一定不会误删的。
4. 疑难解析
(1) F2 - REG:-System.ini: UserInit=C:\WINDOWS\System32\Userinit.exe
注意到这一项与默认情况的区别了吗?其实,这一项之所以被HijackThis报告出来,是因为丢失了键值最后的一个逗号。但这并不是真正的问题,可以不予理会。
(2) F2 - REG:-System.ini: UserInit=userinit,nddeagnt.exe
nddeagnt.exe是Network Dynamic Data Exchange Agent,这一项出现在userinit后面也是正常的。
(3) F2 - REG:-System.ini: UserInit=C:\Windows\System32\wsaupdater.exe,
这一个比较特别,这是广告程序BlazeFind干的好事,这个广告程序修改注册表时不是把自己的wsaupdater.exe放在userinit的后面,而是直接用wsaupdater.exe替换了userinit.exe,使得注册表这一项
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
的键值从默认的
C:\WINDOWS\system32\userinit.exe,
变为
C:\Windows\System32\wsaupdater.exe,
如果您使用Ad-aware 6 Build 181清除该广告程序,重启动后可能会造成用户无法登录系统。这时需要使用光盘或者软盘启动,将userinit.exe复制一份,命名为wsaupdater.exe放在同一目录下,以使得系统能够正常登录,然后将上面所述的注册表中被广告程序修改的键值恢复默认值,再删除wsaupdater.exe文件。
该问题存在于Ad-aware 6 Build 181,据我所知,HijackThis可以正常修复这一项。
具体信息清参考
> >更多精彩技术文章>http://www.66of.com