在论坛里看到有人发了关于System Repair Engineer (SREng) 2.5 常用操作的帖子我在这里想补充下关于扩展插件的应
用和API HOOK检测的相关应用:
首先我们来认识下什么是API HOOK:
怎么说呢,首先API HOOK包括DOS下的中断, WINDOWS里的API、中断服务、IFS和NDIS过滤等。比如大家熟悉的即时
翻译软件,就是靠HOOK TextOut()或ExtTextOut()这两个函数实现的,在操作系统用这两个函数输出文本之前,就把相应
的英文替换成中文而达到即时翻译;IFS 和NDIS过滤也是如此,在读写磁盘和收发数据之前,系统会调用第三方提供的回
调函数来判断操作是否可以放行,它与普通HOOK不同,它是操作系统允许的,由操作系统提供接口来安装回调函数。
甚至如果没有HOOK,就没有病毒,因为不管是DOS下的病毒或WINDOWS里的病毒,都是靠HOOK系统服务来实现自己的
功能的:DOS下的病毒靠HOOK INT 21来感染文件(文件型病毒),靠HOOK INT 13来感染引导扇区(引导型病毒);
WINDOWS下的病毒靠HOOK系统API(包括RING0层的和RING3层的),或者安装IFS(CIH病毒所用的方法)来感染文
件。因此可以说“没有HOOK,就没有今天多姿多彩的软件世界”。
由于涉及到专利和知识产权,或者是商业机密,微软一直不提倡大家HOOK它的系统API,提供IFS和NDIS等其他过滤接
口,也是为了适应杀毒软件和防火墙的需要才开放的。所以在大多数时候,HOOK API要靠自己的力量来完成。
HOOK API有一个原则,这个原则就是:被HOOK的API的原有功能不能受到任何影响。就象医生救人,如果把病人身体里
的病毒杀死了,病人也死了,那么这个 “救人”就没有任何意义了。如果你HOOK API之后,你的目的达到了,但API的原
有功能失效了,这样不是HOOK,而是REPLACE,操作系统的正常功能就会受到影响,甚至会崩溃。
下面进入SREng2.5 在这方面的应用:
鉴于很多计算机病毒(如灰鸽子后门程序等)采用 Win32 API HOOK 技术来达到隐藏自身的目的,System Repair
Engineer (SREng) 从 2.3 版本就开始正式提供对Win32 API HOOK 检测的支持。
当 System Repair Engineer (SREng) 发现有Win32 API 被 HOOK 的时候,会在桌面右下角弹出警告气泡,同时,智能扫
描的扫描日志里面也能够记录被 HOOK 的API内容。
例如:用户机器里面被植入灰鸽子后门程序以后SREng的报警提示信息:

从上图可以看到,在 System Repair Engineer (SREng) 的进程空间里面,有大量的API函数和预期值不符。这是因为在这
台计算机上被植入了灰鸽子后门程序。
从函数名可以得出,被HOOK的API和注册表的各种枚举操作以及文件的枚举操作相关。
上述被HOOK的API函数将造成通过正常的方法是无法发现灰鸽子的文件和注册表键值的。包括一些杀毒软件都会由于这个
问题而造成无法发现和清除用户系统里面正在运行的灰鸽子后门程序。
在Pop窗口里面点击“查看详情”文字就可以看到高级操作模式的操作对话框。

在详细信息操作对话框里面,除了能够显示API是由谁HOOK的以外,还能够对入口点错误类型的API进行还原。只需要点
击修复入口点错误按钮即可。
修复入口点以后,再查看服务列表,会发现修复前不能发现的灰鸽子远程后门软件的服务已经出现在服务列表里面了。这
是因为API HOOK入口点修复完成以后,依靠API HOOK来实现自我隐藏功能已经失效所致。

注意事项:
一些正常的安全软件也会对一些API进行HOOK操作以实现安全监控功能。这类软件一般都会有明确的标示信息,例如
拥有自己的数字签名或文件是存在在厂商自己的软件安装目录之下。
对于使用驱动程序进行 HOOK 的软件,例如 Kaspersky 6.0系列和kaspersky7.0系列,受制于操作系统的权限控制限
制,System Repair Engineer (SREng)无法获得具体的文件路径,而只能显示HOOK指向的目标地址。
相信用卡巴的朋友用System Repair Engineer 检查下电脑就会发现它会报API HOOK有错误,如图
点击详细情况发现如下:
这些都是卡巴的驱动程序
还比如说comodo防火墙的一个启动项:
是安全软件comodo的一个数字签证的动态连接库文件。
所以大家要进行相应的辨别,一般有数字签证的软件是相对比较安全的。
下面对扩展插件的应用进行相应的说明:
如上图所示:
大家可以到官方下载相应的插件(上面是一个数字签证的插件)放到软件所在的目录下面即可,扫描的使用就和 System
Repair Engineer (SREng) 2.5 常用操作 常用操作 里面一样啦。。在这里可以看到含有数字签证的文件。
对扩展里面的使用如:
启动扫描可以选择所需要扫描的位置
我再官方网页下载了几个插件,如上图的NTFS流扫描.(对于NTFS数据流的分析我在论坛里会有介绍,我的QQ空间里面也有解析 http://user.qzone.qq.com/314205809)
还其他的在我的扩展里面可以加载自己的配置,设置不同的扩展功能:
。
其中有部分分析是在 虚拟机 里面完成的,图示会有所不同。。。。。
如果还有新的发现希望大家能分享下经验。。。呵呵。。。。。。
[
本帖最后由 ngc0717 于 2008-4-4 13:47 编辑 ]