objection 使用详解

简介

objection是一个基于Frida的动态的移动测试工具包,可以帮助我们来进行应用程序安全评估。

主要由以下三个组件组成

1.Frida-Gadget,以嵌入式模式运行应用,通过objection自己的api方法去调用frda执行我们想要的命令

2.objeciton本身是由python编写的可以通过python实现一个交互式shell进行命令的加载和使用,以此来调用objection

3.objection进行hook时会通过TypeScript独立生成一个agent.js文件,这样可以在使用中可以去直接调用所有的功能

objection.png


Frida Hook 总结

Frida 常用操作总结

Frida环境

https://github.com/frida/frida

Pyenv

python全版本随机切换,这里提供macOS上的配置方法

Frida安装

如果直接按下述安装则会直接安装frida和frida-tools的最新版本。

pip install frida-tools
frida --version
frida-ps --version

我们也可以自由安装旧版本的frida,例如12.8.0

pyenv install 3.7.7
pyenv local 3.7.7
pip install frida==12.8.0
pip install frida-tools==5.3.0

安装objection

pip install objection
objection -h

APP测试抓包常见问题总结

平常在进行APP测试的时候发现存在了很多问题,现在总结记录一下对应的知识,都在这遍文章下记录更新,老规矩先放一张图

image-20211206111758936


Frida--Android逆向之动态加载dex Hook(下)

​ 上篇主要是跟着师傅学习了Robust的原理,并以做题的思路去求解了这个示例ctf,其实这是一种思路的启示,当我们在不知道怎么hook动态加载的dex,jar时候,找找是否存在能够操作动态加载出来的类的方法。

​ 这一篇我们一起来学习如何用Frida来hook DexclassLoader,如何用反射直接调用类的方法,达到跟hook一般类一样的效果。最终在虚拟机、测试机和frida中发现多种问题,之后更换测试机进行测试的时候仍然存在问题,留下了一部分搞不懂的地方,当个坑未,来找到解决问题在进行填补。

文章涉及内容以及使用到的工具

使用到的工具

ADT(Android Developer Tools)
Jadx-gui
JEB
frida
apktool
android源码包
Nexus 6p(genymotion,实体机等亦可)

涉及知识点

Java 泛型
Java 反射机制
DexClassLoader 动态加载机制
Frida 基本操作
Frida 创建任意类型数组(Java.array)
Frida 类型转换(Java.cast)
Frida 方法重载(overload)
Frida Spawn

Hook框架Frida练习(1)

文章涉及到的知识点:

  • 怎么使用javascript实例化类并调用类方法
  • 怎么在”jscode”中增加自定义javascript方法
  • 怎么较为灵活的hook类方法

基础环境

Mac Os 10.15.5
Python 3.7
Google Nexus 6P Anroid 6.0.1
Frida官网:https://www.frida.re/
Frida源码:https://github.com/frida

apk的下载地址:whyshouldIpay


Hook框架Frida

0x00 概述

Frida是个轻量级别的hook框架

是Python API,但JavaScript调试逻辑

Frida的核心是用C编写的,并将Google的V8引擎注入到目标进程中,在这些进程中,JS可以完全访问内存,挂钩函数甚至调用进程内的本机函数来执行。

使用Python和JS可以使用无风险的API进行快速开发。Frida可以帮助您轻松捕获JS中的错误并为您提供异常而不是崩溃。

关于frda学习路线了,Frida的学习还是蛮简单的,只需要了解两方面的内容:
1)主控端和目标进程的交互(message)
2)Python接口和js接口(查文档)

frida框架分为两部分:
1)一部分是运行在系统上的交互工具frida CLI。
2)另一部分是运行在目标机器上的代码注入工具 frida-serve。


Android安全测试框架Drozer

0x00 Drozer 简介

Drozer是MWR Labs开发的一款Android安全测试框架。是目前最好的Android安全测试工具之一。其官方文档说道:“Drozer允许你一一个普通android应用的身份与其他应用和操作系统交互。”在Web世界已经有了许多安全测试工具了,我们只需要给出一个目标,这些工具就会自动为我们安全测试报告。但Drozer与这样的自动化扫描器不同,Drozer是一种交互式的安全测试工具。使用Drozer进行安全测试,用户在自己的工作站上输入命令,Drozer会将命令发送到Android设备上的代理程序执行。其官方文档说道:“Drozer允许你一一个普通android应用的身份与其他应用和操作系统交互。