原文地址:Creating a Simple Free Malware Analysis Environment
譯者:hello1900@知道創宇404實驗室

計算機要求:

  • CPU支持AMD-V 或Intel VT-x(任何調試解調器CPU均適用);
  • 4GB RAM(容量越大越好)。

確保啟用BIOS虛擬化(AMD-V或Intel VT-x)。需要谷歌搜索“enable virtualization”以及BIOS或主板版本號并遵照以下步驟。

選擇系統管理程序

系統管理程序是一款軟件,用于創建與真實設備相分離的虛擬計算機(有時稱作虛擬機,縮寫VM)。接下來,我們就將使用系統管理程序創建一個單獨的Windows安裝程序,可以在不對自身設備或數據造成危害的情況下感染惡意軟件。

我個人經常使用大約5種不同的系統管理程序,每個程序之間存在細小差別,適合不同任務需求。下面我將介紹具體用途與原因。

  • VMware Workstation Pro - 性能極高,可能最適合在Windows 操作系統上運行,此外還具備適用于復雜虛擬網絡的一整套額外功能。
  • VMware Workstation Player - Pro版本的輕量級精簡版本,非常適合簡單便捷的VM設置,但不支持快照功能,這也是惡意軟件分析過程中存在的主要問題。我在筆記本電腦上安裝了該版本,用于改進演示。
  • KVM - 在Linux操作系統上運行,插件通過去重獲取更多內存。KVM在規避惡意軟件檢測方面具有非常好的性能,因為多數惡意軟件依賴于VirtualBox或VMWare的具體功能,不太關注其他系統管理程序的檢測。
  • ESXi - 不用于操作系統安裝,通過在系統管理程序周邊搭建操作系統減少開銷。
  • VirtualBox - 允許欺騙VM底層硬件,通過探測虛擬/物理硬件或固件版本避免惡意軟件發現自身位于VM中。免費、設置簡單并具備付費系統管理程序的多數功能。

對于初學者而言,推薦使用VirtualBox,因為它免費、支持多數大型操作系統,快照功能允許將VM 恢復到具體某個存儲狀態。出此考慮,本文內容也將圍繞VirtualBox展開。

選擇Guest OS

在VM內部運行的操作系統十分重要,具體取決于以下幾方面。對此,我將逐一詳細介紹。

必備技能

如果你打算對惡意軟件實施逆向工程,但只是大致了解或正在學習x86匯編語言,那么運行x86 Windows安裝程序比較適合。多數惡意軟件在WoW64(Windows在64位系統上運行32位二進制文件所采用的方式)下運行,所以你可能會在不考慮所采用架構的情況下針對32位代碼逆向工程。在某些情況下,惡意軟件將根據具體架構放置32位或64位有效payload,因此,不熟悉64位匯編語言就需要使用32位payload,也就是說使用32位(x86)操作系統。

硬件要求

x86_64 CPU能夠運行32位/64位VM,但x86 CPU只能運行32位VM。如果你的CPU是x86,那么應選擇32位操作系統。老式CPU(特別是x86 CPU)可能不支持較新版本的Windows 安裝程序具備的功能,所以最好保持在Windows 8以下版本。

如果你的計算機沒有足夠內存,那么運行Windows XP VM效果更好,因為256M內存即已滿足要求(確保使用Service Pack 3,因為它添加了多數惡意軟件賴以生存的OS功能。)Windows 7 VM 通常要求1 GB 內存,但實際上可能768MB (Home Edition 512M)即已滿足要求。

經驗之談

多數惡意軟件在XP Service Pack 3與Windows 10之間的各種Windows系統上運行。所以說如果你更熟悉XP就放心大膽使用吧。Windows 10資源非常集中,可能不支持所有惡意軟件,不適合日常惡意軟件分析,除非在極端情況下。此外,Windows 10 后臺聯網服務也異常嘈雜,數據包捕獲充斥了大量無用、不相關數據。

惡意軟件

64位操作系統利用DSE(驅動程序強制簽名)阻攔未簽名的核心驅動加載。如需分析安裝核心驅動的惡意軟件,那么32位操作系統將是你的首選,不會產生惡意軟件安裝未簽名驅動的問題。

工具配置

說到這里,還要感謝我的雇主,在地下室放置了一臺強大的機架式服務器,足以安裝從OS、XP到Windows 10(32位/64位)的各類操作系統。在此之前,我個人偏好使用支持常用惡意軟件的Windows 7 Ultimate Edition (32位)操作系統,主要看中了遠程桌面功能。如果你覺得VNC用起來更順手,那么Home Edition也是不錯的選擇。

