进程提升提权

修改自: https://blog.csdn.net/seawt/article/details/5786196

1 提权相关操作

    HANDLE token;
    TOKEN_PRIVILEGES tkpbuf[2], *tkp = &tkpbuf[0];
    if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &token))
        return;
    LookupPrivilegeValue(nullptr, SE_DEBUG_NAME, &tkp->Privileges[0].Luid);
    LookupPrivilegeValue(nullptr, SE_LOAD_DRIVER_NAME, &tkp->Privileges[1].Luid);
    tkp->PrivilegeCount = 2;
    tkp->Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    tkp->Privileges[1].Attributes = SE_PRIVILEGE_ENABLED;
    AdjustTokenPrivileges(token, FALSE, tkp, 0, nullptr, nullptr);

2 提权枚举值解释

SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege"
替换进程级记号,允许初始化一个进程,以取代与已启动的子进程相关的默认令牌.

SE_AUDIT_NAME = "SeAuditPrivilege"
产生安全审核,允许将条目添加到安全日志.

SE_BACKUP_NAME = "SeBackupPrivilege"
备份文件和目录,不多说了,就是翻阅遍历,执行文件,读取文件和文件夹所有信息的权限

SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege"
跳过遍历检查,允许用户来回移动目录,但是不能列出文件夹的内容...这个权限还有个大用途...就是干坏事不留痕迹...- -!

SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege"
创建页面文件,允许用户创建和改变一个分页文件的大小

SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege"
创建永久共享对象,例如某目录...有点很多余的感觉...- -嗯...或者有时候会有用

SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege"
创建令牌对象,允许进程调用NtCreateToken()或者是其他的Token-Creating APIs创建一个访问令牌...

SE_DEBUG_NAME = "SeDebugPrivilege "
哈这个最清楚了吧?允许访问所有进程.

SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege"
更改优先级时,只有获得此权限后才能设置进程优先级为"实时".

SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege"
调整进程的内存配额

SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege"
装载和卸载设备驱动程序,允许动态地加载和卸载设备驱动程序.安装即插即用设备的驱动程序时需要此特权.

SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege"
内存中锁定页,允许使用进程在物理内存中保存数据,从而避免系统将这些数据分页保存到磁盘的虚拟内存中.采用此策略会减少可用的随机存取内存(RAM)总数,从而可能极大地影响系统性能.

SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege"
域中添加工作站,用于识别 Active Directory 中已有的帐户和组.

SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege"
配置单一进程,允许使用性能监视工具来监视非系统进程的性能.

SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege"
从远端系统强制关机,允许从网络上的远程位置关闭计算机.

SE_RESTORE_NAME = "SeRestorePrivilege"
还原文件和目录,允许绕过文件及目录权限来恢复备份文件.

SE_SECURITY_NAME = "SeSecurityPrivilege"
管理审核和安全日志,允许指定文件,Active Directory对象和注册表项之类的单个资源的对象访问审核选项.还可以查看和清除安全日志.

SE_SHUTDOWN_NAME = "SeShutdownPrivilege "
关闭系统,没有这个权限是关不了机的哦...

SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege"
修改固件环境值,查看,修改环境变量SET命令.

SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege"
配置系统性能,允许监视系统进程的性能.

SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege"
更改系统时间,也要权限的哦!- -

SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege"
获得文件或对象的所有权,包括 Active Directory 对象,文件和文件夹,打印机,注册表项,进程和线程.

SE_TCB_NAME = "SeTcbPrivilege"
以操作系统方式操作,成为操作系统的一部分.

SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege"
从终端设备读取未经请求的输入,这个...在策略组找不到了...是不是更新以后删除了?

SE_IMPERSONATE_NAME = "SeImpersonatePrivilege"
身份验证后模拟客户端

SE_MANAFE_VOLUME_NAME = "SeManageVolumePrivilege"
执行卷维护任务

SE_UNDOCK_NAME = "SeUndockPrivilege"
从插接工作站中取出计算机

SE_BATCH_LOGON_NAME = "SeBatchLogonRight"
作为批处理作业登录

SE_INTERACTIVE_LOGON_NAME = "SeInteractiveLogonRight"
本地登录

SE_NETWORK_LOGON_NAME = "SeNetworkLogonRight"
从网络访问此计算机

SE_SERVICE_LOGON_NAME = "SeServiceLogonRight"
作为服务登录

原文地址:https://www.cnblogs.com/talenth/p/14759022.html