Android
文章平均质量分 96
有价值炮灰
https://evilpan.com/
展开
-
Android 反序列化漏洞攻防史话
Java 在历史上出现过许多反序列化的漏洞,但大部分出自 J2EE 的组件。即便是 FastJSON 这种漏洞,似乎也很少看到在 Android 中被实际的触发和利用。本文即为对历史上曾出现过的 Android Java 反序列化漏洞的分析和研究记录。原创 2023-02-20 07:30:00 · 1365 阅读 · 0 评论 -
iptables 在 Android 抓包中的妙用
本文主要介绍了 iptables 规则的配置方法,并且实现了一种在 Android 中全局 HTTP(S) 抓包的方案,同时借助owner拓展实现应用维度的进一步过滤,从而避免手机中其他应用的干扰。相比于传统的 HTTP 代理抓包方案,该方法的优势是可以实现全局抓包,应用无法通过禁用代理等方法绕过;原创 2023-01-31 23:30:00 · 911 阅读 · 0 评论 -
Android 组件逻辑漏洞漫谈
随着社会越来越重视安全性,各种防御性编程或者漏洞缓解措施逐渐被加到了操作系统中,比如代码签名、指针签名、地址随机化、隔离堆等等,许多常见的内存破坏漏洞在这些缓解措施之下往往很难进行稳定的利用。因此,攻击者们的目光也逐渐更多地投入到逻辑漏洞上。逻辑漏洞通常具有很好的稳定性,不用受到风水的影响;但同时也隐藏得较深、混迹在大量业务代码中难以发现。而且由于形式各异,不太具有通用性,从投入产出比的角度来看可能不是一个高优先级的研究方向。但无论如何,这都始终是一个值得关注的攻击面。原创 2022-11-14 08:00:00 · 793 阅读 · 0 评论 -
终端应用安全之网络流量分析
前言在日常对客户端应用进行安全审计或者漏洞挖掘的时候,或多或少都会涉及到网络协议的分析。而对于业务风控安全而言,APP 的网络请求往往也代表着终端安全防御水平的上限,因为客户端是掌控在攻击者手中的,服务端的业务逻辑才是安全的核心兜底保障。本文是笔者在分析众多 Android 应用协议的过程中所尝试总结的一些经验,大部分情况下也可以适用于其他平台的终端应用,如 iOS、macOS、Windows 等,尽管各个操作系统中会存在一些特有的小技巧。网络流量分析在介绍具体的流量分析方法之前,我们需要先明确流量原创 2022-05-22 17:00:00 · 2022 阅读 · 0 评论 -
Frida Internal - Part 3: Java Bridge 与 ART hook
前面的文章中介绍了 frida 的基础组件 frida-core,用于实现进程注入、通信和管理等功能。加上 frida-gum 和 gum-js 的核心能力,我们已经可以很方便地使用 JavaScript 脚本来进行代码劫持、动态跟踪等进程分析操作。不过 frida 并不满足于此,而是又实现了针对高级语言的支持,比如 Java、Objective-C、Swift 等。这些额外支持实际上是在 gum-js 的基础上针对对应高级语言的 Runtime 进行 hack 而实现的,统一称为对应语言的 bridge原创 2022-04-30 14:19:24 · 951 阅读 · 0 评论 -
Frida Internal - Part 2: 核心组件 frida-core
前文已经介绍了 frida 中的核心组件 frida-gum 以及对应的 js 接口 gum-js,但仅有这些基础功能并不能让 frida 成为如此受欢迎的 Instrumentation (hook) 框架。为了实现一个完善框架或者说工具,需要实现许多系统层的功能。比如进程注入、进程间通信、会话管理、脚本生命周期管理等功能,屏蔽部分底层的实现细节并给最终用户提供开箱即用的操作接口。而这一切的实现都在 frida-core 之中,正如名字所言,这其中包含了 frida 相关的大部分关键模块和组件,比如 fr原创 2022-04-30 14:18:24 · 3853 阅读 · 0 评论 -
Frida Internal - Part 1: 架构、Gum 与 V8
frida 是一个非常优秀的开源项目,因为项目活跃,代码整洁,接口清晰,加上用灵活的脚本语言(JS)来实现指令级代码追踪的能力,为广大的安全研究人员所喜爱。虽然使用人群广泛,但对其内部实现的介绍却相对较少,因此笔者就越俎代庖,替作者写写 frida 内部实现介绍,同时也作为自己的阅读理解记录。系列文章传送门:Frida Internal - Part 1: 架构、Gum 与 V8 (本文)Frida Internal - Part 2: frida-coreFrida Internal - Pa原创 2022-04-30 14:17:11 · 1494 阅读 · 0 评论 -
Linux 内核监控在 Android 攻防中的应用
在日常分析外部软件时,遇到的反调试/反注入防护已经越来越多,之前使用的基于 frida 的轻量级沙盒已经无法满足这类攻防水位的需要,因此需要有一种更加深入且通用的方式来对 APP 进行全面的监测和绕过。本文即为对这类方案的一些探索和实践。背景为了实现对安卓 APP 的全面监控,需要知道目标应用访问/打开了哪些文件,执行了哪些操作,并且可以修改控制这些操作的返回结果。一个直观的想法是通过 libc 作为统一收口来对应用行为进行收集,比如接管 open/openat/faccess/fstatat 实现文件原创 2022-01-05 09:00:00 · 1236 阅读 · 0 评论 -
ART 在 Android 安全攻防中的应用
在日常的 Android 应用安全分析中,经常会遇到一些对抗,比如目标应用加壳、混淆、加固,需要进行脱壳还原;又或者会有针对常用注入工具的检测,比如 frida、Xposed 等,这时候也会想知道这些工具的核心原理以及是否自己可以实现。其实这些问题的答案就在 Android 的 Java 虚拟机实现中。可以是早期的 Dalvik 虚拟机,也可以是最新的 ART 虚拟机。从时代潮流来看,本文主要专注于 ART。不过,为了铭记历史,也会对 Dalvik 虚拟机做一个简单的介绍。原创 2021-12-27 07:00:00 · 773 阅读 · 0 评论 -
Android12 应用启动流程分析
Android 12 (S) 的应用启动全流程分析。原创 2021-12-06 19:53:30 · 1686 阅读 · 0 评论 -
Android 蓝牙源码学习笔记
上文介绍了蓝牙基本原理,但实现部分介绍不多,本文以 Android 中的蓝牙协议栈为例学习在实际系统中蓝牙的工程实现。原创 2021-07-11 14:09:52 · 2381 阅读 · 4 评论 -
Android/Linux Root 的那些事儿
把权力关进笼子 —— George Walker Bush前言曾几何时,在Linux系统中获取了root权限就可以畅行无阻,但是那个时代已经一去不返了。本文就来总结下这些控制权限模块。参考链接...原创 2020-12-06 15:24:50 · 863 阅读 · 0 评论 -
浅谈 Android 的安全启动和完整性保护
在 IoT 中保证设备安全性的重要一环就是保证代码的完整性,不让恶意代码影响业务的正常逻辑。一般而言是及时修复现有攻击面所面临的漏洞,比如浏览器、蓝牙、调试接口;另一方面需要确保的是即便恶意代码获取了执行权限,也无法修改系统镜像进行持久化。针对这点所构造的安全方案通常称为 Secure Boot,对于不同的厂商,实现上可能会引入不同的名字,比如 Verified Boot、High Assurance Boot 等等,但本质上都是类似的。Secure BootSecure Boot 顾名思义就是安全启原创 2020-11-21 09:46:48 · 4118 阅读 · 0 评论