最近测试注入遇到一个问题:OpenProcess 失败,报错码:5,没有权限。
问题排查:
1,是否是管理员权限启动程序?
是
2,注入的目标进程有什么特殊?
目标进程是svchost.exe,是服务进程,在session0;我的程序在session1。
是因为在不同session吗?
3,上网搜索相关内容并继续试验
弄巧成拙:通过ProcessHacker把资源管理器进程重启后,发现又可以注入服务进程了。
所有和session没有什么关系,那是为什么?对比前后资源管理器进程的差别可以发现,如下图:
(都是系统管理员权限启动)左边是重启后,右边是重启前。可以发现关键差别是SeDebugPrivilege 属性被“点开”。进程的SeDebugPrivilege被“点开"后,可以注入svchost.exe。
所有目前没有和session有什么关系,privileges matters!
成功注入后,从内存中创建的线程,如下图: