browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

对KillBadware(卡巴威尔)的研究

Posted by on 2006 年 11 月 23 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

今天偶然打开10月份下载的一个软件“KillBadware”,发现自己的机器上出现一堆流氓软件。惊恐之余便用360安全卫士又查了查,但结果却截然相反——没有流氓软件。出于对某男Y的信任,便认为是KillBadware出了错,并进行了以下研究。

KillBadware是一款很小巧的工具,经过初步判断其中的核心部分是KillBadware.exe、RawFRMgr.dll和xFileMgr.sys。我使用的研究工具是OllyDbg、eXeScope和IDA。

KillBadware.exe

这个文件为KillBadware的主程序,暂理解为KillBadware的UI层,主要功能为向用户提供交互界面。此文件被严密保护起来,无法用OllyDbg启动调试,使用eXeScope打开则有4个Section Header为空,而且使用IDA静态分析找不到程序入口。

只得启动KillBadware.exe后使用OllyDbg附加至该进程,粗略浏览汇编代码后发现该程序使用MFC编写,但并未发现什么有用信息,看来是个纯UI层。

RawFRMgr.dll

此DLL导出了6个函数:AddDeleteFile、AddDeleteReg、DeInitRawFileRegMgr、InitRawFileRegMgr、RawDeleteFile和SaveDeleteRecord。从这些导出名称可以猜测,KillBadware的所有业务功能都是调用这些导出函数完成的,故此DLL可称为业务层。
此DLL竟然没有经过加密,用IDA直接就给拆了。大致浏览了一下,发现如下内容:

  1. 提升系统权限为SeLoadDriverPrivilege,并加载xFileMgr.sys。
  2. 所有Win32 API都是通过GetProcAddress调用的。// 李马批注:如果让别人钩住你的GetProcAddress呢?
  3. RawDeleteFile调用了DeviceIoControl,极有可能是调用驱动xFileMgr.sys来删除文件。

xFileMgr.sys

此驱动在KillBadware启动后会被复制到Windowssystem32drivers,由RawFRMgr.dll的分析,可称此驱动为引擎层。由于水平有限兼之手上没有DDK的文档,所以无法对IDA的分析结果作出任何结论。

分析测试

用OllyDbg调试时发现,KillBadware将查杀记录保存至Windows目录下的SecRmFL.Dat,此文件为二进制格式,但是其中的字符串是用明文保存的,所以可以直接用记事本打开。打开后发现其中列出了删除的所有文件名,到此便猜测KillBadware是个特征库+搜索机+删除器的工具(有些像“智慧星杀毒软件”了)。

于是,取SecRmFL.Dat中“很棒小秘书”的特征,在Windowssystem32下建立一文本文件(内容任意,为恶作剧起见取“Don’t kill me!”),命名为“hap.dll”。再次启动KillBadware,果然发现了所谓的“很棒小秘书”。

意外收获

本以为就此可以写一些评论文字来论述这种特征库方式的不合理性,但不慎手一抖启动了360安全卫士,发现“很棒小秘书”亦赫然在列。

算老哇,我看我还是甚也别说咧。

订阅本站

2 Comments

  • At 2006.11.25 12:55, 芽雨 said:

    强帖留名

    • At 2009.02.14 23:34, redfox said:

      文件名杀毒 哈哈!

      (Required)
      (Required, will not be published)