我想渗透测试一个移动应用程序。为此,我想拦截所有 WiFi 流量并将其转发给在 VM 中运行的 Burp。
我在我的 Macbook 上启用了“互联网共享”,所以我的手机现在使用 WiFi 连接到笔记本电脑。然后我想将所有流量转发到 Burp 代理,它位于 172.16.122.128:8080。
重定向到本地主机工作:
rdr pass on bridge100 inet proto tcp from any to any port {80,443} -> 127.0.0.1 port 8080
我将此规则放在一个文件中并使用pfctl -f pf.rules
. 之后,我在端口 8080 上列出了使用nc -l -p 8080
,当我在手机上浏览某个地方时,它确实连接到了 localhost。
但是,当我尝试转发到 172.16.122.128 时,它不起作用:
rdr pass on bridge100 inet proto tcp from any to any port {80,443} -> 172.16.122.128 port 8080
数据包最终会进入 VM(使用 Wireshark 测试),但没有建立连接。这可能是因为它们源自 192.168.2.3。我需要在某个地方进行 NAT 吗?如何正确配置它?