-
-
[原创]freeRASP签名检测和其他设备环境的绕过方案
-
-
[原创]freeRASP签名检测和其他设备环境的绕过方案
针对国外Talsec freeRASP付费定制化加固的通杀绕过方案
本方案不hook一切应用代码,全部使用绕过系统底层来实现通杀效果,避免触碰应用代码这种不能复用的方式
本项目实现了针对 Talsec freeRASP 安全检测框架的完整绕过方案,采用四层防护体系,从内核层到应用层全面拦截检测
一、 Native 层 BPF 系统调用拦截
======================================================
核心原理:
使用 Linux BPF 机制在内核层拦截系统调用,在 SIGSYS 信号处理器中伪造返回值。这是最底层的拦截方式,应用无法绕过
绕过方案:
1. APK 签名伪造
拦截 openat、read、fstat 系统调用并伪造
当应用读取 apk 时,重定向到预存的 原包.apk(包含原始签名)
PS:其实freeRASP并没有直接去读取apk来验证签名,这里只是说一下svc的签名绕过方案,其他加固会直接读取apk来验证签名,包括谷歌的检测,应该写到自己的绕过框架里面,一股脑无脑绕过
2. /proc/self/maps 隐藏
拦截 read 系统调用读取 maps 文件
过滤所有一切敏感行
3. /proc/self/status 伪造
将 Seccomp: 2 改为 Seccomp: 0
隐藏 seccomp 过滤器的存在,这个隐藏方案其实不完整,加固厂商如果采取更严格的手段还是能检测到的,但是其实Zygote自己本身也会安装bpf,所以如果自己不安装的话,这个还是会检测到2,其实并不通过这个来检测
4. /proc/self/mounts 过滤
过滤包含 magisk、zygisk、core/mirror 的挂载点
隐藏 Magisk 相关挂载
5. Ftrace 检测绕过
伪造 /proc/sys/kernel/ftrace_enabled
伪造 /sys/kernel/debug/tracing/current_tracer
二、设备安全状态伪造
=============================================
核心原理:
Hook Java 层系统 API,伪造设备安全状态,绕过各类环境检测
绕过方案:
1. Root 检测绕过
File.exists() > false 隐藏 /system/bin/su 等 70+ 个 root 路径,这个是从某个加密数组里解密出来的
Runtime.exec() > 拦截 阻止执行 su、which su 等命令
PackageManager.getPackageInfo() > 抛异常 隐藏 Magisk、KernelSU 等 50+ 个 root 包名,这个也是从某个加密数组里解密出来的
System.getenv("PATH") > 过滤 移除 PATH 中的 /sbin 等路径,这个也是从某个加密数组里解密出来的
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!