今天給大家介紹的是一款名叫Frida-Wshook的腳本分析工具,這款工具基于Frida.re開發(fā),并且通過掛鉤惡意腳本文件(WScript/ CScript)的常用函數(shù)來對腳本命令進(jìn)行分析。

該工具可以攔截Windows API函數(shù),并且不會干擾原始目標(biāo)腳本語言的正常運(yùn)行。該工具所支持的腳本語言類型如下:
1..js(Jscript)
2..vbs(VBScript)
3..wsf(WSFile)(目前還不支持復(fù)雜任務(wù),仍在開發(fā)中…)
默認(rèn)使用csript.exe運(yùn)行的腳本文件將會輸出下列內(nèi)容:
>COMProjIds
>DNS請求
>Shell命令
>網(wǎng)絡(luò)請求
注意事項(xiàng)
請確保在專門搭建的分析系統(tǒng)環(huán)境下運(yùn)行任意惡意腳本,建議大家使用虛擬機(jī)快照,因?yàn)楫?dāng)你在系統(tǒng)中運(yùn)行了惡意腳本之后,系統(tǒng)快照可以幫助大家快速重置系統(tǒng)。
雖然該工具能夠掛鉤常用函數(shù),但是Windows還給開發(fā)人員提供了各種網(wǎng)絡(luò)交互、文件系統(tǒng)訪問和命令執(zhí)行的API,所以你在分析的過程中也有可能遇到一些不常見的API函數(shù)。
工具安裝與配置
>安裝Python 2.7
>使用pip命令安裝Frida及依賴
pip install frida
>克隆(或下載)Frida-Wshook庫
支持的操作系統(tǒng)
Frida-Wshook已在Windows 10和Windows 7進(jìn)行了測試,理論上該工具可以運(yùn)行在Windows 7+環(huán)境。在x64系統(tǒng)上,CScript會從C:\Windows\SysWow64加載。
該工具也許可以在Windows XP上正常運(yùn)行,但是我認(rèn)為CScript可能會使用一些遺留API調(diào)用,這很有可能導(dǎo)致某些需要分析的指令被忽略。
工具使用
腳本支持多種可選的命令行參數(shù),這些參數(shù)可以幫助我們控制腳本主機(jī)可調(diào)用的API。
usage:frida-wshook.py [-h] [--debug] [--disable_dns] [--disable_com_init]
[--enable_shell][--disable_net]
script
frida-wshook.pyyour friendly WSH Hooker
positional arguments:
script Path to target .js/.vbs file
optional arguments:
-h, --help show this help message and exit
--debug Output debug info
--disable_dns Disable DNS Requests
--disable_com_init Disable COM Object Id Lookup
--enable_shell Enable Shell Commands
--disable_net Disable Network Requests
使用默認(rèn)參數(shù)分析目標(biāo)腳本:
python wshook.py bad.js
啟用verbose調(diào)試:
python wshook.py --debug bad.js
啟用Shell命令執(zhí)行:
python frida-wshook.py --enable_shell bad.vbs
禁用WSASend:
python frida-wshook.py --disable_net bad.vbs
檢查腳本所使用的ProgIds:
python frida-wshook.py --disable_com_init bad.vbs
鉤子函數(shù)
>ole32.dll
>CLSIDFromProgIDEx
>Shell32.dll
>ShellExecuteEx
>Ws2_32.dll
>WSASocketW
>GetAddrInfoExW
>WSASend
>WSAStartup
已知問題
1.網(wǎng)絡(luò)響應(yīng)無法捕捉;
2.禁用對象查詢功能將導(dǎo)致腳本輸出缺少第一個(gè)惡意軟件QA的ProgId;
3.暫不支持需要進(jìn)行特殊任務(wù)的WSF文件。
|