技术博客
吓人!半夜,这个程序从虚拟机里跑出来了
admin2022-11-08 05:30
191人已围观
简介吓人!半夜,这个程序从虚拟机里跑出来了
本文来自微信公众号:编程技术宇宙 (ID:xuanyuancoding),作者:轩辕之风 O
误入陷阱
夜黑风高,两个不速之客又一次来到了一片新的土地。
“老二,总算进来了,咱们依计行事,你去扫描硬盘上的文件,看看有没有有价值的,我去修改开机启动项,把咱们加进去”
“等一下,老大,我感觉有点不对劲”
“哪里不对劲了?”,老大问到。
“我们去过的其他地方都很热闹,这里怎么这么安静?你看,连 QQ、微信这些进程都没有!”,老二说到。
老大环顾四周,也察觉到了一丝异常。
稍等了一小会儿,老大突然惊呼:“不好!这里是个虚拟机,咱们掉入虚拟机中了!”
“你怎么看出这是一个虚拟机的?”,老二不解的问到。
“你看,那里有个 vmware 的进程,注册表里还有一堆 vmware 的标记”
“那怎么办?完蛋了,咱们要被人扒的干干净净了~”,老二一脸焦急。
老大眉头紧锁,来回踱步,突然面露喜色说到:“别着急,临行前,主人偷偷给了我一个锦囊,叮嘱我在紧急时候打开”
“那还等什么?赶紧拿出来啊!”
老大从兜里掏出了锦囊,里面有一纸信,两人认真的看了起来。
片刻之后,老大大声笑道:“老弟!稳了!”
老二一脸问号,没太明白,“大哥,恕我眼拙,这怎么就稳了?”
“你看这里,主人交代了虚拟机逃逸大法,告诉我们如何从虚拟机中逃离”
“大哥,小声一点,小心被发现了。咱们快开始行动吧,晚了说不定就来不及了”
“别急,让我仔细研究一下”
信纸上密密麻麻写了一大堆,看起来有些复杂的样子,两个人刚刚放松的眉头又慢慢皱了起来。
没一会儿,老二失去了耐心,“大哥,这也太复杂了,我是看不懂了,靠你了”
“我明白了,虚拟机会和外面的真实世界通信,咱们只要抓住通信过程中的漏洞,把我们的指令代码参杂在通信数据中,让外面世界负责通信的一端执行这些指令代码,咱们就能传输过去,逃逸到外面的真实世界去!”
“原来如此,可咱上哪里去找这样的漏洞呢?”
“有了,看这里,主人给我们找了好几个漏洞,真是太贴心了!”
CVE-2016-7461
CVE-2017-4901
CVE-2019-14378
“这一串串字符和数字是什么意思?”,老二问到。
“这个呀,叫漏洞编号,CVE 就 Common Vulnerabilities and Exposures,公共漏洞披露的意思,第二个是年份,第三个就是具体的漏洞编号了。这每年有那么多软件被发现漏洞,为了管理方便就给它们统一分配了编号。”
“那赶紧的,选一个来开干吧!”
“让我看看,就选第二个吧,这是属于 VMware 的漏洞,版本也合适,还没有被修复,二弟,咱们的机会来了!”
说完,老大按照信纸上的描述,开始忙活起来,准备起一会儿要用的数据和代码。
“老大,这个漏洞的原理是什么啊,趁着你准备的功夫,你给我讲讲呗~”
“主人的信上说了,VMware 有一个 backdoor 的通信接口,可以用来虚拟机内部操作系统和外面系统进行通信,复制和拖放就是使用它来传输文件的。而这个 backdoor 的代码写的有漏洞,咱们只要精心构造好数据,它在拷贝的时候就会造成堆溢出,就有机会执行我们的指令代码啦!”
“牛皮!主人真牛皮”,老二感叹道!
“快别闲着了,快来帮我准备数据吧!”
新世界
又过了一会儿。
“大哥,都准备好了吗?”
“已经按照信上的方法都准备妥当了,二弟,来吧,咱们就要出去了,抓紧我”
老大拿出了刚才将精心准备的代码,小心翼翼的点击执行,只听一阵电流的嘶嘶声响,二人化成一串比特流传输到了外面的 VMware 进程中。
正如计划的一般,漏洞成功的触发!执行了他们提前编写的指令代码,二人成功的来到外面计算机的文件目录下。
稍等了一会儿,两人慢慢从刚才的眩晕中缓了过来。
“老大,咱们成功了!”
“哈哈!总算出来了”
两个家伙高兴的紧紧抱在了一起。
“好了,这下咱们开始干正事吧,已经耽误了不少时间了,主人还在等我们的消息呢”
“好嘞,开始干活”
两人开始忙活起来,争分夺秒地实行他们的计划,然而,很快他们又发现了不对劲。
“老大,这里怎么还是有 vmware 的进程啊?咱们不是逃出来了吗?”
“废话,刚才咱就从那里面跑出来的啊”
“不对,你快过来看看”
老大闻讯赶了过去,仔细查看后,再一次环顾四周,倒吸了一口凉气。
“二弟,完了,这里好像还是一个虚拟机・・・”
【完】
故事灵感
这个故事的灵感来自于知乎上的一个提问:操作系统能否知道自己处于虚拟机中?
下面是我的回答:
虚拟化技术经过了大概三个时期的发展:
从早期的二进制指令翻译技术(以早期 VMware 为代表)
通过修改操作系统代码中的特殊指令调用(以 XEN 为代表)
CPU 支持的硬件虚拟化(VT-x 技术为代表)尤其是硬件虚拟化技术的出现让虚拟化技术出现了井喷之势,VirtualBox、VMWare(新)、KVM 纷纷涌现,一定程度上加速了云计算时代的到来。
关于虚拟化技术的发展,可以参考我的这篇文章:
懂了!VMware、KVM、Docker 原来是这么回事儿
说到问题本身,经历三个时期的发展,虚拟化能力越来越逼近于一个真实的硬件环境,但即便如此,操作系统想要知道自己是不是在一个虚拟机中仍然是易如反掌。
说操作系统可能不那么容易理解。咱们换一个场景:一个木马病毒开发者想要知道攻击目标是不是一台虚拟机?
这个问题是更具有现实意义的,病毒木马如果处于虚拟机中,则大概率是正在被安全研究人员进行分析,一个好的开发者,这个时候是要懂得隐藏意图的,不能被看穿。
这就是病毒木马常用的反虚拟机技术。
具体的检测手段有很多,但核心思想就是不同的虚拟机会有不同的特征,你需要做的就是去找到这些特征。比如特殊的 IO 设备、特殊的文件目录、特殊的注册表项、特殊的进程名称等等。
当然,说了这么多还是通过一些表面现象来判断是不是在虚拟机中,那假若这些都没有,如何做到真正的“感知”呢?
还是有办法。
真正的物理机和虚拟机总归是有不同的,这个方向可以从“侧信道”来做一些思考,如执行一段算法花费的时间,执行一段特殊代码造成的硬件波动等等。
虚拟机并不是绝对安全的,要知道,虚拟机中的程序代码和真实主机上的程序们一样,都是被物理 CPU 在执行,只不过被硬件、软件等机制进行了“强制隔离”罢了。
而一旦这些机制出现了纰漏,恶意程序也就有机会从虚拟机中逃出来了!
故事的结尾,他俩好不容易从虚拟机里逃了出来,却发现仍然处在另一个虚拟机中。

