🗒️Android环境下Seccomp对系统调用的监控Android安全一切都因WMCTF2023一道Android 游戏题BabyAnti-2而起,预期解为拦截**mincore**调用(**int mincore(void *start, size_t length, unsigned char *vec);**监测指定大小的页面是否处于物理内存中。一般用于内存扫描的检查,一旦扫描行为发生,有些并不在物理内存的页面被调入。vec 是一个字节数组,用于存储结果。每个字节对应 addr 和 length 指定的内存区域中的一个页面。如果相应的页面驻留在内存中,那么相应的字节的最低位会被设置为 1,否则会被设置为 0。),当时非预期了题目,即直接CheatEngine附加游戏题,扫描内存时游戏虽然会监测到并弹窗,但是游戏正常运行,直接能修改分数并且拿到flag。 由于题目中mincore 不止存在直接libc调用,而且存在svc指令的调用,这种svc指令相当于是直接的系统调用,不能被一般的钩子挂住,从而无法监视和修改调用参数返回值。而且题目设计使用申请的内存空间修改为可执行后放置svc指令,一直循环监测。除此之外,题目还是flutter写的,逆向逻辑难上加难。经过大量逆向和调试工作后,利用frida的内存搜索功能匹配svc指令,最终能够拦截并且不被检测到,但是鉴于太复杂,想着有没有什么通用办法,不需要逆程序逻辑就直接拦截svc调用的方法。 于是有了这篇文章,文章总结了各位大佬提出的三种方案(ptrace-seccomp,frida-seccomp以及sigaction-seccomp)并进行了测试。2024-1-25 Android Reverse Seccomp
🗒️2023AVSS-SELinux题目Android安全2023-Geekcon决赛 AVSS赛道其中的一道题目,现场时因为之前没接触过这种漏洞,当时虽然有想法但是没做出来,留到赛后复现,题目考点在于如何通过System的任意写造成任意代码执行,对于高版本的解题环境可能需要绕过SELinux,这里暂时仅复现了Android 4.4环境的解题和另外两个环境的部分思路(暂时没有设备进行调试),后面如果有任何进展将会同步在blog。2023-11-26 AVSS SELinux AndroidPwn
🗒️CVE-2020-0338漏洞分析Android安全没想到除了Bundle风水还有这样一种优雅的利用方法,叹为观止2023-11-23 AndroidPwn Android LaunchAnyWhere
🗒️动态链接库与内存Dump结果修复Android安全腾讯游戏安全技术竞赛2023 安卓客户端初赛安卓题目是由Unity写的游戏,其中又有il2cpp ,一般情况下都是直接使用global-metadata.dat 和libil2cpp.so 拿到il2cpp相关数据以此来辅助逆向工程,但是在这个题目中libil2cpp.so 被加密,在游戏运行初始化时由其他代码进行解密后加载入内存。所以直接使用Il2CppDumper 会出现问题无法正常获取数据。 实际上如果设备已经获取ROOT权限并且安装有面具,则可以使用https://github.com/Perfare/Zygisk-Il2CppDumper,与上面提到的Il2CppDumper 为同一作者,该项目直接安装模块,在游戏运行过程中Dump出逆向所需要的信息,经测试是可以无视保护措施进行dump。但是无论如何要想进一步进行逆向分析少不了拿到解密后的动态链接库文件,然后进行修复以更好地进行静态分析。由此引出这篇文章,主要学习参考了下面提到的几篇文章,在此记录学习。2023-10-9 TencentSec SharedObject
🗒️Android-Flutter逆向Android安全因为WMCTF2023的一道用Flutter写的Android游戏题而引出这篇文章,刚好一直想研究一下Flutter,这次趁这个机会研究一下,并且介绍一种基于Patch Flutter动态链接库实现辅助解析Flutter逆向工程符号的方法。这个方法理论上支持任意Flutter版本,而且具有高度定制化的特点,缺点是需要根据特定的版本重新编译,并且需要替换动态链接库,存在被检测到的可能。2023-9-4 Flutter Android
🗒️CVE-2021-0928漏洞分析Android安全该漏洞在Android 12 Developer Preview 3版本是上被发现,并在Android 12 release中就已经完成了修复。本文进行简单分析2023-8-24 CVE AndroidPwn Android Bundle ParcelMismatch
🗒️De1CTF-2020-Pwn-BroadCastTestAndroid安全这道题目利用的是Parcel MisMatch进行漏洞利用,和直接在系统上通过AddAcount利用造成LaunchAnyWhere原理一样,但是有些细节还是不太一样,需要记录一下。2023-8-21 ParcelMismatch Bundle AndroidPwn
🗒️CVE-2022-20452-LeakValueAndroid安全对LazyBundle机制进行了分析,对漏洞原理进行了简单分析,但是漏洞利用复杂,这里没有详细说明2023-8-19 Bundle Android
Android反序列化漏洞-Bundle风水Android安全因为去年的某厂商利用其主流APP中的漏洞对Android设备进行大面积的攻击使用了这一漏洞,对这个问题比较感兴趣,阅读一些相关文章后决定结合理解进行整理再做记录。文章介绍了Parcel不匹配问题和Bundle风水的利用细节,并结合CVE-2017-13288和CVE-2023-20963进行分析2023-8-17 Android ParcelMismatch BundleFengshui LaunchAnyWhere