MITM_Toolkit:基于 mitmproxy 的网络流量与 TLS 审计平台

发布时间:2026/8/20 14:12:17
MITM_Toolkit:基于 mitmproxy 的网络流量与 TLS 审计平台 目录1. 整体定位2. 架构3. 两层拦截模型4. 审计 AP4.1 配置4.2 设备管理5. 4G/5G 蜂窝6. 实时流量7. TLS 审计7.1 被动证书校验矩阵7.2 主动 TLS 探测8. 隐私发现9. 改包主动模式10. 安全设计11. 当前状态最近做移动 App 和车机 TCU 安全审计时需要长时间对设备流量做 TLS 姿态分析和隐私数据扫描手动起 mitmproxy hostapd 太繁琐于是包了一个浏览器驱动的审计平台 MITM_Toolkit备份下设计思路。1. 整体定位面向授权实验室场景下对移动 App、车机/TCU、嵌入式 Linux、IoT 网关的黑盒/白盒审计。作用域是 IP 及其之上HTTP/HTTPS、MQTT/CoAP 等不做链路层——链路层是另一个工具Wireless_Toolkit的事。两条接入链路审计 AP外置 USB 网卡建热点hostapd dnsmasq iptables设备连上即透明拦截不需在设备上设代理4G/5G 蜂窝对接 URSP_B210minisrsRAN Open5GS B210蜂窝实验网手机附着后在ogstun上拦截两条链路同一套两层拦截模型可以并存。2. 架构单 Python 进程、多线程mitmproxy 引擎独占一个线程asyncio 事件循环Flask/waitress 控制台在主线程进程内队列 SSE 通讯前端监听:50000。┌────────────────────── 单个 Python 进程 ──────────────────────┐ │ [主线程] Flask htmx Bootstrap(:50000) │ │ │ HTTP /api/* ▲ SSE /api/stream │ │ ▼ │ │ │ Store(SQLite内存) ←── SSE broker │ │ ▲ 起停 AP(sudo argv) ▲ upsert_flow/tls/finding │ │ apmanager ── audit-ap.sh(hostapd/dnsmasq/iptables/tcpdump) │ │ [mitmproxy 线程] asyncio loopDumpMaster AuditAddon │ │ transparent 监听:48081 ← iptables PREROUTING REDIRECT │ └──────────────────────────────────────────────────────────────┘启动./deploy.sh# 建 venv、装依赖、生成桌面快捷方式./start.sh# 启动打印访问地址# 浏览器打开 http://本机IP:50000状态总览首页3. 两层拦截模型层说明被动层AP/蜂窝网一起来即默认可见显示连接元数据对端、SNI、DNS、明文 HTTP host不需装 CA拦截层独立 4 个开关MITM 解密 / 拦截所有 TCP / 拒绝 QUIC(UDP443) / 全流量 PCAP任一勾选即可开始拦截层与「打开 AP」解耦——可以先被动抓元数据确认设备连上后再开解密。4. 审计 AP4.1 配置选外置 USB 网卡建热点设 SSID/密码/频段/信道/DHCP默认网段192.168.66.0/24。AP 运行后设备照常上网流量元数据被动可见。内置卡承载 SSH 和默认路由不能用来建 AP。起停时自检若目标接口是默认路由接口则拒绝操作绝不掐断上行。4.2 设备管理AP 运行后可看已连设备在线状态、JA3、流量、CA 已安装标记管理 PCAP 抓包文件列表/下载/删除运行日志分 hostapd / dnsmasq 实时查看。5. 4G/5G 蜂窝对接 URSP_B210mini 蜂窝实验网与审计 AP 同一套两层模型可并存。URSP 起网、手机附着后用户面流量在ogstun上被动可见要解密再对ogstun透明重定向进 mitmproxy与 AP 对称的 4 个开关。UE 列表按IMSI手动标「CA 已装」蜂窝 UE 网段10.45.x与 AP 的192.168.66.x一眼区分。6. 实时流量两层视图被动层看连接元数据拦截层看解密的请求/响应。可按 host/URL/方法/设备过滤一键隐藏广播/多播噪声只隐藏显示PCAP 照常录。点进单条流看请求/响应头和体JSON 自动美化、命中的隐私发现可复制为 curl 或导出该报文。7. TLS 审计7.1 被动证书校验矩阵对每条连接判定按设备「CA 已安装」标记着色设备反应判定接受我方证书CA 已安装预期未做证书固定未装 CA 却接受证书校验缺失真漏洞拒绝严格校验 / 可能证书固定明文无加密传输同时采集 JA3 指纹、TLS 版本/套件、上游证书。7.2 主动 TLS 探测客户端探测设备浏览器打开https://mitm.sec收到自签证书——报错 校验正常无警告 未校验证书链真漏洞与是否装 CA 无关服务端探测sslscan 直连目标枚举协议版本、弱套件与证书8. 隐私发现解密内容实时按规则扫描内置 11 条规则PII手机号/身份证/银行卡凭据JWT/API Key/私钥设备标识MAC/IMEI/VIN。支持运行时自定义正则含 ReDoS 防护。可按「发现」平铺查看也可按「报文」折叠查看每个报文下列出命中的所有条目9. 改包主动模式主动模式下按 host 作用域改/删头、正文替换、改状态码。默认关闭需在本页显式切到主动模式才生效取证时保持只读。10. 安全设计# 所有子进程调用一律 argv 数组不经 shellsubprocess.Popen([hostapd,config_path],...)# 正确# subprocess.Popen(fhostapd {config_path}, shellTrue) # 绝不这样做参数写入captures/ap.paramsKEYVALUE脚本白名单解析不 source/eval文件下载/删除路径经白名单校验服务端探测目标经白名单 SSRF 兜底改动型请求带 Origin/Referer 跨域校验CSRF 兜底控制台默认不设登录鉴权信任局域网环境11. 当前状态持续迭代中。证据文件PCAP、导出、报告、CA在captures/与ca/均附 SHA-256 存证。导出格式JSON / HAR可导入 Burp/Chrome/ HTML 审计报告。