移动安全
文章平均质量分 96
Android逆向、IOS逆向、移动安全测试、二进制分析。
Tr0e
Cyber Security Engineer
展开
-
Android TEE可信计算环境与TrustZone基础
本文介绍了可信计算的基本概念、可信计算环境(TEE)的产生和应用,并详细介绍了 Android 移动端基于 TrustZone 架构实现的 TEE 的框架设计、安全机制等。原创 2023-07-06 00:43:51 · 3315 阅读 · 2 评论 -
Android SELinux安全机制与权限管理那些事
在 Android 漏洞挖掘和安全研究过程中,不可避免地会涉及到跟 Android SELinux 安全机制打交道,比如当你手握一个 System 应用的路径穿越的漏洞的时候想去覆写其他应用沙箱的可执行文件的时候,SELinux 极大可能成为你成功路上最大的拦路虎……原创 2023-05-18 23:44:36 · 2138 阅读 · 1 评论 -
Android NFC 标签读写Demo与历史漏洞概述
NFC 作为 Android 手机一个重要的短距特性,为了深入探索 NFC 的安全风险,本文先来记录学习下 Android NFC 的一些基础知识、玩法、标签读写开发,并简述下业界对 NFC 特性发现的相关历史漏洞情况。原创 2023-02-15 00:38:34 · 3789 阅读 · 0 评论 -
Android安全与隐私相关特性的行为变更分析
作为 Android 安全测试人员,了解 Android 的隐私和安全特性是必不可少的,它能帮助我们更好地认识到 Android 漏洞挖掘过程中有哪些数据、系统机制是 Google 所希望保护的。原创 2022-09-02 00:34:08 · 3465 阅读 · 0 评论 -
Android应用自启动保活手段与安全现状分析
众所皆知,日活率是一款 App 的核心绩效指标,日活量不仅反应了应用的受欢迎程度,同时反应了产品的变现能力,进而直接影响盈利能力和企业估值,所以对于国内各个提供了 APP 业务的厂商来说,如何提高 APP 的日活量成为共同关心的利益问题。同时对于黑产恶意 APP 应用来说,为了自己能运行起来干坏事,需要寻求自启动且在后台保活的路径,因此 APP 自启动和保活手段也就成为了灰色产业孜孜不倦的目标……于是便自然而然出现了各种 APP 都企图实现开机自启动、互相拉活的乱象。原创 2022-08-20 13:06:42 · 4022 阅读 · 2 评论 -
Android Accessibility无障碍服务安全性浅析
Google 提供无障碍服务特性的本意是为了给身体存在缺陷的用户提供操作便利,但是却被黑灰产用于监视用户手机、免 root 抢红包、自动化灌装 app 等。为了了解无障碍服务本身具备的能力和存在的风险点,本文将学习、介绍下无障碍服务的基本用法和安全现状。............原创 2022-08-16 01:24:07 · 4105 阅读 · 0 评论 -
Android Webview历史高危漏洞与攻击面分析
WebView 是 Android 系统中的原生控件,它是一个基于 webkit 引擎、展现 web 页面的控件,相当于增强版的内置浏览器。现在很多 App 里都内置了 Web 网页(Hybrid App),比如说很多电商平台,淘宝、京东、聚划算等等。Webview 的广泛使用也就导致了其成为攻击者关注的对象,本文将学习、讨论下 Webview 远程代码执行漏洞、跨域访问漏洞及其它攻击面。...原创 2022-06-03 19:52:48 · 2399 阅读 · 0 评论 -
Android LaunchAnywhere组件权限绕过漏洞
文章目录前言LaunchAnyWhereAccount 管理机制历史漏洞原理分析漏洞的利用与防御BroadcastAnywhere漏洞具体原理分析漏洞官方修复方案总结前言Android APP 应用的攻击面多数集中在对外暴露(exported="true”)的四大组件(Activity、Service、ContentProvider、BroadcastReceiver)上,当组件设置 exported=“false” 或者是添加了权限保护的情况下,三方应用程序无法直接访问该组件,也就很难去借助该类组件攻原创 2022-05-29 17:16:47 · 2839 阅读 · 0 评论 -
ContentProvider openFile接口目录遍历漏洞
文章目录漏洞原理漏洞程序攻击程序漏洞防御漏洞原理Android ContentProvider 组件 openFile 接口存在文件目录遍历安全漏洞,该漏洞源于对外暴露 Content Provider 组件的应用,没有对 Content Provider 组件的访问进行权限控制和对访问的目标文件的 Content Query Uri 进行有效判断,攻击者利用该应用暴露的 Content Provider 的 openFile() 接口进行文件目录遍历以达到访问任意可读文件的目的。openFile()原创 2022-05-29 23:18:42 · 3612 阅读 · 3 评论 -
PendingIntent劫持导致app任意文件读写漏洞
本文在 Android 12 系统上将基于一个具体的 Demo 实例程序和 POC 利用程序,来介绍 Android 系统一种典型的攻击模式—— Pending 劫持导致 Intent 重定向、或者非法获取受害者 APP 应用的 FileProvider 读写权限(可形成命令执行漏洞)。原创 2022-05-25 01:58:41 · 2163 阅读 · 3 评论 -
Android Zip解压缩目录穿越导致文件覆盖漏洞
文章目录漏洞简述漏洞实例正常压缩包恶意压缩包历史漏洞任意命令执行问题根因分析漏洞防御漏洞简述zip 类型的压缩包文件中允许存在 ../ 类型的字符串,用于表示上一层级的目录。攻击者可以利用这一特性,通过精心构造 zip 文件,利用多个 ../ 从而改变 zip 包中某个文件的存放位置,达到替换掉原有文件的目的。那么,如果被替换掉的文件是是 .so、.dex 或 .odex 类型文件,那么攻击者就可以轻易更改原有的代码逻辑,轻则产生本地拒绝服务漏洞,影响应用的可用性,重则可能造成任意代码执行漏洞,危害应原创 2022-05-19 01:36:48 · 3728 阅读 · 0 评论 -
Android FileProvider特性与Intent重定向漏洞
文章目录前言分区存储Android 10/11共享存储空间FileProvider提供FileProvider访问FileProviderIntent重定向访问不可导出的组件越权访问FileProviderWebview访问任意组件总结前言FileProvider 是 Android 7.0 出现的新特性,它是 ContentProvider 的子类,可以通过创建一个 Content URI 并赋予临时的文件访问权限来代替 File URI 实现文件共享。Intent 重定向漏洞能够使得攻击者借助受害者原创 2022-05-16 01:31:52 · 4038 阅读 · 0 评论 -
Android 应用层组件安全测试基础实战技巧
文章目录前言Adb Shellam指令pm指令other…前言前面写过 移动安全-Android安全测试框架Drozer 一文,记录了如何使用 Drozer 对 Android 四大组件进行安全测试,本文补充下其他一些零散的测试知识。Adb Shelladb shell 提供了很多实用的命令可供测试者使用,如 am、pm 等命令。am指令am 指令是 activity manager 的缩写,可以启动 Activity、Service、Broadcast,杀进程,监控等功能,这些功能都非常便捷调原创 2022-05-12 01:00:16 · 2151 阅读 · 2 评论 -
Android HAL硬件抽象层的原理与应用实例
文章目录前言前言先来看下 Android 的系统架构图:HAL 全称 Hardware Abstract Layer,即硬件抽象层,它向下屏蔽了硬件的实现细节,向上提供了抽象接口,HAL是底层硬件和上层框架直接的接口,框架层通过HAL可以操作硬件设备。为什么需要HAL?许多早期的计算机系统没有任何形式的硬件抽象,这意味着为该系统编写程序的任何人都必须知道每个硬件设备如何与系统的其余部分进行通信。这对软件开发人员来说是一个巨大的挑战,因为他们必须知道系统中每个硬件设备如何工作才能确保软件的兼容性。原创 2021-12-29 23:17:14 · 4928 阅读 · 2 评论 -
Android系统服务分析与Native Service实例
文章目录前言System ServiceVibrator 服务分析系统服务实现流程Native Service蓝牙设置实例IDeviceMac.h接口文件IDeviceMac.cpp接口实现文件DeviceMacService服务实现文件注册Service和Client端调用代码的编译与运行调用加减乘除实例IArithmeticService.hIArithmeticService.cppArithmeticService.hArithmeticService.cpp启动设置与编译运行main_client原创 2021-12-29 00:46:42 · 4706 阅读 · 0 评论 -
基于AIDL编程实现Android远程Service服务
文章目录Android本地Service异步消息处理机制服务与活动的通信Android远程ServiceBinder与AIDL基础AIDL Service服务端Service 作为 Android 四大组件之一,应用非常广泛。远程服务与本地服务最大的区别是:远程 Service 与调用者不在同一个进程里(即远程 Service 是运行在另外一个进程);而本地服务则是与调用者运行在同一个进程里。二者区别的详细区别如下图:Android本地Service先来看看 Android 普通 Service原创 2021-12-04 15:24:42 · 3603 阅读 · 0 评论 -
Android跨进程通信Binder机制与AIDL实例
文章目录进程通信1.1 进程空间划分1.2 跨进程通信IPC1.3 Linux跨进程通信1.4 Android进程通信Binder 跨进程通信2.1 Binder简介2.2 Binder驱动2.3 Binder原理AIDL编程Demo3.1 服务端3.2 客户端在操作系统中,进程与进程间的内存和数据都是不共享的。这样做的目的,是为了避免进程间相互操作数据的现象发生,从而引起各自的安全问题。为了实现进程隔离,采用了虚拟地址空间,两个进程各自的虚拟地址不同,从逻辑上来实现彼此间的隔离。两个进程之间要进行通信原创 2021-12-04 00:42:35 · 5253 阅读 · 2 评论 -
Android签名验证与反调试机制的对抗技术
文章目录前言签名验证1.1 签名机制1.2 签名验签1.3 签名绕过反反调试2.1 tracerPid检测2.2 进程名称检测2.3 关键文件检测2.4 调试端口检测2.5 ptrace值检测2.6 时间差异检测2.7 内置函数检测2.8 调试断点检测总结前言Android 的 APK 文件为了防止被篡改和重打包,经常会做签名校验来保证自身完整性,当程序被篡改后将提示用户或者直接退出运行。同时有些 APP 为了防止被攻击者动态调试和分析,还做了反调试机制。本文来学习记录下 Android 签名验证机制与原创 2021-10-29 01:05:59 · 2275 阅读 · 0 评论 -
IDA动态调试破解AliCrackme与反调试对抗
文章目录前言APK破解(上)1.1 静态分析1.2 动态分析反调试对抗2.1 Ptrace2.2 全局调试2.3 反反调试APK破解(下)3.1 重新编译3.2 动态调试总结前言在前面的文章中 IDA动态调试破解EXE文件与分析APK流程 介绍了 IDA 对 APK 进行动态调试分析的简单流程,然而实际上很多 APP 为了防止被动态调试分析,经常会做一些反调试的防护措施。本文将通过 2014 年阿里安全挑战赛的第二题 AliCrackme_2(APK下载地址),来进一步学习 APK so 文件的动态调试原创 2021-10-17 16:16:33 · 2711 阅读 · 1 评论 -
Android逆向基础之ARM汇编语言知识总结
文章目录前言ARM汇编1.1 寄存器1.2 变址寻址方式1.3 常用汇编指令前言X86 是英特尔 Intel 首先开发制造的一种微处理器体系结构的泛称,包括 Intel 8086、80186、80286、80386 以及 80486 等以 86 结尾系列,英特尔统治整个 CPU 产业链长达数十年。ARM(Advanced RISC Machines)公司是苹果、Acorn、VLSI、Technology等公司的合资企业,ARM 处理器非常适用于移动通信领域,具有低成本、高性能和低耗电的特性,ARM 的高原创 2021-10-15 23:53:26 · 3327 阅读 · 2 评论 -
IDA动态调试破解EXE文件与分析APK流程
文章目录前言IDA调试基础1.1 JNI函数转换1.2 快捷键使用1.3 ARM指令集IDA调试APK2.1 IDA调试步骤2.2 Apk调试实例IDA调试EXE3.1 IDA静态分析3.2 IDA动态调试总结前言在前一篇文章:JEB动态调试与篡改攻防世界Ph0en1x-100 中介绍了如何借助 JEB 调试工具对 APK 的 smali 源码进行调试分析,本文主要来看如何使用 IDA 来调试 Android 中的 native 源码,因为现在一些 app,为了安全或者效率问题,会把一些重要的功能放到原创 2021-10-11 19:31:37 · 5546 阅读 · 0 评论 -
OllyDbg动态调试与逆向破解TraceMe.exe
文章目录前言OllyDbgTraceMe前言OllyDbg 是一个新的动态追踪工具,是将 IDA 与 SoftICE 结合起来的产物,Ring3 级调试器,非常容易上手,另外由于 OllyDbg 是一个通用的 32 位汇编分析调试器且操作界面非常直观简单,己代替 SoftICE 成为当今最为流行的调试解密工具了。同时 OllyDbg 还支持插件扩展功能,是目前最强大的调试工具,OllyDbg中文官方网站。OllyDbg下面先简单介绍下 OllyDbg 这款工具的基本使用,OllyDbg下载地址(吾爱原创 2021-10-07 01:14:15 · 5452 阅读 · 1 评论 -
浅析缓冲区溢出漏洞的利用与Shellcode编写
文章目录前言前言缓冲区是内存中存放数据的地方。在程序试图将数据放到及其内存中的某一个位置的时候,因为没有足够的空间就会发生缓冲区溢出。缓冲区溢出就好比是将十升水放进只有五升容量的桶里。很显然,一旦容器满了,余下的部分就会溢出在地板上,弄得一团糟。缓冲区溢出漏洞是指在程序试图将数据放到及其内存中的某一个位置的时候,因为没有足够的空间就会发生缓冲区溢出的现象。...原创 2021-09-30 23:46:38 · 6615 阅读 · 0 评论 -
移动安全-Frida hook安卓So层函数实战
文章目录前言Hook So有导出so层hook无导出so层hookSo层实战hook脚本的编写hook脚本的效果总结前言我在前面的一篇博客 CTF逆向-EasySo攻防世界SO层反汇编 中记录了对一道 CTF 逆向题目的 Android APP 的 So 层函数进行基础的逆向分析的过程,通过 IDA 反汇编查看 So 层代码并分析获得了 Flag 值。生命在于折腾~本文将记录尝试通过 Frida hook 目标 APP 的 So 层函数并直接修改返回值(如同以前熟悉的 hook Java 层的函数一原创 2021-04-10 20:58:30 · 8275 阅读 · 3 评论 -
移动安全-Burpy自动化加解密APP报文
文章目录前言Burpy实战演示环境插件简介RPC脚本Burpy效果手动加解密自动加解密总结前言我在前面一篇博文 移动安全-Brida加解密数据 中介绍了如何使用 Brida 插件对 APP 报文进行自动化加解密,Brida 美中不足的是对报文进行加解密的时候需要手动点击,除非通过新增自定义的 BurpSuite 插件来搭配 Brida,才能实现 repeater 模块中的报文自动化加解密。后来发现 m0nst3r(个人博客) 大佬在 Github 上开源了一个用于自动化加解密数据的插件 Github:原创 2021-03-31 17:40:35 · 2665 阅读 · 0 评论 -
移动安全-Frida脱壳脚本与加固迭代
众所周知,Android应用开发完成后,除了使用Google官方的混淆外,还需要使用一些第三方的安全软件的加壳处理,比较出名的有腾讯乐固、360加固和爱加密等。我之前所在的公司,就是使用爱加密进行加壳处理的。虽然加密后,让软件的安全性更高了,但并不是无懈可击,一些反加固技术和脱壳技术应运而生。今天要说的就是腾讯乐固、360加固一键脱壳。经过加固后的apk,通过dex2jar反编译效果是下面这样的:腾讯乐固加固:360加固...原创 2021-03-05 00:09:48 · 7055 阅读 · 0 评论 -
移动安全-Android APP敏感信息测试
文章目录移动金融APP备案Android APP数据存储sdcard 文件SQLite数据库ContentProvidersharedPreferencesAPK客户端敏感信息测试Logcat 运行日志SQLite 数据库sharedPreferences其他本地文件的检查Genymotion模拟器补充移动金融APP备案最近在接触新的工作项目——移动金融APP备案,需要对金融 APP 客户端进行安全测试,在此总结记录下相关的部分测试内容和方法。关于移动金融APP备案,Part1:首先看中国互联网金原创 2021-01-24 02:26:46 · 3313 阅读 · 1 评论 -
移动安全-Activity劫持检测与防护
文章目录前言检测程序测试方法修复方案前言Android 为了提高用户的用户体验,对于不同的应用程序之间的切换,基本上是无缝。举一个例子,用户打开安卓手机上的某一应用例如支付宝,进入到登陆页面,这时恶意软件检测到用户的这一动作,立即弹出一个与支付宝界面相同的 Activity,覆盖掉了合法的 Activity,用户几乎无法察觉,该用户接下来输入用户名和密码的操作其实是在恶意软件的 Activity上进行的,接下来会发生什么就可想而知了。在日常对Android APK进行客户端安全测试过程中,有一个测试用原创 2020-09-25 20:09:03 · 4559 阅读 · 2 评论 -
移动安全-Android安全测试框架Drozer
文章目录前言框架安装PC控制端手机代理端连接测试实战测试组件漏洞前言Drozer 是 MWR Labs 开发的一款 Android 安全测试框架,是目前最好的 Android 安全测试工具之一。其官方文档说道:“Drozer允许你以一个普通android应用的身份与其他应用和操作系统交互”。Drozer是一种交互式的安全测试工具,使用Drozer进行安全测试时,用户在自己的工作站上输入命令,Drozer会将命令发送到Android设备上的代理程序执行。实际上 Drozer 的核心功能就是通过分析 A原创 2020-09-25 18:48:53 · 1685 阅读 · 0 评论 -
IOS逆向-浅析越狱
IOS越狱iOS 越狱(iOS Jailbreaking),是用于获取苹果公司便携装置操作系统iOS最高权限(root权限)的一种技术手段,用户使用这种技术及软件可以获取到 iOS 的最高权限。用户越狱完毕之后,可以透过如Cydia(越狱是否成功的一个标志)这一类包管理器,来安装 App Store 以外的扩展软件及外观主题;或是完成越狱前无可能进行的动作,如安装Linux系统;也可以使用命令...原创 2020-04-25 11:19:40 · 2185 阅读 · 0 评论 -
移动安全-Brida加解密数据
前言在测试一些应用的时候(以移动端为例),会经常发现客户端和服务端的通讯数据是加密过的(如下图),在这种情况下,我们如果想继续测试下去,就得去逆向程序中使用的加密算法,然后写程序实现它,然后在后续测试中使用它,这种方式需要耗费大量的时间和精力。而 Brida 这款插件的出现简直天降神器。Brida是BurpSuite的一个插件,它可以将Burp和Frida结合起来使用,可以在 BurpSui...原创 2019-10-22 22:52:52 · 6817 阅读 · 1 评论 -
移动安全-APP证书校验与抓包
前言如果你是干web安全的,当你在测试目前大多数的手机APP应用程序时,你一定遇到过burpsuite无法抓到数据包的情况,开始你以为只是https的问题,但是当你使用了burpsuite伪证书也无法抓取到时,你心里除了有句“MMP……”外,你一定也在思考这其中的蹊跷。为什么HTTPS的网站使用伪证书可以抓到,而在APP里面同样的方法就抓不到?答案是:APP启用了SSL Pinning(又叫“...原创 2019-10-18 09:07:52 · 3800 阅读 · 1 评论 -
移动安全-Frida入门实战
Frida相关知识Frida是HOOK技术的框架,关于HOOK技术的介绍、Frida的安装、Java反射的原理等内容本文不做阐述,请直接翻阅以下博文:移动安全-Hook技术本文直接对Frida框架的基础用法(PC端命令和JS代码语法)进行介绍,然后进行入门实例的实战演示。Frida基础用法PC端命令下面是Frida客户端(PC端)命令行的参数解释,看一下就好:Usage: frida...原创 2019-09-03 14:51:39 · 1715 阅读 · 0 评论 -
移动安全-Sigcheck签名校验
微软数字签名工具–SigCheck的应用我们可以利用微软官方提供的命令行工具:SigCheck.exe,这个命令行工具可以在命令提示符下直接检查文件的数字签名,操作也是相当的简单。请访问微软官网,单击“Download Sigcheck”链接将其下载回来,释放之后即可使用。使用方法:1.管理员方式运行命令行2.环境变量加入sigcheck路径3.检测的可执行软件路径中不能有空格...原创 2019-08-08 11:32:05 · 2351 阅读 · 0 评论 -
移动安全-APP安全加固
风险名称危害解决方案App防止反编译被反编译的暴露客户端逻辑,加密算法,密钥,等等加固Java层代码源代码反编译风险被反编译的暴露客户端逻辑,加密算法,密钥,等等加固 ,混淆so文件破解风险导致核心代码泄漏so文件加固篡改和二次打包风险修改文件资源等,二次打包的添加病毒,广告,或者窃取支付密码,拦截短信等资源文件混淆和校验签名的hash值...原创 2019-08-04 17:03:56 · 3704 阅读 · 0 评论 -
移动安全-APK加壳
概述现阶段。我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个APK,结果被人反编译了,那心情真心不舒服。虽然我们混淆,做到native层,但是这都是治标不治本。反编译的技术在更新,那么保护APK的技术就不能停止。现在网上有很多APK加固的第三方平台,最有名的应当属于:爱加密、梆梆加固、360加固、百度加固、腾讯加固等。什么是加壳?移动平台攻防技术的发展基本是沿着P...原创 2019-08-04 16:24:45 · 2120 阅读 · 0 评论 -
移动安全-APK代码混淆
概述Android代码混淆是让Android项目避免轻易被逆向分析,防止代码安全泄露的手段之一。它将工程中的Android代码用简单抽象的字母或单词代替原有的代码名称。使代码丧失可读性从而使逆向工程师难以阅读,增加逆向成本。当逆向成本大于逆向收益的时候,逆向代码也就失去意义。除此之外,由于代码混淆用简单抽象的单词代替原有长而通俗易懂的代码,因而减少APK的体积。而且,使用代码混淆后,利用Gra...原创 2019-08-03 22:39:07 · 1556 阅读 · 1 评论 -
移动安全-APK反编译
https://ibotpeaches.github.io/Apktool/install/原创 2019-07-31 15:53:32 · 767 阅读 · 2 评论 -
移动安全-Hook技术
Hook简述1、 hook的定义hook,钩子。勾住系统的程序逻辑。在某段SDK源码逻辑执行的过程中,通过代码手段拦截执行该逻辑,加入自己的代码逻辑。2、实用价值hook是中级开发通往高级开发的必经之路。如果把谷歌比喻成安卓的造物主,那么安卓SDK源码里面就包含了万事万物的本源。中级开发者,只在利用万事万物,浮于表层,而高级开发者能从本源上去改变万事万物,深入核心。最有用的实用价值: ...原创 2019-07-10 11:38:55 · 3121 阅读 · 0 评论 -
Android-Git使用教程
Git简介Git是什么?Git是目前世界上最先进的分布式版本控制系统(没有之一)。Git有什么特点?简单来说就是:高端大气上档次!那什么是版本控制系统?如果你用Microsoft Word写过长篇大论,那你一定有这样的经历:想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,这样一直改下去,最...原创 2019-05-14 14:27:11 · 4505 阅读 · 3 评论