不装证书也能看HTTPS明文?eCapture使用说明来了

admin 2025-12-30 01:29:17 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了基于eBPF的安全审计工具eCapture,它无需CA证书或中间人攻击,即可通过内核级Hook直接在应用进程内捕获SSL/TLS明文数据。该工具支持OpenSSL、GoTLS等多种库及HTTP/2/3协议,还能审计Bash命令和SQL语句。适用于红队测试、CTF、安全研究及运维审计等合法场景,是学习TLS协议和流量分析的高效利器。 综合评分: 98 文章分类: 安全工具,红队,CTF,内网渗透,WEB安全


cover_image

不装证书也能看 HTTPS 明文?eCapture 使用说明来了

云梦DC

云梦安全

2025年12月29日 08:51 河南

在安全测试、红队攻防、溯源分析中,我们经常会遇到一个老问题:

HTTPS 全加密了,没证书、没私钥,怎么抓明文?

今天要介绍的这个工具,eCapture(旁观者),给了一个完全不同的答案。

不劫持流量、不伪造证书、不做中间人,而是直接在应用进程内部,把加密前/解密后的数据“旁观”出来。

而且—— eBPF 实现,几乎零侵入。


一、eCapture 是什么?

eCapture(旁观者) 是一个基于 eBPF 的安全审计工具,核心能力只有一句话:

在不需要 CA 证书的情况下,直接捕获 SSL/TLS 明文数据

核心特点

  • 🚫 不需要 CA / 不需要 MITM

  • 🔐 支持主流 TLS 库

  • OpenSSL / LibreSSL / BoringSSL

  • GnuTLS / NSS(NSPR)

  • Go TLS(Golang 程序)

  • 🧠 eBPF 内核级 Hook,直接拦截加密前数据

  • 📦 支持 HTTP/1.1、HTTP/2、HTTP/3(QUIC)

  • 🧰 不只是 TLS,还能:

  • 审计 Bash / Zsh 命令

  • 捕获 MySQL / PostgreSQL SQL 语句


二、使用前你需要知道的限制

在兴奋之前,先把条件说清楚 👇

✅ 支持环境

  • Linux / Android
  • x86_64(内核 ≥ 4.18)
  • ARM64(内核 ≥ 5.5)
  • 需要 root 权限

❌ 不支持

  • Windows
  • macOS
  • 无法抓“已经被再次加密”的数据(比如应用层二次加密)

三、快速上手(3 分钟跑起来)

方式一:直接使用 ELF 二进制(推荐)

1️⃣ 下载 Release 中的 ELF 包 2️⃣ 解压后直接运行:

sudo ecapture --help

如果能看到帮助信息,说明环境 OK。


方式二:Docker 运行(Linux)

docker pull gojue/ecapture:latest

docker run --rm --privileged=true --net=host \
  -v ${HOST_PATH}:${CONTAINER_PATH} \
  gojue/ecapture ARGS

⚠️ 注意:必须 privileged + host 网络


四、最常用场景:抓 HTTPS 明文

1️⃣ 文本模式(直接看明文)

这是最直观、最暴力的方式👇

sudo ecapture tls -m text

你会看到类似这样的输出:

  • HTTP/2 请求头
  • 请求路径
  • 响应状态码
  • 返回 HTML / JSON 内容

📌 适合:

  • 快速分析 API
  • 演示 TLS 明文捕获原理
  • 教学 / CTF 场景

2️⃣ Pcap 模式(配合 Wireshark)

如果你习惯 Wireshark,这个模式非常舒服。

sudo ecapture tls -m pcapng -i eth0 --pcapfile=ecapture.pcapng

然后:

  • 用 Wireshark 打开 ecapture.pcapng
  • 直接看到已解密的 HTTPS 流量
  • HTTP/2 Header、Body 一清二楚

📌 适合:

  • 深度协议分析
  • 长时间抓包
  • 审计/取证场景

3️⃣ Keylog 模式(专业玩法)

sudo ecapture tls -m keylog --keylogfile=openssl_keylog.log

然后在 Wireshark 中设置:

tls.keylog_file = openssl_keylog.log

这样可以 解密你自己抓到的 tcpdump 流量

📌 适合:

  • 联动 tcpdump
  • 复杂网络环境
  • 自动化分析

五、Golang 程序 HTTPS 怎么抓?

这正是 eCapture 的杀手级能力之一

GoTLS 模块

sudo ecapture gotls --elfpath=/path/to/go_binary

然后运行你的 Go HTTPS 程序:

./go_https_client

⚠️ 无需改代码、无需重新编译

📌 适合:

  • 微服务审计
  • 云原生环境
  • CTF 中的 Go 服务题

六、不止 TLS:这些模块也很实用

| 模块 | 功能 | | — | — | | bash | 捕获 Bash 执行命令 | | zsh | 捕获 Zsh 执行命令 | | mysqld | 捕获 MySQL SQL 查询 | | postgres | 捕获 PostgreSQL SQL | | nss | Firefox / NSS 加密流量 | | gnutls | GnuTLS 程序 |

👉 对 主机安全审计 / 内部溯源 非常有价值。


七、图形化界面:eCaptureQ

如果你不想一直盯终端:

eCaptureQ GUI

  • Rust + Tauri + React

  • 实时展示捕获事件

  • 支持:

  • 本地 Linux/Android

  • Windows/macOS 远程连接

📌 非常适合 教学演示 / 安全展示 / 团队协作


八、eCapture 能用来干什么?

合法前提下,它非常适合:

✅ CTF 出题 / 解题 ✅ 红队内网流量分析 ✅ 安全研究 / 教学 ✅ TLS 协议学习 ✅ 运维审计 / 数据溯源

🚫 禁止非法监听、侵犯隐私


九、一句话总结

eCapture 不是在“破 TLS”, 而是在你自己的系统里,“旁观”数据诞生的那一刻。

如果你对 eBPF、安全审计、TLS 明文捕获感兴趣, 这是一个绕不开的工具

github:https://github.com/gojue/ecapture/releases


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:云梦安全 云梦DC《不装证书也能看 HTTPS 明文?eCapture 使用说明来了》

评论:0   参与:  0