ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

移动安全:多方法实现Android导入系统证书并用Burp抓包

2021-04-01 16:31:49  阅读:223  来源: 互联网

标签:证书 system adb Burp Android root security 抓包


文章目录


0x0需求

一般来说在Android7以上的系统版本,系统会严格的区分系统证书和用户证书,而一些安全性较好的apk会禁止在Android7以下的系统版本运行,这就对安全测试的同学们产生了一定障碍。本文会图文介绍在Android7以上导入系统证书实现抓包

以下是本篇文章正文内容

1x0 环境准备

1)已root的Android设备
2)adb
3)burpsuite

2x0 导入系统证书

将Burp证书设置为Android手机的系统证书一般来说中有两种方法,但是这里需要注意,第一种方法适合Android模拟器用户,而第二种adb方法比较通用,推荐用第二种方法

2x1 方法一:Android访问代理

1)Android挂Burp代理,访问http://burp下载证书,此时,Burp的证书会下载到sdcard/Download/目录中,这个目录是手机浏览器的默认下载目录。
在这里插入图片描述

2)使用adb将下载下来的证书push到存有系统证书的目录,详细命令如下:

adb shell
su
mv /sdcard/Download/<cert>.0 /system/etc/security/cacerts/
cd /system/etc/security/cacerts/
chmod 644 <cert>.0
chgrp root <cert>.0

2x2 方法二:adb推入证书

1)打开Proxy下的Options标签行,按照如下所示导出证书
在这里插入图片描述
2)更改证书格式:
使用openssl的x509指令进行cer证书转pem证书 和 用md5方式显示pem证书的hash值

  1. 证书转换
openssl x509 -inform DER -in cert.cer -out cacert.pem 
  1. 进行MD5的hash显示
openssl x509 -inform PEM -subject_hash_old -in cacert.pem	
  1. 将pem证书重命名
    使用上面复制的值(类似于9a5ba575)对pem证书进行重命名,为9a5ba575.0 (其中0为序号,用于区分hash重复的证书)

3)把证书push到用户目录中去

(1)User(root后)版本需要先把证书导入到用户目录中,再进入超级管理用户,把这个证书导入到系统证书目录。
在这里插入图片描述

输入如下命令

adb shell
su
#挂载system分区,可写一般情况/system分区是只读的,需要挂载为读写。
mount -o rw,remount /system

mv /sdcard/Download/<cert>.0 /system/etc/security/cacerts/
cd /system/etc/security/cacerts/
chmod 644 <cert>.0
chgrp root <cert>.0

(2)Userdebug版本(完全root的开发版本)用户不用有User版本的中转操作,直接adb超级权限就可以导入证书,一般来说各大windows平台的Android模拟器都是Userdebug版本的,具体命令如下:

# 每次开机需要输入一次
adb root
# 每个设备只需输入一次
adb disable-verity
# 每次开机需要输入一次
adb remount

adb push <cert>.0 /system/etc/security/cacerts/
adb shell chmod 644 /system/etc/security/cacerts/<cert>.0
adb shell chgrp root /system/etc/security/cacerts/<cert>.0

3x0 抓包测试

在Android设备上已经可以抓取成功抓取加密数据包。
在这里插入图片描述

总结

中间是遇到一些坑的,以前在Android模拟器上是不需要用Openssl转换证书格式的,但是在真机测试时出现了问题,发现.der证书不太能用,踩了些坑。

标签:证书,system,adb,Burp,Android,root,security,抓包
来源: https://blog.csdn.net/weixin_37389787/article/details/115368891

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有