服务器命令行环境下的权限提升,本质上是利用系统配置缺陷或程序漏洞,将当前低权限用户(如Web服务账户)提升至管理员权限(System或Administrator)的过程。核心结论在于:提权并非依赖单一的命令,而是系统信息收集、漏洞精准定位与利用工具执行的组合拳。 成功的提权操作,必须建立在详尽的信息侦察基础之上,盲目执行命令不仅无效,更可能触发安全警报导致IP被封禁,以下将依据金字塔结构,分层阐述从信息收集到最终提权的完整专业路径。

信息收集:提权操作的基石
在获取CMDShell权限后,首要任务并非尝试提权,而是全面摸清服务器环境。信息收集的广度直接决定了提权的成功率。 只有明确了操作系统版本、补丁情况、服务配置,才能对症下药。
-
系统版本与补丁确认
这是判断是否存在内核漏洞的关键,使用systeminfo命令可获取完整的系统信息,重点关注“OS 名称”和“系统类型”,确认是 Windows Server 2008、2012 还是 2016 等版本。不同版本对应不同的提权漏洞,如经典的烂土豆漏洞多见于 2008 和 2012 版本。 -
用户权限现状分析
执行whoami /all命令,查看当前用户的SID、权限列表及所属组。重点检查是否拥有特定特权,如 SeImpersonatePrivilege 或 SeAssignPrimaryTokenPrivilege。 这两类权限是进行Potato系列提权的先决条件,如果当前用户已经是Administrators组,但无法访问某些目录,可能是由于UAC(用户账户控制)限制,需进行Bypass UAC操作。 -
服务与端口侦察
使用net start查看运行的服务,netstat -ano查看开放端口。寻找以System权限运行且存在配置缺陷的服务,这是服务提权(如SC命令提权)的切入点。 关注是否有数据库服务(MySQL、MSSQL)或第三方软件(如VNC、TeamViewer),这些软件往往存在弱口令或配置不当,可辅助提权。
常见提权路径与命令执行
在完成信息收集后,需根据服务器环境选择最稳妥的提权路径。专业的提权思路遵循“利用配置缺陷优先,内核漏洞利用其次”的原则,因为前者风险更低。
系统服务配置错误提权
这是最隐蔽且有效的提权方式之一,Windows系统中,许多服务默认以System权限运行,如果服务的二进制路径配置不当,或者服务目录权限过于宽松,攻击者可利用此缺陷进行提权。
-
SC命令替换服务路径
当服务路径包含空格且未加引号时(如C:Program FilesMy Serviceservice.exe),系统会按顺序尝试解析路径,攻击者可在C:Program FilesMy目录下放置恶意程序Service.exe。
核心操作步骤:- 使用
wmic service get name,displayname,pathname,startmode |findstr /i "auto" |findstr /i /v "c:windows\"查找存在路径漏洞的服务。 - 确认当前用户对该服务目录有写入权限。
- 利用
sc config "服务名" binPath= "恶意程序路径"修改服务路径,或直接上传恶意文件覆盖。 - 执行
sc start "服务名"或net start "服务名"重启服务,恶意程序将以System权限执行。
- 使用
-
服务权限配置不当
使用AccessChk工具检查服务权限,如果当前用户对某服务拥有SERVICE_CHANGE_CONFIG权限,即可修改服务配置。通过修改服务的binPath指向恶意程序,实现提权。 命令示例:sc config VulnService binPath= "cmd.exe /c whoami > c:test.txt"。
Potato系列提权
在IIS、SQL Server等应用场景中,WebShell权限往往拥有SeImpersonatePrivilege特权。此时利用Potato系列工具(如Rotten Potato, Juicy Potato, PrintSpoofer)是最高效的手段。 这类提权利用了COM/DCOM机制或打印服务漏洞,诱导高权限进程连接攻击者伪造的服务,从而模拟高权限令牌。

