除錯,虛擬環境檢測試的一些新想法

dalerkd發表於2016-09-17

前段時間檢驗了一下公開的反除錯方法,發現其中相當多反除錯方法已經失效面對新系統(win7 64bit)和OD外掛版。

新的一些主意:

利用除錯導致的是時間差

一般偵錯程式啟動除錯程式會預設斷在程式前系統領空,在程式開始處進行查詢啟動時間,如果你發現你的程式被卡住了一段時間那一定發生了什麼。

虛擬機器
▲VirtualBox是一款由Google主導開發的虛擬機器程式.分開源版和閉源版.

虛擬機器環境

虛擬機器環境的檢查總體可以歸為兩種:

  • 尋找模擬不到位的特徵:效率,特殊指令等。
  • 尋找你虛擬機器廠商在虛擬機器留下的特徵:特殊支援,通訊等。

先簡單梳理一下上面兩種辨別虛擬機器途徑:

  • 效率問題與模擬漏洞:我們知道由於虛擬化執行對程式的最大改變就是程式碼效率變低百倍,儘管Intel-V等技術讓效率縮短的不是很太明顯。之前暴出VMWare虛擬機器對於某些特殊指令如in,out在保護模式下的處理和實際機器不同。延時攻擊也是一個辦法.
    一種新的發現是關於模擬程式碼操作時使用了堆而不是棧的同時並沒有合理檢測棧的大小,該行為導致遞迴超出棧範圍也不會出錯
  • 特殊支援和通訊:為了方便檔案傳輸和控制虛擬機器一般會留下某些介面,此外官方獨特的硬體配置和驅動特徵是不錯的檢測方法.要替換掉所有難度不低.

這裡寫圖片描述

上圖擷取至VMare模擬下的XP OS裝置管理器,可以看到很多虛擬機器特徵,系統裝置中還有相當多

行為判斷-一種新想法

新的想法是通過:行為來判斷虛擬機器。
我們先對虛擬機器按照有無自動化測試進行一下分類:

  • 自動虛擬機器
  • 有人蔘與的虛擬環境

前者一般是用於批量模擬分析程式行為的模擬器或者自動化分析指令碼。

  • “活體”檢測
    比如指令碼一般會直接傳送按鈕訊息而沒有移動的過程,當然如果你實時檢測桌面畫面的話更有助於這種判斷。更多的行為等著你挖掘。

對於後者,除非你的程式是crackme,否者恭喜你中彩了。被人除錯往往並不是一件愉快的事情,而在虛擬中執行往往是因為對方對你感興趣。
以下選擇或許會給你靈感:

  • 猜迷-基於雲危險模型的分析。
    時光倒流一模一樣的環境不都是網咖
    如此簡陋你敢信
    靜觀的藝術:基於使用者習慣的分級策略,在沒有形成習慣分析前要把此地當作最危險的地方。

一個由惡意挖礦軟體看看影音提供的名單如下:

//敏感視窗標題
Microsoft Visual;
HTTPAnalyzer;
WinDBG;
OllyDebug;
fiddler;
SmartSniff;
\t\t\t\t\t\t\t\tSpy++;
Spy;
ATL/MFC;
工作管理員;
DebugView;
Process    Explorer;
File Monitor;
RegistryMonitor;
Wireshark;
OllyICE;
OllyDBG;
Sysinternals
//敏感程式
fiddler.exe;
windbg.exe;
devenv.exe;
taskmgr.exe;
wireshark.exe;
\t\t\t\t\t\t\t\t\thttpanalyzer.exe;
smsniff.exe;
filemon.exe;
regmon.exe;
procmon.exe;
ollydbg.exe;
softice.exe;
cis.exe;
\t\t\t\t\t\t\t\t\ttasklist.exe;
procexp.exe;
ollyice.exe;
processspy.exe;
spyxx.exe;
winspy.exe;
cv.exe"
  • 怪癖
    滑鼠指標瞬間跳動意味著什麼?

2016年9月17日星期六 1:57
更新於
2016年9月22日星期四 1:13

相關文章