0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

反虛擬機(jī)技術(shù)合集4

jf_78858299 ? 來(lái)源:看雪社區(qū) ? 作者:houjingyi ? 2023-02-14 13:46 ? 次閱讀

三、基于社會(huì)工程學(xué)的技巧

1.檢測(cè)電腦中常用軟件的使用情況

名為 Intelligent Software Solutions Inc.doc 的惡意軟件樣本文件使用了下面的反虛擬機(jī)技巧,SHA256值為048fc07fb94a74990d2d2b8e92c099f3f986af185c32d74c857b07f7fcce7f8e。

圖片

RecentFiles對(duì)象表示系統(tǒng)最近打開(kāi)過(guò)的歷史文檔。

通常,安裝了word程序的用戶可能會(huì)打開(kāi)超過(guò)2個(gè)或更多數(shù)量的文檔。然而,當(dāng)該惡意軟件植入到新創(chuàng)建的虛擬機(jī)和word環(huán)境中后,總是狀況不斷,不能正常運(yùn)行。每次測(cè)試時(shí)手動(dòng)打開(kāi)一兩次,總是出現(xiàn)程序異常。即使是保存了虛擬機(jī)鏡像狀態(tài),重啟調(diào)試分析后,惡意程序仍然不能正常執(zhí)行。

從DKTxHE函數(shù)功能可以看出,惡意軟件以RecentFiles數(shù)量來(lái)判斷是否身處VM環(huán)境中,如果在VM環(huán)境中,它將不會(huì)執(zhí)行任何惡意行為。之后,隨意創(chuàng)建了3個(gè)不同名稱(chēng)的word文檔,逐一打開(kāi)并關(guān)閉,讓歷史文檔數(shù)量為3,最終成功運(yùn)行并檢測(cè)到了惡意軟件。

2. 探測(cè)殺毒軟件公司相關(guān)的IP地址

同樣是上面的惡意軟件,它在另一個(gè)子程序中使用了下面的反虛擬機(jī)技巧。

首先,它通過(guò)向遠(yuǎn)程地址 https://www.maxmind.com/geoip/v2.1/city/me 發(fā)出某種認(rèn)證請(qǐng)求,之后設(shè)置請(qǐng)求信息中的HTTP Refer屬性和User-Agent值,訪問(wèn)鏈接 https://www.maxmind.com/en/locate-my-ip-address 以此獲取宿主系統(tǒng)的地址信息。

獲取信息封裝于JSON格式文件中,包含國(guó)家、城市、或者與IP相關(guān)的組織機(jī)構(gòu)等信息。IP信息的organization字段顯示為美國(guó)Comcast寬帶網(wǎng)絡(luò)供應(yīng)商。

惡意軟件發(fā)出訪問(wèn)請(qǐng)求后,獲取到宿主系統(tǒng)的相關(guān)信息將存儲(chǔ)于某個(gè)數(shù)組中。如果獲取到的組織機(jī)構(gòu)名稱(chēng)與JSON文件中的任何機(jī)構(gòu)字符串匹配,惡意軟件將發(fā)生異常并停止運(yùn)行。當(dāng)然,列表中的機(jī)構(gòu)名稱(chēng)在代碼中是經(jīng)過(guò)混淆的。

圖片

四、虛擬機(jī)逃逸

VMware等軟件中或多或少都存在一些安全漏洞,可以利用這些漏洞使宿主操作系統(tǒng)崩潰或者是在宿主操作系統(tǒng)中運(yùn)行代碼。當(dāng)主機(jī)系統(tǒng)被感染后,一些公開(kāi)可用的工具可以用來(lái)對(duì)VMware等軟件進(jìn)行攻擊。

五、總結(jié)

當(dāng)遇到的惡意代碼似乎不能運(yùn)行時(shí),在使用調(diào)試或反匯編惡意代碼搜索其反虛擬機(jī)探測(cè)代碼之前,應(yīng)該考慮使用一個(gè)卸載了VMware Tools的虛擬機(jī)。VMware中有一些未文檔化的功能可以幫助減輕反虛擬機(jī)技術(shù)的探測(cè)。將下面的代碼放到VMware的.vmx文件中,以減輕虛擬機(jī)被探測(cè)的可能。

