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

相关推荐
晚霞的不甘9 小时前
守护智能边界:CANN 的 AI 安全机制深度解析
人工智能·安全·语言模型·自然语言处理·前端框架
枷锁—sha9 小时前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
数字护盾(和中)9 小时前
信创生态 + 国密算法 筑牢数字安全韧性根基
安全
devmoon10 小时前
在 Polkadot 上部署独立区块链Paseo 测试网实战部署指南
开发语言·安全·区块链·polkadot·erc-20·测试网·独立链
成茂峰10 小时前
软考高级·系统架构设计师 | 四、信息技术安全知识
安全·信息安全·系统架构·架构设计师
向哆哆10 小时前
CANN生态安全保障:cann-security-module技术解读
人工智能·安全·cann
wuli_滔滔11 小时前
CANN安全机制源码探秘 仓库中的权限校验与数据加密实现
安全·cann
liann11911 小时前
3.1_网络——基础
网络·安全·web安全·http·网络安全
独行soc12 小时前
2026年渗透测试面试题总结-17(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
辣香牛肉面12 小时前
Wireshark v4.6.2 开源免费网络嗅探抓包工具中文便携版
网络·测试工具·wireshark