除錯,虛擬環境檢測試的一些新想法
前段時間檢驗了一下公開的反除錯方法,發現其中相當多反除錯方法已經失效面對新系統(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
相關文章
- 虛擬機器搭建測試環境解決方案虛擬機
- 前端開發環境(開發,除錯,測試工具)前端開發環境除錯
- [原創]測試環境搭建虛擬機器工具介紹虛擬機
- 虛擬環境搭建
- Pipenv虛擬環境
- 我搗鼓過的幾種 PHP 開發環境,和對虛擬機器開發環境的想法PHP開發環境虛擬機
- 虛擬環境pipenv的使用
- 虛擬機器arm虛擬環境搭建虛擬機
- 虛擬機器快速搭建弱網測試環境 ATC (適合新手)虛擬機
- Python虛擬環境Python
- uni-app 模擬機除錯環境搭建APP除錯
- python的虛擬環境virtualenvPython
- Ubuntu虛擬機器進入虛擬環境的流程Ubuntu虛擬機
- Anaconda虛擬環境建立、啟用、退出、刪除操作
- Spring建立虛擬db環境進行單測Spring
- 建立python虛擬環境Python
- KVM虛擬化環境搭建
- CentOS 7.6虛擬環境搭建CentOS
- Python搭建虛擬環境Python
- Python - 虛擬環境 venvPython
- 建立 Python 虛擬環境Python
- 使用Python虛擬環境Python
- python虛擬環境--virtualenvPython
- python 虛擬環境搭建Python
- Ubuntu python虛擬環境UbuntuPython
- 虛擬環境搭建相關
- python虛擬環境搭建Python
- anaconda建立虛擬環境
- 虛擬化環境配置指南
- window 建立py虛擬環境
- (全)Python 的虛擬環境構建和jupyter notebook 中虛擬環境切換Python
- 搭建測試環境exadata一體機 (vm虛擬機器redhat上配置)虛擬機Redhat
- 安裝python虛擬環境並配置虛擬環境以及安裝scrapy模組Python
- 列出 查 virtualenv 建立的虛擬環境
- 虛擬機器環境下RAC刪除節點(Final)虛擬機
- python下多環境開發(虛擬環境)Python
- 在Linux使用虛擬環境Linux
- 建立Python虛擬環境——下Python