Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DumpsterFire — "箱中安全事件!" 一个模块化、菜单驱动、跨平台的工具,用于构建自定义、定时触发、分布式安全事件。轻松为蓝队与红队演练以及传感器/告警映射创建自定义事件链。红队可创建诱饵事件、干扰和诱饵,以支持并扩展其行动。构建事件序列("叙事")模拟真实场景,并生成相应的网络和文件系统痕迹。 | Kitploit
工具/GitHubGitHub/trycatchhcf/dumpsterfire
防御工具渗透测试学习与教育红队事件响应实验室与实践
GitHubtrycatchhcf/dumpsterfire

DumpsterFire

"箱中安全事件!" 一个模块化、菜单驱动、跨平台的工具,用于构建自定义、定时触发、分布式安全事件。轻松为蓝队与红队演练以及传感器/告警映射创建自定义事件链。红队可创建诱饵事件、干扰和诱饵,以支持并扩展其行动。构建事件序列("叙事")模拟真实场景,并生成相应的网络和文件系统痕迹。

查看仓库
1.0k1526年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DumpsterFire Toolset

DumpsterFire Toolset - "Security Incidents In A Box!"

(更新于2020/05/27:是的,我将在2020年夏季将我所有的 Github 项目迁移到 Python3。)

DumpsterFire Toolset 是一个模块化、菜单驱动、跨平台的安全事件构建工具,用于创建可重复、延时触发、分布式的安全事件。轻松自定义事件链,用于蓝队演练和传感器/告警映射。红队可以创建诱饵事件、干扰和陷阱,以支持和扩展其行动。将纸面桌面演练变成可控的"实弹"靶场事件。构建事件序列("叙事")来模拟逼真场景,并生成相应的网络和文件系统痕迹。

该工具集设计为动态可扩展,允许您创建自己的 Fire(事件模块)以添加到工具集自带的 Fire 集合中。只需编写您自己的 Fire 模块并将其放入 FireModules 目录。DumpsterFire 工具集将在启动时自动检测您的自定义 Fire 并使其可用。

作者

Joe Gervais (TryCatchHCF)

为什么

红队和蓝队通常都超负荷运转。缺少的是一种扩展双方能力的方法,提供更有效的红队活动,以及更逼真(且更有帮助)的蓝队/紫队演练。自动化来拯救!DumpsterFire Toolset 是一个跨平台的菜单驱动解决方案,允许您通过组合模块化、链式事件到一致的叙事中,轻松创建自定义安全事件。这些事件集合(DumpsterFire)可以以延时自动化的过程执行。(当然也可以立即触发。)

结果是?当您在开会或享受生活时,您的 DumpsterFire 正在等待其日期时间触发激活。在红队行动中,当您忙于利用某个被遗忘的 B2B 服务器上暴露的服务时,您克隆并时间同步的 DumpsterFire 正在远处子网上照亮目标组织的 SIEM,分散其响应团队的注意力。蓝队成员可以将桌面纸面演练转变为"实弹"靶场事件,通过受控的、预先批准的 DumpsterFire 事件链来触发传感器和告警,并使用实际运营环境培训分析人员。紫队行动现在可以执行有条理的、可重复的事件链,以持续映射其传感器和告警态势。您可以生成新颖的场景来测试和培训您的团队,领先威胁空间一步,为安全应急做好准备。

有没有好奇您的蓝队会如何应对内部网络上的 Mirai 僵尸网络活动?现在您可以知道了!(放心,Mirai 僵尸网络 Fire 模块不会横向移动,但它确实使用相同的用户名和密码在目标网络上暴力破解 telnet 会话。)

没有红队但希望有一种简单的方法来对您的所有 SOC 轮班团队运行受控、可重复、定制的演练?搞定!

希望支持针对远在7个时区之外的远程团队的红队行动,而无需凌晨3点起床?按下贪睡按钮吧!

曾经想在年度网络战演习中同时对对手的所有系统进行 rickroll?"Never gonna let you down!"

下面的示例 DumpsterFire 以及恶作剧部分会给你灵感。

教程

请参阅我包含在项目中的 CactusCon 2017 幻灯片。这些幻灯片自成一体,提供了背景、方法、具体用例等。它们会将所有内容置于上下文中,并且不会让您昏昏欲睡。除非它们确实让您睡着了,那样的话您可能确实需要一些休息,所以实际上我们都赢了。

问责制

DumpsterFire 会生成带日期时间戳的事件日志,以便红队和蓝队协调和跟踪事件,将其关联到传感器检测到(或未检测到)的内容、哪些告警触发或未触发等。它还允许团队确认哪些事件是您的操作/演习的一部分,确保每个人都不会惹麻烦。所有日期时间跟踪均以 UTC 进行,因此您的全球操作可以轻松关联,而无需担心时区转换和国际日期变更线。

自动生成的带日期时间戳的事件日志也为您的行动提供了轻松的价值增值。为您的客户行动生成一份 DumpsterFire 集合,根据他们的攻击面进行定制。在操作结束时,您可以将日志作为额外的紫队交付物交给客户,用于行动后分析。

