文章总结: 本文为Hati渗透测试工具的详细安装指南,重点针对Windows环境提供从环境准备到实战运行的全流程操作步骤。文档涵盖MiniMaxAPI配置、Docker部署Redis、Kali虚拟机联动、RAG知识库构建等关键环节,并总结Windows系统下Unicode编码、Redis连接、MCP超时三大常见问题的解决方案。教程强调通过WebUI执行自动化渗透测试任务并生成漏洞报告的可操作性。 综合评分: 72 文章分类: 渗透测试,红队,安全工具,漏洞分析,WEB安全
第二章 – 重生之我是AI人:5分钟,把 Hati 装好
Khan安全团队
2026年6月13日 14:48 海南
在小说阅读器读本章
去阅读
以下文章来源于威胁情报Z分析 ,作者Gachong
威胁情报Z分析 .
国际网络安全威胁情报,地缘政治事件分析。
- 在你开始敲命令之前
先说结论:不复杂,但坑都在细节里。这一篇我带你把 Hati 完整装起来、跑出一个真实任务。Windows、Linux 两套都给,但我主力在 Windows 上演示 — 网上这类教程 90% 是 macOS/Linux 写的,Windows 玩家太难了。
你需要的装备清单:
● 一台 8GB 内存以上的电脑(16GB 更稳)
● Python 3.10+(版本不够会报语法错误)
● Docker Desktop(我们用它的 Redis 容器,不用装本地 Redis)
● 一个 Kali Linux 虚拟机(VirtualBox / VMware 都行,2GB 内存就够)
● MiniMax API Key(去 minimax.chat 注册一个,这里选择minimax是因为量大管饱,且合规较弱,存在较多的提示词注入漏洞,可用来操作测试行为)
● 一个好用的终端(Windows 推荐 Windows Terminal + Git Bash)
网络要求:
● 你的电脑 ↔ Kali VM:同网段或 NAT 互通
● 你的电脑 → api.minimax.chat:443:能访问就行
● Kali VM 上要能装软件(能 ping 通外网)
如果你懒得自己起 VM:Hati 也能只跑主机模式(技能直接发包,不依赖 HexStrike 工具),但功能会少 30%。强烈建议起 VM。
- 步骤 1:克隆 + 改 .env(2 分钟)
git clone https://github.com/<your-name>/Hati.gitcd Hati
复制配置模板:
cp .env.example .env
打开 .env,至少填 4 项:
# MiniMax LLM(必填)MINIMAX_API_KEY=sk-cp-xxxxxxxxxxxxxxxxMINIMAX_GROUP_ID=xxxxxxxxxxxxxxxxMINIMAX_MODEL=MiniMax-M2.7
# HexStrike MCP Server(在 Kali VM 里运行)HEXSTRIKE_SERVER_URL=http://<Kali VM IP>:9999
# SSH 隧道(可选,如果 VM 端口不直接暴露)SSH_TUNNEL_HOST=<Kali VM IP>SSH_TUNNEL_USER=rootSSH_TUNNEL_PASSWORD=<vm password>
注意:MINIMAX_API_KEY 以 sk-cp- 开头,不是 sk-。
- 步骤 2:装 Python 依赖
pip install -r requirements-agent.txt
两个需要注意的点:
-
chromadb 装不上:通常是缺 C++ 编译环境,Windows 上 pip install chromadb 经常报 Microsoft Visual C++ 14.0 is required。解法:装 Visual Studio Build Tools,勾选”使用 C++ 的桌面开发”
-
sentence-transformers 第一次跑会下载模型:约 90MB,如果网不好会超时。解法:手动下好放到 ~/.cache/huggingface/
-
步骤 3:起 Redis
我们不用本地装 Redis,直接用 Docker:
cd dockerdocker-compose up -d redis
验证:
docker ps | grep redisredis-cli ping# 返回: PONG
docker-compose.yml 顺便还起了 Elasticsearch + Kibana,但它们是可选的 — Hati 检测到 ES 不通会自动降级到本地 JSON 日志。
如果选择不用docker也可以本地redis,看个人喜好。
- 步骤 4:构建 RAG 知识库
python scripts/build_rag.py
这个脚本会扫描 poc/wpoc/ 下 799 个真实产品的 POC 文件,用 all-MiniLM-L6-v2 转成向量,存到 data/poc_knowledge_base/。
跑完后验证一下:
from rag.query_interface import get_rag_interfacer = get_rag_interface()print(r.get_stats())# {'total_count': 799, 'index_size': 'xxx MB'}
提示:这一步只在第一次跑。后面改了 poc/wpoc/ 下的内容才需要重新构建。Hati 启动时会自动加载,不会每次都重建。
- 步骤 5:Kali VM 端起 HexStrike MCP
SSH 进 VM
ssh root@<Kali VM IP>
启动 HexStrike Server:
cd hexstrike-aipip install -r requirements.txtpython3 hexstrike_server.py --port 9999
HexStrike MCP Server v6.0.0 listening on 0.0.0.0:9999Total tools available: 54
截图:Kali VM 终端里 hexstrike_server.py 启动成功的输出
回到主机测试连通性:
curl http://<Kali VM IP>:9999/health# 返回: {"version": "6.0.0", "total_tools_available": 54, "status": "healthy"}
不通的话,八成是 VM 防火墙。解法:
# Kali VM 内ufw allow 9999/tcpufw allow 22/tcp
还想要 SSH 隧道?(VM 端口不直接暴露时用)
# Git Bashbash scripts/ssh_tunnel.sh# PowerShell.\scripts\ssh_tunnel.ps1 -VmHost "<Kali VM IP>" -VmPassword "<密码>"
隧道起来后改 .env
HEXSTRIKE_SERVER_URL=http://localhost:9999
- 步骤 6:起 Hati API 服务
python -m api.main
✅ Elasticsearch 连接成功: http://localhost:9200[SkillLoader] 已加载 47 个攻击技能[RAG] POC 知识库已加载: 799 条Uvicorn running on http://0.0.0.0:8000
打开浏览器访问 http://localhost:8000,看到 Web UI:
- 步骤 7:跑第一个任务
在输入框敲:
对 http://testphp.vulnweb.com 进行渗透测试
回车,等。
Web UI 左侧聊天窗口会流式显示:
● 加载技能
● 启动 nmap
● 扫描端口:80, 443, 3306
● 识别技术栈:PHP, Apache, MySQL
● LLM 决策:优先测 SQL 注入
● 匹配技能:sqli-sql-injection
● 改写 POC:GET /artists.php?artist=1′ OR ‘1’=’1
● 实际发包,等待响应
● 命中 SQL 错误
● 写入漏洞:SQL Injection (HIGH)
● 生成报告
任务结束后,reports/ 目录会多出两个文件
reports/20260601_143022_target_a1b2c3d4.mdreports/20260601_143022_target_a1b2c3d4.json
- Windows 上 3 个最常见的坑
这节是 Windows 同学看一下。Mac/Linux 同学可以跳过。
坑 1:UnicodeEncodeError
症状:终端打印中文乱码或报 UnicodeEncodeError: ‘gbk’ codec。
解法:Hati 已经在所有入口加了:
if sys.platform == 'win32': sys.stdout.reconfigure(encoding='utf-8', errors='replace')
但 PowerShell 还得手动设:
$OutputEncoding = [Console]::OutputEncoding = [Text.UTF8Encoding]::UTF8
坑 2:Redis 连不上
症状:Error 10061 connecting to localhost:6379。
解法:Docker Desktop 没启动,或者 docker-compose up -d redis 没真的起。检查:
docker ps
坑 3:MCP 超时
症状:任务跑到一半,日志出现 Read timed out 或 Connection refused。
解法:先 ping
- 跑通了吗?
如果一切顺利,你现在应该:
● ✅ Web UI 跑出了一个完整任务
● ✅ reports/ 目录下有报告
● ✅ WebSocket 流式显示正常
如果没跑通:大概率是上面 3 个坑之一。回头看,逐个排除。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Khan安全团队 《第二章 – 重生之我是AI人:5分钟,把 Hati 装好》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。







评论