工具

malware-jail JavaScript 恶意代码沙箱

用于半自动分析 JavaScript 恶意代码的 Node.js 沙箱:在 Node 的 vm 模块中运行样本,并模拟 Windows Script Host 与 ActiveX 对象,例如 WScript.Shell、MSXML2.XMLHTTP、ADODB.Stream、Scripting.FileSystemObject 和 WMI,另有可选择浏览器配置的部分浏览器环境。它记录创建的对象和调用的方法,保留每次 eval() 的参数以辅助去混淆,记下请求的 URL 和 WMI 查询,并保存投放器试图写入的文件,便于检查载荷。运行结束时,整个沙箱上下文会导出为 JSON 供复查。

使用条件与局限

  • 没有发布版本或标签,README 称 npm 包尚未提供。所审阅的 master 提交日期为 2023-06-16,只修改了 README;最后一次代码改动在 2019-08-08,新增了已分析的恶意样本和若干 ADODB 方法。各处版本号并不一致:package.json 为 0.18.0,README 为 0.19,jailme.js 为 0.20。
  • 需要 Node.js 和 npm:package.json 声明需 Node 6 或更高版本,README 称该工具在 Linux 上以 Node.js v6.6.0 开发和测试;未核实其在当前 Node 版本上的表现。npm install 会获取 minimist、iconv-lite、entities 和 sync-request,npm test 运行针对 WScript 模拟的小型 tap 测试,native_test 目录中的脚本则用于在 Windows 的 cscript 下运行以作对照。模拟范围限于作者见到恶意代码使用的 WScript 与 ActiveX 功能,浏览器环境也只实现了一部分,因此样本可能提前中止,或与真实 Windows 上的行为不同;日志和导出内容是供分析人员解读的执行记录,而非判定结论。
  • Node 的 vm 模块并非安全边界:README 警告,能识别该沙箱的恶意代码可能尝试逃逸,建议在无特权的 Linux 账户或虚拟化的 Windows 机器中运行。默认情况下不会真正发送 HTTP 请求,而是返回虚拟响应;--down 允许样本联系远程服务器并下载载荷,--h404 与 --t404 则对所有请求返回 HTTP 404,以便列出全部远程 URL。除非用 -t 另设时限,执行 60 秒后即被终止。
  • malware 目录收录了真实的恶意样本,README 称多数下载自 malwr.com,并附有对应的日志和导出文件。除脚本和 HTML 页面外,其中还有两个提取出的 Windows 载荷文件,即 malware/20171004 下的一个 .exe 和 malware/20190808 下的一个 .tmp;README 还说明 Angler 相关文件未经解除威胁处理,因此克隆仓库即会获得活体恶意代码。
  • 依据 LICENSE 文件与 README,采用 MIT 许可。所审来源未提及 REA 的使用,本收录未运行该沙箱或任何样本。

关于此条目

类型
工具
类别
调试与动态分析
关联
基础工具
目标
二进制 · 网站

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · HynekPetrak/malware-jail · 修订 ec370f1
  2. jailme.js#L10-L40 GitHub · HynekPetrak/malware-jail · 修订 ec370f1
  3. jailme.js#L184-L192 GitHub · HynekPetrak/malware-jail · 修订 ec370f1
  4. env/wscript.js GitHub · HynekPetrak/malware-jail · 修订 ec370f1
  5. env/browser.js GitHub · HynekPetrak/malware-jail · 修订 ec370f1
  6. config.json GitHub · HynekPetrak/malware-jail · 修订 ec370f1
  7. package.json GitHub · HynekPetrak/malware-jail · 修订 ec370f1
  8. test/wscript_test.js GitHub · HynekPetrak/malware-jail · 修订 ec370f1
  9. LICENSE GitHub · HynekPetrak/malware-jail · 修订 ec370f1

同分区更多条目:原生二进制

原生二进制分区全部 107 项资源