概述

DumpsterFire 工具集的工作流设计为用户友好且健壮。一切都可以从菜单驱动的 dumpsterFireFactory.py 脚本中完成。启动脚本,工具将引导您完成每一步。您可以先浏览现有的 Fire 模块和已保存的 DumpsterFire。当您准备好创建自己的 DumpsterFire 时,工具将引导您完成工作流以完成任务。最后,是时候点燃您的 DumpsterFire 了。在选择您想要的 DumpsterFire 后,您将查看 DumpsterFire 的 Fire 模块和设置。如果一切看起来没问题,就点亮它!

在构建 DumpsterFire 时,选择所有要包含的 Fire 模块后,工具将循环遍历 Fire 列表。如果某个 Fire 有自定义设置的选项,工具将调用该 Fire 的 Configure() 方法,提示您输入其设置(例如目标网络的 IP 地址)。

所有 Fire 配置完成后,您将可以选择为 Fire 分配单独的时间延迟。这使 DumpsterFire 在执行事件链时能更好地模拟真实操作。例如,第一个 Fire 可能访问各种黑客网站,下一个 Fire 下载一些常见黑客工具,然后启动第三个 Fire 开始扫描本地网络。如果这一切都在几秒钟内发生,没有哪个 SOC 分析人员会相信这是人为操作。通过在事件之间添加几分钟甚至几小时的延迟,您可以创建更逼真的事件链。

所有 Fire 配置完毕并分配了可选的单独延迟后,将要求您为 DumpsterFire 命名。不要使用空格或奇怪的特殊字符,只使用字母、数字、下划线和连字符。

瞧!您已创建了您的第一个 DumpsterFire。是时候点燃一个了!

当您准备好点燃 DumpsterFire 时,工具将首先显示 DumpsterFire 的设置。如果一切看起来没问题,将询问您是否要在点燃前添加日期时间延迟。所有日期时间处理都以 UTC 进行,以确保无论 DumpsterFire 在何处执行,都能一致执行。否则,您可以拒绝日期时间延迟,执行将在您最终确认后立即开始。

随着 DumpsterFire 的执行,您会定期收到每个 Fire 状态和关键事件的带日期时间戳的反馈。这不仅帮助您跟踪进度,还提供了 DumpsterFire 活动的按时间顺序的记录——对于协调和将您的事件与淹没每个 SOC 的一般背景噪音区分开至关重要。您还可以在操作完成后将时间顺序记录交给外部客户,作为您活动的增值记录,以便他们审查传感器和告警设置。所有这一切都不需要您额外付出努力。

恶作剧

愚人节会发生!网络战争游戏或最好朋友的生日也一样。有些情况需要一点额外的东西。最终在网战竞争中渗透了对手的外围?用恶作剧庆祝,锁定胜利!最好朋友在游戏之夜没锁屏?分享就是关爱!DumpsterFire 的恶作剧让您可以为操作增添趣味。

想打开系统默认浏览器并流式播放所有 Rick Astley 的精彩内容?在将系统音量调至最大之后?想打开您选择的任何 URL?或者设置系统 shell 别名假装文件系统已损坏?

文件与目录

dumpsterFireFactory.py - 菜单驱动工具,用于创建、配置、调度和执行 DumpsterFire

FireModules/ - 包含 Fire 子目录的目录,每个子目录是一个特定的 Fire 类别,用于保持 Fire 模块的组织性。Fire 被添加到 DumpsterFire 中以创建事件和操作链。

DumpsterFires/ - 包含您的 DumpsterFire 集合的目录

igniteDumpsterFire.py - 无头脚本,在命令行调用时需要提供要执行的 DumpsterFire 的文件名。用于点燃分布式的 DumpsterFire。

testFireModule.py - 用于对自定义 Fire 模块的类方法进行单元测试的实用脚本,无需麻烦地运行整个 DumpsterFire Factory 流程来调试。也适用于运行单个 Fire 来检查设置。testFireModule.py 会在适用时提示您输入配置设置。

__init__.py 文件 - 用于使 Python 将目录视为包含 Python 包的必要文件,允许 DumpsterFire 工具集查找和加载 Fire 模块。

需求

Python 2.7.x

运行 DumpsterFire Factory

$ ./dumpsterFireFactory.py

创建 DumpsterFire:

菜单驱动的 DumpsterFire Factory 脚本会引导您完成每一步,并在需要时提供上下文相关的帮助。

示例 DumpsterFire

在第一个示例中,我们有一个 DumpsterFire,它既可以作为 SOC 演练,也可以作为红队干扰。该 DumpsterFire 首先在 Google 上搜索黑客工具。下一个 Fire 打开到各种黑客网站的 Web 会话。接着,后续 Fire 下载一些常见黑客工具。然后针对子网进行端口扫描,接着通过 Telnet 对单个主机进行暴力登录尝试。最后一个 Fire 运行一系列 Linux 命令。注意,在这个 DumpsterFire 的创建者之间,每个 Fire 之间插入了一些时间延迟。这使得事件流看起来更逼真。

