想一次搞定流量劫持、模糊爆破与反连?Yakit 渗透测试平台搭建全攻略
【免费下载链接】yakitCyber Security ALL-IN-ONE Platform项目地址: https://gitcode.com/GitHub_Trending/ya/yakit
Yakit 是一款基于 Electron + React + Yaklang 的网络安全一体化渗透测试平台,把 MITM 流量劫持、Web Fuzzer 模糊测试、反连利用这些原本要拼凑多套工具才能完成的工作,收进了同一个图形界面里。这篇文章不讲"十个步骤"的流水账,而是带你从环境盘点到打包分发,走一遍最顺手的落地路径。
一个平台顶掉半个工作台的功能全景
先看看 Yakit 能覆盖哪些场景,这也是它被称为 "Cyber Security ALL-IN-ONE Platform" 的原因:
- MITM 交互式劫持:启动本地 HTTP 代理,手动拦截请求与响应,支持查看、修改、重放,甚至可构造畸形报文用于特殊漏洞场景
- Web Fuzzer 流量重放:直接编辑 HTTP 原文发包,后端自动补全 Content-Length、boundary、CRLF 等细节
- Fuzztag 模糊爆破:用
{{int(1-10)}}这类标签替代字典导入,天然整合 Host 碰撞、参数爆破、目录爆破 - 反连与端口协议复用:一个端口同时监听 LDAP、RMI、HTTP、ICMP 等多种回连协议,收到请求自动识别并返回对应 Payload
- Yaklang 脚本热加载:MITM 劫持过程中可随时注入 Yak 脚本对流量做二次加工
- 插件商店:在渗透流程任意环节挂载社区插件(Nginx 目录遍历检测、Spring 漏洞检测等)
架构上它分三层:你的电脑跑 Electron 客户端,通过 gRPC 与 Yak 引擎通信;引擎本身可本地启动,也可以远程部署。
构建环境一次盘点
Yakit 是典型的 Electron 桌面工程,仓库内分三个子项目(项目说明里有完整表格):
| 模块 | 路径 | 作用 |
|---|---|---|
| Electron 主进程 | app/main/ | 窗口、IPC、gRPC 通信 |
| 主渲染端 | app/renderer/src/main/ | Vite 8 驱动的主界面,开发端口 3000 |
| Link 渲染端 | app/renderer/engine-link-startup/ | 引擎链接启动页,开发端口 5173 |
开工前确认三件事:
- Node.js + Yarn:仓库用 Yarn 管理依赖(根目录有
yarn.lock),yarn cli是全部启动/构建命令的统一入口,CLI 说明值得一读 - 能访问外网:首次安装要下载 Electron 二进制和各端依赖
- Apple Silicon 用户:原生模块编译可能依赖
pkg-config、pixman、cairo、pango,M 芯片机器建议提前备好
最短路径把 Yakit 跑起来
克隆仓库并把三个子项目的依赖一次性装齐(yarn cli install会按 根目录 → Link 端 → 主端 的顺序执行,无需手动切目录三次):
git clone https://gitcode.com/GitHub_Trending/ya/yakit cd yakit yarn cli install yarn check-deps # 确认本地依赖与仓库一致然后启动开发环境。这里有个新手最容易踩的坑:必须等两个渲染端真正编译完成后再起 Electron,否则窗口白屏(端口处于监听状态 ≠ 页面编译完成):
yarn cli start -v yakit # 启动两端渲染服务 # 确认 3000 与 5173 两个端口都返回有效页面后,另开终端: yarn cli electron嫌麻烦可以用yarn cli dev -v yakit一条命令串联(start + 端口等待 + electron),适合熟悉流程之后使用。
首次运行验证:让流量从眼前"流"过去
主窗口打开后,左侧导航找到MITM 交互式劫持页面,配置劫持监听端口(默认 127.0.0.1:8083),点击"劫持启动"。首次使用 HTTPS 劫持需要安装 Yakit 的 CA 证书——仓库bins/scripts/auto-install-cert.zip内附带自动安装脚本,按操作系统解压执行即可。
验证是否跑通,看两个信号:
- 把浏览器/系统代理指向
127.0.0.1:8083,随便访问一个网站,History 列表里应该出现对应请求 - 切到"手动劫持"模式再刷一次页面,请求会被阻塞并停在待处理状态,可以点开查看、编辑请求头,甚至修改后放行
这一步通了,说明引擎、gRPC 通道、代理转发整条链路都是健康的,后面所有模块都可以放心使用。
按功能模块带读三大核心
MITM 劫持的底层逻辑:引擎启动一个 HTTP 代理自动转发流量;开启手动劫持后停止自动转发,把请求出栈,做解 Gzip、处理 chunk、解码等处理,让报文变成人类可读的形态展示出来;重放时引擎还会修复你手工编辑过的报文,保证 HTTP 有效性。插件镜像 HOOK(如hilackRequest)则让 Yak 脚本能挂在拦截点上做二次处理。
Web Fuzzer 重放与爆破:界面上直接写 HTTP 原文,把想测的参数写成 Fuzz 标签——单参数爆破用{{int(1-10)}},多参数场景自动按笛卡尔积展开,比传统工具"选爆破方式 → 建目录 → 导字典"的路径短得多;需要外部字典时写{{file(/tmp/user.txt)}},要动态生成数据(比如某地区身份证号)还能插入 Yak 脚本热加载标签现场算。
爆破路径对比:传统方式要在 Intruder、Host 碰撞、路径爆破之间来回切换,Yakit 用 Fuzz 标签 + 热加载标签把这几件事合并成一条操作线。
反连与协议复用:传统利用要为每种回连协议各起一个监听端口,Yakit 基于端口协议复用技术只监听一个端口,手工识别 LDAP、RMI、HTTP、ICMP、DNS 等协议头后返回对应 Payload,还能通过 DNS/ICMP 隧道传数据,用于绕过不出网环境。
装不上、跑不动时的排查清单
| 症状 | 大概率原因 | 处理方式 |
|---|---|---|
| Electron 下载慢/失败 | 走了海外源 | 终端里先执行镜像脚本再重装(见下方代码块) |
| M 芯片编译原生依赖失败 | 缺系统级依赖 | brew install pkg-config pixman cairo pango后yarn cli install |
| 窗口白屏 / ERR_CONNECTION_REFUSED | 渲染端没编译完就起了 Electron | 用curl确认 3000/5173 都返回含<script的页面后再起主进程 |
| 报"模块找不到"之类的错 | git pull后没重装依赖 | 先yarn check-deps,按提示yarn cli install |
| 端口被占用 | 残留的 vite / electron 进程 | lsof -i :3000/lsof -i :5173找到并结束进程 |
国内网络环境下,Electron 镜像和 M 芯片依赖这两项基本覆盖 80% 的"装不上"场景:
# macOS 示例(Linux: set-electron-mirror-linux.sh,Windows 有 .ps1/.cmd 对应脚本) source scripts/set-electron-mirror-macos.sh brew install pkg-config pixman cairo pango # 仅 Apple Silicon 需要 yarn cli install打包分发:从开发到可安装的产物
本地验证没问题后,先构建两个渲染端的静态产物,再交给 electron-builder 打安装包:
yarn cli build -v yakit yarn cli pack -s mac -v yakit # -s 可选 win / mac / linux / mwl(三系统)pack还有--sign(macOS 签名/公证)、--legacy(旧版兼容包)等参数,细节看 CLI 命令一览;打包脚本与构建钩子位于packageScript/与buildHooks/目录,想定制安装包可以顺着看。
下一步学什么
- README:MITM、Fuzztag、反连各模块的原理细节与官方能力全景
- AGENTS.md:项目结构、多版本变体(yakitEE / irify / memfit 等)与本地引擎端口对照表
- cli/README.md:install / start / build / pack 全部参数与新旧命令迁移对照
e2e/与scripts/engine-startup/:想看真实引擎的端到端验证流程,这里有一整套 mitm 性能矩阵与引擎启动 fixture 可以读源码学习
安全提醒一句:所有测试只针对你拥有授权的环境,先搭好靶机再开测,这是使用任何渗透测试平台的前提。
【免费下载链接】yakitCyber Security ALL-IN-ONE Platform项目地址: https://gitcode.com/GitHub_Trending/ya/yakit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考