此外,還應記住VM用于惡意軟件運行與分析,當試圖通過惡意軟件感染系統時,棄用存在安全隱患的較老版本操作系統只會適得其反。

設置虛擬機

RAM

建議根據所用操作系統要求選取最小量。

CPU

“處理器”選項定義能夠使用多少CPU內核。正常情況下,一個就夠用,但如果你的CPU具有多個內核,可考慮放寬限制,為VM提速。

執行上限應保持在100%,除非將處理器設置為與CPU具有相同內核數并考慮降低限制,避免VM死機。

網絡

確保勾選NAT選項,可使VM聯網但看不到真實網絡上的設備或與其他VM通信,后者從安全角度看是件好事。

其他選項可保持原樣。雖然對于簡單惡意軟件分析環境不作要求,但可以通過hifireF0x加載程序強化VirtualBox,防止惡意軟件檢測到所處的VM環境。

安裝Windows

如果已具備有效的產品秘鑰(一旦在VM中安裝,不得使用產品秘鑰激活Windows,否則惡意軟件可能竊取秘鑰;正確做法是使Windows保持未激活狀態),Windows7、8、10 鏡像文件可由此獲得。Windows XP似乎無法從微軟網站獲得,但我相信只要安裝程序沒被破解或修復,下載Windows鏡像文件種子就是合法的。簡而言之,VM僅運行惡意軟件時不要激活Windows,因為激活帶來的好處不具有任何實際意義。

無需將安裝程序鏡像文件安裝至CD光盤,僅需導航至選項中的“存儲”類別、點擊旁邊顯示Empty的CD圖標與右上角第二個CD圖標,并選擇安裝鏡像文件。

啟動VM后,Windows系統將自動從鏡像文件啟動。按常規步驟瀏覽Windows安裝流程,略過激活環節,考慮改變計算機名稱與用戶名,使VM看起來不像是供研究使用的機器。避免安裝“Guest Additions”,因為惡意軟件使用的工具包通常被用來檢測是否在虛擬機內運行。

環境設置

Windows 安裝完畢后點擊“Machine”> “Take Snapshot” ,創建現有VM狀態圖像,接下來可以回到原來界面或從相同圖像創建新的VM;“roll back”至某張快照類似于用快照期間保存的數據重寫硬盤與內存、撤銷任何變更,當然包括獲取快照后發生的惡意軟件感染事件。

現在輪到選擇并安裝分析工具了,如果不確定該安裝哪些工具,可參考以下列表:

反匯編工具 / 調試程序
PE 工具
進程工具
網絡工具
其他

安裝所選工具后再生成一張快照就大功告成了(如需安裝新工具可直接返回至快照界面,安裝新工具后生成新快照、刪除舊快照)。

注意事項
  • 尚無惡意軟件使用零日漏洞逃逸虛擬機的案例記載,如果保持VM清潔就應該不存在安全問題。切勿將USB設備插入VM,假定VM中的所有文件均被感染。切勿傳輸可在VM外部感染的文件,也不得登錄受感染VM中的任何服務器。
  • 在使用“Shared Folders”等功能在計算機與VM之間分享文件夾時要格外小心。這些文件夾中的所有文件都可被VM中的惡意軟件輕松竊取、感染或破壞。
  • 不要在聯網VM上運行不熟悉的惡意軟件樣本。惡意軟件可通過你的IP地址發動DDoS攻擊、入侵計算機、開展金融詐騙活動。最好不通過執法途徑開啟常規訪問路徑。
  • 如果在VM中運行VPN,則該VPN可被禁用或由惡意軟件繞過,暴露你的真實IP地址。通常情況下,犯罪分子不會針對研究人員,但如果你想隱藏IP地址,那么不妨在你的計算機而非VM中運行VPN。
  • 避免在危險區域存儲可執行惡意軟件樣本。建議將這些可能接觸到你計算機的文件重命名為不可執行文件(例如.bin或.malware)或存儲在不可執行目錄下的webserver上。
  • 在VM中存放的任何文件都可能被其間運行的惡意軟件竊取,這是基本常識。
  • 在分析過程中用快照保存進程。如果VM在記錄期間發生崩潰或被勒索軟件加密,未及時備份的數據將面臨丟失的風險。
  • 殺毒軟件仍將掃描并刪除匹配惡意簽名的不可執行惡意軟件樣本甚至記事本,建議將重要文件夾設置為白名單。

Paper 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/455/