我的工作包括进行 MITM 分析,由于客户端无法始终了解代理,因此我采用了透明代理设置。
更详细地说,我拿了一台旧笔记本电脑和 wifi 调制解调器,将其置于桥接模式,安装了 debian 9,并通过无线接口连接到我的主要网络/WAN。桥接模式下的 wifi 调制解调器连接到以太网接口,该接口充当客户端的网关,我将所有流量从它转发到无线接口。
该路由器还使用 bind9 处理 DNS。
它看起来像这样:
Client (10.0.0.12) - > eth0 (10.0.0.1) - > wlan0 (192.168.178.40) - > WAN (192.168.178.1)
| |
| DEBIAN BASED ROUTER |
|__________________________________________|
当用作透明代理时,我使用以下 iptable 规则将流量重定向到端口 8888 上的侦听器:
iptables -t nat -A PREROUTING -i enp4s0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i enp4s0 -p tcp --dport 443 -j REDIRECT --to-port 8080
看起来像这样:
-> MITM LISTENER (:8888) ->
| |
port 80, 443 |
| |
Client (10.0.0.12) - > eth0 (10.0.0.1) - > wlan0 (192.168.178.40) - > WAN (192.168.178.1)
| |
| DEBIAN BASED ROUTER |
|__________________________________________|
好的,形象化地说,我正在寻找一种通过 VPN 而不是通过我自己的公共 IP 连接到互联网的方法,同时仍然能够执行 MITM。
我正在研究 OpenVPN,但总体上不确定如何配置此设置。