reallyngb/redteam-operations-framework
GitHub: reallyngb/redteam-operations-framework
一个基于插件架构的红队侦察自动化框架,专注于授权安全评估中的信息收集与多格式报告生成,不包含漏洞利用功能。
Stars: 0 | Forks: 0
# 红队行动框架
一个模块化、基于插件的自动化框架,用于授权安全评估中的**被动侦察/枚举和报告**阶段。
## 当前功能
| 模块 | 功能 | 技术 |
|---|---|---|
| `dns_enumeration` | 解析 A/AAAA/MX/TXT/NS/SOA/CNAME 记录 | 标准 DNS 查询 |
| `cert_transparency` | 发现子域名 | 被动 CT 日志搜索 (crt.sh) |
| `port_scan` | 查找目标主机上开放的 TCP 端口 | TCP connect 扫描(相当于 `nmap -sT`) |
| `web_enumeration` | 识别技术栈,检查常见路径 | HTTP 标头检查 + HEAD 请求 |
每个模块都会输出统一的 `Finding` 格式,因此报告引擎可以从任意模块组合中生成 **JSON、Markdown、HTML 和 CSV** 报告,而无需编写特定于模块的报告代码。
## 架构
```
src/redteam_framework/
├── core/ # config, logging, data models, plugin base class + registry
├── modules/
│ ├── recon/ # DNS, cert transparency, port scan, web enum
│ └── reporting/ # multi-format report generator
├── plugins/ # drop your own plugins here (see docs/plugin-development.md)
├── templates/ # Jinja2 report templates (Markdown/HTML)
├── orchestrator.py # runs enabled modules, aggregates results
└── cli.py # Typer CLI entry point
```
模块通过继承 `RedTeamModule` 类,实现 `async def run()`,并通过 `@registry.register` 进行自注册。编排器和 CLI 永远不会硬导入单个模块——它们通过注册表发现模块,因此添加模块完全不需要修改编排代码。
## 快速开始
```
# 安装
poetry install
# 复制并使用您授权的 scope 编辑示例 config
cp config/example.yaml config/my_engagement.yaml
# 查看可用内容
poetry run redteam list-modules
# 在运行前验证您的 config
poetry run redteam validate-config --config config/my_engagement.yaml
# 运行它
poetry run redteam run --config config/my_engagement.yaml
```
报告将存放在 `./reports/`,结构化日志将存放在 `./logs/`。
## Docker
```
docker compose -f docker/docker-compose.yml up --build
```
## 开发
```
poetry install
poetry run pre-commit install
poetry run ruff check src tests
poetry run black --check src tests
poetry run mypy src
poetry run bandit -r src -ll
poetry run pytest
```
所有四项检查和完整的测试套件都会在 CI (`.github/workflows/ci.yml`) 中强制执行,适用于每次推送和拉取请求。
## 添加模块
1. 在 `src/redteam_framework/modules/recon/` 下创建文件(或创建一个新的子包)。
2. 继承 `RedTeamModule` 类,设置 `name` 和 `description`,并实现 `async def run() -> ModuleRunResult`。
3. 使用 `@registry.register` 装饰该类。
4. 在相关的包 `__init__.py` 中导入它,以便运行装饰器。
5. 将其添加到配置的 `modules:` 块中。
## 路线图
- [ ] Windows / Linux / Active Directory 枚举模块
- [ ] 云资产发现 (AWS / Azure / GCP)
- [ ] 容器/Kubernetes 枚举
- [ ] 针对每个发现的 MITRE ATT&CK 自动映射
- [ ] 用于触发运行和获取报告的 REST API
- [ ] 基于 PostgreSQL 的运行历史记录
## 许可证
MIT — 查看 [LICENSE](LICENSE)。
标签:GitHub, Python, 动态插桩, 动态调用, 安全报告生成, 实时处理, 密码管理, 插件化框架, 无后门, 自动化侦察, 请求拦截, 逆向工具