Telegram Web
Magisk alpha
KeyAttestation-v1.6.0.apk
这是一款测试应用,用于测试设备的密钥认证功能,特意不添加网络权限。但很多人欺骗自己,没有意识到自测不是正式检测,它仅通过导入导出功能模拟服务器验证。app甚至不校验结果,而是尽可能展示全部内容。
原定于2.0版本计划支持利用 shizuku 的高权限获取更多证明内容,例如唯一设备标识符,这是app权限无法做到的。可以查看当前设备的唯一标识符是否与出厂时写入TEE的值一致,以识别二手改机等行为。还有三星的 Knox 证明也需要adb权限,可以查看熔断位等状态。

现在以上计划延后,优先加入网络权限。通过与服务器进行TLS双向认证握手,彻底地,完整地,实现全套密钥证明验证。这可以确保网络流量无法被中间人监听或修改,并且确实来自于bootloader上锁设备。bootloader已解锁的设备无法完成 mTLS 握手,客户端证书会被服务器拒绝,无法连接服务器。相当于服务器自动拉黑了全部已解锁设备。
该功能将于2.0版本上线,敬请期待。

PS:我同时指责Google的不作为,把证书管理当过家家。没有起到监督OEM的作用,事后也不弥补过错,及时吊销泄露私钥的证书。
Forwarded from 绝对萌域 (Js0n😷🇲🇾🇸🇬)
Forwarded from 陰角Anon與陽角Soyo的樂隊革命
app-release.apk
12.5 MB
https://github.com/topjohnwu/Magisk/blob/master/docs/faq.md
这个文档有误导。

系统检测长按音量减键触发安全模式的功能,写在system_server。此时post-fs-data已经结束,模块加载完毕,zygote都跑起来了。
很多人等待动画出现后才开始按键,他们被文档误导以为系统安全模式会触发magisk安全模式。这是不对的,时间上反了。
要在加载模块之前识别到安全模式,magisk检测按键必须早于系统。出现动画后再按键,已经错过magisk的检测,只会触发系统安全模式。应该在bootloader解锁警告后立即按住音量减,出现动画后反而可以松开——如果不想同时触发系统安全模式。

还可以通过prop触发安全模式。开机状态下,长按电源菜单的重启按钮,在「重新启动到安全模式」弹窗上点确定,会设置prop。下次开机时magisk和系统如果读取到该prop会进入安全模式。但它不实用,或者说,对救砖毫无意义。

alpha现在支持自动进入magisk安全模式。如果设备连续两次未能正常启动,下次开机时会自动禁用全部模块。这个新功能独立于系统安全模式,可以在magisk应用的重启菜单中勾选来强制触发。
Forwarded from 钱庄
https://android.googlesource.com/platform/system/logging/+/6aeeaacedaafab2d7ada57e7bfb75741a0461706

从 Android 13 开始,谷歌为了防止日志过多导致在测试机器错误报告超时,将日志缓冲区大小强制调整为 256 KB。因此,在开发者选项中调整日志缓冲区大小或设定相关 logd prop,实际上不会起到任何作用。
This media is not supported in your browser
VIEW IN TELEGRAM
使用可调试的官方Magisk app时,adb shell可以自动获取root权限
run-as com.topjohnwu.magisk
su
希望这个小技巧能对救砖有所帮助
Forwarded from 陰角Anon與陽角Soyo的樂隊革命
app-release.apk
11.1 MB
magisk可能导致设备唯一标识符泄漏

受影响版本:27.0之前所有版本,以及特殊情况下27003以后所有版本
受影响设备:Android11及更高设备

详情

Android11起系统限制用户应用使用netlink的RTM_GETLINK读取网卡mac地址,这是通过自定义SELinux添加标志位实现的,该修改被Linux上游拒绝,是Android特定修改。
在27.0之前,magisk使用上游libselinux库,因此该Android特定标志在修补sepolicy时丢失,导致未能正常启用限制,任何应用都可以读取mac地址。
在27.0后,magisk为所有设备无条件启用限制。但是部分升级了新内核的设备支持处理该标志,用户空间内的sepolicy却没有做好准备,导致全部进程都受到限制,直观表现是无法连接WiFi。
27003起,magisk解析旧sepolicy的标志,复制到新sepolicy,原问题得以解决。

magisk的sepolicy实时修补功能从内核读取当前sepolicy,修补规则后重新加载sepolicy。由于内核存在bug,Android特定标志不会报告给用户空间,magisk读取出的当前sepolicy永远没有此特定标志。因此在sepolicy实时修补后,限制被禁用,所有应用可以读取mac地址。
可以用 https://android-review.googlesource.com/c/kernel/common/+/3009995 修复此内核bug,但补丁由于不明原因被Google要求应该提交给Linux上游,随后又说应该删除此Android特定功能。总之,该补丁目前被Google拒绝合并,我们也无能为力。比起无法连接WiFi,实时修补sepolicy后会泄露mac地址显得可以接受。

利用情况

我们观察到流行应用正在使用RTM_GETLINK获取设备mac地址。至少一个应用通过判断Android11+设备依然能读取mac地址检测magisk。

建议

Android11之前的设备不受影响。其它设备应该升级到magisk 27.0。如果无法使用WiFi,升级到27003。在27003+时,不要使用sepolicy实时修补,检查所有模块和root应用,要求它们的开发者切换到sepolicy.rule。

相关链接

magisk导致mac地址泄露 https://github.com/topjohnwu/Magisk/issues/7636
magisk破坏了WiFi https://github.com/topjohnwu/Magisk/issues/7764
magisk复制Android特定标志到新sepolicy https://github.com/topjohnwu/selinux/commit/48fcf8bba0635dc597bef75994294fd055d9f0ba
内核中Android特定标志的实现(只处理了 policydb_read() 函数,忘记处理 policydb_write() 函数) https://android.googlesource.com/kernel/common/+/dc34c9f193fd4e3476e0e9331f5fdacce6fbc6fc https://android.googlesource.com/kernel/common/+/bdf56fbea560eea1e9c2793d69ba13cca2596d7d
内核修复补丁,处理了 policydb_write() 函数 https://android-review.googlesource.com/c/kernel/common/+/3009995

致谢

aviraxp https://www.tgoop.com/qianqianzhuang/33
ASH_STANDALONE=1 /debug_ramdisk/.magisk/busybox/sh

使用技巧,magisk tmp目录内的busybox不需要root权限即可使用
华为现在的根证书
华为之前用的根证书
与三星SAK不同,KeyAttestation应用决定不予信任华为根证书。
从完整OTA包提取boot镜像

从微软商店安装python3.12
pip install https://github.com/5ec1cff/payload-dumper/archive/refs/heads/master.zip
payload_dumper --partitions init_boot https://dl.google.com/dl/android/aosp/husky-ota-ud1a.230803.022.b1-13ff7dfb.zip
即可在output目录找到init_boot.img。

以上示例中init_boot.img为8MiB,总下载大小1.7MiB,用时不到一分钟。
2024/12/18 18:53:09
Back to Top
HTML Embed Code: