在渗透测试中,常常会遇到需要改变程序启动权限(分为提权和降权)的情况。
提权包含从普通用户权限到管理员权限和从管理员权限到system权限,而渗透测试中的降权通常是指从system权限降到普通用户权限(从管理员权限降到普通用户权限比较简单,方法很多),往往是为了操作当前用户的文件内容(如捕获桌面、操作注册表等)
本文将会介绍具体的降权方法(从system权限降到普通用户权限),理清其中的重点,并且开源一个小工具,用于判断进程权限
0x01 简介
本文将要介绍以下内容:
-
为什么要降权
-
从管理员权限降到普通用户权限的方法
-
从system权限降到普通用户权限的方法
-
利用SelectMyParent实现提权和降权
注:
测试系统: Win7
0x02 为什么要降权
使用sytem权限的进程可能会遇到以下问题:
1、无法获得当前用户的文件内容
例如无法捕获用户的屏幕
2、环境变量有差异
比如以下环境变量:
-
APPDATA
-
Temp
-
Tmp
-
USERDOMAIN
-
USERNAME
-
USERPROFILE
cmd下可通过echo查看环境变量,例如查看环境变量APPDATA的命令为:
echo %appdata%
system权限下,查询到的环境变量APPDATA为C:\\Windows\system32\config\system\profile\AppData\Roaming
管理员权限下,查询到的环境变量APPDATA为C:\\Users\a\AppData\Roaming
如下图
通过API SHGetSpecialFolderPath 获