<p id="34T9S0AI">误入陷阱</p><p id="34T9S0AJ">夜黑风高,两个不速之客又一次来到了一片新的土地。</p><p id="34T9S0AK">“老二,总算进来了,咱们依计行事,你去扫描硬盘上的文件,看看有没有有价值的,我去修改开机启动项,把咱们加进去”</p><p id="34T9S0AL">“等一下,老大,我感觉有点不对劲”</p><p id="34T9S0AO">“哪里不对劲了?”,老大问到。</p><p id="34T9S0AP">“我们去过的其他地方都很热闹,这里怎么这么安静?你看,连、微信这些进程都没有!”,老二说到。</p><p id="34T9S0AQ">老大环顾四周,也察觉到了一丝异常。</p><p id="34T9S0AR">稍等了一小会儿,老大突然惊呼:“不好!这里是个虚拟机,咱们掉入中了!”</p><p id="34T9S0AS">“你怎么看出这是一个虚拟机的?”,老二不解的问到。</p><p id="34T9S0AT">“你看,那里有个vmware的进程,注册表里还有一堆的标记”</p><p id="34T9S0B1">“那怎么办?完蛋了,咱们要被人扒的干干净净了~”,老二一脸焦急。</p><p id="34T9S0B2">老大眉头紧锁,来回踱步,突然面露喜色说到:“别着急,临行前,主人偷偷给了我一个锦囊,叮嘱我在紧急时候打开”</p><p id="34T9S0B3">“那还等什么?赶紧拿出来啊!”</p><p id="34T9S0B4">老大从兜里掏出了锦囊,里面有一纸信,两人认真的看了起来。</p><p id="34T9S0B5">片刻之后,老大大声笑道:“老弟!稳了!”</p><p id="34T9S0B6">老二一脸问号,没太明白,“大哥,恕我眼拙,这怎么就稳了?”</p><p id="34T9S0B7">“你看这里,主人交代了<strong>虚拟机逃逸</strong><strong>大法</strong>,告诉我们如何从虚拟机中逃离”</p><p id="34T9S0BB">“大哥,小声一点,小心被发现了。咱们快开始行动吧,晚了说不定就来不及了”</p><p id="34T9S0BC">“别急,让我仔细研究一下”</p><p id="34T9S0BD">信纸上密密麻麻写了一大堆,看起来有些复杂的样子,两个人刚刚放松的眉头又慢慢皱了起来。</p><p id="34T9S0BE">没一会儿,老二失去了耐心,“大哥,这也太复杂了,我是看不懂了,靠你了”</p><p id="34T9S0BF">“我明白了,<strong>虚拟机会和外面的真实世界通信,咱们只要抓住通信过程中的漏洞,把我们的指令代码参杂在通信数据中,让外面世界负责通信的一端执行这些</strong><strong>指令</strong><strong>,咱们就能传输过去,逃逸到外面的真实世界去!</strong>”</p><p id="34T9S0BJ">“原来如此,可咱上哪里去找这样的漏洞呢?”</p><p id="34T9S0BK">“有了,看这里,主人给我们找了好几个漏洞,真是太贴心了!”</p><p id="34T9S0BL">● CVE-2016-7461</p><p id="34T9S0BM">● CVE-2017-4901</p><p id="34T9S0BN">● CVE-2019-14378</p><p id="34T9S0BO">“这一串串字符和数字是什么意思?”,老二问到。</p><p id="34T9S0BP">“这个呀,叫漏洞编号,CVE就Common Vulnerabilities and Exposures,公共漏洞披露的意思,第二个是年份,第三个就是具体的漏洞编号了。这每年有那么多软件被发现漏洞,为了管理方便就给它们统一分配了编号。”</p><p id="34T9S0BQ">“那赶紧的,选一个来开干吧!”</p><p id="34T9S0BR">“让我看看,就选第二个吧,这是属于VMware的漏洞,版本也合适,还没有被修复,二弟,咱们的机会来了!”</p><p id="34T9S0BS">说完,老大按照信纸上的描述,开始忙活起来,准备起一会儿要用的数据和代码。</p><p id="34T9S0BT">“老大,这个漏洞的原理是什么啊,趁着你准备的功夫,你给我讲讲呗~”</p><p id="34T9S0BU">“主人的信上说了,VMware有一个<strong>backdoor</strong>的通信接口,可以用来虚拟机内部操作系统和外面系统进行通信,复制和拖放就是使用它来传输文件的。而这个backdoor的代码写的有漏洞,咱们只要精心构造好数据,它在拷贝的时候就会造成<strong>堆溢出</strong>,就有机会执行我们的指令代码啦!”</p><p id="34T9S0BV">“牛皮!主人真牛皮”,老二感叹道!</p><p id="34T9S0C0">“快别闲着了,快来帮我准备数据吧!”</p><p id="34T9S0C2">新世界</p><p id="34T9S0C3">又过了一会儿。</p><p id="34T9S0C4">“大哥,都准备好了吗?”</p><p id="34T9S0C5">“已经按照信上的方法都准备妥当了,二弟,来吧,咱们就要出去了,抓紧我”</p><p id="34T9S0C6">老大拿出了刚才将精心准备的代码,小心翼翼的点击执行,只听一阵电流的嘶嘶声响,二人化成一串比特流传输到了外面的VMware进程中。</p><p id="34T9S0CA">正如计划的一般,漏洞成功的触发!执行了他们提前编写的指令代码,二人成功的来到外面计算机的文件目录下。</p><p id="34T9S0CB">稍等了一会儿,两人慢慢从刚才的眩晕中缓了过来。</p><p id="34T9S0CC">“老大,咱们成功了!”</p><p id="34T9S0CD">“哈哈!总算出来了”</p><p id="34T9S0CE">两个家伙高兴的紧紧抱在了一起。</p><p id="34T9S0CF">“好了,这下咱们开始干正事吧,已经耽误了不少时间了,主人还在等我们的消息呢”</p><p id="34T9S0CG">“好嘞,开始干活”</p><p id="34T9S0CH">两人开始忙活起来,争分夺秒地实行他们的计划,然而,很快他们又发现了不对劲。</p><p id="34T9S0CI">“老大,这里怎么还是有vmware的进程啊?咱们不是逃出来了吗?”</p><p id="34T9S0CJ">“废话,刚才咱就从那里面跑出来的啊”</p><p id="34T9S0CK">“不对,你快过来看看”</p><p id="34T9S0CL">老大闻讯赶了过去,仔细查看后,再一次环顾四周,倒吸了一口凉气。</p><p id="34T9S0CM">“二弟,完了,这里好像还是一个虚拟机···”</p><p id="34T9S0CQ">【完】</p><p id="34T9S0CS">经历三个时期的发展,虚拟化能力越来越逼近于一个真实的硬件环境,但即便如此,操作系统想要知道自己是不是在一个虚拟机中仍然是易如反掌。</p><p id="34T9S0CT">说操作系统可能不那么容易理解。咱们换一个场景:一个木马病毒开发者想要知道攻击目标是不是一台虚拟机?</p><p id="34T9S0CU">这个问题是更具有现实意义的,病毒如果处于虚拟机中,则大概率是正在被安全研究人员进行分析,一个好的开发者,这个时候是要懂得隐藏意图的,不能被看穿。</p><p id="34T9S0CV">这就是病毒木马常用的反虚拟机技术。</p><p id="34T9S0D0">具体的检测手段有很多,但核心思想就是不同的虚拟机会有不同的特征,你需要做的就是去找到这些特征。比如特殊的IO设备、特殊的文件目录、特殊的注册表项、特殊的进程名称等等。</p><p id="34T9S0D1">当然,说了这么多还是通过一些表面现象来判断是不是在虚拟机中,那假若这些都没有,如何做到真正的“感知”呢?</p><p id="34T9S0D2">还是有办法。</p><p id="34T9S0D3">真正的物理机和虚拟机总归是有不同的,这个方向可以从“侧信道”来做一些思考,如执行一段算法花费的时间,执行一段特殊代码造成的硬件波动等等。</p><p id="34T9S0D5">虚拟机并不是绝对安全的,要知道,虚拟机中的程序代码和真实主机上的程序们一样,都是被物理CPU在执行,只不过被硬件、软件等机制进行了“<strong>强制隔离</strong>”罢了。</p><p id="34T9S0D6">而一旦这些机制出现了纰漏,恶意程序也就有机会从虚拟机中逃出来了!</p><p id="34T9S0D7">故事的结尾,他俩好不容易从虚拟机里逃了出来,却发现仍然处在另一个虚拟机中。</p>
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/181530.html