使用iptables的 IP 转发绕过 SSL Pinning

admin 2024年8月5日22:44:10评论35 views字数 1810阅读6分2秒阅读模式

扫码领资料

获网安教程

使用iptables的 IP 转发绕过 SSL Pinning

使用iptables的 IP 转发绕过 SSL Pinning

前言

在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)

使用iptables的 IP 转发绕过 SSL Pinning

Oracle VirtualBox Manager 中的 Google Pixel

使用iptables的 IP 转发绕过 SSL Pinning

适配器 1 配置(默认)

使用iptables的 IP 转发绕过 SSL Pinning

适配器 2 配置(从 NAT 更改为仅主机)

如果您在 Android 虚拟盒机器中找不到适配器 2,只需进入虚拟盒文件 -> 主机网络管理器。然后在网络窗口上,选择创建以创建一个新的适配器,并且不要忘记启用 DHCP。

使用iptables的 IP 转发绕过 SSL Pinning

Android virtual box中的网络适配器配置

3.在 Genymotion 中启动你的 Android 模拟器

4.导出burp证书并将其作为受信任的证书安装在android系统中。(网上有很多这方面的教程)。

5.下一步是配置我们将使用哪个端口来拦截从 android 设备到我们的 burp 代理的连接。我通常使用 8081 端口进行移动连接。因此,在 burp 代理中打开“代理”选项卡 ->“选项”->“代理侦听器”->“添加”

使用iptables的 IP 转发绕过 SSL Pinning

端口绑定到 8081 和所有接口

使用iptables的 IP 转发绕过 SSL Pinning

选中支持隐形代理复选框

6.现在,转到你的 kali,并使用 ifconfig -a 命令查看所有接口的 IP 地址,确保有 2 个带有 vboxnet 的适配器名称。

使用iptables的 IP 转发绕过 SSL Pinning

wlan0是连接互联网的适配器,vboxnet0和vboxnet1是来自android模拟器设备的适配器。

7.让我们配置我们的Android网络

将 Wifi 配置更改为静态 IP 地址我使用了 192.168.57.2,默认网关和 DNS 已自动设置。(查看 vboxnet1 中的 IP 地址)

使用iptables的 IP 转发绕过 SSL Pinning

选择“保存”按钮,然后像往常一样重新启动你的 android 虚拟机,然后再进行下一步。

8.现在是有趣的部分。我们将在 Kali Linux 机器中配置 IP 转发规则。

在 kali Linux 中打开终端,并使用命令将 IP 转发设置为 1(true)(需要 root 权限):

echo 1 > /proc/sys/net/ipv4/ip_forward

使用iptables的 IP 转发绕过 SSL Pinning

将 IP 转发设置为 True

9.退出root用户,执行以下命令设置80和443端口连接的IP表

sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADEsudo iptables -t nat -A PREROUTING -p tcp -i vboxnet1 — dport 80 -j REDIRECT — to-port 8081sudo iptables -t nat -A PREROUTING -p tcp -i vboxnet1 — dport 443 -j REDIRECT — to-port 8081您可以将 wlan0 更改为 eth0(用于互联网连接的设备)

现在,您可以检查从您的 Android 到您的 burp 代理的 HTTPS 流量是否被拦截。

使用iptables的 IP 转发绕过 SSL Pinning

所有 http/https 均被拦截

最后,希望这个技巧可以成为你绕过 SSL Pinning 问题的另一种方法。

以上内容由白帽子左一翻译并整理。
原文:https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。

原文始发于微信公众号(白帽子左一):使用iptables的 IP 转发绕过 SSL Pinning

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月5日22:44:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   使用iptables的 IP 转发绕过 SSL Pinninghttps://cn-sec.com/archives/3037359.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息