扫码领资料
获网安教程
前言
在APP安全测试过程中,可能会出现配置了代理但是抓不到的包的情况,这有可能是app进行了一些安全校验而做了一些防护,接下来我们来看看如何利用iptables的 IP 转发功能来绕过app的SSL Pinning 从而实现APP抓包。
正文
在使用常用工具绕过APP的 SSL Pinning后,我测试的应用程序并不会显示我试图捕获的一些 HTTPS 流量。
我像往常一样使用 Frida,除了经过测试外,它对其他应用程序运行良好。
因此,我的团队决定使用 kali 中的 IP 转发功能配置透明代理。我对结果感到惊讶,因为它没有向应用程序中注入任何脚本,所以它运行顺畅。
如果您想尝试,下面我们在移动应用程序中如何绕过 SSL Pinning 的过程。
1.在 genymotion(安卓模拟器应用程序) 中创建 Android 模拟器,我使用 Google Pixel (8.0 API 26) 作为我的 Android 虚拟设备
2.打开virtual box,机器列表中列出了安卓 Google Pixel。并选择“设置”选项卡,将适配器 1 和适配器 2 配置为仅主机适配器。请确保名称不同(适配器 1 为 vboxnet0,适配器 2 为 vboxnet1)
如果您在 Android 虚拟盒机器中找不到适配器 2,只需进入虚拟盒文件 -> 主机网络管理器。然后在网络窗口上,选择创建以创建一个新的适配器,并且不要忘记启用 DHCP。
3.在 Genymotion 中启动你的 Android 模拟器
4.导出burp证书并将其作为受信任的证书安装在android系统中。(网上有很多这方面的教程)。
5.下一步是配置我们将使用哪个端口来拦截从 android 设备到我们的 burp 代理的连接。我通常使用 8081 端口进行移动连接。因此,在 burp 代理中打开“代理”选项卡 ->“选项”->“代理侦听器”->“添加”
6.现在,转到你的 kali,并使用 ifconfig -a 命令查看所有接口的 IP 地址,确保有 2 个带有 vboxnet 的适配器名称。
7.让我们配置我们的Android网络
将 Wifi 配置更改为静态 IP 地址我使用了 192.168.57.2,默认网关和 DNS 已自动设置。(查看 vboxnet1 中的 IP 地址)
8.现在是有趣的部分。我们将在 Kali Linux 机器中配置 IP 转发规则。
在 kali Linux 中打开终端,并使用命令将 IP 转发设置为 1(true)(需要 root 权限):
echo 1 > /proc/sys/net/ipv4/ip_forward
9.退出root用户,执行以下命令设置80和443端口连接的IP表
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -t nat -A PREROUTING -p tcp -i vboxnet1 — dport 80 -j REDIRECT — to-port 8081
sudo iptables -t nat -A PREROUTING -p tcp -i vboxnet1 — dport 443 -j REDIRECT — to-port 8081
wlan0 更改为 eth0(用于互联网连接的设备)
现在,您可以检查从您的 Android 到您的 burp 代理的 HTTPS 流量是否被拦截。
最后,希望这个技巧可以成为你绕过 SSL Pinning 问题的另一种方法。
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。
原文始发于微信公众号(白帽子左一):使用iptables的 IP 转发绕过 SSL Pinning
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论