IceSword,也称为冰刀或者冰刃,有些人简称IS,是USTC的PJF出品的一款系统诊断、清除利器。
太原理工大学|太原理工大学论坛|太原理工大学BBS$ s% i8 I7 n7 Z- D
太原理工大学论坛[龙城水秀]9 |5 [/ P7 ?+ x! i
清除流氓软件工具无数,为什么称之为第一利器呢,有如下的理由:
www.tyutbbs.com* ^1 L3 t& }% C( R0 t
1)你是不是经常有文件删不掉?如CNNIC或者3721的文件?
! ^4 g: m+ K: ]8 r% O0 t; Z太原理工大学|太原理工大学论坛|太原理工大学BBS2)是不是经常有注册表不让你修改?如CNNIC的注册表是它自动保护起来的
/ i, E$ f+ G, e* b! F& K清泽论坛-太原理工大学网络家园3)是不是经常有进程杀不掉,提示“无法完成”?
2 c3 g/ y2 A9 P3 W. |: b4)是不是浏览器有N多的插件?
- _4 i0 {& w; K: I. j# Uwww.tyutbbs.com5)是不是有一些程序运行的时候隐藏了进程和端口?
9 ^8 X+ b+ }* m& m/ [太原理工大学|太原理工大学论坛|太原理工大学BBS6)是不是有一些流氓软件的文件在资源管理器下看都看不到?
! k! [$ z8 a, j1 V& E# K0 }, Y) @1 mwww.tyutbbs.com再看看作者给出的理由:(专业性强一点)
太原理工大学,太原理工大学论坛# x6 K2 }' \# \) v4 y, K
1、绝大多数所谓的进程工具都是利用Windows的Toolhlp32或psapi再或ZwQuerySystemInformation系统调用(前二者最终也用到此调用)来编写,随便一个ApiHook就可轻轻松松干掉它们,更不用说一些内核级后门了;极少数工具利用内核线程调度结构来查询进程,这种方案需要硬编码,不仅不同版本系统不同,打个补丁也可能需要升级程序,并且现在有人也提出过防止此种查找的方法。而IceSword的进程查找核心态方案是目前独一无二的,并且充分考虑内核后门可能的隐藏手段,目前可以查出所有隐藏进程。
* D4 `9 u% b/ J" A3 e0 D9 V太原理工大学|太原理工大学论坛|太原理工大学BBSwww.tyutbbs.com) ]' q) ?# d H# M D9 [0 X4 j0 ^
2、绝大多数工具查找进程路径名也是通过Toolhlp32、psapi,前者会调用RtlDebug***函数向目标注入远线程,后者会用调试api读取目标进程内存,本质上都是对PEB的枚举,通过修改PEB就轻易让这些工具找不到北了。而IceSword的核心态方案原原本本地将全路径展示,运行时剪切到其他路径也会随之显示。
8 W$ v. n, i* Z太原理工大学|太原理工大学论坛|太原理工大学BBS6 ?3 ^! P9 q% S
3、进程dll模块与2的情况也是一样,利用PEB的其他工具会被轻易欺骗,而IceSword不会弄错(有极少数系统不支持,此时仍采用枚举PEB)。
8 t6 u( |$ q8 t @
www.tyutbbs.com. y: c2 f8 ^4 x! S
4、IceSword的进程杀除强大且方便(当然也会有危险)。可轻易将选中的多个任意进程一并杀除。当然,说任意不确切,除去三个:idle进程、System进程、csrss进程,原因就不详述了。其余进程可轻易杀死,当然有些进程(如winlogon)杀掉后系统就崩溃了。
4 L- L6 V) e/ v4 V' X太原理工大学,太原理工大学论坛www.tyutbbs.com' c( T( a, |" A; K- Z2 z
5、对于端口工具,网上的确有很多,不过网上隐藏端口的方法也很多,那些方法对IceSword可是完全行不通的。其实本想带个防火墙动态查找,不过不想弄得太臃肿。这里的端口是指windows的IPv4 Tcpip协议栈所属的端口,第三方协议栈或IPv6栈不在此列。
www.tyutbbs.com8 J& \+ x2 M+ y0 M4 R
清泽论坛-太原理工大学网络家园3 ^* {; n) B2 S) f: J- \1 U
目前一些流氓软件采取的手段无所不用其极:线程注入,进程隐藏,文件隐藏,驱动保护,普通用户想把文件给删了或者找出进程来,是非常困难的。有的是看到了,删不掉,杀不掉,干着急,实在不行,还需要从另外的操作系统去删除文件。比如采取驱动保护的流氓软件如CNNIC,雅虎助手之类,.sys驱动加载的时候,它过滤了文件和注册表操作,直接返回一个true,Windows提示文件删了,但一看,它还在那里。象一些文件删除工具如unclocker都无效。IceSword是目前所知唯一可以直接删除这类已经加载的驱动和采取注册表保护的工具。象清除CNNIC这类流氓软件,不需要重启也可以完成了。
清泽论坛-太原理工大学网络家园/ a( A; P( Y; T- M; Q
IS采取了很多新颖的、内核级的方法和手段,关于它的技术细节不在本文讨论之列,下面主要从使用者角度讲一下它的主要功能:
www.tyutbbs.com% J7 E- x2 [9 B ?. p& D
■查看进程
! U" d1 ^8 y l5 Y" T8 H" y% o太原理工大学,太原理工大学论坛包括运行进程的文件地址、各种隐藏的进程以及优先级。用它也可以轻易杀掉用任务管理器、Procexp等工具杀不掉的进程。还可以查看进程的线程、模块信息,结束线程等。
7 |( A; T3 e" M# _8 p$ c; L■查看端口
1 F. p P. r% E$ `清泽论坛-太原理工大学网络家园类似于cport、ActivePort这类工具,显示当前本地打开的端品以及相应的应用程序地址、名字。包括使用了各种手段隐藏端口的工具,在它下面,都一览无余。
) E6 ~# _! I& }7 C& d太原理工大学,太原理工大学论坛清泽论坛-太原理工大学网络家园! F! q0 q _$ a& J: ~* Z: A
■内核模块
/ {" n! U9 Q! }# I* iwww.tyutbbs.com加载到系统内和空间的PE模块,一般都是驱动程序*.sys,可以看到各种已经加载的驱动。包括一些隐藏的驱动文件,如IS自身的IsDrv118.sys,这个在资源管理器里是看不见的。
/ f% ~0 l1 L& ?9 kwww.tyutbbs.com■启动组
/ {8 U t3 d/ ?& E清泽论坛-太原理工大学网络家园Windows启动组里面的相关方式,这个比较容易理解了。不过可惜的是没有提示删除功能,只能查看
# n7 V! I/ r1 x8 N■服务
太原理工大学论坛[龙城水秀] ?) J0 F L& [. L0 l. J" D+ n
用于查看系统中的被隐藏的或未隐藏的服务,隐藏的服务以红色显示。提供对服务的操作如启动,停止,禁用等。
太原理工大学论坛[龙城水秀]1 J4 Z6 B. v5 [9 p" U
8 p% ?. U, e2 P$ [5 A# G1 ~太原理工大学,太原理工大学论坛■SPI和BHO
3 k1 {$ t+ B! X E+ b" {太原理工大学|太原理工大学论坛|太原理工大学BBS这两个是目前流氓软件越来越看中的地方。SPI是服务提供接口,即所有Windows的网络操作都是通过这个接口发出和接收数据包的。很多流氓软件把这个.dll替换掉,这样就可以监视所有用户访问网络的包,可以针对性投放一些广告。如果不清楚的情况下,把这个.dll删掉,会造成网络无法使用,上不了网。LSPFix等工具就是针对这个功能的。BHO就更不用说了,浏览器的辅助插件,用户启动浏览器的时候,它就可以自动启动,弹出广告窗口什么的。这两项仅提供查看的功能。
- [, [; M/ T9 u$ J* I7 P7 o清泽论坛-太原理工大学网络家园■SSDT (System Service Descriptor Table)
) i" `& e; P& D, }太原理工大学|太原理工大学论坛|太原理工大学BBS系统服务描述表,内核级后门有可能修改这个服务表,以截获你系统的服务函数调用,特别是一些老的rootkit,像上面提到的ntrootkit通过这种hook实现注册表、文件的隐藏。被修改的值以红色显示,当然有些安全程序也会修改,比如regmon。
# P3 d5 {. {5 R
) V; Z" x2 V' l) f0 b+ D+ S太原理工大学|太原理工大学论坛|太原理工大学BBS■消息钩子
www.tyutbbs.com3 O4 |7 Z" W$ X0 b8 d
若在dll中使用SetWindowsHookEx设置一全局钩子,系统会将其加载入使用user32的进程中,因而它也可被利用为无进程木马的进程注入手段。
+ j5 P! m+ B3 h l! f清泽论坛-太原理工大学网络家园■线程创建和线程终止监视
2 a4 u& B+ _8 M8 B3 s" Z1 p0 E太原理工大学|太原理工大学论坛|太原理工大学BBS“监视进线程创建”将IceSword运行期间的进线程创建调用记录在循环缓冲里,“监视进程终止”记录一个进程被其它进程Terminate的情况。举例说明作用:一个木马或病毒进程运行起来时查看有没有杀毒程序如norton的进程,有则杀之,若IceSword正在运行,这个操作就被记录下来,你可以查到是哪个进程做的事,因而可以发现木马或病毒进程并结束之。再如:一个木马或病毒采用多线程保护技术,你发现一个异常进程后结束了,一会儿它又起来了,你可用IceSword发现是什么线程又创建了这个进程,把它们一并杀除。中途可能会用到“设置”菜单项:在设置对话框中选中“禁止进线程创建”,此时系统不能创建进程或者线程,你安稳的杀除可疑进线程后,再取消禁止就可以了。
太原理工大学|太原理工大学论坛|太原理工大学BBS- `' y r* }4 R4 g2 A- M
6 v+ W6 q6 l/ @■注册表操作,Regedit有什么不足?
( ^4 `, Q+ p# L) _/ Q' r0 |8 U太原理工大学论坛[龙城水秀]说起Regedit的不足就太多了,比如它的名称长度限制,建一个全路径名长大于255字节的子项看看(编程或用其他工具,比如regedt32),此项和位于它后面的子键在regedit中显示不出来;再如有意用程序建立的有特殊字符的子键regedit根本打不开。
7 q4 a8 n4 v( Y/ M6 N太原理工大学|太原理工大学论坛|太原理工大学BBSIceSword中添加注册表编辑并不是为了解决上面的问题,因为已经有了很多很好的工具可以代替Regedit。IceSword中的“注册表”项是为了查找被木马后门隐藏的注册项而写的,它不受目前任何注册表隐藏手法的蒙蔽,真正可靠的让你看到注册表实际内容。
太原理工大学,太原理工大学论坛$ ~/ b$ g+ S" i% g
如CNNIC添加的HKLM\SYSTEM\CurrentControlSet\Services\cdnport这个键值,就是通过它来加载cndport.sys这个驱动文件的。通过Regedit你删除会直接出错,根本无法删除。而用IS就可以轻易干掉。
太原理工大学论坛[龙城水秀]9 u/ D, D! Q4 Q( R
: s. D* s' E% m6 Z7 u7 Y太原理工大学论坛[龙城水秀]■文件操作
太原理工大学,太原理工大学论坛. Z* P! ~% } P% F* {! _
IS的文件操作有点类似于资源管理器,虽然操作起来没有那么方便,但是它的独到功能在于具备反隐藏、反保护的功能。还有对安全的副作用是本来system32\config\SAM等文件是不能拷贝也不能打开的,但IceSword是可以直接拷贝的。类似于已经加载的驱动,如CNNIC的cdnport.sys这个文件,目前只有IS可以直接把它删除,其它无论什么方式,都无法破除驱动自身的保护。
, I3 ]. T# H' }0 y' E/ L太原理工大学|太原理工大学论坛|太原理工大学BBS即使对大多数有用的unlocker,CopyLock、KillBox都是无效的。利用Windows的系统还没有完全加载的删除机制,通过在HKLM\SYSTEM\CurrentControlSet\Control\Session Manager下增加PendingFileRenameOperations,这个是所有删除顽固文件工具的最后一招,但它也被驱动保护变得无效了。以前的情况就是需要重启启动到另外一个操作系统下删除。
0 x7 g b k$ I; l, O3 w太原理工大学论坛[龙城水秀]----那帮做流氓软件的可真是手段无所不用其及。
( a: M7 t t) E5 T6 ]* e太原理工大学,太原理工大学论坛
$ b& ~9 G( j& D t: S. l4 X" k太原理工大学论坛[龙城水秀]
( A- O/ J( w, }+ ]- j/ c# S* H清泽论坛-太原理工大学网络家园晕,超字数了,
http://www.gz-benet.com.cn/bbs/Show.Asp?ID=1954 到这看下原帖吧(带下载地址)