发新话题
打印

不是程序! HijackThis是一种扫除流氓方法

不是程序! HijackThis是一种扫除流氓方法

  在反击“流氓”对浏览器劫持的战争中,HijackThis扮演着非常重要的角色。该软件可以修复多数浏览器劫持和其他问题。不定位于某程序或URL的专门修复,HijackThis解决的是修复浏览器劫持的方法。

  HijackThis操作也非常简单,但存在一个很大的使用问题——如何知道哪个项目才是危险的,是应该进行修复的?这个问题难倒了许多使用HijackThis的读者。本文就这个问题进行了简单归纳。

一、使用HijackThis之前

  如果您从未使用过该软件,请先阅读《预防浏览器劫持——HijackThis的应用》,以了解其基本使用方法。之后可以参考一下《解除4199对浏览器的劫持及其它》,来看看解除4199浏览器劫持的实例。

  如果需要详细了解HijackThis报告中的各个参数,那非细读本文莫属。

  提一下HijackThis的安全使用方法:在进行每项操作时,一定要知道每个项目的作用。如果不知道,请将报告的内容粘贴到安全论坛,让知道的用户指导一下。也可以直接使用由德国人提供的在线程序,在它的帮助下把报告的分析做好。



图 hijackthis.de提供的分析报告(+点击上图可放大)

二、HijackThis日志详解

  1.进程列表判断

  HijackThis的报告分两部分,如图1。一部分为正在运行的进程列表,另一部分为其它(非官方称谓)。



图1 HijackThis的报告示意(+点击上图可放大)

  对于进程,附上一个小软件——Windows进程管理器供大家使用。该软件为绿色软件,下载后直接运行即可。对系统进程识别不错,附带详细说明。其他程序进程以及进程插入等,还需借助其他工具,比如HijackThis自行判断。



图2 Windows进程管理器界面

  2.其他部分的解读

  其他部分,借鉴了风之咏者的《HijackThis日志细解》。本文节选其中部分内容,仅读者参考。

  HijackThis的报告中的项目,每个都有个序号,如图3。这些序号代表的是该项目的类型。