在下一个示例中,紫队成员创建了一个 DumpsterFire 来帮助分析和验证其传感器和告警配置。这个 DumpsterFire 运行了一系列编排好的端口扫描,每个扫描针对不同的端口和服务集合,并且探测速率也不同。他们在每个扫描 Fire 之间插入 5 分钟延迟,以简化隔离与每个扫描 Fire 相关的流量。当他们运行这个 DumpsterFire 时,还会在每个 Fire 开始时看到日期时间戳,以帮助他们将该 Fire 的网络活动与其他网络事件解除冲突。

自定义您的 DumpsterFire

DumpsterFire 的模块化设计让您可以灵活创建任意数量的事件链叙事。具有可配置设置的 Fire 模块允许您设置目标网络或系统等。然而,有几个 Fire 模块可以立即扩展您的 DumpsterFire 事件序列。

无需创建任何新的 FireModule 类,您可以使用这些现有的"自定义"Fire 模块来利用和扩展您的 DumpsterFire:

  • FireModules/Websurfing/custom_url.py
  • FireModules/FileDownloads/download_custom_url.py
  • FireModules/OSCommand/os_linux_unix_command.py
  • FireModules/OSCommand/os_win_cmd_command.py
  • FireModules/OSCommand/os_win_powershell_script.py
  • FireModules/OSCommand/os_osx_applescript_command.py

您可以将任意数量的这些模块添加到您的 DumpsterFire,每个都有其自定义操作。例如,您可以将十几个 'custom_url.py' Fire 模块链接在一起,构建一个完整的、量身定制的浏览叙事。然后您可以拥有多个 'OSCommand/' Fire 实例来执行系统命令,进一步强化您期望的事件叙事。特别是 'OSCommand/' Fire 为您提供了难以置信的灵活性。DumpsterFire 事件链中的每个单独的 Fire 都可以接受适合主机操作系统的任何 shell 命令:

示例:Linux/Unix(及 OSX 终端)

find /home -name '*.bash_history' -exec cat {} ; ; echo "Never gonna give you up" > rickroll.txt ; wall rickroll.txt

编写您自己的自定义 Fire 模块

DumpsterFire 开箱即用,但它的真正价值在于您可以通过创建自己的自定义 Fire 模块轻松扩展 DumpsterFire 的方案工具箱。通过创建和定制适合您特定需求的 Fire 模块,您可以快速扩展可以构建和执行的 DumpsterFire 方案类型。只需编写您的新 Fire 模块并将其放入 FireModules/ 下的现有目录中,DumpsterFire 工具集将在运行时自动加载并使其可用。

想把您的自定义 Fire 模块完全放在自己的类别中?简单!只需在 FireModules/ 下创建一个新目录,DumpsterFire 工具集会将其自动检测为新的 Fire 类别。

注意:请确保您的新目录中包含一个名为 __init__.py 的空文件,否则 Python 包管理器将无法找到它,DumpsterFire 也就看不到它了。

您的 Fire 模块继承自一个名为 FireModule 的类。作为起点,您可以复制一个现有的 Fire 模块。请确保更改文件名和文件中所有类名引用,以匹配您的新 Fire。(如果需要,也要更新类构造函数方法中的类别路径引用。)

必需的类方法:

Configure() - 提示用户输入,填充 FireModule 的参数

Description() - 返回包含 FireModule 描述的字符串

GetParameters() - 返回 Fire 参数的单一字符串

SetParameters( string ) - 接受单一字符串并填充 Fire 的成员

ActivateLogging( boolean ) - 设置标志,使 Fire 生成其活动日志(非常适合回顾)注意:对于初始版本,记录到标准输出始终开启。

Ignite() - 执行 Fire 的操作

实用脚本

测试 Python 类可能很烦人,特别是当您想对每个类的方法进行单元测试时,迫使您遍历应用程序的所有用例以确保每个类方法按正确顺序执行。呵呵。所以我编写并包含了一个脚本,它将正确调用您的新 FireModule 派生类的每个方法,使您能够快速迭代调试。不客气。:-) 此外,这是单独运行 Fire 来测试设置、查看其效果等的绝佳方式。

在命令行中,给 testFireModule.py 脚本提供您自定义 Fire 模块的相对文件路径。测试脚本将按正确顺序依次调用每个必需的 FireModule 方法(先获取配置,再保存等)。测试脚本未使用异常处理,因为 Python 只有在崩溃时才会给出有用的错误(比如指出缺少双引号)。以崩溃和燃烧的方式成功创建自定义 Fire!

更新

我目前还有大约 30 个 Fire 模块处于不同的开发和调试阶段。我会在 10 月和 11 月期间陆续推出这些模块。每当我创建一个模块,就会想再创建两个更多,所以请关注此空间的更新。

下载工具