关于突破 SESSION 0 隔离场景发现的一些问题

0x00 Tricks

0x01 用ZwCreateThreadEx

在 Windows 10 下直接通过管理员权限+SeDebugPrivilege启用。

image

0x02 用CreateRemoteThread

实际上发现 CreateRemoteThread 也是可以直接突破 SESSION 0 隔离向服务进程注入DLL的。

测试在Windows 10 场景下还是管理员权限+SeDebugPrivilege启用。

看书里的解释与实际测试暂时不一致。具体原因待分析,目前需要测试Windows 内核版本为6.0的,诸如Windows 7。

image

0x03 记录

目前测试的过程中,报错均为 OpenProcess 报错,关于向 session 0 服务进程注入dll,可能就跟OpenProcess的权限有关系,那么记录下想法,不一定都对:

获取进程句柄需要用 OpenProcess ,而服务进程和系统进程有 session 0 隔离,我们正常运行程序的权限是用户权限, explorer 和 cmd 打开的进程权限默认没有 SeDebugPrivilege 权限,而想要获取系统进程和服务进程的句柄,进行指定写相关的访问权的 OpenProcess 操作,需要 SeDebugPrivilege 权限。Administrator 默认拥有,但是未开启,所以可以通过代码开启,或者通过管理员启动 powershell 执行,这样自带 SeDebugPrivilege 权限。

posted @ 2021-10-09 11:09  cunren  阅读(247)  评论(0编辑  收藏  举报