误设陷阱
夜黑风高,两位不速之客再次来到了一片新的土地。
老二,终于进来了,咱们按计划行事你扫描硬盘上的文件,看看有没有有价值的我来修改启动项,把我们加进去
等一下,老板,我感觉有些不对劲
怎么了,老板问
老板环顾四周,注意到一些不寻常的事情。
等了一小会儿,老板突然惊呼:不!这是个虚拟机,我们已经掉进去了!
你怎么知道这是虚拟机,第二个迷惑不解地问道
看,这里有一个vmware进程,注册表中有许多vmware标记
我该怎么办完了,我们要被扒干净了~,老二一脸焦急
老板皱着眉头,来回踱步突然,他面露喜色,说道:别担心临走前,主人偷偷给了我一个锦囊,叫我紧急时打开
你还在等什么。快拿出来!
老板从她的口袋里拿出一个工具包,里面有一张纸他们两个仔细看了看
过了一会儿,老板大声笑了起来:老弟!稳定!
老二脸上有个问号,但不太明白大哥,对不起,这怎么能稳定呢
看这里,主持人交代了虚拟机逃离方案,告诉我们如何逃离虚拟机。
大哥,小声点,小心被发现我们开始吧,晚了也许就晚了
别急,让我仔细研究一下
信纸上写了很多字,看起来很复杂,两人刚刚放松的眉头又慢慢皱了起来。
过了一会儿,老二就没耐心了大哥哥,这太复杂了我不能理解它这取决于你
我明白了,虚拟机会与外面的真实世界交流。我们只需要抓住通信过程中的漏洞,把我们的指令代码混在通信数据中,让负责通信的外界那端执行这些指令代码,这样我们就可以传送出去,逃到外面的真实世界去!
我明白了,但是我到哪里去找这样的漏洞呢。
是的,看这里主持人给我们找了几个漏洞
CVE—2016—7461
CVE—2017—4901
CVE—2019—14378
"这串字符和数字是什么意思",第二个问道
嗯,这叫漏洞号CVE是常见的漏洞和暴露,这意味着公共漏洞披露第二是年份,第三是具体的漏洞号每年都有那么多软件被发现漏洞,为了方便管理,统一分配了编号
那就赶紧,选一个开始!
让我看看,就选第二个是VMware的漏洞,版本合适还没修好呢,二哥
说完,老板按照信纸上的描述,开始忙碌起来,准备用一会儿数据和代码。
老大,这个漏洞的原理是什么。趁你准备的时候,给我讲讲吧~
机主来信说VMware有一个后门的通信接口,可以用来进行虚拟机内部操作系统和外部系统的通信复制和拖放使用它来传输文件这个后门的代码写的漏洞百出
牛皮!师傅真牛皮,老二感叹!
别闲着,过来帮我准备资料!
新世界
过了一会儿。
大哥,都准备好了吗。
一切都按照信中的方法准备好了,二哥来吧,我们出去抓紧我
老板拿出刚才精心准备的代码,小心翼翼的点击执行,只听到一阵电流嘶嘶的声音他们两个变成了一串比特流,传输到外面的VMware进程
按照计划,漏洞触发成功!在执行了他们事先写好的指令代码后,两人成功来到了外部电脑的文件目录下。
等了一会儿,两人慢慢从刚才的眩晕中恢复过来。
老板,我们成功了!
哈哈!终于出来了
这两个家伙高兴地拥抱在一起。
好了,现在让我们进入正题已经耽误了不少时间了,车主还在等我们的消息
好了,我们开始工作吧。
这两个人开始忙碌起来,争分夺秒地实施他们的计划可是,他们很快发现又出事了
大哥,你这里怎么还有vmware进程我们不是逃了吗
胡说,我刚才是从那里跑出来的。
没有,你过来看看。
老板闻讯赶了过来,再四处看了看,倒吸了一口凉气。
二哥,一切都结束了。看来这个地方还是个虚拟机
故事灵感
以下是我的回答:
虚拟化技术经历了大约三个发展阶段:
从早期的二进制指令翻译技术
通过修改操作系统代码中的特殊指令来调用
CPU支持的硬件虚拟化,尤其是硬件虚拟化技术的出现,引起了虚拟化技术的井喷VirtualBox,VMWare,KVM等相继涌现,一定程度上加速了云计算时代的到来
关于虚拟化技术的发展,请参考我的文章:
明白了!VMware,KVM,Docker原来是这么回事。
说到问题本身,经过三个时期的发展,虚拟化能力越来越接近真实的硬件环境,但即便如此,操作系统仍然很容易知道自己是否在虚拟机中。
理解操作系统可能没那么容易我们换个场景:一个木马病毒开发者想知道目标是不是虚拟机
这个问题更有实际意义如果病毒木马在虚拟机中,极有可能正在被安全研究人员分析一个好的开发者,这个时候应该懂得隐藏自己的意图,不能被识破
这是病毒木马常用的反虚拟机技术。
具体的检测方法有很多,但核心思想是不同的虚拟机会有不同的特点你需要做的就是找到这些特征例如特殊的IO设备,特殊的文件目录,特殊的注册表项,特殊的进程名等
当然,说了这么多,我们还是可以通过一些表面现象来判断自己是否在虚拟机里如果这些都没有,又怎么能真正感知呢
还是有办法的。
真正的物理机和虚拟机总是不一样的这个方向可以从旁门左道考虑,比如执行一个算法需要的时间,执行一个特殊代码带来的硬件波动等等
虚拟机不是绝对安全的要知道,虚拟机中的程序代码和真实主机上的程序一样,都是由物理CPU执行的,只是被硬件,软件等机制强行隔离了
一旦这些机制出现问题,恶意程序将有机会从虚拟机中逃脱!
故事的最后,他们成功逃离了虚拟机,却发现自己还在另一个虚拟机里。