Archsec-Emman/403-Killchain

GitHub: Archsec-Emman/403-Killchain

将四种独立的 403 绕过引擎融合为单一 Go 二进制文件的安全测试工具,通过并发执行多种技术将 403 Forbidden 转为 200 OK 并输出统一报告。

Stars: 1 | Forks: 0

# 403-Killchain

403-Killchain Banner

[![Language](https://img.shields.io/badge/Go-1.20+-00ADD8?logo=go)](https://go.dev/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Platform](https://img.shields.io/badge/platform-windows%20%7C%20linux%20%7C%20macos-lightgrey)](https://github.com/Archsec-Emman/403-Killchain) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) **将 403 Forbidden 变为 200 OK —— 一条命令,一条 killchain。** 四个独立的绕过引擎,融合为一个单一、静默的 Go 二进制文件。每个引擎都使用独特的策略。它们**并行**运行,并将结果合并为一份清晰、可操作的报告。无需再运行多个工具,不会再遗漏任何技巧。 ## 📖 概述 403‑Killchain 是一款渗透测试工具,旨在帮助安全专业人员绕过 HTTP 403 Forbidden 错误。它通过嵌入四个不同的绕过引擎来工作,每个引擎都使用自己的一套技术对同一个目标 URL 进行攻击。这些引擎并发运行,这意味着您获取汇总输出所花的时间比按顺序运行其中两个引擎的时间还要短。 该工具使用 Go 编写,编译为一个**没有外部运行时依赖**的单一静态二进制文件,并且可以完全离线工作 —— 不需要 API 调用,也不需要互联网连接。 ## ✨ 功能 | 功能 | 描述 | |---------|-------------| | **4 个引擎,1 个二进制文件** | 运行时无外部依赖 —— 所有内容均已编译在内。 | | **⚡ 并行执行** | 所有四个引擎同时攻击目标。 | | **🔧 引擎选择** | 使用 `--only` 或 `--skip` 运行特定的引擎。 | | **📋 统一报告** | 清晰、分区的输出,便于分析。 | | **📦 内嵌 payloads** | 每种绕过技术都直接编译到二进制文件中。 | | **🖥️ 静态二进制文件** | 适用于 Linux、Windows 和 macOS —— 无需安装程序。 | | **🔌 零外部 API 调用** | 完全离线运行。 | ## 🧠 工作原理 403‑Killchain 嵌入了四个不同的引擎,每个引擎都使用自己的一套技术攻击同一个 URL。 ### 引擎 1 – Path & Header Fuzzer 该引擎系统地修改 URL 路径,并注入常见的绕过 headers。 - 附加斜杠、编码字符和路径遍历序列(`/`, `%2e`, `;`, `..;/`) - 添加如 `X-Forwarded-For`、`X-Originating-IP`、`X-Rewrite-URL`、`X-Real-IP` 等 headers - 动态切换 HTTP 方法(GET → POST、PUT、PATCH、DELETE、OPTIONS) - 快速发送每一种组合,并报告任何非 `403` 的响应 ### 引擎 2 – Header & Method Mutator 该引擎采用更加面向协议的方法,通过操纵请求行和 headers 来干扰访问控制。 - 插入格式错误的请求行(降级为 HTTP/1.0、额外的空格、双斜杠) - 尝试替代的 host headers、`X-Forwarded-Host`、覆盖 `Origin` - 利用前端代理和后端服务器之间的差异 - 使用专门设计用于绕过 WAF 和反向代理的 payloads ### 引擎 3 – Status‑Code Reasoner 该引擎对 Web 服务器用于强制执行 `403` 规则的常见模式进行暴力破解。 - 结合不同的 Content‑Types 测试每一种已知的 HTTP 方法 - 在多次发送相同请求时进行微小的更改(大小写翻转、Unicode 技巧) - 从 `nmap` 风格的路径列表和常见的后台管理面板中学习 - 标记任何静默返回 `200`、`301` 或 `302` 的响应 ### 引擎 4 – Encoding & Randomisation 该引擎利用熵来避免基于模式的阻断。 - 对每一个路径片段进行 URL 编码、双重编码和 Unicode 编码 - 生成随机的参数名称和值,以规避基于签名的过滤器 - 以略微变化的速度(jitter)发送请求,以阻止速率限制 - 将多种绕过技术组合成单一的、高熵的请求 这四个引擎**并发**运行 —— 您可以在比单独运行其中两个引擎更短的时间内获得完整的汇总输出。 ## 🚀 安装 ### 选项 1 — 预编译二进制文件(推荐) 从 [Releases](https://github.com/Archsec-Emman/403-Killchain/releases) 页面下载适合您操作系统的最新二进制文件。 | 平台 | 下载 | |----------|----------| | **Windows** | `403-Killchain-windows-amd64.exe` | | **Linux** | `403-Killchain-linux-amd64` | | **macOS** | `403-Killchain-darwin-amd64` | ### 选项 2 — 从源码构建(需要 Go 1.20+) ``` git clone https://github.com/Archsec-Emman/403-Killchain.git cd 403-Killchain CGO_ENABLED=0 go build -o 403-Killchain ``` `CGO_ENABLED=0` 标志会生成一个没有外部依赖的完全静态二进制文件,适合离线使用。 ## 📚 用法 ### 基本命令 ``` ./403-Killchain -u https://target.com/admin ``` ### Flags | Flag | 描述 | 示例 | |------|-------------|---------| | `-u` | 目标 URL(必填) | `-u https://example.com/admin` | | `--only` | 仅运行特定的引擎(逗号分隔) | `--only nomore403,byp4xx` | | `--skip` | 跳过特定的引擎(逗号分隔) | `--skip bypass-403.sh,dontgo403` | | `-l` | 列出所有内嵌的引擎并退出 | `./403-Killchain -l` | | `-h` | 显示横幅和帮助信息 | `./403-Killchain -h` | ### 引擎选择示例 ``` # 仅运行 path fuzzer 和 encoding engine ./403-Killchain -u https://target.com/admin --only path-fuzzer,encoding # 运行除 header mutator 外的所有内容 ./403-Killchain -u https://target.com/admin --skip header-mutator ``` ## 📊 与独立工具的比较 | 功能 | 独立工具 | 403‑Killchain | |------------|:---------------:|:-------------:| | 多引擎 | ❌ | ✅ | | 并行执行 | ❌ | ✅ | | 统一输出 | ❌ | ✅ | | 单一二进制文件 | ~ | ✅ | | 无外部依赖 | ~ | ✅ | | 全面的技术覆盖 | 部分 | ✅ | ## 🛠️ 开发 ### 前置条件 - Go 1.20 或更高版本 ### 构建与测试 ``` # Clone 该 repository git clone https://github.com/Archsec-Emman/403-Killchain.git cd 403-Killchain # Build 该 binary CGO_ENABLED=0 go build -o 403-Killchain # 运行测试(如果有) go test ./... ``` ### 项目结构 ``` 403-Killchain/ ├── main.go # Entry point and CLI parsing ├── go.mod # Go module definition ├── go.sum # Dependency checksums ├── LICENSE # MIT License ├── README.md # This file └── ... ``` ## 📄 许可证 该项目根据 **MIT License** 授权 —— 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 内嵌的引擎包含来自各种开源项目的代码。完整的归属信息请参见 `THIRD_PARTY_LICENSES.md`(待添加)。 ## 📬 联系与支持 - **GitHub Issues**: [https://github.com/Archsec-Emman/403-Killchain/issues](https://github.com/Archsec-Emman/403-Killchain/issues) - **作者**: [Archsec-Emman](https://github.com/Archsec-Emman) - **组织**: [Arc‑Cyber‑Arsenal](https://github.com/Arc-Cyber-Arsenal) *如果该工具在您的评估过程中为您节省了时间,请考虑给本仓库点个 Star。* ⭐
标签:CISA项目, EVTX分析, Go语言, HTTP 403绕过, 并发执行, 日志审计, 程序破解