有一种方法可以制作读取加密流量(SSL / TLS)内容的通用解决方案。
带有sslsplit 的老式 MiTM 设置将为您完成所有肮脏的工作。
您可以完全控制 DUT(被测设备),因此您可以随时将假根 CA 证书添加到您的系统中,以便 sslsplit 即时生成假证书。
这确实是通用解决方案,允许拦截任意平台的 DUT 流量 - Windows、iOS、MacOS、Linux、Android。
我在云中使用小型 VPS 来制作具有 MiTM 功能的流氓 VPN 服务器(即在其上运行 sslsplit)。
要拦截(和解密)DUT 的流量,您只需激活与特定 MiTM 服务器的 VPN 连接。
当然,您可以在办公室/家中使用虚拟机,而不是基于云的 VPS。由于灵活性,我选择了云 VPS - 即当我在实验室环境之外时,我可以随时随地记录 Android 的流量。
有很多关于如何配置 VPN 服务器和 sslsplit 的教程。
很可能有现成的 docker 或 vagrant 镜像来设置这样的拦截服务器。
这是一个例子:https://github.com/praetorian-code/mitm-vm
这是我当前服务器中相关部分的复制粘贴:
ufw allow 10443
ufw allow 10080
iptables -t nat -A PREROUTING -i tun0 \
-p tcp --dport 443 -j REDIRECT --to-port 10443
iptables -t nat -A PREROUTING -i tun0 \
-p tcp --dport 80 -j REDIRECT --to-port 10080
sslsplit -D \
-l /root/mitm/logs/connections`date +%Y-%m-%d_%H-%M`.log \
-S /root/mitm/recorded/ \
-L /root/mitm/logs/log`date +%Y-%m-%d_%H-%M`.bin \
-F /root/mitm/recorded/%T_%d.raw \
-k /root/mitm/ca.key \
-c /root/mitm/ca.crt \
https 0.0.0.0 10443 \
http 0.0.0.0 10080 \
> /root/mitm/logs/`date +%Y-%m-%d_%H-%M`.log2 2>&1
新年快乐,黑客快乐! :-)