标签

LeoAI:AI驱动的后渗透自动化平台

发布时间:2026-06-24 14:57阅读:2

LeoAI 是一款面向红队的后渗透管理平台,定位类似于冰蝎、哥斯拉等 WebShell 管理工具,但集成了 LangChain4j 的智能代理功能,让侦察、提权、凭据收集和横向移动等操作由 AI 自动执行,无需手动输入命令。

底层基于 Spring Boot 3.5 和 LangChain4j 1.16,内置 SQLite 数据库,Web 界面打包在 JAR 文件中,只需下载一个 jar 包即可启动。它还提供 18 种中间件的内存马生成、HTTP/HTTP Chunked/WebSocket 三种通信通道、流量伪装、SOCKS5 和反向隧道等 C2 级别功能。

项目地址:https://github.com/cha0upup/LeoAI

LeoAI 的设计可分为三层:通信端(节点/puppet)、平台端(管理 UI + AI 代理)、能力端(工具与技能)。

LeoAI 将常见后渗透操作抽象为可被大语言模型调用的工具,目前共有 175 个,涵盖文件、进程、网络、凭据、扫描和 HTTP 发包等场景。代理接收任务后,按 ReAct 风格进行多轮工具调用,将每轮结果写入上下文,逐步推进。

此外,还有 8 个预置技能,本质上是经过验证的提示模板,将完整任务(如“对 Linux 主机进行基础侦察”)一键启动:

平台层还有 3 个开发辅助技能:develop-disguise 帮助编写流量伪装模板,develop-fingerprint 辅助指纹规则编写,exploit-suggest 根据命中指纹推荐可能的利用方式。

所有技能以 Markdown 和 YAML frontmatter 格式存储在虚拟文件系统中,可在界面上修改提示词、添加标签、按需禁用,修改后即时生效无需重启,比硬编码提示词更方便。

LeoAI 没有单独的密钥字段,管理端和 shell 端使用同一套编码解码逻辑,不匹配则无法解密请求。这相当于将伪装和身份验证合二为一,更换伪装即更换密钥。

三种通信协议适应不同场景:

流量层采用 TLS 指纹伪装、Header 噪声注入和 URL 随机化,配合自定义编码解码,旨在让流量外观接近正常业务。

攻占节点后,通常需要渗透内网,LeoAI 内置四种转发模式,基本覆盖 SSH 隧道功能:

每条隧道都具备连接数和流量统计,支持一键停止。

Shell 生成模块支持 7 类内存马(Filter、Servlet、Listener、Valve、Interceptor、Controller、WebSocket),适配 18 种中间件,包括 Tomcat、Jetty、Resin、Undertow、WebLogic、WebSphere、Apusic 和 TongWeb 等。

表达式注入打包器列表丰富,涵盖 OGNL、SpEL、EL、Groovy、Freemarker、MVEL、BeanShell、Velocity、Thymeleaf、JEXL、Jinjava、BCEL、Translet、XmlDecoder 等共 41 种 Packer,匹配常见 Java 漏洞场景。

v0.0.6 版本改进的组件,反映了该架构在实战中的经验教训。

在独立 Tomcat 部署且 puppet 注入到 commonLoader、webapp 处于空闲状态时,依赖活跃请求或 contextClassLoader 的组件会失效。此版本将 TomcatCatalinaManageComponent、WeblogicCatalinaManageComponent 和 SpringFrameworkManageComponent 重构为“公开 API → MBean → 字段反射”三层降级方案,覆盖 Tomcat 6/7/8/9/10/11、WebLogic 全版本,以及 Spring 5/6(包括 Tomcat 10+ 的 jakarta.servlet 切换)。

具体对比如下:

这些细节平时不明显,但在生产环境中使用类似工具时,“获取失败”往往决定能否继续推进。

以下以 Docker 方式启动为例,本机无需安装 Java。

安装 Docker Desktop(macOS/Windows)或 Docker Engine + Compose 插件(Linux)。

拉取代码:

首次构建会从 Release 拉取 JAR,国内网络约需 3 到 10 分钟。

若不用 Docker,直接下载 Release 中的 jar 运行也可:

--add-opens 参数不可省略,模块系统未开启则无法启动。

填写后点击“测试连接”通过即可保存。

在控制台右侧 AI 面板输入“先摸清这台机的基础信息”,或直接点击技能快捷按钮启动 recon-basic-info。

代理会按预设流程运行:收集系统版本、内核、网卡、监听端口、关键进程、已安装软件和计划任务,结果分类汇总写入侦察上下文。后续询问“这台机是否有 Java 进程”或“运行了哪些 Web 服务”时,AI 已掌握先前信息,不会重复操作。

hunt-credentials 一键收集浏览器密码、系统凭据、WiFi 配置和常见应用的配置文件。之后运行 escalate-linux-privilege,检查 SUID/Capability、计划任务和内核版本对应的已知提权漏洞,提供按可行性排序的建议。

在 Windows 环境中,可直接调用 WebLogic 密码获取、堆转储分析等内置插件,无需临时编写脚本。

在节点的代理面板挂载 SOCKS5 监听,C2 端配置 proxychains,nmap、ldapsearch、impacket 等工具全部通过此隧道。在出网受限的内网中,反向隧道更顺畅:节点开启监听,让内网机器主动回连 C2 进行拨号转发。

lateral-move-ssh 则组合前期侦察到的凭据,筛选可达主机进行横向尝试,结果回写上下文,便于后续扩展。

如果目标是 Java 应用,可先用 Shell 生成器按目标中间件生成 Filter/Listener/Controller 内存马(选择对应表达式 Packer),部署后将节点协议挂载到伪装模板上。配合 v0.0.6 的空闲容器支持,即使目标 webapp 无人访问,也能正常列出 Filter/Servlet/Listener 并按需卸载,完成任务后不留痕迹。

LeoAI 默认在 8082 端口运行,自带 admin/54ikun 账号,部署后首要任务是修改密码、限制