isolation.tools.getPtrLocation.disable = "TRUE"
isolation.tools.setPtrLocation.disable = "TRUE"
isolation.tools.setVersion.disable = "TRUE"
isolation.tools.getVersion.disable = "TRUE"
monitor_control.disable_directexec = "TRUE"
monitor_control.disable_chksimd = "TRUE"
monitor_control.disable_ntreloc = "TRUE"
monitor_control.disable_selfmod = "TRUE"
monitor_control.disable_reloc = "TRUE"
monitor_control.disable_btinout = "TRUE"
monitor_control.disable_btmemspace = "TRUE"
monitor_control.disable_btpriv = "TRUE"
monitor_control.disable_btseg = "TRUE"

參數(shù)directexec可以使用戶模式下的代碼被模擬執(zhí)行而不是直接在硬件上運(yùn)行,因此它可以挫敗一些反虛擬機(jī)技術(shù)。

前四條設(shè)置被VMware后門(mén)命令使用,它們的作用是使得運(yùn)行在Guest系統(tǒng)中的VMware Tools不能獲取宿主系統(tǒng)的信息。這些設(shè)置會(huì)禁用VMware Tools的一些有用功能,并可能對(duì)虛擬機(jī)性能有嚴(yán)重負(fù)面影響。所以,僅當(dāng)其他技術(shù)無(wú)效時(shí)再添加這些選項(xiàng)。當(dāng)然,也可以將惡意代碼在其他虛擬環(huán)境或者物理主機(jī)上運(yùn)行。

同反調(diào)試技術(shù)一樣,要想發(fā)現(xiàn)惡意代碼中的反虛擬機(jī)技術(shù)需要在長(zhǎng)期調(diào)試過(guò)程中積累更多經(jīng)驗(yàn)。例如,看到一個(gè)代碼在一個(gè)條件跳轉(zhuǎn)處過(guò)早終止,這可能就是反虛擬機(jī)技術(shù)造成的結(jié)果。一如既往地警惕這種類(lèi)型的問(wèn)題,然后查看其之前的代碼,來(lái)確定它到底執(zhí)行了什么操作。

和反調(diào)試技術(shù)一樣,通過(guò)修改條件跳轉(zhuǎn)指令或者使用NOP指令覆蓋來(lái)繞過(guò)相關(guān)探測(cè)。

最后讓我們總結(jié)一下提到的內(nèi)容:

騰訊2016游戲安全技術(shù)競(jìng)賽有一道題,大概意思就是給一個(gè)exe,要求編寫(xiě)一個(gè)Tencent2016C.dll,并導(dǎo)出多個(gè)接口函數(shù) CheckVirtualPCX、CheckVMWareX、CheckVirtualBoxX。X為1-100之間的數(shù)字。函數(shù)功能是檢測(cè)自己是否處于相應(yīng)的虛擬機(jī)中,是返回TRUE,否則返回FALSE。函數(shù)的原型都是 typedef BOOL (WINAPI* Type_CheckXXXXXX)();。

編譯好dll之后,放在Tencent2016C.exe的同目錄,運(yùn)行Tencent2016C.exe,點(diǎn)擊檢測(cè)按鈕,在物理機(jī)中運(yùn)行時(shí)函數(shù)接口輸出為0,在VMware虛擬機(jī)、VirtualBox虛擬機(jī)和VirtualPC虛擬機(jī)中運(yùn)行時(shí),相關(guān)的接口輸出1。我們把提到的知識(shí)綜合一下完成這道題目。

解題的參考代碼和題目相關(guān)信息:https://github.com/houjingyi233/test-virtual-machine/

參考資料

1.《惡意代碼分析實(shí)戰(zhàn)》第17章反虛擬機(jī)技術(shù)(本文的主體框架)

2.這個(gè)惡意軟件“奇葩”的反虛擬機(jī)技巧

3.天樞戰(zhàn)隊(duì)官方博客(本文大部分代碼的來(lái)源)

