对最新QQ医生 1.4版杀毒方式的探讨
QQ刚出了2007正式版的时候马上就下了,QQ医生功能上也做了改进,在后台监视运行,今天上网的时候突然QQ医生弹了出来,呵呵,报告了木马。
汗!QQ2007正式版带的QQ医生功能还真的很强大,无聊之余在学校要度过十一就对对这个小东西的杀毒机制进行研究一下吧。正好我的盘里有个黑洞2005,一个远程控制软件,以前帮朋友查看电脑时候用的它,主要是屏幕传输好,现在也被列入木马行列。本地运行一个看看QQ医生是否杀呢,本地安装了一下运行了一下如下图,杀了出来,呵呵不错,不用去找病毒样本测试了,就拿它来测试了。
QQ医生到底是怎么杀毒的呢?主动防御型?可是我安装的时候根本没反映,我把黑洞服务端的壳很简单用Upx ShellEx就给脱掉了,把里面的所有注册表启动,服务启动之类的字符串全部用0填充了,如下图
红色的部分原来是写注册表的地方全部00填充了,其他能找到的部分也填充了,重新生成并且运行依然被检测了出来,这个小东西不可能用主动防御那中技术,真怀疑。猜测是内存查杀特征。
程序运行在内存里的是相当于无壳装载的,用PEID查了下壳是UPX加的,很简单用工具就脱了,用OD载入无壳的被查了出来,载入个带壳的饿就不杀,瑞星的内存查杀有无壳OD载入都杀的。还是有点疑惑,既然无壳的被查出是毒,那就一个特征定位工具定位一下,如果后成功的定位出了特征码,那就说明QQ医生的确是内存查杀。
用到的工具TK.Loader(内存辅助定位工具)和MYCLL,设置的时候注意,最好少分成几块,我先生成了50个,少这样容易查看,因为很大一部分要手工来完成。还要”在“带后缀”前边打上钩,要么不能载入到内存。这个工具的使用方法网络上有许多。是小黑们木马免杀的利器。简单介绍下MYCLL和TK.LOADER,MYCLL是把文件分成N个部分,然后N个部分里面分别用00填充,之后就生成了N个文件,其实是一种排除方法,而TK.LOADER负责把带后缀的文件载入到内存,这样好在内存中检测。MYCLL界面如下,
在MYCLL目录下的OUTPUT目录里生成了50个文件
之后用TK.LOADER载入内存, 如下图
之后QQ医生扫描,如图5
之后在OUTPUT文件夹下,把查出来的都删除掉,点二次处理,继续定位重复上面的操作,最后成功的定位出一出特征
最后定位出如下的结果:
特征码 物理地址/物理长度 如下:
[特征] 00061BAE_00000002
特征码分布示意图:
[--------------------------------------------------]
[--------------------------------------------------]
[--------------------------------------------------]
[-------------------M------------------------------]
[--------------------------------------------------]
用接下来OC把文件偏移转换成内存地址,如下图(图)
OD载入那个文件,跳到004627AE处,把它用NOP替换掉,保存,载入,QQ医生查不出来了,由此得出了结论,QQ医生是采用内存查杀特征的方式,也是取特征码杀毒。
最后分析了下,为什么QQ医生查不出OD载入带壳的,因为它和瑞星不一样瑞星有脱壳引擎,QQ医生没有,所以只能杀OD载入无壳的了。
汗!QQ2007正式版带的QQ医生功能还真的很强大,无聊之余在学校要度过十一就对对这个小东西的杀毒机制进行研究一下吧。正好我的盘里有个黑洞2005,一个远程控制软件,以前帮朋友查看电脑时候用的它,主要是屏幕传输好,现在也被列入木马行列。本地运行一个看看QQ医生是否杀呢,本地安装了一下运行了一下如下图,杀了出来,呵呵不错,不用去找病毒样本测试了,就拿它来测试了。
QQ医生到底是怎么杀毒的呢?主动防御型?可是我安装的时候根本没反映,我把黑洞服务端的壳很简单用Upx ShellEx就给脱掉了,把里面的所有注册表启动,服务启动之类的字符串全部用0填充了,如下图
红色的部分原来是写注册表的地方全部00填充了,其他能找到的部分也填充了,重新生成并且运行依然被检测了出来,这个小东西不可能用主动防御那中技术,真怀疑。猜测是内存查杀特征。
程序运行在内存里的是相当于无壳装载的,用PEID查了下壳是UPX加的,很简单用工具就脱了,用OD载入无壳的被查了出来,载入个带壳的饿就不杀,瑞星的内存查杀有无壳OD载入都杀的。还是有点疑惑,既然无壳的被查出是毒,那就一个特征定位工具定位一下,如果后成功的定位出了特征码,那就说明QQ医生的确是内存查杀。
用到的工具TK.Loader(内存辅助定位工具)和MYCLL,设置的时候注意,最好少分成几块,我先生成了50个,少这样容易查看,因为很大一部分要手工来完成。还要”在“带后缀”前边打上钩,要么不能载入到内存。这个工具的使用方法网络上有许多。是小黑们木马免杀的利器。简单介绍下MYCLL和TK.LOADER,MYCLL是把文件分成N个部分,然后N个部分里面分别用00填充,之后就生成了N个文件,其实是一种排除方法,而TK.LOADER负责把带后缀的文件载入到内存,这样好在内存中检测。MYCLL界面如下,
在MYCLL目录下的OUTPUT目录里生成了50个文件
之后用TK.LOADER载入内存, 如下图
之后QQ医生扫描,如图5
之后在OUTPUT文件夹下,把查出来的都删除掉,点二次处理,继续定位重复上面的操作,最后成功的定位出一出特征
最后定位出如下的结果:
特征码 物理地址/物理长度 如下:
[特征] 00061BAE_00000002
特征码分布示意图:
[--------------------------------------------------]
[--------------------------------------------------]
[--------------------------------------------------]
[-------------------M------------------------------]
[--------------------------------------------------]
用接下来OC把文件偏移转换成内存地址,如下图(图)
OD载入那个文件,跳到004627AE处,把它用NOP替换掉,保存,载入,QQ医生查不出来了,由此得出了结论,QQ医生是采用内存查杀特征的方式,也是取特征码杀毒。
最后分析了下,为什么QQ医生查不出OD载入带壳的,因为它和瑞星不一样瑞星有脱壳引擎,QQ医生没有,所以只能杀OD载入无壳的了。