今天给大家介绍的是一款名叫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
>Shell32.dll
>Ws2_32.dll
已知问题
1.网络响应无法捕捉;
2.禁用对象查询功能将导致脚本输出缺少第一个恶意软件QA的ProgId;
3.暂不支持需要进行特殊任务的WSF文件。
*参考来源:kitploit,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM