三星s8 root简单思路总结

  1. 竟态漏洞实现一个double free,在释放后,进行喷射,填充好结构体,删除链表时会进行一个任意地址写的漏洞,其中运用两个信息泄露漏洞,第一个可以占位喷射的结构体,使其不崩溃,第二个绕过kaslr。

  2. 实现了任意地址写,会覆盖一个check_flags函数,实现用户态可控、
    然后修改addr_limit: 三星会检查函数开始地址,如果不是,则panic,传统的kernel_setsockopt不行了

    • 可以打开不存在的文件,则失败,set_fs(kernel_ds)生效。
    • 用score_binary_upload覆盖check_flags,内部有memcpy。
  1. 然后cred,页表项,root相关的结构体会设成只读,需要发送指令给trust_zone,会进行严格的检查。
  2. selinux完整性校验会校验uid等其他。
  3. 禁止内核态调用空间线程。
    • 绕过的话可以重新设置一片cred, 修改selinux_hook_heads全局指针绕过检查和selinux ,load_scripts可以bypass内核态进程禁止用户空间的程序的执行。

详细文章:https://www.iceswordlab.com/page/2/

你可能感兴趣的:(三星s8 root简单思路总结)