- Juicy Potato提权
适用于Windows Server 2008至2016版本,需指定CLSID和监听端口。
执行逻辑: 上传Juicy Potato程序,执行命令JuicyPotato.exe -t -p c:windowssystem32cmd.exe -l 9999 -c {CLSID},成功后,将反弹一个System权限的Shell。 - PrintSpoofer提权
适用于Windows Server 2012及以上版本,利用打印后台程序服务漏洞。
核心优势: 无需寻找特定的CLSID,稳定性更高,命令示例:PrintSpoofer.exe -i -c cmd。
内核漏洞利用
当配置缺陷不存在时,才考虑内核漏洞利用,这属于“硬碰硬”的提权方式,风险在于可能导致系统蓝屏(BSOD)或服务崩溃。
- 根据系统补丁情况,寻找未修复的CVE漏洞(如MS16-075、CVE-2018-8120)。
- 上传对应的Exploit程序。
- 执行提权程序: 直接运行编译好的EXE文件,通常会生成一个新的管理员用户或直接反弹System Shell。
注意: 此类操作极易触发杀毒软件,需配合免杀技术使用。
提权后的维持与清理
成功提权并非终点,专业的安全测试或渗透测试还需关注权限维持与痕迹清理。
-
添加隐藏管理员
提权后,通常需要建立稳固的后门账户,使用net user admin$ password /add添加用户,net localgroup administrators admin$ /add提升权限,用户名后加 符号可使其在命令行下通过net user列表隐藏,但在控制面板中仍可见,需配合注册表操作实现深度隐藏。 -
远程桌面开启
若服务器关闭了远程桌面,可通过注册表开启。
执行REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f开启3389端口。 -
日志清理
为避免被发现,需清除操作日志,使用wevtutil cl security清除安全日志,wevtutil cl system清除系统日志。但在实际操作中,应谨慎清理,避免破坏现场或引起系统异常。
防御视角:如何规避提权风险
从E-E-A-T原则出发,不仅要掌握攻击手段,更要提供权威的防御方案。
-
最小权限原则
Web服务、数据库服务不应以System或Administrator权限运行,应建立专门的服务账户,并严格限制其权限,取消SeImpersonatePrivilege等高危特权。 -
服务路径规范化
安装软件时,确保服务路径不包含空格,或使用引号包裹路径,定期使用工具扫描服务配置,修复权限过宽的目录。 -
补丁管理
建立自动化的补丁更新机制,确保操作系统内核漏洞被及时修补,阻断内核提权路径。
服务器cmd提权命令 的运用是一个动态博弈的过程,无论是利用服务配置缺陷,还是利用令牌模拟机制,其核心都在于寻找权限边界上的缺口,对于运维人员而言,理解这些底层原理,才能构建起真正坚固的防御体系。
相关问答
在执行提权命令时,提示“拒绝访问”或“权限不足”怎么办?
这种情况通常意味着当前用户权限极低,或者目标服务/文件受到ACL(访问控制列表)的严格保护。解决方案: 检查当前用户是否属于IIS_IUSRS或Users组,尝试寻找其他可写目录或服务,查看目标文件或服务的ACL权限,使用 icacls 命令确认是否有写入或修改权限,如果是因为杀毒软件拦截,需先进行免杀处理或关闭防护软件(若权限允许)。
Windows Server 2019及以上版本,Juicy Potato失效后应如何提权?
Windows Server 2019及更新版本修补了COM/DCOM相关的提权漏洞,Juicy Potato往往失效。解决方案: 应转向使用PrintSpoofer或BadPotato等新型工具,这些工具利用打印后台程序服务(Spooler)的特性,即使在高版本Windows中依然有效,前提是当前用户拥有SeImpersonatePrivilege权限,也可以尝试寻找第三方软件(如Plantronics、AV软件)的DLL劫持漏洞进行提权。
如果您在服务器安全配置或权限管理方面有独到的见解,欢迎在评论区分享您的经验。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/169470.html