第十二课、基于HOOK的抓包
第十二课、基于HOOK的抓包一般HTTPS:大部分只采用客户端校验服务器双向绑定:很少会有服务器校验客户端SSL Cert Pinning :更少[*]抓包软件会有证书等问题
[*]hook的方法无视证书 基于HOOK直接得到参数 打调用栈得到参数的构成和来源
1、批量trace确定收发包框架netstat tuule |grep -i sms这个是windows中的命令
[*]查看端口在adb shell中 com.cz.babySister
[*]bullhead:/ # ps -e |grep baby
u0_a107 74312583 4385088 106588 SyS_epoll_wait 7bf4a8f3f8 S com.cz.babySister
bullhead:/ # lsof -p 7431 |grep TCP
m.cz.baby7431 u0_a107 51u IPv4 0t0 75893 TCP :38568->:80 (ESTABLISHED)
bullhead:/ #
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230220141108487.png
[*]只有到80端口的没有到443 的
[*]文件夹中搜索关键字在哪个文件夹
[*]grep -ril "MainActivity" *
[*]-r 递归地搜索目录。在缺省情况下,不按照到目录的链接。-i 在进行比较时忽略字母的大小写。-l仅列出(一次)包含匹配行的文件的名称。文件名之间用换行符加以分隔。如果搜索到标准输入,将返回(标准输入)的路径名。-l 标志同 -c 和 -n 标志的任意组合一起使用时,其作用类似于仅使用了 -l 标志。
2、ZenTrace/DDMS
[*]https://github.com/hluwa/ZenTracer
[*]# pyenv install 3.8.0
# git clone https://github.com/hluwa/ZenTracer
# cd ZenTracer
# pyenv local 3.8.0
# python -m pip install --upgrade pip
# pip install PyQt5
# pip install frida-tools
# python ZenTracer.py
[*]点击Action之后,会出现匹配模板(Match RegEx)和过滤模板(Black RegEx)。匹配就是包含的关键词,过滤就是不包含的关键词
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230220150431456.png
[*]Objection 先hook这个类java.net.HttpURLConnection
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230220151103592.png
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230220151202017.png
[*]6.4.46.10.1
3、HOOK收发包函数回溯参数来源
[*]先抓包分析
[*]解包搜关键字参数(不推荐)
[*]HOOK的方法函数溯源
[*]保存内存中所有的类
[*]根目录
cd .objection
mv objection.log objection0220.log
[*]android hooking list classes
[*]cat objection0220.log |grep okhttp
[*]确定用了什么框架Okhttp3
[*]类-----方法
4、 Objection/Wallbreaker5、Okhttp框架自吐:frida_OkCat
[*]https://github.com/siyujie/OkHttpLogger-Frida.git
[*]①首先将 okhttpfind.dex 拷贝到 /data/local/tmp/ 目录下。 okhttpfind.dex源码链接
[*]执行命令启动frida -U -l okhttp_poker.js -f com.example.demo --no-pause 可追加 -o 保存到文件
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230220211714097.png
[*]
6、无视证书绑定的blinssl框架自吐.
[*]https://github.com/BigFaceCat2017/frida_ssl_logger
[*]python3 ./ssl_logger.py-U -f com.bfc.mm
python3 ./ssl_logger.py -v-p test.pcap6666
[*]
7、强混淆app实战
[*]安装app、找到包名(adb shell 然后top)、开frida-server
[*]org.sfjboldyvukzzlpp
[*]创建新的objection 的log文件 准备打印所有类
[*]android hooking list classes
[*]搜索和http相关的
[*]cat objection.log |grep okhttp
[*]解包搜索试试apktool d *2.1.0*
[*]cd到文件夹中直接grep一下
[*]grep -ril "okhttp3" *
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230220210350304.png
[*]grep -ril "OkHttpClient" *
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230220210511134.png
[*]head smali/h/y.smali查看文件的前几行
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230220210723903.png
[*]其实是h.y 被混淆了类中搜不到可以搜h.y 原型就是okhttp3.OkHttpClient
[*]https://img-pool-own.oss-cn-shanghai.aliyuncs.com/img/image-20230220210952780.png
[*]
不错,学习看看 学习大佬
感谢大神的分享 这个很有用,谢谢分享! 貌似很厉害 本帖最后由 daydayupup 于 2023-3-13 10:18 编辑
学习中,谢谢分享。不过5和11怎么看不到? 学习,感谢大佬的分享 看着不错。学习一下
学习,感谢大佬的分享
页:
[1]
2