第十二课、基于HOOK的抓包

查看 72|回复 8
作者:胡凯莉   
第十二课、基于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       7431  2583 4385088 106588 SyS_epoll_wait 7bf4a8f3f8 S com.cz.babySister
    bullhead:/ # lsof -p 7431 |grep TCP
    m.cz.baby  7431    u0_a107   51u     IPv4                          0t0      75893 TCP :38568->:80 (ESTABLISHED)
    bullhead:/ #
  • 只有到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)。匹配就是包含的关键词,过滤就是不包含的关键词
  • Objection 先hook这个类java.net.HttpURLConnection
  • 6.4.4  6.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 [output filepath]保存到文件

  • 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.pcap  6666

  • 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" *
  • grep -ril "OkHttpClient" *
  • head smali/h/y.smali  查看文件的前几行
  • 其实是h.y 被混淆了类中搜不到  可以搜h.y   原型就是okhttp3.OkHttpClient


  • 文件, 框架

  • 小眼睛_吖   

    不错,学习看看
    alongzhenggang   

    学习大佬
    se2303765   

    感谢大神的分享
    xueshanshi2   

    这个很有用,谢谢分享!
    phxi   

    貌似很厉害
    daydayupup   

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

    学习,感谢大佬的分享
    没爱的靓仔   

    看着不错。学习一下
    您需要登录后才可以回帖 登录 | 立即注册