首页
社区
课程
招聘
[旧帖] [原创]申请个邀请码 木马源码免杀:过启发式杀毒之虚拟机检测方法 0.00雪花
发表于: 2011-7-31 09:49 2195

[旧帖] [原创]申请个邀请码 木马源码免杀:过启发式杀毒之虚拟机检测方法 0.00雪花

2011-7-31 09:49
2195
近些年,启发式作为一项新的查毒技术产生,这让我们辛辛苦苦编写的木马运行时瞬间被杀,思量着有守就得有攻,我决定写一篇检测虚拟机过启发式的文章。    检测虚拟机,关键是利用虚拟机与真实环境不同的东西进行判断,我将逐个介绍不同的检测方法。方法一:进程id比较法。大家知道,一个进程有父id和自己的id,这用任务管理器可以看到。一般情况下,这两个值是不一样的,但虚拟机可不是。虚拟机中一个进程的两个值是一样的。1. 先获取自己的进程ID,GetCurrentProcessID()
2. 获取进程查询句柄,调用OpenProcess()带上PROCESS_QUERY_INFORMATION标志
3. 调用 NtQueryInformationProcess()来查询进程信息,用此函数获得父进程id方法网上都是,我不多说了。        方法二:时间差检测法。杀软为了不让虚拟机占用过多cpu资源,分配给虚拟机的cpu频率一般很低,因此,检测一个指令在虚拟机运行的时间,与真实环境运行的时间相比较,就行了。用rdtsc指令可用来测定 时间,具体用法是将被测语句放于两个此指令之间。如不明白可百度一下。你需要先测定真实环境的时间,再测定虚拟机的时间,多测定几组,进行比较,找出合适的值,用来判断。         方法三,注册表关键词法。一些虚拟机在创建虚拟网卡等虚拟硬件时,会在注册表留下关键词,比如vmware等。这些包含关键词的注册表项需要你针对不同虚拟机自己去找。网上流传的也不少        方法四,idt基址检测法。此方法屡试不爽,甚为通用,可谓上上之策。这里直接说检测方法,redpill通过判断sidt指令获得的idt基址第一字节是否为0×d0来检测。redpill代码网上都有,不再说了         检测虚拟机的方法很多,主要是找到其与真实环境的不同之处。要真正运用上文检测方法,你需要精通系统编程,这也是我不贴完整代码的原因。在实现过程中,你需要亲手对其进行研究,测试,并从中提高水平。一味地摘抄别人的代码,只会加大中国黑客的傻瓜化。希望论坛里的新手逐渐变成老手,希望越来越多的人能自己实现上述方法,也希望看雪越办越好。  最后,恳求版主给个邀请码。

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (5)
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
eeeeeeeeeeeeeeee zhe..
2011-7-31 09:59
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
meaning?
2011-7-31 11:14
0
雪    币: 1015
活跃值: (235)
能力值: ( LV12,RANK:440 )
在线值:
发帖
回帖
粉丝
4
搂主申请邀请码的话请在标题出注明,另外将搂主文章的某些词语删除请搂主理解。
2011-7-31 11:28
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
当然可以理解…什么字,我怎么没有发现…呵呵
2011-7-31 11:51
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
额,自己顶下了…
2011-7-31 15:23
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册