0.序章及其资源
在APP渗透的基础抓包配置中本文一共介绍了以下两种抓包方法:
1.wifi代理抓包
2.手机命令转发抓包
下面是本文一共用到的工具及其部分下载路径
- 雷电模拟器(https://www.ldmnq.com/)
- frida-server (https://github.com/Ylarod/Florida/releases/tag/16.6.7.0)
- adb
- MT管理器 (https://mt2.cn/)
- postern (https://www.malavida.com/en/soft/postern/android/download)
- 巨人账号管家
- burp suite
- kali虚拟机
本文使用雷电模拟器与burp suite进行演示
0.1 雷电模拟器基础配置
首先打开下载并安装好的雷电模拟器,并将其root权限打开
将 “MT管理器” , “Postern” , "巨人管家账号" 导入雷电模拟器中,以备不时之需
0.2 adb的配置
新建一个文件夹,将下载好的adb压缩包进行解压,
打开cmd
输入:
adb shell
如下图及成功
1. wifi 代理抓包
1.1 查看ip
打开cmd
输入: ipconfig
下图所示便是所要ip:10.115.93.6
1.2 配置雷电模拟器wifi代理
在雷电模拟器中打开设置,找到wifi并点击设置手动代理
按照自己的ip进行添加,端口要和下面的burp保持一致,这里选择8899端口
1.3 配置burp suite监听
打开burp suite的设置,添加新的代理监听器,ip及端口应与雷电模拟器所设置一致,同时打开支持隐形代理
随便打开个软件,例如安装好的巨人账号管家,查看burp的代理监听,如下图及成功抓包
1.4 burp证书问题(待解决)
如下图,雷电模拟器打开浏览器同样可以进行抓包,但是涉及到证书问题,由于雷电模拟器需要安装的是.cer,而直接下载的是.der证书,尝试更改后缀仍无效。
故使用kali中的openssl工具进行证书格式转换
首先打开burp suite,将证书进行下载,命名为cacert.der
此时桌面出现一个证书cacert.der
打开kali虚拟机,将cacert.der导入进虚拟机中
在桌面生成终端,输入以下命令将证书格式转换并重命名:
openssl x509 -inform DER -in cacert.der -out cacert.pem
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
重命名后的名字将如图所示生成的保留一位小数的
mv cacert.pem ./9a5ba575.0
此时kali中出现一个9a5ba575.0文本
将证书文本导入进主机的adb所在目录下
输入以下命令将证书文本传入雷电模拟器:
adb.exe push 9a5ba575.0 /sdcard/
此时/system仅只读权限,无法添加或更改
将雷电模拟器的系统盘设置为可写入
回到adb所在目录重新打开cmd,输入以下命令更改/system权限、传入证书文本并更改权限、重启雷电模拟器:
adb root
adb remount
adb shell
chmod 777 /system
cp /sdcard/9a5ba575.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/9a5ba575.0
reboot
重启雷电模拟器后在设置中搜索凭据找到上传的证书
重新浏览器抓包,未显示证书问题,成功
2.手机命令转发抓包
2.1 关闭wifi代理及其postern代理
postern代理关闭直接关闭postern软件即可
2.2 配置frida 及其 firda-server
2.2.1 frida 配置
有关frida配置有以下两种方法:
1.直接下载并解压firda
2.通过pip进行下载
本文暂时使用第二种方法进行下载
直接打开cmd,输入:
pip install frida
pip install frida-tools
frida-ps --version
如下图显示版本及证明安装成功
2.2.2 frida-server配置
打开或新建一个adb所在目录的cmd
输入以下命令进入雷电模拟器shell并新建用于存放frida-server的文件夹:
adb shell
su root
cd /data/local/tmp/
mkdir frd
未避免文件名冲突,所以目录名及后续的文件名都不能为frida
在github官网上下载对应版本的frida-server,这里是16.7.0 ,及: https://github.com/Ylarod/Florida/releases/tag/16.7.0
将压缩包解压改名 frd 之后导入雷电模拟器
左键点击frd文本进入MT管理器并同意协议
点击右上角三个点并打开终端
该扩展包比较小,所以放心下载
右下角点击确定跳转到当前目录或者自行输入以下命令跳转也行,确定 frd 文件在目录下:
cd /mnt/shared/Pictures
ls
输入以下命令,切换root权限并允许,将 frd 文件转移到 /data/local/tmp/frd 目录下并切换目录确认:
su root
mv ./frd /data/local/tmp/frd
cd /data/loacl/tmp/frd
ls
在命令输入过程中会遇到确实命令无需理会,继续输入就行
输入以下命令赋予frd文本权限:
chmod 777 frd
2.3使用手机命令转发进行抓包
于adb所在目录打开cmd输入以下命令运行frida-server文本:
adb shell
su root
cd /data/local/tmp/frd/
./frd
雷电模拟器打开巨人账号管家
上述保持不动,重新打开个cmd进行输入以下命令:
frida-ps -Ua
记住巨人账号管家的包名(Identifier)及图上所示:
com.gamm.mobile
再次于adb所在目录打开cmd,输入以下命令:
adb shell
su root
ps -A |grep com.gamm.mobile
查看到巨人管家的进程名:u0_a53
继续输入以下命令(文字说明部分自行更改):
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner 进程名 -j DNAT --to-destination 无线局域网WLANip:端口
iptables -t nat -L
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner u0_a53 -j DNAT --to-destination 10.115.93.6:8899
iptables -t nat -L
打开burp suite,burp suite代理监听设置同上保持不变,并重新运行雷电模拟器中的巨人管家账号
成功抓包