Agartha 专注于高级载荷生成与访问控制评估。它能精准识别与注入攻击、身份验证/授权相关的漏洞。动态载荷生成器可为多种注入向量(包括 SQL 注入、本地文件包含 LFI、远程代码执行 RCE)生成全面的字典。此外,该扩展还能构建完整的用户访问矩阵,揭示潜在的访问违规和权限提升路径。它还支持 HTTP 403 绕过检查,帮助发现认证配置错误。另外,它可以将 HTTP 请求转换为 JavaScript 代码,以便更深入地挖掘 XSS 问题。
概括而言:
下面是使用说明的小教程。
你需要先下载 'Jython' 文件并配置环境:
你可以通过官方商店安装 Agartha:
或者手动安装:
最后,你会在主窗口中看到 'Agartha' 标签,它也会注册到右键菜单中,位于:
'Auth Matrix'
'403 Bypass'
'Copy as JavaScript'
它同时支持 Unix 和 Windows 文件语法,可为任意目标路径动态生成字典。此外,它还可以尝试绕过 Web 应用防火墙(WAF),采用多种编码和其他技术。

它根据提供的命令动态生成命令执行的字典。它结合了 Unix 和 Windows 环境中的多种分隔符和终止符。

它为各种类型的 SQL 注入攻击生成载荷,包括堆叠查询、布尔型、联合查询型和时间型。不需要用户输入;只需选择所需的 SQL 攻击类型和数据库,即可生成不同组合的字典。

