Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
box-js — 用于研究 JavaScript 恶意软件的工具。 | Kitploit
工具/GitHubGitHub/capacitorset/box-js
危害指标 (IOC) 管理动态分析 (沙盒)取证分析恶意软件分析
GitHubcapacitorset/box-js

box-js

用于研究 JavaScript 恶意软件的工具。

查看仓库
67288223个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

box.js

npm Build Status paypal

一款用于分析恶意 JavaScript 的工具。

安装

只需通过 npm 安装 box-js:

npm install box-js --global

box-js 也可作为:

  • Cuckoo 模块使用(参见 integrations 目录和 Nwinternights/Cuckoo_Boxjs);
  • Dockerfile 使用(参见 integrations/README.md);
  • 安全专业人员发行版中的软件包(REMnux,BlackArch);
  • 开源应用的一部分(Intel Owl);
  • 商业第三方服务的一部分(any.run)。

用法

假设你有一个名为 sample.js 的样本:要分析它,只需运行

box-js sample.js

通常你可能还想下载任何载荷;使用 --download 标志启用下载。否则,引擎将模拟 404 错误,从而使脚本以为分发站点已下线并联系任何备用站点。

Box.js 将模拟 Windows JScript 环境,在控制台打印仿真摘要,并创建一个名为 sample.js.results 的文件夹(如果已存在,则会创建 sample.js.1.results 等)。该文件夹将包含:

  • analysis.log,屏幕上显示的分析日志;
  • 一系列由 UUID 标识的文件;
  • snippets.json,样本执行的代码片段列表(JavaScript、shell 命令等);
  • urls.json,访问的 URL 列表;
  • active_urls.json,似乎会投放活跃恶意软件的 URL 列表;
  • resources.json,ADODB 流(即脚本写入磁盘的文件),包含文件类型和哈希值;
  • IOC.json,被识别为入侵指标(IOC)的行为列表。这些包括注册表访问、写入的文件、HTTP 请求等。

你可以自行分析这些内容,也可以自动将它们提交给 Malwr、VirusTotal 或 Cuckoo 沙箱:更多信息请运行 box-export --help。

为进一步隔离,建议在临时 Docker 容器中运行分析。更多信息请查阅 integrations/README.md。

如果你希望自动化分析,可以使用返回码——在 integrations/README.md 中有记录——来区分不同类型的错误。

分析因缺少 'document' 对象或其他对象/函数而失败

来自 git 的 box-js 仓库包含一个 boilerplate.js 文件。该文件定义了一些常见浏览器对象(如 document)的存根版本。尝试使用 --prepended-code=DIR/boilerplate.js 选项重新运行分析,其中 DIR 是克隆的 box-js 仓库目录,或者使用 --prepended-code=default。--prepended-code 选项告诉 box-js 将给定文件中的 JavaScript 前置到正在分析的样本之前。

请注意,你可以复制 boilerplate.js 并根据需要添加自己的存根类、对象等。使用 --prepended-code=show-default 命令行选项打印默认 box-js boilerplate.js 文件的完整路径。

批量使用

虽然 box.js 通常用于单个文件,但它也可以运行批量分析。你可以简单地传递一个要分析的文件或文件夹列表:

box-js sample1.js sample2.js /var/data/mySamples ...

默认情况下,box.js 将并行处理样本,每个核心运行一个分析。你可以通过为 --threads 指定值来使用不同的设置:特别地,0 将移除限制,使 box-js 尽可能多地生成分析线程,从而实现非常快速的分析,但可能会导致系统过载(请注意,分析通常是 CPU 密集型,而非内存密集型)。

你可以使用 --loglevel=warn 来静默分析相关消息,仅显示进度信息。

分析完成后,你可以这样提取活跃的 URL:

cat ./*.results/active_urls.json | sort | uniq

标志

下载工具