前言
移动应用程序的广泛应用与日俱增,安卓系统作为其中重要的一环,不断涌现出各种技术和工具来保障应用程序的安全性和稳定性。本文旨在探讨安卓应用程序领域的几个方面,包括查壳、脱壳、测试框架、绕过root检测以及抓包小工具等。
0x01:APK查壳工具
壳的介绍:
在Android上,应用的安装文件通常是以APK格式存储的。这个APK文件实际上就像一个小型的奇妙压缩包,里面装着各种与应用相关的源码、资源文件、配置文件等等令人眼花缭乱的东西。一旦直接解压,你就能够获得应用的Dalvik指令集DEX文件。然后,你还可以对其进行进一步的反编译,从SMALI转换为Java,这样几乎等同于轻松获得了可读性非常清晰的源代码。
PKID下载:
Windows版下载地址:https://www.jb51.net/softs/603472.html#downintro2
Java版的看雪论坛下载地址:https://bbs.pediy.com/thread-225120.ht
PKID的使用:
PKID的使用非常简单,在三个点处将apk文件找到并打开即可。
在我们破解一个app时,首先要进行的就是“查壳”。通常情况下,我们需要确认应用是否有加壳,以及具体使用了哪种加壳方式,然后寻找相应的脱壳方法。一旦成功获得真正的源码,才能开始深入分析并展开破解工作。这个“查壳”的过程就像是破解之旅的第一步。
0x02:脱壳工具
1.BlackDex
介绍:
BlackDex是一个在Android手机上运行的脱壳工具,它支持从5.0~12版本的系统,不需要依赖任何特定环境或手机型号,就算是模拟器也能用。只需几秒钟的时间,你就能轻松对已安装或者未安装的APK进行脱壳操作。
使用:
随便点击一个app应用,BlackDex会自己去脱壳;脱壳成功后会有提示你文件保存路径。
2.dexdump
介绍:
利用Frida实现了这一点。Frida版本会遍历所有的类并加载它们。对于类抽取的情况,我们能够修复那种在执行时将代码填充回dex的问题。
使用:
把libhook.so复制到/data/local/tmp下面,并且更改权限为777 (chmod 777 /data/local/tmp/libhook.so)
安装xposed插件
激活插件并且重启手机
在xposed插件的界面里面勾选你需要脱壳的应用
干掉你需要脱壳的应用的进程,然后重新启动应用 (kill -9 {pid})
如果脱壳成功的话,就会在应用的/data/data/{packagename}下面写入dex文件
grep {activity name} -r * 筛选出dex
3.drizzleDumper
介绍:
drizzleDumper是一款针对Android平台的脱壳工具。它是一种专门用于从应用程序中提取未加密代码(通常是Dex代码)的工具。使用这种工具,安全研究人员和安全爱好者可以尝试绕过应用程序的保护措施,并提取出应用程序的原始代码以进行分析、研究或审查。
使用:
cd xxxxx/drizzleDumper
adb push drizzleDumper /data/local/tmp
adb shell chmod 0777 /data/local/tmp/drizzleDumper
adb shell #进入androd系统的shell
su #获取root权限
./data/local/tmp/drizzleDumper www.xxx.xxx(想要脱壳apk的包名) #执行脱壳操作
链接地址:
https://github.com/CodingGay/BlackDex
https://github.com/smartdone/dexdump
https://github.com/DrizzleRisk/drizzleDumper
0x03:app渗透测试框架
mobsf介绍:
移动安全框架 (MobSF) 是一种自动化、一体式移动应用程序 (Android/iOS/Windows) 等测试、恶意软件分析和安全评估框架,能够执行静态和动态分析。MobSF 支持移动应用程序二进制文件(APK、XAPK、IPA 和 APPX)以及压缩源代码,并提供 REST API,以便与 CI/CD 或 DevSecOps 管道无缝集成。动态分析器可帮助您执行运行时安全评估和交互式仪表测试。
mobsf安装:
1.首先有docker环境,然后直接拉去mobf镜像
sudo docker pull opensecurity/mobile-security-framework-mobsf
2.使用下面命令直接启动
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
3.启动环境开始后访问 http://127.0.0.1:8000,上传apk文件即可扫描进行静态分析。
4.因为该APP 是未加壳状态,直接导入modsf 工具直接源码审计, 一般特殊关注 URL 资源 敏感信息泄露 KEY值 等敏感信息即可。
0x04:安卓Root检测
一:绕过文件检测
绕过原理:
有的App检测root的原理就是"文件检测",针对这种文件检测,可以直接通过修改文件名绕过:/system/bin/su、/system/xbin/su /
使用:
1.找到adb 安装夜神安卓模拟器后,电脑桌面会有“夜神模拟器”的启动图标,鼠标右键--打开文件所在的位置,就会进入***Noxbin,然后可以在该路径下找到nox_adb.exe,进入软件cmd安装目录进行连接设备。
2.检查开启模拟器的端口
nox_adb devices #查看一下在运行的设备:
adb.exe connect 127.0.0.1:62001 #nox_adb.exe 完全等同于nox_adb,也完全等同于adb
如果未启动夜神模拟器,就会得到如下信息:
List of devices attached
3.连接adb并修改文件名
adb.exe connect 127.0.0.1:62001 #连接模拟器
mount -o rw,remount /system #重新挂载 Android 系统中 /system 分区
mv /system/bin/su /system/bin/suu #修改文件名
mv /system/xbin/su /system/xbin/suu
mv /system/bin/suu /system/bin/su #测完再改回来
mv /system/xbin/suu /system/xbin/su
二:Objection
环境配置:pip intall objection
在app启动前输入下面这条命令
objection -g 包名 explore --startup-command "android root disable"
#Objection集成了Root bypass功能
objection只是绕过了Java层的一些文件检测而已,所以很多情况下是不奏效的。
0x05:抓包软件
1.HttpCanary(小黄鸟)
介绍:
HttpCanary 和 Vent 都没有与其他抓包工具联动转发抓包的能力。因此,在渗透中使用这些工具进行抓包后,要将测试的数据包复制到 Burp Suite 上,以便在该平台上进行修改并进行并发包测试。
使用:
一般版本低些的安卓手机,在你下载好两款软件,点开的时候就会指导你怎么安装证书和自动帮你安装好(视具体情况而定)。
2.vent
官网下载:
https://www.vnet-tech.com/
使用:
类似小黄鸟的安装,基本都会提示怎么装,有的自动安装好,很省事。
结语
当我们做APP项目时,其实就是和一个外壳玩躲猫猫。要是有个神奇的外壳破解器,或者DIY一个外壳破解器,对测试帮助很大!当然!这也是app渗透的第一步,后面的逆向分析、绕过代理、Root检测等还需进一步去学习!
点击关注下方名片进入公众号
回复关键字【20231129】获取小黄鸟、pkid下载链接
原文始发于微信公众号(大仙安全说):浅谈安卓App渗透
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论