查看: 20766|回复: 125
收起左侧

[技术原创] 嗅探Microsoft的病毒扫描引擎

  [复制链接]
B100D1E55
发表于 2017-2-10 09:22:10 | 显示全部楼层 |阅读模式
本帖最后由 B100D1E55 于 2017-2-10 09:39 编辑

昨天讲到通过构造一个特殊的EICAR Dropper可以间接测试Windows Defender防毒引擎的仿真能力(http://bbs.kafan.cn/thread-2076336-1-1.html),测试结果还是比较让人失望的。这篇里面继续挖掘一下自制的EICAR Dropper的价值——我可以用这个程序作为一个指示器来嗅探Windows Defender虚拟仿真环境的用户名

之所以想到测这个主要是因为昨天有人提到是否能通过网络上传来收集虚拟环境的信息,答案是:没有直接的方法。因为扫描引擎的仿真环境严格和外界隔绝,外界网络连接自然更不可能。

但……吼吼……一些旁敲侧击的方法就完全可行


类似于逆向集成电路的黑盒结构,我们可以通过构造特定的输入并观察输出来反向探测扫描引擎里面的环境。EICAR Dropper的原理正好符合这个条件:我可以添加一个条件判断,如果满足某条件,实机运行并不会展现任何行为,但在Windows Defender的扫描引擎里面则会展现恶意行为从而报毒——通过这点我们就可以反向侦测虚拟机内的用户名。

方法简单到不能再简单了,我写了一个if条件,先获取用户名,如果用户名的某个字母等于某个数值,则释放EICAR。只要我构造大量这样的程序然后扫描,就能碰撞出真的用户名

你可能觉得这个方法很挫:假定用户名的字符限定在52个大小写英文字母上,那么每嗅探一位就需要尝试好几十次。
事实并非如此,如果你使用一些小伎俩(例如Binary Search),每个字符位的嗅探尝试可以低至5~6次(log2(52)~6)……如果设计者起名的思维比较传统,那么通过碰撞一开始的几个字母,你几乎就可以猜出整个单词了(人脑字典破解)

依照这个思维我构造了一些exe然后传到VT,发现第一个字母是大写J

信息不够,我们再碰撞第二个……5次尝试后发现第二个字母是小写o

也就是仿真环境里的用户名是Jo……
我第一反应是John Doe,这个名字类似于中文里的”小明”,用来给一个虚拟环境命名再适合不过了。不过也有可能叫Joe或者Job(我YY了一下VT扫描机说不定会命名为job1,job2,……),反正试一试也不会掉一块肉嘛


我先试了b,发现不行……

再试了h……命中了!
有很大可能性用户名叫John,运用类似方法我立即嗅探出来WD的仿真环境用户名叫JohnDoe。总尝试次数没超过20次,而写程序加整个碰撞试错过程没超过一个小时……

也就是说你可以构造一个恶意程序,当检测到用户名是JohnDoe的时候直接退出,即可某种程度上免杀Windows Defender……当然如果你的用户名刚好也叫JohnDoe——( •̀ ω •́ )y恭喜你!逃过一劫

为了验证不是因为VT上的电脑叫JohnDoe(有的杀软会将实机的用户名传递给仿真环境,这样就没法预测了),我克服了自己的懒惰装了一个RS1的虚拟机,用户名起名为“nonlocal”,试了一下Windows Defender的扫描……

报毒了……


也就是说,用Windows Defender的童鞋们电脑里都住着一个叫小明的孩子,每日兢兢业业帮忙守护着信息安全……
静态用户名嗅探是n年前提出的手法,而对抗方法也很简单,既可以随机生成用户名,也可以直接取用实机的用户名……WD这样的开发态度真的没问题吗??

本系列暂告一段落,我得干活去了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 7分享 +2 人气 +7 收起 理由
popu111 + 1 难得一见有理有据的议论文
屁颠屁颠 + 2 + 1 版区有你更精彩: )
windows7爱好者 + 1 老哥稳
驭龙 + 1 版区有你更精彩: )
linzh + 1 精品文章

查看全部评分

pal家族
发表于 2017-2-10 09:29:56 | 显示全部楼层
楼主啊,文章我没看,我是来看TOM的
wangfeng66
发表于 2017-2-10 09:31:32 | 显示全部楼层
又来学习了。技术探底WD系列啊。
B100D1E55
 楼主| 发表于 2017-2-10 09:31:36 | 显示全部楼层
pal家族 发表于 2017-2-10 09:29
楼主啊,文章我没看,我是来看TOM的

很好,我的目的达到了
houtiancheng
发表于 2017-2-10 09:39:58 | 显示全部楼层
楼主你这是要打微软脸啊~
搞得我对WD的信心一下子弱了好多啊
maomao110
发表于 2017-2-10 09:52:35 | 显示全部楼层
pal家族 发表于 2017-2-10 09:29
楼主啊,文章我没看,我是来看TOM的

我也是 只看到了  TOM
清道夫900
发表于 2017-2-10 10:20:32 | 显示全部楼层
现在开始觉得杀软的存在必要性了。
linzh
发表于 2017-2-10 10:31:43 | 显示全部楼层
进来默默的学习...
明月丶舞白衣
发表于 2017-2-10 10:41:49 | 显示全部楼层
所以我现在到处安利不要用WD
驭龙
发表于 2017-2-10 10:41:55 | 显示全部楼层
我说过吧,微软的VFS已经是八年前的老技术了

我想根本适应不了现在的环境,另外虚拟环境分析的时候,会把应用程序命名为myapp.exe

另外你是在本地测试的WD,还是用的在线?万一VT上的环境用户名是这个呢?
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-12-23 04:11 , Processed in 0.126679 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表