4.虛擬機(jī)檢測(cè)技術(shù)剖析

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Mac
    Mac
    +關(guān)注

    關(guān)注

    0

    文章

    1083

    瀏覽量

    51140
  • 惡意代碼
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    7622
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    888

    瀏覽量

    27813
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是虛擬機(jī)?虛擬機(jī)真的那么好用嗎?

    在日新月異的科技世界中,虛擬技術(shù)如同一座橋梁,連接著現(xiàn)實(shí)與數(shù)字的鴻溝,為我們打開(kāi)了全新的計(jì)算維度。虛擬機(jī),這一概念,自其誕生以來(lái),就以其獨(dú)特的魅力和強(qiáng)大的功能,深深地影響了軟件開(kāi)發(fā)、系統(tǒng)測(cè)試和云
    的頭像 發(fā)表于 07-06 08:05 ?463次閱讀
    什么是<b class='flag-5'>虛擬機(jī)</b>?<b class='flag-5'>虛擬機(jī)</b>真的那么好用嗎?

    有關(guān)虛擬機(jī)虛擬技術(shù)的幾點(diǎn)詮注

    虛擬機(jī)虛擬技術(shù)給計(jì)算機(jī)應(yīng)用注入了新的研究與開(kāi)發(fā)點(diǎn),同時(shí)也存在諸多不利因素。本文綜述了虛擬機(jī)虛擬
    發(fā)表于 06-22 18:04 ?36次下載

    虛擬機(jī)虛擬技術(shù)

    虛擬機(jī)虛擬技術(shù)給計(jì)算機(jī)應(yīng)用注入了新的研究與開(kāi)發(fā)點(diǎn),同時(shí)也存在諸多不利因素。本文綜述了虛擬機(jī)虛擬
    發(fā)表于 09-07 10:15 ?13次下載

    基于虛擬機(jī)技術(shù)的DSC仿真系統(tǒng)設(shè)計(jì)

    提出了基于虛擬機(jī)技術(shù)的DCS仿真系統(tǒng)的實(shí)現(xiàn)方式,描述了虛擬控制器的具體實(shí)現(xiàn)方法及虛擬機(jī)技術(shù)的其他應(yīng)用。
    發(fā)表于 12-03 17:26 ?26次下載
    基于<b class='flag-5'>虛擬機(jī)</b><b class='flag-5'>技術(shù)</b>的DSC仿真系統(tǒng)設(shè)計(jì)

    基于虛擬機(jī)技術(shù)的DCS仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    提出了基于虛擬機(jī)技術(shù)的DCS仿真系統(tǒng)的實(shí)現(xiàn)方式,描述了虛擬控制器的具體實(shí)現(xiàn)方法及虛擬機(jī)技術(shù)的其他應(yīng)用。
    發(fā)表于 01-16 15:04 ?2049次閱讀
    基于<b class='flag-5'>虛擬機(jī)</b><b class='flag-5'>技術(shù)</b>的DCS仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    虛擬機(jī):QEMU虛擬機(jī)和主機(jī)無(wú)線網(wǎng)絡(luò)通訊設(shè)置

    虛擬機(jī):QEMU虛擬機(jī)和主機(jī)無(wú)線網(wǎng)絡(luò)通訊設(shè)置
    的頭像 發(fā)表于 06-22 10:19 ?5288次閱讀
    <b class='flag-5'>虛擬機(jī)</b>:QEMU<b class='flag-5'>虛擬機(jī)</b>和主機(jī)無(wú)線網(wǎng)絡(luò)通訊設(shè)置

    KVM虛擬機(jī)管理和基本使用

    KVM — 全稱(chēng)是基于內(nèi)核的虛擬機(jī)(Kernel-based Virtual Machine)是一個(gè)開(kāi)源軟件,基于內(nèi)核的虛擬技術(shù),實(shí)際是嵌入系統(tǒng)的一個(gè)虛擬化模塊,通過(guò)優(yōu)化內(nèi)核來(lái)使用
    的頭像 發(fā)表于 02-07 09:20 ?1104次閱讀

    虛擬機(jī)技術(shù)合集1

    惡意代碼編寫(xiě)者經(jīng)常使用虛擬機(jī)技術(shù)逃避分析,這種技術(shù)可以檢測(cè)自己是否運(yùn)行在虛擬機(jī)中。如果惡意代碼探測(cè)到自己在
    的頭像 發(fā)表于 02-14 13:45 ?1159次閱讀

    虛擬機(jī)技術(shù)合集2

    惡意代碼編寫(xiě)者經(jīng)常使用虛擬機(jī)技術(shù)逃避分析,這種技術(shù)可以檢測(cè)自己是否運(yùn)行在虛擬機(jī)中。如果惡意代碼探測(cè)到自己在
    的頭像 發(fā)表于 02-14 13:45 ?595次閱讀
    <b class='flag-5'>反</b><b class='flag-5'>虛擬機(jī)</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>合集</b>2

    虛擬機(jī)技術(shù)合集3

    惡意代碼編寫(xiě)者經(jīng)常使用虛擬機(jī)技術(shù)逃避分析,這種技術(shù)可以檢測(cè)自己是否運(yùn)行在虛擬機(jī)中。如果惡意代碼探測(cè)到自己在
    的頭像 發(fā)表于 02-14 13:45 ?561次閱讀
    <b class='flag-5'>反</b><b class='flag-5'>虛擬機(jī)</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>合集</b>3

    linux虛擬機(jī)使用教程

    引言:Linux虛擬機(jī)是一種方便且常用的技術(shù),它允許用戶在現(xiàn)有操作系統(tǒng)的基礎(chǔ)上創(chuàng)建和運(yùn)行另一個(gè)獨(dú)立的操作系統(tǒng)。在本篇文章中,我們將提供一份詳盡的教程,幫助你了解如何安裝、配置和使用Linux虛擬機(jī)
    的頭像 發(fā)表于 11-17 10:06 ?1105次閱讀

    Docker與虛擬機(jī)的區(qū)別

    Docker和虛擬機(jī)是兩種不同的虛擬技術(shù),它們?cè)趯?shí)現(xiàn)方式、資源消耗、運(yùn)行性能等方面存在許多差異。本文將會(huì)詳細(xì)介紹它們的區(qū)別。 一、實(shí)現(xiàn)方式 1.1 虛擬機(jī)
    的頭像 發(fā)表于 11-23 09:37 ?6812次閱讀

    怎么安裝linux虛擬機(jī)

    在計(jì)算機(jī)領(lǐng)域,虛擬機(jī)是一種軟件程序,它允許在主操作系統(tǒng)上運(yùn)行多個(gè)虛擬操作系統(tǒng)。Linux虛擬機(jī)在開(kāi)發(fā)、測(cè)試和學(xué)習(xí)等環(huán)境中得到廣泛應(yīng)用。本文將詳細(xì)介紹如何安裝Linux虛擬機(jī),并提供一個(gè)
    的頭像 發(fā)表于 11-23 10:50 ?926次閱讀

    虛擬機(jī)ubuntu怎么聯(lián)網(wǎng)

    虛擬機(jī)ubuntu怎么聯(lián)網(wǎng)? 虛擬機(jī)(Virtual Machine)是運(yùn)行在物理機(jī)(Host Machine)上的虛擬操作系統(tǒng)環(huán)境。在虛擬機(jī)
    的頭像 發(fā)表于 12-27 16:51 ?794次閱讀

    虛擬機(jī)數(shù)據(jù)恢復(fù)—KVM虛擬機(jī)被誤刪除的數(shù)據(jù)恢復(fù)案例

    虛擬機(jī)數(shù)據(jù)恢復(fù)環(huán)境: Linux操作系統(tǒng)服務(wù)器,EXT4文件系統(tǒng)。服務(wù)器中有數(shù)臺(tái)KVM虛擬機(jī)。 虛擬機(jī)1:主數(shù)據(jù)庫(kù)服務(wù)器 虛擬磁盤(pán)
    的頭像 發(fā)表于 08-07 13:33 ?208次閱讀
    <b class='flag-5'>虛擬機(jī)</b>數(shù)據(jù)恢復(fù)—KVM<b class='flag-5'>虛擬機(jī)</b>被誤刪除的數(shù)據(jù)恢復(fù)案例