有的app我们挂上代理后,发现抓不了包,甚至app也卡住不动,可能是app设置了ssl证书
项目地址:
https://github.com/Fuzion24/JustTrustMe/
(需要一个root过了的手机,提前装好xpose框架
首先adb调试连接你的手机
然后给你的手机安装JustTrustMe.apk
然后把框架需要的东西都装上。
没激活的话重启激活
安装/更新那里要更新
然后点击左上角
信任JustTrustMe
然后重启或者软重启都可以
有的app我们挂上代理后,发现抓不了包,甚至app也卡住不动,可能是app设置了ssl证书项目地址:https://github.com/Fuzion24/JustTrustMe/(需要一个root过了的手机,提前装好xpose框架,然后把框架需要的东西都装上。首先adb调试连接你的手机然后给你的手机安装JustTrustMe.apk就可以了...
关于
App
抓包你需要知道的这些事
文章目录关于
App
抓包你需要知道的这些事前言1 抓包工具的选择2 常见问题解决2.1
App
正常运行,但是抓包工具中没有对应的请求记录2.1.1 UDP协议进行网络通信2.1.2 无代理模式2.2
App
正常运行,但是抓包工具中对应的请求记录标记为失败2.3
App
不能正常运行,报请求失败或网络错误2.3.1 单向认证(
SSL
pinning
)2.3.2 双向认证3 总结
本文主要用于介绍我们在常规
App
抓包过程中遇到的各种问题以及解决方案
1 抓包工具的选择
在此之前,移动端应用程序会直接忽略掉所有的
SSL
错误,并允许攻击者拦截和修改自己的通信流量。但是现在,很多热门应用程序至少会检查证书链是否是一个有效可信任的证书机构(CA)颁发的。
作为一名渗透测试人员来说,我们常常需要让目标应用程序信任我们的证书是有效的,这样我们就可以进行中间人攻击(MITM)并修改其流量了。在这篇文章中,我们将给大家介绍四种
绕过
Android
SSL
验证的方式。
安卓安全测试中,其中一个维度测试就是服务端业务逻辑安全性测试,主要通过抓包实现。
其实说白了就是中间人攻击,装着要测试
APP
的安卓手机发包给我们电脑的burpsuite,我们可以使用bp截包改包的内容,再发给服务端,服务端收到请求后响应,把返回包发给电脑的bp,bp最后发给我们手机上的
app
。
随着移动端安全逐渐加强,现在越来越多的
app
已经无法抓到包,或者提示网络相关错误。其实根本原因在于客户端发包时对于服务端的
ssl
证书进行了校验。
二、客户端证书处理逻辑分类
客户端关于证书的处理逻辑,按照安
现在测试过程中有没有感觉遇到能直接抓包的
APP
,简直要拜菩萨,经常测试
APP
的心路历程是,欸,我的证书怎么又出问题了,重新导证书后,欸,怎么还是抓不到MMP…。
为什么
http
s的网站使用伪证书可以抓到,而在
app
里面同样的方法就抓不到?
浏览器允许用户忽略证书告警;
浏览器允许用户导入证书到证书信任区,从而伪造证书;
也就是我们常用的burpsuite导证书操作,所以网站可以利用这种方式...
从Apkmirror下载Instagram APK(版本必须等于*)
选择您的架构并按照说明进行操作
替换/data/data/com.instagram.
android
/lib/ libliger.so文件
非根方法:
从设备上卸载Instagram应用
下载并安装适合您的体系结构的修改的apk
修改过的APK
35.0.0.20.96
35.0.0.20.96
什么是
SSL
pinning
http
s协议验证服务器身份的方式通常有三种,一是根据浏览器或者说操作系统(
Android
)自带的证书链;二是使用自签名证书;三是自签名证书加上
SSL
Pinning
特性。第一种需要到知名证书机构购买证书,需要一定预算。第二种多见于内网使用。第三种在是安全性最高的,但是需要浏览器插件或客户端使用了
SSL
Pinning
特性。
Android
应用程序在使用
http
s
什么是
SSL
Pinning
?
SSL
Pinning
是一种防止中间人攻击(MITM)的技术,主要机制是在客户端发起请求–>收到服务器发来的证书进行校验,如果收到的证书不被客户端信任,就直接断开连接不继续求情。
所以在遇到对关键请求开启
SSL
Pinning
的
APP
时,我们抓包就只能看到
APP
上提示无法连接网络或者请求失败之类的提示;而在抓包工具上面,要么就只能看到一排 CONNECT 请求,...
一般需要抓取
http
s的数据包,只需要电脑安装抓包工具例如fiddler、charles 。然后手机上配置代理,保证手机跟电脑在同一网络下,然后手机安装抓包工具的证书,基本都可以抓到
http
s的数据包。(安卓版本控制在6.0想下兼容,高于6.0就无法抓到
http
s的包,因为google在
Android
N (24)和其之上的一个安全行为变更,系统默认不再信任用户
app
或者系统自定义添加的证书)。
当你把这些需要的环境都准备好以后,发现新版某音apk用了
SSL
Pinning
,
又当你写完frida脚
SO层修改
SSL
pinning
是指在操作系统的系统调用层面对
SSL
pinning
进行修改。
SSL
pinning
是一种安全机制,用于保护网络通信的安全性。
在SO层修改
SSL
pinning
可以通过修改系统库或者Hook相关API来实现。一种常见的方法是通过Hook函数来修改
SSL
pinning
的检查逻辑,
绕过
证书校验,从而
绕过
SSL
pinning
的保护。
具体实现的步骤如下:
1. 定位到
SSL
pinning
相关的检查函数,常见的包括
SSL
_CTX_set_verify、
SSL
_get_verify_result等函数。
2. 使用Hook技术,在函数调用之前或之后注入自定义的代码逻辑。
3. 在Hook的代码逻辑中,可以修改函数的返回值或者控制流程,
绕过
SSL
pinning
的检查,实现信任任意证书。
4. 重新编译并替换系统库,或者使用LD_PRELOAD等机制加载修改后的共享库。
需要注意的是,修改
SSL
pinning
可能会导致网络通信的不安全性,可能会使应用程序容易受到中间人攻击。因此,修改
SSL
pinning
应该谨慎并且仅在合法的测试环境中使用。
总结来说,SO层修改
SSL
pinning
是一种通过在系统调用层面修改相关API的实现方式,来
绕过
SSL
pinning
保护。但需要注意潜在的安全风险,并在合适的场景下使用。