蓝队:
典型的实际案例是宝塔的降权
环境:管理员权限,目标出网,流量代理和CS上线都做不到
最近免杀喜欢使用的系统调用,这个方法对于R3 HOOK还行,但是对于采取降权操作的AV这招便是没用的了
红队
使用sytem权限的进程可能会遇到以下问题:
- 无法获得当前用户的文件内容
例如无法捕获用户的屏幕
- 环境变量有差异
比如以下环境变量:
- APPDATA
- Temp
- Tmp
- USERDOMAIN
- USERNAME
- USERPROFILE
cmd下可通过echo查看环境变量,例如查看环境变量APPDATA的命令为:
echo %appdata%
system权限下,查询到的环境变量APPDATA为C:\Windows\system32\config\systemprofile\AppData\Roaming
管理员权限下,查询到的环境变量APPDATA为C:\Users\a\AppData\Roaming
通过API SHGetSpecialFolderPath 获取指定的系统路径,如APPDATA,也能发现权限不同导致的区别
SHGetSpecialFolderPath支持查询的系统路径可在Shlobj.h中获取
#include <windows.h>
#include <Shlobj.h>
bool IsSystemPrivilegeCmp()
{
static bool isSystemPrivilege = false;
char *flag="C:\\Windows";
if (isSystemPrivilege)
{
return isSystemPrivilege;
}
char szPath[MAX_PATH] = {0};
if (SHGetSpecialFolderPathA(NULL, szPath, CSIDL_APPDATA, TRUE))
{
printf("APPDATA Path:%s\n",szPath);
if(memcmp(szPath,flag,strlen(flag))==0)
printf("[+]I'm System Privilege\n");
else
printf("[-]Not System Privilege\n");
}
return isSystemPrivilege;
}
int main(int argc, CHAR* argv[])
{
IsSystemPrivilegeCmp();
return 0;
}
- 注册表有差异
对HKCU的部分注册表操作会被重定向到HKEY_USERS.DEFAULT
总结
感觉蓝队使用比红队使用效果更明显