微信公众号
很赞哦!(0)
相关文章
文章评论
评论0
站点信息
- 微信公众号:扫描二维码,关注我们

点击排行

标签云
-
php
网页设计
个人博客
JS
个人博客
Html
春节必看: 2020新春红包大战 全攻略
新增详细玩法攻略!
支付宝集五福5亿集分宝招商银行抽现金券抖
抖音 2020 发财中国年 攻略
支付宝集五福5亿集分宝招商银行抽现金券抖
最近购买威尔胜WTB0900复刻版和WT
mysql慢查询和php-fpm慢日志
PSR-2
基础代码规范
Thinkphp
响应式
公司
整站
源码
网络科技网站模板
1024
节日
百度收录
论坛
社区
2020
豆瓣
评分最高
电影
debugger
调试
Python
语法
高德
百度地图
MySQL
追寻
webpack
vue
oracle
服务器搭建
有趣
动物
人体
历史
天文
生活
名人
体育
地理
文化
科学
心理
植物
饮食
自然
图片
JVM
IDEA
Loader
Git
UNIAPP
股票
A股
同花顺
海尔
海天味业
半年报
股市总结
歌尔股份
乐普医疗
涪陵榨菜
餐饮
财报分析
酒店
年报分析
美锦能源
山煤国际
贵州茅台
张坤
腾讯
华鲁恒升
淮北矿业
药明康德
早盘关注
国电电力
北方华创
宝丰能源
TCL中环
兔宝宝
天润乳业
启明星辰
阳光电源
山西汾酒
迈瑞医疗
人福医药
比亚迪
宁德时代
汤臣倍健
伊利股份
通威股份
东鹏饮料
隆基股份
紫金矿业
五粮液
康龙化成
赣锋锂业
爱尔眼科
片仔癀
VR
永新股份
爱美客
美的集团
格力电器
科沃斯
云南白药
同仁堂
洋河股份
白云山
三体
狂飙 原著