胡凯莉 发表于 2023-3-12 11:13

第十二课、基于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
[*]

小眼睛_吖 发表于 2023-3-12 13:45

不错,学习看看

alongzhenggang 发表于 2023-3-12 13:53

学习大佬

se2303765 发表于 2023-3-12 23:35

感谢大神的分享

xueshanshi2 发表于 2023-3-13 09:29

这个很有用,谢谢分享!

phxi 发表于 2023-3-13 10:04

貌似很厉害

daydayupup 发表于 2023-3-13 10:08

本帖最后由 daydayupup 于 2023-3-13 10:18 编辑

学习中,谢谢分享。不过5和11怎么看不到?

hahhahah 发表于 2023-3-13 11:51

学习,感谢大佬的分享

没爱的靓仔 发表于 2023-3-13 12:35

看着不错。学习一下

whitedeer 发表于 2023-3-14 00:26


学习,感谢大佬的分享
页: [1] 2
查看完整版本: 第十二课、基于HOOK的抓包