现在的位置: 首页 > 综合 > 正文

专门针对功能强大的内核级后门设计的手杀工具 –icesword使用方法

2013年03月12日 ⁄ 综合 ⁄ 共 5543字 ⁄ 字号 评论关闭

IceSword,也称为冰刀或者冰刃,有些地址简称IS,是USTC的PJF(http://www.blogcn.com/user17/pjf/index.html)出品的一款系统诊断、清除利器。
下载地址:
http://www.ttian.net/website/2005/0829/391.html

清除流氓软件工具无数,为什么称之为第一利器呢,有如下的理由:

1)你是不是经常有文件删不掉?如CNNIC或者3721的文件?
2)是不是经常有注册表不让你修改?如CNNIC的注册表是它自动保护起来的
3)是不是经常有进程杀不掉,提示“无法完成”?
4)是不是浏览器有N多的插件?
5)是不是有一些程序运行的时候隐藏了进程和端口?
6)  是不是有一些流氓软件的文件在资源管理器下看都看不到?

再看看作者给出的理由:(专业性强一点)

1、绝大多数所谓的进程工具都是利用Windows的Toolhlp32或psapi再或ZwQuerySystemInformation系统调用(前二者最终也用到此调用)来编写,随便一个ApiHook就可轻轻松松干掉它们,更不用说一些内核级后门了;极少数工具利用内核线程调度结构来查询进程,这种方案需要硬编码,不仅不同版本系统不同,打个补丁也可能需要升级程序,并且现在有人也提出过防止此种查找的方法。而IceSword的进程查找核心态方案是目前独一无二的,并且充分考虑内核后门可能的隐藏手段,目前可以查出所有隐藏进程。

  2、绝大多数工具查找进程路径名也是通过Toolhlp32、psapi,前者会调用RtlDebug***函数向目标注入远线程,后者会用调试api读取目标进程内存,本质上都是对PEB的枚举,通过修改PEB就轻易让这些工具找不到北了。而IceSword的核心态方案原原本本地将全路径展示,运行时剪切到其他路径也会随之显示。

  3、进程dll模块与2的情况也是一样,利用PEB的其他工具会被轻易欺骗,而IceSword不会弄错(有极少数系统不支持,此时仍采用枚举PEB)。

  4、IceSword的进程杀除强大且方便(当然也会有危险)。可轻易将选中的多个任意进程一并杀除。当然,说任意不确切,除去三个:idle进程、System进程、csrss进程,原因就不详述了。其余进程可轻易杀死,当然有些进程(如winlogon)杀掉后系统就崩溃了。

  5、对于端口工具,网上的确有很多,不过网上隐藏端口的方法也很多,那些方法对IceSword可是完全行不通的。其实本想带个防火墙动态查找,不过不想弄得太臃肿。这里的端口是指windows的IPv4 Tcpip协议栈所属的端口,第三方协议栈或IPv6栈不在此列。

     目前一些流氓软件采取的手段无所不用其极:线程注入,进程隐藏,文件隐藏,驱动保护,普通用户想把文件给删了或者找出进程来,是非常困难的。有的是看到了,删不掉,杀不掉,干着急,实在不行,还需要从另外的作系统去删除文件。比如采取驱动保护的流氓软件如CNNIC,雅虎助手之类,.sys驱动加载的时候,它过滤了文件和注册表作,直接返回一个true,Windows提示文件删了,但一看,它还在那里。象一些文件删除工具如unclocker都无效。IceSword是目前所知唯一可以直接删除这类已经加载的驱动和采取注册表保护的工具。象清除CNNIC这类流氓软件,不需要重启也可以完成了。

    IS采取了很多新颖的、内核级的方法和手段,关于它的技术细节不在本文讨论之列,下面主要从使用者角度讲一下它的主要功能:

   ■查看进程
      包括运行进程的文件地址、各种隐藏的进程以及优先级。用它也可以轻易杀掉用任务管理器、Procexp等工具杀不掉的进程。还可以查看进程的线程、模块信息,结束线程等。

   ■查看端口
      类似于cport、ActivePort这类工具,显示当前本地打开的端品以及相应的应用程序地址、名字。包括使用了各种手段隐藏端口的工具,在它下面,都一览无余。

   ■内核模块
      加载到系统内和空间的PE模块,一般都是驱动程序*.sys,可以看到各种已经加载的驱动。包括一些隐藏的驱动文件,如IS自身的IsDrv118.sys,这个在资源管理器里是看不见的。

   ■启动组
       Windows启动组里面的相关方式,这个比较容易理解了。不过可惜的是没有提示删除功能,只能查看

   ■服务
       用于查看系统中的被隐藏的或未隐藏的服务,隐藏的服务以红色显示。提供对服务的作如启动,停止,禁用等。

   ■SPI和BHO
      这两个是目前流氓软件越来越看中的地方。SPI是服务提供接口,即所有Windows的网络作都是通过这个接口发出和接收数据包的。很多流氓软件把这个.dll替换掉,这样就可以监视所有用户访问网络的包,可以针对性投放一些广告。如果不清楚的情况下,把这个.dll删掉,会造成网络无法使用,上不了网。LSPFix等工具就是针对这个功能的。BHO就更不用说了,浏览器的辅助插件,用户启动浏览器的时候,它就可以自动启动,弹出广告窗口什么的。这两项仅提供查看的功能。

   ■SSDT (System Service Descriptor Table)
      系统服务描述表,内核级后门有可能修改这个服务表,以截获你系统的服务函数调用,特别是一些老的rootkit,像上面提到的ntrootkit通过这种hook实现注册表、文件的隐藏。被修改的值以红色显示,当然有些安全程序也会修改,比如regmon。

   ■消息钩子
     若在dll中使用SetWindowsHookEx设置一全局钩子,系统会将其加载入使用user32的进程中,因而它也可被利用为无进程木马的进程注入手段。

   ■线程创建和线程终止监视
     “监视进线程创建”将IceSword运行期间的进线程创建调用记录在循环缓冲里,“监视进程终止”记录一个进程被其它进程Terminate的情况。举例说明作用:一个木马或病毒进程运行起来时查看有没有杀毒程序如norton的进程,有则杀之,若IceSword正在运行,这个作就被记录下来,你可以查到是哪个进程做的事,因而可以发现木马或病毒进程并结束之。再如:一个木马或病毒采用多线程保护技术,你发现一个异常进程后结束了,一会儿它又起来了,你可用IceSword发现是什么线程又创建了这个进程,把它们一并杀除。中途可能会用到“设置”菜单项:在设置对话框中选中“禁止进线程创建”,此时系统不能创建进程或者线程,你安稳的杀除可疑进线程后,再取消禁止就可以了。

  ■注册表作,Regedit有什么不足?
     说起Regedit的不足就太多了,比如它的名称长度限制,建一个全路径名长大于255字节的子项看看(编程或用其他工具,比如regedt32),此项和位于它后面的子键在regedit中显示不出来;再如有意用程序建立的有特殊字符的子键regedit根本打不开。
    IceSword中添加注册表编辑并不是为了解决上面的问题,因为已经有了很多很好的工具可以代替Regedit。IceSword中的“注册表”项是为了查找被木马后门隐藏的注册项而写的,它不受目前任何注册表隐藏手法的蒙蔽,真正可靠的让你看到注册表实际内容。
    如CNNIC添加的HKLM/SYSTEM/CurrentControlSet/Services/dnport这个键值,就是通过它来加载cndport.sys这个驱动文件的。通过Regedit你删除会直接出错,根本无法删除。而用IS就可以轻易干掉。

  ■文件作
     IS的文件作有点类似于资源管理器,虽然作起来没有那么方便,但是它的独到功能在于具备反隐藏、反保护的功能。还有对安全的副作用是本来system32/config/SAM等文件是不能拷贝也不能打开的,但IceSword是可以直接拷贝的。类似于已经加载的驱动,如CNNIC的cdnport.sys这个文件,目前只有IS可以直接把它删除,其它无论什么方式,都无法破除驱动自身的保护。
     即使对大多数有用的unlocker,CopyLock、KillBox都是无效的。利用Windows的系统还没有完全加载的删除机制,通过在HKLM/SYSTEM/CurrentControlSet/Control/Session Manager下增加PendingFileRenameOperations,这个是所有删除顽固文件工具的最后一招,但它也被驱动保护变得无效了。以前的情况就是需要重启启动到另外一个作系统下删除。
    ----那帮做流氓软件的可真是手段无所不用其及。

    IceSword内部功能是十分强大的。可能您也用过很多类似功能的软件,比如一些进程工具、端口工具,但是现在的系统级后门功能越来越强,一般都可轻而易举地隐藏进程、端口、注册表、文件信息,一般的工具根本无法发现这些“幕后黑手”。IceSword使用大量新颖的内核技术,使得这些后门躲无所躲

