安卓渗透第二弹-绕过单双向证书抓包

科技   2024-10-29 13:22   江苏  

0x01 前言

接上篇文章的环境配置,现在app都会使用SSL证书,分为单向、双向,大概意思是

单向证书:服务器认证,客户端不需要证书。双向证书:服务器和客户端相互认证。

如果我们针对这些目标,直接抓包的话,由于没有证书的缘故,会导致抓不到包,本文会讲解使用LSPosed以及frida的hook脚本来绕过单双向证书验证。

0x02 正文

将压缩包中的代理工具导入模拟器

IP使用本机ip,抓包工具一样,yakit或者bp都行

点击保存,点击左侧的抽屉,打开配置规则

选择:通过代理连接,代理组就使用刚才命名的代理名称即可,

导出Ykit SSL证书,然后共享到模拟器中,后缀改为crt,把后面的pem删了就行。

然后导入证书,操作流程如下:

设置-->网络和互联网-->互联网-->网络偏好设置-->安装证书

安装完成之后,在浏览器试一下,正常应该是这种

我们如果挂上代理,直接抓包的话,随便打开一个app,都会提示服务器或者网络错误

绕过单向证书校验

将下面的apk拖入模拟器中,然后可以在LSPosed中看到这个模块

启用模块,并添加需要测试的APP,在后面勾选上即可。   

添加完之后,重启模拟器,挂上代理,在尝试抓包

效果如下:

这个模块只支持单向证书绕过,app为双向证书验证的话,还是不行,如下:

因为该app使用了双向证书验证,这时候需要使用frida的hook脚本。

将压缩包中的FridaScripts-main.zip,里面有一个SSLUnpinning.js,首先需要启动服务端的frida,然后启动转发, 在本地hook,有两种方案,

第一种是Spawn模式(自启动目标应用,相当于以调试模式启动APK)

第二种是attach模式(附加的形式对目标应用进行Hook)

第一种方案:

首先需要找到这个app的包名,在LSPosed中可以看到,或者使用压缩包中打包的软件

选择目标,点击反编译,点击APK信息,可以看到应用包名

找到包名后,使用下面命令运行

frida -U  -l .\SSLUnpinning.js -f 包名 --no-pause

效果如下:

第二种方案:

自己在模拟器中手动运行需要hook的app,然后使用frida-ps -U来查看连接,找到对应的PID后,使用下面的命令

frida -U -l .\SSLUnpinning.js PID--no-pause

效果如下:

这里推荐使用第二种,第一种有一些app可能会检测frida的特征,使用附加的方式,会好一些。

0x03 文末

实习/校招/社招



长期持续内推长亭、360、绿盟等安全大厂,已累计内推2000+人
长亭科技25校招投递链接:https://join.chaitin.cn/campus 
内推码:NTAWkpg
或微信扫码投递

25校招持续内推中~~~明年毕业的同学欢迎加我,1对1简历辅导,全程跟踪内推情况

安全服务工程师、安全攻防工程师、安全研发工程师、前后端开发工程师、测试工程师等等,所有岗位均可内推




内推|长亭科技2024届秋招开启,附内推码~


你能拿她学校的shell,但永远拿不了她的shell


渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机


渗透实战|NPS反制之绕过登陆验证


渗透实战|记一次曲折的EDU通杀漏洞挖掘


渗透实战|记一次RCE+heapdump信息泄露引发的血案


免责声明
由于传播、利用本公众号藏剑安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号藏剑安全及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

藏剑安全
知识面决定攻击面
 最新文章