mstampfli/blue-team-toolkit
GitHub: mstampfli/blue-team-toolkit
一个菜单驱动的蓝队防御工具包,帮助防御者在授权环境中对 Windows/Linux 主机进行评估、加固、分诊和威胁狩猎,并生成带评级的综合报告。
Stars: 0 | Forks: 0
# 蓝队工具包
一个菜单驱动的防御性安全工具包,用于快速评估、强化和
监控 Windows 和 Linux 主机。它将一系列精心挑选的知名 DFIR、
强化和侦测工具整合在一个工作流中:
**安装工具 -> 探测主机 -> 获取优先级任务清单 -> 强化 ->
分诊与追踪 -> 对结果进行评级。**
每个平台都有其独立的入口点,但双方在结构和输出上相互呼应,
所有结果最终都会汇总到一份包含评级的单一报告中。
## 范围与授权
这是**仅供授权使用的防御性工具**:适用于您拥有的系统,或
已获得明确许可进行评估和防御的系统(生产环境强化、实验室工作、CTF、
事件响应)。部分内置工具(nmap、NetExec、nuclei、LinPEAS/WinPEAS、
SharpHound)具有双重用途;请仅对授权范围内的资产使用。强化模块
**默认以预演模式 运行**,会备份其修改的每一个文件,并在
每次更改前询问确认。
## 包含内容
两个入口点启动相同的菜单结构:`prep.ps1`(Windows 控制台
菜单)和 `prep.sh`(Linux whiptail 菜单;需要 `whiptail`、`jq`、`curl`)。两者都会在
脚本同级目录下创建 `output/`(报告、日志、`findings.jsonl`、`facts.json`)和 `tools/`
(下载的工具)。针对不同平台的逻辑位于
`lib/windows/*.ps1` 和 `lib/linux/*.sh` 中:
1. **install**,读取 `tools.json` 并安装所有工具,或自定义
选择。支持 `winget`、`apt`、`pipx`/`pip`、URL 直接下载、
`git clone` 以及 GitHub-release 资产匹配(自动解压压缩包)。
2. **map**,一项发现过程,用于写入 `facts.json`:OS 身份、角色
检测(Windows:DC/IIS/Exchange/AD CS/SQL/RDP/WinRM/Hyper-V;Linux:
docker/nginx/apache/samba/bind/postgres/mysql/redis/SSSD)、安全态势、
监听端口及绑定接口暴露分析、特权服务、
防火墙态势以及当前存在的工具。
3. **recommend**,读取 `facts.json` 并输出带有对应强化步骤的 P0/P1/P2 优先级
强化任务清单,以及现有与缺失的工具。
4. **harden**,半自动化的检查清单,**默认为预演模式**,逐步
确认,每次修改前进行真正的文件备份,并为
每次修改提供回滚提示。涉及移除功能的步骤(例如禁用
nftables 模块,或移除 pkexec 的 setuid)会被明确标记,并
需要额外的确认。Windows 项目包括 LSA RunAsPPL、
禁用 SMBv1、SMB 签名、SMBGhost 变通方案、Print Spooler(仅限
DC)、LLMNR/NetBIOS/WPAD、仅限 NTLMv2、PowerShell 日志和审计策略。
Linux 项目包括 SSH 锁定(带有 authorized-keys 安全检查)、
带有 Neo23x0 规则集的 auditd、fail2ban、UFW 默认拒绝、sysctl
强化以及包/服务基线。
5. **triage**,按主机收集原始状态并生成带时间戳的报告;优先
调度已安装的扫描器(WinPEAS/autoruns/sigcheck,或
lynis/linpeas/rkhunter/chkrootkit),然后导出进程、socket、
持久化机制、账户和其他实时状态。
6. **hunt**,后门/持久化追踪。在工具存在的情况下调度 autoruns/chainsaw/hayabusa/
hollows_hunter/loki,随后运行高特异性的 `[CLEAR]`
检查(最近添加的账户、位于可写路径的服务和计划任务、伪装
进程、Defender 篡改/排除项、web-shell 路径、ld.so.preload 等...)
并单独标记噪声较大的 `[REVIEW]` 暴露检查,从而确保置信度
标签名副其实。
7. **recon**,网络侦测。内部 (INTERNAL):nmap 主机发现 + 服务扫描 +
NetExec SMB 枚举 + 针对主机的 nuclei 扫描。外部 (EXTERNAL):Shodan InternetDB、
crt.sh 子域拉取、DNS 枚举和 NAT-hairpin nmap。自动检测目标
并生成可编辑的 `recon-targets.txt`。
8. **findings**,用于查看跨运行累积的持久化 `findings.jsonl` 的查看器;
支持摘要、最近记录、按类型分类以及去重的 CSV 导出。
9. **report card**,将 `facts.json` + `findings.jsonl` 汇总为一份单一评级
报告(**A-F 态势评分**、优先排序的严重/高/中风险问题、当前状态良好的
项目以及按类型分类的未决发现),并作为独立自包含的
**HTML** 页面和 **Markdown** 文件输出至 `output/`。它不会执行任何侵入性
操作;它仅根据其他模块已收集的数据进行
评级。
`tools.json` 是共享的工具清单(涵盖 EDR/DFIR、遥测、
SIEM/网络、侦测、漏洞扫描、权限提升审计、AD、rootkit 狩猎、内存
取证、网络防御、蜜罐和检测配置的约 50 种工具)。
## 用法
Windows(**以管理员身份**运行 PowerShell):
```
.\prep.ps1
```
Linux:
```
./prep.sh
```
菜单按工作流顺序运行:**1 install, 2 map, 3 recommend, 4 harden,接着是
5 triage / 6 hunt, 7 recon, 8 findings,以及 9 生成包含评级的报告单。**
## 环境要求
- **Windows:** Windows PowerShell 5.1+(使用 CIM、`Get-NetTCPConnection` 和
Defender cmdlet)。强化模块**需要提升权限的会话**,
否则将拒绝运行;在提权状态下,map/triage/hunt 的信息收集最为完整。
`winget`、`git` 和 `pipx`/`pip` 是可选的,仅在安装程序中使用。
- **Linux:** 带有 `whiptail`、`jq` 和 `curl` 的 bash(启动时检查);
假定属于 Debian/Ubuntu 系列(`apt`、`dpkg`、`debsums`)。强化以及部分
triage 操作需使用 `sudo`。
- 内置的第三方工具会在需要时通过
安装程序按需下载到 `tools/` 目录;不会向代码库提交任何内容。
## 状态
单人开发项目。Windows 和 Linux 端已实现功能对等。目前没有
自动化测试;强化模块默认为预演模式,但在对任何您关心的
主机应用更改之前,请务必检查其输出。
标签:AI合规, Blue Team, Libemu, Web报告查看器, 安全基线检查, 库, 应急响应, 应用安全, 数字取证, 数据包嗅探, 无线安全, 系统加固, 自动化脚本