IceSword表现很令笔者满意,绝对是一把强悍的瑞士军刀——小巧、强大。
1.IceSword的“防”
 打开软件,看出什么没?有经验的用户就会发现,这把冰刃可谓独特,它显示在系统任务栏或软件标题栏的都只是一串随机字串“CE318C”,而并是通常所见的软件程序名(见图1)。这就是IceSword独有的随机字串标题栏,用户每次打开这把冰刃,所出现的字串都是随机生成,随机出现,都不相同(随机五位/六位字串),这样很多通过标题栏来关闭程序的木马和后门在它面前都无功而返了。另外,你可以试着将软件的文件名改一下,比如改为killvir.exe,那么显示出来的进程名就变为了killvir.exe。现在你再试着关闭一下IceSword,是不是会弹出确认窗口?这样那些木马或后门就算通过鼠标或键盘钩子控制窗口退出按钮,也不能结束IceSword的运行了,只能在IceSword的面前乖乖就范了。

点击在新窗口中浏览此图片

 2.IceSword的“攻”

 如果IceSword只有很好的保护自身功能,并没有清除木马的能力,也不值得笔者介绍了。如果大家还记得本刊2005年第5期《如何查杀隐形木马》一文,那一定会觉得IceSword表现相当完美了。但这只所谓的隐身灰鸽子,在IceSword面前只算是小儿科的玩意。因为这只鸽子只能隐身于系统的正常模式,在系统安全模式却是再普通不过的木马。而IceSword的作者就在帮助中多次强调IceSword是专门针对功能强大的内核级后门设计的。今天,笔者通过一次经历来说明IceSword几招必杀技。
