PTRACE_TRACEME CVE-2019-13272 本地提权漏洞解析
来源:岁月联盟
时间:2020-01-29
158 }
当 exploit binary 以参数 stage3 运行时,实际运行的是 spawn_shell 函数, 所以 task C 最后阶段运行的是 spawn_shell
160 static int spawn_shell(void) {
161 SAFE(setresgid(0, 0, 0));
162 SAFE(setresuid(0, 0, 0));
163 execlp("bash", "bash", NULL);
164 err(1, "execlp");
165 }
在 spawn_shell 函数里, 它首先使用 setresgid/setresuid 将本进程的 real uid/effective uid/save uid 都变成 root, 由于 task C 刚刚已经执行了 suid binary 将自身的 euid 变成了 root, 所以这里的 setresuid/setresgid 可以成功执行,到此为止, task C 就变成了一个完全的 root 进程, 最后再执行 execlp 启动一个 shell, 即得到了一个完整 root 权限的 shell
引用
- broken permission and object lifetime handling for PTRACE_TRACEME
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]


![[图]0patch发布免费补丁:修复Windows 7中的本地提权漏洞](/d/file/20220219/e9aad0aaba7c532532f19474d675f2d0.png)

![[图]微软:WES7已于10月13日停止支持 推荐客户尽快升级](/d/file/20220219/f65a8e8c7ce9e40e08ec09b40dc2c64e.png)






