APP客户端安全评估思路及工具分享

APP客户端安全评估工具分享

所有工具都在APP客户端安全评估工具.zip中,需要的转存到夸克网盘自行下载,及时保存防止失效

https://pan.quark.cn/s/a7fa88275300

反编译保护评估工具

apkscanpkid_jb51.rar

jadx-gui-1.5.3-with-jre-win.zip

安装包签名校验工具

keytool.exe

APP测试神器AndroidKiller(后续很多测试都是用的这款工具)

androidkiller_69033

组件安全测试必备工具(drozer低版本比较稳定)

drozer-installer-2.3.4.zip

夜神模拟器安装包(手机测试效果更佳,有些应用会检测虚拟环境)

夜神模拟器_bh231786891.exe

APP客户端安全评估思路

客户端程序安全

1.反编译保护

双击运行解压出来的jadx-gui-1.5.3.exe
将apk包拖入即可

2.安装包签名

使用keytoll.exe即可查看签名
复制代码
keytool -printcert -jarfile xxxxxx.apk

3.应用完整性校验(可以重新打包是高风险)

配置工具

Android Killer、apktool(官网下载最新版本即可)

替换Android Killer 里的apktool为最新版
新增test.txt看能否重新打包即可

4.程序数据任意备份

查找android:allowBackup

当在AndroidManifest.xml文件中未设置android:allowBackup属性值或,设置android:allowBackup="true"时,可对应用程序私有目录下的所有数据进行备份。

5.程序可被任意调试

查找android:debuggable

当在AndroidManifest.xml文件中设置android:debuggable="true"时,应用程序可以以调试模式启动,并被任意调试器附加调试。

6.资源文件保护

Android apk中的资源主要分为assets资源和res资源两类.Assets资源存放在APP的assets目录下,该类文件是一些原始文件,APP打包时并不会对其进行编译,而是直接打包到APP中,对于这一类资源文件的访问,应用层代码需要通过文件名对其进行访问。Res资源则存放在APP的res目录下,该类资源在APP打包时大多会被编译,变成二进制文件,并会为每个该类文件赋予一个resource id。对于该类资源的访问,应用层代码则是通过resource id进行访问的.Android apk开发过程中公司大都提倡命名规范化,因此通过文件名称非常容易理解其含义,这样有利于开发者理解和维护应用,但是同时也给应用破解者提供了方便,破解者通过这些命名很容易便可找到他们需要的文件位置,并理解这些文件的意图。

看反编译后的代码有没有进行混淆

组件安全

测试工具准备

Android Killer、apktool(官网下载最新版本即可)、夜神模拟器(安装包在压缩包中)

首先运行setup.exe安装drozer程序
夜神模拟器安装并运行agent

在夜神模拟器上安装agent.apk,安装完成后运行,点击右下角显示为"关闭"的按钮使其转变为"开启"状态:

进行adb连接

打开夜神模拟器的bin目录,该目录中有adb程序nox_adb.exe,打开命令行运行以下命令:>nox_adb.exe forward tcp:31415 tcp:31415

打开drozer的安装目录,打开命令行运行以下命令进行连接:

>drozer console connect

1.Activity组件越权

待测APP的包名在工程信息中,com.xxx.xxx.xxx

列出可被调用的activity组件

run app.activity.info -a [package name]

2.Activity拒绝服务

在模拟器中打开测试app,然后在drozer命令行中使用以下命令逐个调用activity组件,观察是否会引起app崩溃,造成拒绝服务:

逐个调用activity组件

run app.activity.start --component [package name] [component name]

3.Activity劫持

Activity劫持是指当启动某个窗口组件时,被恶意应用探知.若该窗口界面是恶意程序预设的攻击对象,恶意应用将启动自己仿冒的界面覆盖原界面。用户在毫无察觉的情况下输入登录信息,恶意程序在把获取的数据返回给服务端。

使用Activity劫持测试工具,网上自行搜索

4.Service组件越权

列出待测app可被外部调用的Service组件列表

run app.service.info -a [package name]

逐个调用Service,检查是否会能进行进程管理或其他越权操作

run app.service.start --component [package name] [component name]

5.Service拒绝服务

逐个调用Service组件,观察是否会引起app崩溃,造成拒绝服务

run app.service.start --component [package name] [component name]

6.BroadcastReceiver组件越权

列出待测app可被外部调用的Receiver组件列表

run app.broadcast.info -a [package name]

7.BroadcastReceiver拒绝服务

逐个调用Receiver组件,观察是否会引起app崩溃,造成拒绝服务:

run app.broadcast.send --component [package name] [component name]

8.Content Provider SQL注入

列出待测app可被外部调用的Provider组件列表:

run app.provider.info -a [package name]

使用以下命令查看有哪些uri可以访问

run scanner.provider.finduris -a [package name]

检测是否存在本地SQL注入漏洞

run scanner.provider.injection -a [package name]

9.Content Provider目录遍历

列出待测app可被外部调用的Provider组件列表:

run app.provider.info -a [package name]

使用以下命令可检测是否存在目录遍历漏洞:

run scanner.provider.traversal -a [package name]

10.WebView远程代码执行

检测是否有调用addJavascriptInterface接口:

全局搜索关键字Landroid/webkit/WebView;->addJavascriptInterface(,检查是否有使用addJavascriptInterface接口。

11.WebView未移除系统默认接口

检查是否处在漏洞影响范围

该漏洞影响范围为Android 4.2及以下,即SDK 17及以下,所以首先检查待测APK限制的最低SDK版本是否是17或以下。

运行环境检测

1.Root环境检测

2.Ptrace注入检测

3.网络环境监测

4.模拟器运行检测

敏感信息安全

1.SharedPreferences明文保存敏感信息

2.SharedPreferences未作加密保护

3.SQLite明文保存敏感信息

4.SQLite未作加密保护

5.Log输出敏感信息

网络通信安全

1.通信加密检测

2.关键字段加密

3.安全退出检测

4.网络切换保护

5.开放端口检测

6.证书有效性

安全策略设置

手势密码安全性

资料来源内部文档,不能提供特别详细教程请见谅

可以看看我的面试题,入职看完整版

https://blog.csdn.net/2301_79090248/article/details/156995183

相关推荐
用户962377954481 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954481 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star1 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954481 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher3 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行6 天前
网络安全总结
安全·web安全
red1giant_star6 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透6 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全