前段时间,笔者某位朋友的个人服务器(Windows 2003),出现异常,网络流量超高,朋友使用常规方法只可以清除简单的木马,并没有解决问题,怀疑是中了更强的木马,于是找来笔者帮忙。笔者在询问了一些情况后,直接登录到系统安全模式检查,谁知也没有什么特别发现。于是笔者尝试拿出IceSword这把“瑞士军刀”……
 第一步:打开IceSword,在窗口左侧点击“进程”按钮,查看系统当前进程。这个隐藏的“幕后黑手”马上露出马脚(见图2),但使用系统自带的“任务管理器”是看不到些进程的。注意,IceSword默认是使用红色显示系统内隐藏程序,但IceSword若在内核模块处显示多处红色项目并不都是病毒,我们还需要作进一步的技术分析及处理。
点击在新窗口中浏览此图片

别以为只是系统自带的任务管理器功能弱,未能发现。我们又用了IceSword与Process Explorer(另一款功能强大的进程查看软件)进行对比,同样也没办法发现“幕后黑手”的踪影
点击在新窗口中浏览此图片

第二步:点击窗口左侧的“服务”按钮,来查看系统服务。这时就可以看到如图4所示的情况了,这个木马的服务也是隐藏的,怪不得笔者未能发现行踪。
点击在新窗口中浏览此图片

第三步:既然看了服务,也应该查查注册表[HKEY_LOCAL_ MACHINE SYSTEM/ CurrentControlSet /Services]的情况。反正IceSword也提供查看/编辑注册表功能,正好和系统的“注册表编辑器”也来个对比,点击窗口左侧的“注册表”标签,然后打开依次展开[HKEY_LOCAL_ MACHINE/SYSTEM/CurrentControlSet/Services]项(见图5)。真是不比不知道,一比吓一跳。看来,系统内置工具还是选择“沉默”,还记得《如何查杀隐形木马》一文吧,虽说鸽子在正常模式下,它的主服务也能隐藏,但它在系统的“注册表编辑器”内完全是显示的,更不要说目前是安全模式。仔细看看,既然已经从IceSword得到可靠情报,得知“幕后黑手”位于系统目录E:/Windows/system32/wins下.
点击在新窗口中浏览此图片

第五步:剩下的事容易多了,在IceSword中点击“查看”标签下的“进程”按钮,右击刚刚发现的隐藏进程,选择“结束进程”。然后用IceSword删除那三个木马文件,最后,还要删除多余的服务项——那两个HackerDefender*的注册表键值即可。清理完这只“黑手”后,再使用杀毒软件重新杀一遍系统,确认没有其他的木马。
 上面的例子充分体现了IceSword的魅力所在。正如作者所言,IceSword大量采用新颖技术,有别于其他普通进程工具,比如IceSword就可以结束除Idle进程、System进程、csrss进程这三个进程外的所有进程,就这一点,其他同类软件就是做不到的。当然有些进程也不是随便可以结束的,如系统的winlogon.exe进程,一旦杀掉后系统就崩溃了,这些也需要注意。
 还等什么,这么好用、强悍的“瑞士军刀”,还不赶快准备一把防身?

 

抱歉!评论已关闭.