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

該工具可以攔截Windows API函數,并且不會干擾原始目標腳本語言的正常運行。該工具所支持的腳本語言類型如下:
1..js(Jscript)
2..vbs(VBScript)
3..wsf(WSFile)(目前還不支持復雜任務,仍在開發中…)
默認使用csript.exe運行的腳本文件將會輸出下列內容:
>COMProjIds
>DNS請求
>Shell命令
>網絡請求
注意事項
請確保在專門搭建的分析系統環境下運行任意惡意腳本,建議大家使用虛擬機快照,因為當你在系統中運行了惡意腳本之后,系統快照可以幫助大家快速重置系統。
雖然該工具能夠掛鉤常用函數,但是Windows還給開發人員提供了各種網絡交互、文件系統訪問和命令執行的API,所以你在分析的過程中也有可能遇到一些不常見的API函數。
工具安裝與配置
>安裝Python 2.7
>使用pip命令安裝Frida及依賴
pip install frida
>克隆(或下載)Frida-Wshook庫
支持的操作系統
Frida-Wshook已在Windows 10和Windows 7進行了測試,理論上該工具可以運行在Windows 7+環境。在x64系統上,CScript會從C:\Windows\SysWow64加載。
該工具也許可以在Windows XP上正常運行,但是我認為CScript可能會使用一些遺留API調用,這很有可能導致某些需要分析的指令被忽略。
工具使用
腳本支持多種可選的命令行參數,這些參數可以幫助我們控制腳本主機可調用的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
使用默認參數分析目標腳本:
python wshook.py bad.js
啟用verbose調試:
python wshook.py --debug bad.js
啟用Shell命令執行:
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
鉤子函數
>ole32.dll
>CLSIDFromProgIDEx
>Shell32.dll
>ShellExecuteEx
>Ws2_32.dll
>WSASocketW
>GetAddrInfoExW
>WSASend
>WSAStartup
已知問題
1.網絡響應無法捕捉;
2.禁用對象查詢功能將導致腳本輸出缺少第一個惡意軟件QA的ProgId;
3.暫不支持需要進行特殊任務的WSF文件。
|