图3 编号代表了项目的类型

  每种数字代表的类型如下:

  R0,R1,R2,R3 Internet Explorer(IE)的默认起始主页和默认搜索页的改变
  F0,F1,F2,F3 ini文件中的自动加载程序
  N1,N2,N3,N4 Netscape/Mozilla 的默认起始主页和默认搜索页的改变
  01 Hosts文件重定向
  02 Browser Helper Objects(BHO,浏览器辅助模块)
  03 IE浏览器的工具条
  04 自启动项
  05 控制面板中被屏蔽的IE选项
  06 IE选项被管理员禁用
  07 注册表编辑器(regedit)被管理员禁用
  08 IE的右键菜单中的新增项目
  09 额外的IE“工具”菜单项目及工具栏按钮
  010 Winsock LSP“浏览器绑架”
  011 IE的高级选项中的新项目
  012 IE插件
  013 对IE默认的URL前缀的修改
  014 对“重置WEB设置”的修改
  015 “受信任的站点”中的不速之客
  016 Downloaded Program Files目录下的那些ActiveX对象
  017 域“劫持”
  018 额外的协议和协议“劫持”
  019 用户样式表(stylesheet)“劫持”
  020 注册表键值AppInit_DLLs处的自启动项
  021 注册表键ShellServiceObjectDelayLoad处的自启动项
  022 注册表键SharedTaskScheduler处的自启动项
  正文根据不同的组别,对以上类型进行详细讲述,请使用文章目录直接查看需要的信息。

 (二)组别——R

  1. 项目说明
  R – 注册表中Internet Explorer(IE)的默认起始主页和默认搜索页的改变
  R0 - 注册表中IE主页/搜索页默认键值的改变
  R1 - 新建的注册表值(V),或称为键值,可能导致IE主页/搜索页的改变
  R2 - 新建的注册表项(K),或称为键,可能导致IE主页/搜索页的改变
  R3 - 在本来应该只有一个键值的地方新建的额外键值,可能导致IE搜索页的改变

  R3主要出现在URLSearchHooks这一项目上,当我们在IE中输入错误的网址后,浏览器会试图在注册表中这一项列出的位置找到进一步查询的线索。正常情况下,当我们在IE中输入错误的网址后,浏览器会使用默认的搜索引擎(如http://search.msn.com/、网络实名等)来查找匹配项目。如果HijackThis报告R3项,相关的“浏览器绑架”现象可能是:当在IE中输入错误的网址后,被带到某个莫名其妙的搜索网站甚至其它网页。

  3. 一般建议

  对于R0、R1,如果您认得后面的网址,知道它是安全的,甚至那就是您自己这样设置的,当然不用去修复。否则的话,在那一行前面打勾,然后按“Fix checked”,让HijackThis修复它。

  对于R2项,据HijackThis的作者说,实际上现在还没有用到。

  对于R3,一般总是要选修复,除非它指向一个您认识的程序(比如百度搜索和3721网络实名)。

  (三)组别——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提示的Explorer.exe后面的程序总是有问题的,一般应该修复。

  F1后面的需要慎重对待,一些老的程序的确要在这里加载。所以应该仔细看看加载的程序的名字,在电脑上查一下,网上搜一搜,具体问题具体分析。

  对于F2项,如果是关于“Shell=”的,相当于F0的情况,一般应该修复。如果是关于“UserInit=”的,除了下面的“疑难解析”中提到的几种情况另作分析外,一般也建议修复。但要注意,一旦修复了关于“UserInit=”的F2项,请不要使用HijackThis的恢复功能恢复对这一项的修改,这一点上面着重提到了。当然,您也可以利用“UserInit=”自己设置一些软件开机自启动,这是题外话了,相信如果是您自己设置的,您一定不会误删的。
 (四)组别——N

  1. 项目说明

  N - Netscape、Mozilla浏览器的默认起始主页和默认搜索页的改变
  N1 - Netscape 4.x中,浏览器的默认起始主页和默认搜索页的改变
  N2 - Netscape 6中,浏览器的默认起始主页和默认搜索页的改变
  N3 - Netscape 7中,浏览器的默认起始主页和默认搜索页的改变
  N4 - Mozilla中,浏览器的默认起始主页和默认搜索页的改变

  与这些改变相关的文件为prefs.js。

  2. 一般建议

  一般来说,Netscape和Mozilla的默认起始主页和默认搜索页是比较安全的,很少被修改。如果你在默认起始主页或默认搜索页看到了一个陌生的地址,可以修复它。

  已知,Lop.com(Live Online Portal)这个网站会修改上述N类项。有兴趣者请参考此链接提供的详细信息。

  (五)组别——O1(字母O,代表Other即“其它”类,以下各组同属O类)

  1. 项目说明

  O1代表在hosts文件中对某个网址与IP地址的映射。在浏览器中输入网址时,浏览器会先检查hosts文件中是否存在该网址的映射,如果有,则直接连接到相应IP地址,不再请求DNS域名解析。这个方法可以用来加快浏览速度,也可能被木马等恶意程序用来打开某些网址、屏蔽某些网址。

  这个hosts文件在系统中的通常位置为
  C:\WINDOWS\HOSTS (Windows 3.1、95、98、Me)
  或
  C:\WINNT\SYSTEM32\DRIVERS\ETC\HOSTS (Windows NT、2000)
  或
  C:\WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS (XP、2003)

  注意,没有扩展名。

  该文件的一般格式类似:
  219.238.233.202 www.rising.com.cn

  注意,IP地址在前,空格后为网址,下一个映射另起一行。(若有#,则#后的部分作为注释,不起作用。)

  上面的例子中,瑞星的主页www.rising.com.cn和IP地址219.238.233.202在hosts文件中互相关联起来,一旦用户要访问www.rising.com.cn,浏览器根据hosts文件中的内容,会直接连接219.238.233.202。在这个例子中,这个219.238.233.202实际上正是瑞星主页的 IP地址,所以这样做加快了访问速度(省掉了DNS域名解析这一步)。

  在好几年前,这是一个比较常用的加快浏览的方法(那时上网费用高、小猫跑得又慢),现在这个方法用得少了。而且,这个方法有个缺陷,那就是,一旦想要浏览的网站的IP地址变动了,就不能正常浏览该网站了,必须再次改动hosts文件。这个hosts文件也可以被木马、恶意网站等利用,它们修改hosts文件,建立一些错误的映射。比如把著名的反病毒软件的网站定向到无关网站、恶意网站或干脆定向到127.0.0.1(127.0.0.1就是指您自己的电脑),那么您就打不开那些反病毒软件的网站,清除木马等恶意程序就更加困难,甚至连杀毒软件都不能正常升级。它们还可以把一些常被访问的网站(比如google等)指向其它一些网站的IP地址,增加后者的访问量。当然,也可以直接用此方法重定向浏览器的搜索页。

 (六)组别——O2

  1. 项目说明

  O2项列举现有的IE浏览器的BHO模块。BHO,即Browser Helper Objects,指的是浏览器的辅助模块(或称辅助对象),这是一些扩充浏览器功能的小插件。这里面鱼龙混杂,诺顿杀毒、goolge等都可能出现在这里,而这里也是一些间谍软件常出没的地方。

  (七)组别——O3

  1. 项目说明

  O3项列举现有的IE浏览器的工具条(ToolBar,简写为TB)。注意,这里列出的是工具条,一般是包含多个项目的那种。除了IE自带的一些工具条外,其它软件也会安装一些工具条,这些工具条通常出现在IE自己的工具条和地址栏的下面。HijackThis在O3项中把它们列出来。其相关注册表项目为
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Toolbar

  2. 一般建议

  同O2,这个也必须仔细分析,看看是否认得这个东西的名字,看看它在IE的工具栏是什么(有一些可能安装了但没有显示,在IE的工具栏点右键可以看到一些),看看它所在的路径,不能一概而论。可以进一步查询相关资料,千万不要随意修复。这里推荐一些好的查询地址

  http://www.sysinfo.org/bholist.php
  http://www.spywaredata.com/spyware/toolbar.php
  http://computercops.biz/CLSID.html
  建议使用CLSID(就是“{ }”之间的数字 )来查找相关项。通常,在以上网址的查询结果中,标记为L的是合法的模块,标记为X的是间谍/广告模块,标记为O的为暂时无结论的。对于标记为X的,一般建议修复。

  (八)组别——O4

  1. 项目说明

  这里列出的就是平常大家提到的一般意义上的自启动程序。确切地说,这里列出的是注册表下面诸键启动的程序。

  HKLM\Software\Microsoft\Windows\CurrentVersion\Run
  HKCU\Software\Microsoft\Windows\CurrentVersion\Run
  HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
  HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
  HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
  HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
  HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
  HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
  HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
  HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
  HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

  注意HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit这一项虽然也可以启动程序,但已经在F2项报告过了。

  另外,O4项还报告两种情况,即“Startup:”和“Global Startup:”,在我的印象里

  Startup: 相当于文件夹c:\documents and settings\USERNAME\ 下的内容(USERNAME指您的用户名)
  Global Startup: 相当于文件夹c:\documents and settings\All Users\ 下的内容

  注意,其它存放在这两个文件夹的文件也会被报告。个人觉得,其实,“启动”文件夹应该被报告,就是

  Startup: 报告c:\documents and settings\USERNAME\start menu\programs\startup 下的内容
  Global Startup: 报告c:\documents and settings\All Users\start menu\programs\startup 下的内容

  但这两项在中文版分别为
  Startup: C:\Documents and Settings\USERNAME\「开始」菜单\程序\启动
  Global Startup: C:\Documents and Settings\All Users\「开始」菜单\程序\启动

  恐怕HijackThis不能识别中文版的这两个目录,以至不报告其内容。不是是否如此?望达人告知。

  2. 一般建议

  查表吧!可能的项目太多了,请进一步查询相关资料,千万不要随意修复。推荐一些好的查询地址:

  http://www.oixiaomi.net/systemprocess.html  这是中文的,一些常见的项目均可查到。
  http://www.sysinfo.org/startuplist.php
  http://www.windowsstartup.com/wso/browse.php
  http://www.windowsstartup.com/wso/search.php
  http://www.answersthatwork.com/Tasklist_pages/tasklist.htm
  http://www.liutilities.com/products/wintaskspro/processlibrary/
  英文的,很全面。其中一些标记的含义——
  Y - 一般应该允许运行。
  N - 非必须程序,可以留待需要时手动启动。
  U - 由用户根据具体情况决定是否需要 。
  X - 明确不需要的,一般是病毒、间谍软件、广告等。
  ? - 暂时未知

  还有,有时候直接使用进程的名字在www.google.com上查找,会有意想不到的收获(特别对于新出现的病毒、木马等)。

  (九)组别——O5

  1. 项目说明
  O5项与控制面板中被屏蔽的一些IE选项相关,一些恶意程序会隐藏控制面板中关于IE的一些选项,这可以通过在control.ini文件中添加相关命令实现。

  (十)组别——O6

  1. 项目说明

  O6提示Internet选项(打开IE——工具——Internet选项)被禁用。管理员可以对Internet选项的使用进行限制,一些恶意程序也会这样阻挠修复。这里用到的注册表项目是
  HKCU\Software\Policies\Microsoft\Internet Explorer\Restrictions

  (十一)组别——O7

  项目说明:O7提示注册表编辑器(regedit)被禁用。管理员可以对注册表编辑器的使用进行限制,一些恶意程序也会这样阻挠修复。这可以通过对注册表如下键的默认值的修改实现
  HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System

  (十二)组别——O8

  项目说明:O8项指IE的右键菜单中的新增项目。除了IE本身的右键菜单之外,一些程序也能向其中添加项目。相关注册表项目为
  HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt

  (十三)组别——O9

  项目说明:O9提示额外的IE“工具”菜单项目及工具栏按钮。前面O3是指工具条,这里是新增的单个工具栏按钮和IE“工具”菜单项目。相关注册表项目为
  HKLM\SOFTWARE\Microsoft\Internet Explorer\Extensions registry key

  (十四)组别——O10

  项目说明:O10项提示Winsock LSP(Layered Service Provider)“浏览器劫持”。某些间谍软件会修改Winsock 2的设置,进行LSP“浏览器劫持”,所有与网络交换的信息都要通过这些间谍软件,从而使得它们可以监控使用者的信息。著名的如New.Net插件或 WebHancer组件,它们是安装一些软件时带来的你不想要的东西。

  (十五)组别——O11

  项目说明:O11项提示在IE的高级选项中出现了新项目。相关注册表项目可能是
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions

  (十六)组别——O12

  项目说明:O12列举IE插件(就是那些用来扩展IE功能、让它支持更多扩展名类型文件的插件)。相关注册表项目是
  HKEY_LOCAL_MACHINE\software\microsoft\internet explorer\plugins

  (十七)组别——O13

  项目说明:O13提示对浏览器默认的URL前缀的修改。当在浏览器的地址栏输入一个网址而没有输入其前缀(比如http://或ftp://)时,浏览器会试图使用默认的前缀(默认为http://)。相关注册表项目包括
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\URL\DefaultPrefix\

  当此项被修改,比如改为http://www.AA.BB/?那么当输入一个网址如www.rising.com.cn时,实际打开的网址变成了——[url]http://www.AA.BB/?www.rising.com.cn[/url]

  (十八)组别——O14

  项目说明:O14提示IERESET.INF文件中的改变,也就是对internet选项中“程序”选项卡内的“重置WEB设置”的修改。该IERESET.INF文件保存着IE的默认设置信息,如果其内容被恶意程序改变,那么一旦您使用“重置WEB设置”功能,就会再次激活那些恶意修改。

  (十九)组别——O15

  项目说明:O15项目提示“受信任的站点”中的不速之客,也就是那些未经您同意自动添加到“受信任的站点”中的网址。“受信任的站点”中的网址享有最低的安全限制,可以使得该网址上的恶意脚本、小程序等更容易躲过用户自动执行。相关注册表项目
  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains

  (二十)组别——O16

  项目说明:O16 - 下载的程序文件,就是Downloaded Program Files目录下的那些ActiveX对象。这些ActiveX对象来自网络,存放在Downloaded Program Files目录下,其CLSID记录在注册表中。

  (二十一)组别——O17

  项目说明:O17提示“域劫持”,这是一些与DNS解析相关的改变。已知会造成此现象的恶意网站为Lop.com。上面在解释O1项时提到过,当在浏览器中输入网址时,如果hosts文件中没有相关的网址映射,将请求DNS域名解析以把网址转换为IP地址。如果恶意网站改变了您的DNS 设置,把其指向恶意网站,那么当然是它们指哪儿您去哪儿啦!

  (二十二)组别——O18

  项目说明:O18项列举现有的协议(protocols)用以发现额外的协议和协议“劫持”。相关注册表项目包括
  HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PROTOCOLS\
  HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
  等等。

  通过将您的电脑的默认协议替换为自己的协议,恶意网站可以通过多种方式控制您的电脑、监控您的信息。  HijackThis会列举出默认协议以外的额外添加的协议,并列出其在电脑上的保存位置。

  (二十三)组别——O19

  项目说明:O19提示用户样式表(stylesheet)“劫持”,样式表是一个扩展名为.CSS的文件,它是关于网页格式、颜色、字体、外观等的一个模板。相关注册表项目
  HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Styles\: User Stylesheets

  此外,此项中也可能出现.ini、.bmp文件等。

  (二十四)组别——O20

  项目说明:O20项提示注册表键值AppInit_DLLs处的自启动项(前一阵子闹得挺厉害的“about:blank”劫持就是利用这一项)。相关注册表键为
  HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Windows

  键值为
  AppInit_DLLs

  此处用来在用户登录时加载.dll文件。用户注销时,这个.dll也被注销。

  (二十五)组别——O21

  项目说明:O21项提示注册表键ShellServiceObjectDelayLoad处的自启动项。这是一个未正式公布的自启动方式,通常只有少数Windows系统组件用到它。Windows启动时,该处注册的组件会由Explorer加载。相关注册表键为
  HKEY_LOCAL_M...Windows\CurrentVersion\ShellServiceObjectDelayLoad

  (二十六)组别——O22

  项目说明:O22项提示注册表键SharedTaskScheduler处的自启动项。这是WindowsNT/2000/XP中一个未正式公布的自启动方式,极少用到。

[ 本帖最后由 月上西楼 于 2007-7-18 10:11 编辑 ]

TOP

发新话题