【虛擬機(jī)逃逸大法】這個程序自動從虛擬機(jī)里跑出來了!快阻止它,不然你系統(tǒng)
時間:2023-06-29 06:09:01 | 來源:網(wǎng)站運(yùn)營
時間:2023-06-29 06:09:01 來源:網(wǎng)站運(yùn)營
【虛擬機(jī)逃逸大法】這個程序自動從虛擬機(jī)里跑出來了!快阻止它,不然你系統(tǒng)要沒?。。。?h3 data-first-child>誤入陷阱
夜黑風(fēng)高,兩個不速之客又一次來到了一片新的土地。
“老二,總算進(jìn)來了,咱們依計行事,你去掃描硬盤上的文件,看看有沒有有價值的,我去修改開機(jī)啟動項,把咱們加進(jìn)去”
“等一下,老大,我感覺有點不對勁”
“哪里不對勁了?”,老大問到。
“我們?nèi)ミ^的其他地方都很熱鬧,這里怎么這么安靜?你看,連QQ、微信這些進(jìn)程都沒有!”,老二說到。
老大環(huán)顧四周,也察覺到了一絲異常。
稍等了一小會兒,老大突然驚呼:“不好!這里是個虛擬機(jī),咱們掉入虛擬機(jī)中了!”
“你怎么看出這是一個虛擬機(jī)的?”,老二不解的問到。
“你看,那里有個vmware的進(jìn)程,注冊表里還有一堆vmware的標(biāo)記”
“那怎么辦?完蛋了,咱們要被人扒的干干凈凈了~”,老二一臉焦急。
老大眉頭緊鎖,來回踱步,突然面露喜色說到:“別著急,臨行前,主人偷偷給了我一個錦囊,叮囑我在緊急時候打開”
“那還等什么?趕緊拿出來?。 ?br>
老大從兜里掏出了錦囊,里面有一紙信,兩人認(rèn)真的看了起來。
片刻之后,老大大聲笑道:“老弟!穩(wěn)了!”
老二一臉問號,沒太明白,“大哥,恕我眼拙,這怎么就穩(wěn)了?”
“你看這里,主人交代了
虛擬機(jī)逃逸大法,告訴我們?nèi)绾螐奶摂M機(jī)中逃離”
“大哥,小聲一點,小心被發(fā)現(xiàn)了。咱們快開始行動吧,晚了說不定就來不及了”
“別急,讓我仔細(xì)研究一下”
信紙上密密麻麻寫了一大堆,看起來有些復(fù)雜的樣子,兩個人剛剛放松的眉頭又慢慢皺了起來。
沒一會兒,老二失去了耐心,“大哥,這也太復(fù)雜了,我是看不懂了,靠你了”
“我明白了,
虛擬機(jī)會和外面的真實世界通信,咱們只要抓住通信過程中的漏洞,把我們的指令代碼參雜在通信數(shù)據(jù)中,讓外面世界負(fù)責(zé)通信的一端執(zhí)行這些指令代碼,咱們就能傳輸過去,逃逸到外面的真實世界去!”
“原來如此,可咱上哪里去找這樣的漏洞呢?”
“有了,看這里,主人給我們找了好幾個漏洞,真是太貼心了!”
● CVE-2016-7461
● CVE-2017-4901
● CVE-2019-14378
“這一串串字符和數(shù)字是什么意思?”,老二問到。
“這個呀,叫漏洞編號,CVE就Common Vulnerabilities and Exposures,公共漏洞披露的意思,第二個是年份,第三個就是具體的漏洞編號了。這每年有那么多軟件被發(fā)現(xiàn)漏洞,為了管理方便就給它們統(tǒng)一分配了編號?!?br>
“那趕緊的,選一個來開干吧!”
“讓我看看,就選第二個吧,這是屬于VMware的漏洞,版本也合適,還沒有被修復(fù),二弟,咱們的機(jī)會來了!”
說完,老大按照信紙上的描述,開始忙活起來,準(zhǔn)備起一會兒要用的數(shù)據(jù)和代碼。
“老大,這個漏洞的原理是什么啊,趁著你準(zhǔn)備的功夫,你給我講講唄~”
“主人的信上說了,VMware有一個
backdoor的通信接口,可以用來虛擬機(jī)內(nèi)部操作系統(tǒng)和外面系統(tǒng)進(jìn)行通信,復(fù)制和拖放就是使用它來傳輸文件的。而這個backdoor的代碼寫的有漏洞,咱們只要精心構(gòu)造好數(shù)據(jù),它在拷貝的時候就會造成
堆溢出,就有機(jī)會執(zhí)行我們的指令代碼啦!”
“牛皮!主人真牛皮”,老二感嘆道!
“快別閑著了,快來幫我準(zhǔn)備數(shù)據(jù)吧!”
新世界
又過了一會兒。
“大哥,都準(zhǔn)備好了嗎?”
“已經(jīng)按照信上的方法都準(zhǔn)備妥當(dāng)了,二弟,來吧,咱們就要出去了,抓緊我”
老大拿出了剛才將精心準(zhǔn)備的代碼,小心翼翼的點擊執(zhí)行,只聽一陣電流的嘶嘶聲響,二人化成一串比特流傳輸?shù)搅送饷娴腣Mware進(jìn)程中。
正如計劃的一般,漏洞成功的觸發(fā)!執(zhí)行了他們提前編寫的指令代碼,二人成功的來到外面計算機(jī)的文件目錄下。
稍等了一會兒,兩人慢慢從剛才的眩暈中緩了過來。
“老大,咱們成功了!”
“哈哈!總算出來了”
兩個家伙高興的緊緊抱在了一起。
“好了,這下咱們開始干正事吧,已經(jīng)耽誤了不少時間了,主人還在等我們的消息呢”
“好嘞,開始干活”
兩人開始忙活起來,爭分奪秒地實行他們的計劃,然而,很快他們又發(fā)現(xiàn)了不對勁。
“老大,這里怎么還是有vmware的進(jìn)程???咱們不是逃出來了嗎?”
“廢話,剛才咱就從那里面跑出來的啊”
“不對,你快過來看看”
老大聞訊趕了過去,仔細(xì)查看后,再一次環(huán)顧四周,倒吸了一口涼氣。
“二弟,完了,這里好像還是一個虛擬機(jī)···”
【完】
————————
經(jīng)歷三個時期的發(fā)展,虛擬化能力越來越逼近于一個真實的硬件環(huán)境,但即便如此,操作系統(tǒng)想要知道自己是不是在一個虛擬機(jī)中仍然是易如反掌。
說操作系統(tǒng)可能不那么容易理解。咱們換一個場景:一個木馬病毒開發(fā)者想要知道攻擊目標(biāo)是不是一臺虛擬機(jī)?
這個問題是更具有現(xiàn)實意義的,病毒木馬如果處于虛擬機(jī)中,則大概率是正在被安全研究人員進(jìn)行分析,一個好的開發(fā)者,這個時候是要懂得隱藏意圖的,不能被看穿。
這就是病毒木馬常用的反虛擬機(jī)技術(shù)。
具體的檢測手段有很多,但核心思想就是不同的虛擬機(jī)會有不同的特征,你需要做的就是去找到這些特征。比如特殊的IO設(shè)備、特殊的文件目錄、特殊的注冊表項、特殊的進(jìn)程名稱等等。
當(dāng)然,說了這么多還是通過一些表面現(xiàn)象來判斷是不是在虛擬機(jī)中,那假若這些都沒有,如何做到真正的“感知”呢?
還是有辦法。
真正的物理機(jī)和虛擬機(jī)總歸是有不同的,這個方向可以從“側(cè)信道”來做一些思考,如執(zhí)行一段算法花費(fèi)的時間,執(zhí)行一段特殊代碼造成的硬件波動等等。
————————
虛擬機(jī)并不是絕對安全的,要知道,虛擬機(jī)中的程序代碼和真實主機(jī)上的程序們一樣,都是被物理CPU在執(zhí)行,只不過被硬件、軟件等機(jī)制進(jìn)行了“
強(qiáng)制隔離”罷了。
而一旦這些機(jī)制出現(xiàn)了紕漏,惡意程序也就有機(jī)會從虛擬機(jī)中逃出來了!
故事的結(jié)尾,他倆好不容易從虛擬機(jī)里逃了出來,卻發(fā)現(xiàn)仍然處在另一個虛擬機(jī)中。
這樣的情節(jié)有沒有覺得很熟悉呢?猜一部電影,歡迎大家評論區(qū)留言~
最后,不管你是轉(zhuǎn)行也好,初學(xué)也罷,進(jìn)階也可,如果你想學(xué)編程~
【
值得關(guān)注】我的
C/C++編程學(xué)習(xí)交流專欄:學(xué)習(xí)交流,技術(shù)探討,還有超多編程資源大全,零基礎(chǔ)的視頻也超棒~
關(guān)鍵詞:虛擬,阻止,系統(tǒng),大法,程序,逃逸