BurpSuite:安装根目录证书解决安卓7.0以上抓不到包的情况

抓包原理(中间人攻击)

目前有很多客户端与服务端通信都采用HTTPS协议,其安全传输协议为SSL/TLS ,用来加密通信数据,防止被篡改。而中间人攻击,通过在客户端和服务端之间建立一个代理服务器,分别对两端传输的数据进行加解密,从而获取数据。而问题的关键点在于,建立的代理服务器需要被两端信任,才能进行连接。

自签名证书

由于 HTTPS 通信中使用的证书是由受信任的第三方机构颁发的,如果使用自签名证书则会出现证书不受信任的问题。在安卓7.0版本以上,安装的BurpSuite自签名证书都会安装在用户证书中,因此默认情况下,使用 BurpSuite 进行 HTTPS 抓包时,客户端会提示证书不受信任的错误。

为了解决证书不受信任的问题,BurpSuite 提供了一种将自签名证书安装到手机系统根目录的方法,从而使得手机系统信任 BurpSuite 的自签名证书。这样,在手机使用 BurpSuite 代理时,HTTPS 流量会被 Fiddler 拦截并使用安装的证书进行解密,从而实现 HTTPS 抓包。

教程步骤

前提条件:

  • Android版本 > 7.0 (小于7的直接在手机上安装即可)
  • Root

一、下载BurpSuite证书到电脑上

  1. 打开BurpSuite,找到当前电脑的IP,如“192.168.1.18”。
  2. 打开浏览器,输入“192.168.1.18:8888”。(“8888”端口号是默认端口号)
  3. 点击CA Certificate下载证书,cacert.der。

二、修改证书格式,安卓常用pem格式的证书

Linux、Mac系统自带openssl,执行以下openssl命令,将cer格式转为pem

openssl x509 -inform DER -in cacert.der -out cacert.pem

三、修改证书名称为哈希值.0

生成一个类似9a5ba575.0的文件。

mv cacert.pem `openssl x509 -inform PEM -subject_hash_old -in cacert.pem |head -1`'.0'

 

四、将证书导入到手机,完成!

注意为root权限!

adb shell

su
mount -o rw,remount /system
adb push "你的9a5ba575.0的文件地址" /system/etc/security/cacerts
chmod 644 9a5ba575.0

 

除非注明,否则均为呆小猴博客原创文章,转载必须以链接形式标明本文链接!付费资源为虚拟物品,一经出售,概不退款!
呆小猴 » BurpSuite:安装根目录证书解决安卓7.0以上抓不到包的情况

发表回复

呆小猴 · 专注安全学习与分享

关于作者 联系作者