BCheck 是 Burp Suite 用于创建和导入自定义扫描检查的框架。这些用户定义的检查与 Burp Scanner 的内置例程同时运行,允许你针对特定漏洞或测试需求定制扫描。通过使用 BChecks,你可以扩展 Burp 的扫描能力,并优化你的工作流,以实现更具针对性、更高效的评估。 现在你可以自动生成代码:
请注意,随着 Bambdas 脚本规模的增大,可能会导致性能问题,尤其在扫描期间。较大的脚本会降低响应速度、增加内存消耗,并导致执行任务延迟。
点击 "Generate payloads for BCheck" 按钮后,BCheck 代码将自动复制到你的剪贴板。
接下来,从 Burp Suite 菜单进入 'Extensions > BChecks > New > Blank',然后粘贴生成的代码。
你的载荷现在已集成到 BCheck 中。你可以手动发送或扫描 HTTP 请求,也可以启动包含 BCheck 控制的 Burp 扫描,以自动测试工具生成的注入载荷。
微调建议:生成的代码作为模板,可能需要一些调整,因为不同应用和服务器之间的行为可能有所差异。
细化过滤器(例如指定 HTTP 响应码或响应中的关键词)有助于减少误报,使结果更精确、噪音更少。
此部分专注于分析用户会话与 URL 之间的关系,以识别访问违规。该工具系统性地访问所有与预定义用户会话关联的 URL,并用 HTTP 响应填充表格。本质上,它创建了一个访问矩阵,有助于识别身份验证和授权问题。最终,这个过程揭示了哪些用户可以访问特定的页面内容。
更多细节:
请注意,潜在的会话终止符(如注销、登出等)以及特定文件类型(如 CSS、图片、JavaScript 等)将从 'Spider' 和用户的 URL 列表中过滤掉。
点击 'RUN' 后,工具将以不同颜色填充用户和 URL 矩阵。除了用户特定颜色外,你还会看到红色、橙色和黄色单元格,指示可能的访问问题。
此任务涉及批量处理,值得说明的是将使用哪些 HTTP 请求方法。该工具提供了三种不同的 HTTP 调用方式:
HTTP 403 Forbidden 状态码表示服务器理解请求但拒绝授权。本质上,它意味着“我认识你,但你无权访问此资源。”此状态通常指向“权限不足”、“需要认证”、“IP 限制”等问题。
该工具通过使用各种技术(如 URL 操纵和请求头修改)来解决常见的访问禁止错误。这些策略旨在绕过访问限制并获取所需内容。
值得提及两种不同的使用场景:
有两种方式可以将 HTTP 请求发送到该工具。
我们试图访问的页面属于特权用户组,并且我们保留会话标识符以验证是否可能实现权限提升。
只需点击 'RUN' 按钮即可执行任务。
下图显示某个 URL 可能存在访问问题,'红色' 表示警告。
请注意,尝试次数取决于具体的目标 URL。
该功能允许将 HTTP 请求转换为 JavaScript 代码,这对于超越 XSS 漏洞以及绕过 Header 限制尤为有用。
要使用此功能,只需右键点击任意 HTTP 请求,选择 'Extensions > Agartha > Copy as JavaScript'。
它将自动保存到你的剪贴板,并包含一些附加备注供参考。例如:``` Http request with minimal parameters:
Http request with header fields:
请注意,JavaScript 代码将在原始用户会话中执行,许多标头字段由浏览器自动填充。然而,在某些情况下,服务器可能要求特定的必填标头字段。例如,如果'Content-Type'不正确,某些请求可能会失败。因此,您可能需要调整代码以确保与服务器要求的兼容性。
<br/><br/>
## Bambdas 代码生成器
Bambdas 是直接在 Burp Suite 中运行的轻量级脚本,允许用户快速自定义和自动化各种任务。它们可用于定义自定义匹配替换规则、添加动态表列、应用过滤器以及定制界面以更好地适应特定的测试工作流程。
<img width="1000" alt="Bambdas 代码生成器" src="https://assets.kitploit.com/production/public/readmes/5162/1f24e30531216aea02630b65422c79753e12e44148338735a51450ba4d42be03.png">
说明,更多详情:
1. 关于脚本创建 GUI,您可以在此选择通用设置。例如:
- 仅处理范围内地址或所有域地址。
- 隐藏特定文件扩展名或不隐藏。
- 在范围部分(位于组 3 的第一部分)中定义的 URL 的颜色。
- 已经测试过的 URL 的颜色(位于组 3 的第二部分)。
- 主要在组 2 中定义的过滤器的颜色。
- 要显示的过去天数。
- 脚本要处理的过去天数。
2. 第二部分的选项主要与处理 HTTP 请求和响应有关:
- 提供选项来指定搜索条件应应用于 URL、请求还是响应。选择其中任何一个将激活对应的下方选项。例如,如果要搜索“易受攻击的 JavaScript 函数”,则只能在 HTTP 响应中进行。
- 隐藏特定 HTTP 方法的选项。
- “搜索 HTML 注释”、“可下载文件扩展名”和“易受攻击的 JS 函数”通常在 HTTP 响应中搜索。
- “有价值的关键词”搜索可应用于 URL、请求和响应。
- “可疑的 SQLi 标识符、可疑的 XSS 标识符、可疑的 LFI 标识符、可疑的 SSRF 标识符、可疑的开放重定向标识符和可疑的 RCE 标识符”可以在 URL 或请求中搜索。与自由文本搜索的“有价值的关键词”不同,这些选项专门检测参数。
3. 第三部分的选项主要用于定义范围、已测试的 URL 以及您希望隐藏的 URL。
- 您可以在“测试范围定义”部分定义要测试的 URL。如果输入 /,则整个应用程序将被视为范围内;如果添加特定路径如 /users,则仅该目录及其内容处于范围内。“测试范围颜色”选项应用于此部分。
- “已测试的 URL”部分包含已经测试过的 URL 列表。“已测试项颜色”选项应用于此。
- “黑名单 URL”部分包含您希望从代理历史中隐藏的 URL。
**定义示例**:
- /
- 根路径——包含所有内容。
注意:除了测试和已测试范围定义外,它也可以应用于黑名单 URL 部分,此时除非定义了匹配条件,否则排除所有内容。
- /portal/users
- 专门包含此路径及其子路径,例如:
- /portal/users?id=1
- /portal/users/?id=1
- /portal/users/dashboard
- /admin/\*/users/\*/class
- 星号(*)充当 ID、UUID 等的占位符,路径的其余部分将被包含。
- /api/v\*/user
- 星号(*)充当通配符,匹配 **v** 之后直到下一个 '/' 的任何字符序列,例如:
- /api/v1/user
- /api/v2/user
- /health-check
- 专门包含此路径及其子路径,例如:
- /health-check
- /health-check/Monitor
- /health-check/?Level=Info
4. 最后,第四部分显示通过单击“运行”按钮生成的脚本,现在脚本已可供使用。通常,可以通过两种不同方式添加此脚本:
- 临时(基于项目):从应用程序菜单,转到 Proxy > HTTP History > Bambda Mode > Apply & Close。
- 永久(全局应用):从应用程序菜单,转到 Extensions > Bambda Library > New > Blank > View filter + HTTP history > Save & Close。
**请注意**:启用所有选项,特别是对于大型项目,可能会导致显著的系统资源使用和增加的处理时间。如果您创建的脚本在合理时间内未能完成,最好对其进行修改。
<img width="1000" alt="Bambdas 代码生成器" src="https://assets.kitploit.com/production/public/readmes/5162/cb116ad18bc53ebf770b5bc1cb2b920cc9ef3a4569fab9b12d5fb9979823a58c.png">
**选项优先级**:最高优先级是“已测试项颜色”,其次是“测试范围颜色”,最后是“参数/关键词颜色”。
上图说明如下:
- **粉色**表示测试范围(组 3 的第一部分)。
- **黄色**表示已测试范围(组 3 的第二部分)。
- **青色**突出显示搜索条件(组 2)的匹配项。此外,您可以在每个 HTTP 调用的“注释”部分查看哪个条件匹配。
如果您之后更新或修改已创建的脚本,需要注意以下几点:
- 如果您将脚本设置为永久(全局应用),则需要通过以下步骤重新加载它:
Bambda 脚本模式 > 加载
<img width="800" alt="Bambdas 代码生成器" src="https://assets.kitploit.com/production/public/readmes/5162/5a840779ef9b2df5ac22e94d8ebf6771a677d5d45d49f35cae6f4b3a2e820cd2.png">
- 如果您将脚本用作临时(基于项目),通常有两个选项:
1. 如果您希望修改后的脚本从那时起生效,则无需额外步骤——只需单击“应用”即可。
2. 如果您希望修改后的脚本处理整个代理历史,则必须重新启用 Bambda 模式,或切换脚本内部的 boolean resetScreen 参数:
```
// 'true' 清除颜色/注释
// 'false' 执行脚本
boolean resetScreen = false; // 或 true
```
<img width="800" alt="Bambdas 代码生成器" src="https://assets.kitploit.com/production/public/readmes/5162/cf2dac03f0dd6f1db5d8950b0162eda9e18862b1fb9da7a57f4cc119ec233c57.png">
<br/><br/>
[另一个教程链接](https://www.linkedin.com/pulse/agartha-lfi-rce-auth-sqli-http-js-volkan-dindar)