app攻防-frida+反编译+抓包环境

🌟 ❤️

作者:yueji0j1anke

首发于公号:剑客古月的安全屋

字数:1676

阅读时间:    15min

声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。合法渗透,本文章内容纯属虚构,如遇巧合,纯属意外


目录

  • 前言

  • App基础知识

  • 反编译

  • sdk

  • frida

  • 抓包环境


0x01 前言

最近挖漏洞挖到几个app的漏洞,顺便也就趁机从web转入深耕app安全了


0x02 app基础知识补充

笔者曾经开发过一款app,从前端到后端都玩了一玩,搞的是分离开发,直接用的uniapp。

想要做成一款app,需要对我们的程序代码和运行环境编译、打包,最终生成一款软件。而我们下载安装到手机的过程其实就是解包的过程。

那大部分的请求其实就是镶嵌在源码内部,就像js的ajax请求一样,请求过后才会返回渲染在客户端,我们需要找到接口、域名等,除了抓包的形式,还有就是反编译

正向开发: 开发 -> 编译 -> 加密(加固、混淆、加壳) -> 打包
逆向:     解包 -> 解密(脱壳、反混淆) -> 反编译 -> 提取敏感信息

反编译,正是这么个逆向的过程,包括我们后面要讲的frida等,都是基于此等概念去抓取的漏洞


app大致分为三种,原生,网页,混合

原生的-> 计算机,闹钟

web的-> 美团,百度,可以在浏览器中打开 (就是web端)

混合-> 微信,百度地图


而我们逆向的正是针对这种混合类型app,配以抓包手段去发现漏洞。

所以我接下来大致就分为两步走

1.逆向反编译

2.抓包




0x03 反编译工具下载

1.MobSF

这是目前全网免费开源中最好用的一款工具,只需上传文件包即可自动分析安全缺陷

docker pull opensecurity/mobile-security-framework-mobsf:latest
docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest

建议在云服务器上快速部署

app攻防-frida+反编译+抓包环境

app攻防-frida+反编译+抓包环境

记得用完及时关,免得被白嫖了咳咳咳。



2.Android Killer

几年前便停止更新了(因为太sharp了)

github上面可搜到,自行readme进行下载

其用处如下

反编译
代码编辑: 可直接在工具中编辑smali代码
签名

app攻防-frida+反编译+抓包环境


3.jadx

这个工具我感觉用处更多一些,类似于一个集成的idea了

app攻防-frida+反编译+抓包环境


缺点就是代码总量超过30mb索引功能会失效,只能使用传统的三件套apktool+dex2jar+jd-gui


0x04 SDK Platform TOOls配置

SDK Platform TOOls 是安卓sdk的一个组件,包含了与安卓平台进行交互的工具,包括adb(老熟人)与fastboot

adb:是一款功能多样的命令行工具,就像terminal提供对linux的访问权限,adb提供对unix shell的访问权限
fastboot:刷入映像,刷机

使用adb命令和手机进行交互,需要开启usb调试模式。

安装链接参考

https://blog.csdn.net/Yocczy/article/details/130916750?ops_request_misc=&request_id=&biz_id=102&utm_term=SDK%20Platform%20TOOls%E9%85%8D%E7%BD%AE&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-130916750.142^v100^pc_search_result_base9&spm=1018.2226.3001.4187


app攻防-frida+反编译+抓包环境

app攻防-frida+反编译+抓包环境


0x05 Frida介绍与安装

在以前玩刷机的时候总能听到frida的大名

frida是一款动态插桩工具,可以插入一些代码到原生app的内存空间去动态监视修改行为。由于其使用的是python,js等语言,所以可以将js等脚本插入app内存去对app逻辑实现跟踪和监控,甚至修改逻辑,这样的方式也叫作hook

而frida从java层到native层的hook都可以实现,基本涵盖全平台


我们先在手机上安装frida上

windows10
python3.7
安卓

windows电脑

pip install frida==16.1.10 -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install frida-tools==12.1.3 -i https://pypi.tuna.tsinghua.edu.cn/simple

建议16.1.10版本,其他版本不太稳定,会报错

安装完成后确定手机的架构

adb shell
getprop ro.product.cpu.abi

app攻防-frida+反编译+抓包环境

去官网下载对应的server

https://github.com/frida/frida/releases

app攻防-frida+反编译+抓包环境


下载后解压,把该文件push过去

app攻防-frida+反编译+抓包环境




adb push frida-server-16.1.10-android-arm64 /data/local/tmp/fs

接下来对其赋予权限并运行

adb shell

su

cd /data/local/tmp/

chmod 777 fs

./fs

app攻防-frida+反编译+抓包环境


如果没有回显,说明运行成功


新开一个cmd,转发这个端口

adb forward tcp:27042 tcp:27042

app攻防-frida+反编译+抓包环境


现在看看frida能不能用

看看进程

frida-ps -U


app攻防-frida+反编译+抓包环境


安装成功


0x06 抓包

基础配置收集代理并安装证书后,若你用burp去抓包,抓不到则分为以下情况

1.APP设置了网络流量不走代理
2.代理检测
3.单向认证检测
4.双向认证检测

一些中大型app抓不到包,是因为证书的检验和检验代理,从而导致不让进入app,亦或是没走http/s协议,还有一些检测是否为模拟器


如果你的手机是安卓7-11版本这里推荐一款工具神器r0capture(教程自行百度)



但可惜笔者是13,无奈只好按部就班老老实实绕过这些

老规矩,magisk+lsposed,并加载模块

app攻防-frida+反编译+抓包环境


设置代理后安装根证书便可成功抓包(此处仅供单向认证参考,双向或者代理可以考虑frida的hook)



后期将会为大家带来更多app安全的知识


原文始发于微信公众号(剑客古月的安全屋):app攻防-frida+反编译+抓包环境

版权声明:admin 发表于 2024年6月11日 下午8:42。
转载请注明:app攻防-frida+反编译+抓包环境 | CTF导航

相关文章