"/>
声明:该文章仅供安全学习和技术分享,请勿将该文章和文章中提到的技术用于违法活动上,切勿在非授权状态下对其他站点进行测试,如产生任何后果皆由读者本人承担! 如有侵权,请联系后台进行删除。转载请注明出处,感谢! 0x09 Android 进程安全上一篇文章中我们讲解了「Android 通信安全」,本文则对第八个 Android 渗透测试基础项中的大项「Android 进程安全」做了相关的讲解。 本章的内容主要分为三个部分:
进程安全主要是移动客户端 APP 的进程中是否会存在敏感信息存储或者恶意调用。那么接下来让我们一起看下相关的操作吧。 1.1 问题说明通过对移动客户端 APP 内存进行访问,木马程序将有可能会得到保存在内存中的敏感信息(如账号、密码等)。如果内存中存在敏感信息,攻击者可从 APP 内存中获取到用户的敏感信息。 1.2 测试步骤在测试机上安装「memspector.apk」,微信公众号后台回复「0224」获取下载地址,尝试搜索、查看、修改 APP 内存数据,检查内存中是否有明文的敏感数据、是否能够直接修改关键数据(用户名、密码等敏感数据通常会在 /dev/ashmem/dalvik-heap 内存段中)。 下图中展示的就是目标 APP 内存中存储了密码信息。 1.3 修复建议建议移动客户端 APP 在操作敏感信息后清理对应内存中的敏感数据。 2.1 问题说明移动客户端 APP 通常使用 PF_UNIX、PF_INET、PF_NETLINK 等不同 domain 的 socket 来进行本地 IPC 或者远程网络通信,这些暴露的 socket 暴露出了潜在的本地或远程攻击面,历史上也出现过不少利用 socket 进行拒绝服务、root 提权或者远程命令执行的案例。特别是 PF_INET 类型的网络 socket,可以通过网络与 Android 应用通信,其原本是用于 Linux 环境下开放网络服务,由于缺乏对网络调用者身份或者本地调用者 id、permission 等细粒度的安全检查机制,如果实现不当,就可以突破 Android 的沙箱限制,使用被攻击应用的权限执行命令,出现比较严重的漏洞。 2.2 测试步骤在 Android 系统中输入以下命令查看本地端口开放情况,是否开启了危险的服务。
2.3 修复建议建议不要在本地监听端口,尽量使用 Android 系统提供的进程间通信方式。 3.1 问题说明Android 系统提供的一种类加载器 DexClassLoader 可以在运行时动态加载并解释执行包含在 JAR 或 APK 文件内的 DEX 文件。外部动态加载DEX文件的安全风险源于:Anroid4.1 之前的系统版本容许 Android 应用将动态加载的 DEX 文件存储在被其他应用任意读写的目录中(如 sdcard),因此不能够保护应用免遭恶意代码的注入;所加载的 DEX 易被恶意应用所替换或者代码注入,如果没有对外部所加载的 DEX 文件做完整性校验,应用将会被恶意代码注入,从而执行的是恶意代码。 3.2 测试步骤查看 AndroidManifest.xml 包 package 值相对应路径下的文件中是否含有 DexClassLoader() 函数调用。 下图中的代码就是含有 DexClassLoader() 函数调用,这种就会存在风险。 3.3 修复建议
上一篇:知道创宇云监测—ScanVMAX更新: 微擎、 ElasticSearchECE等多个漏洞可监测 下一篇:知道创宇云监测—ScanVMAX更新:DedeCMS、WordPressWoocommerce等多个漏洞可监测 |