现在有一台 Windows Server 2008 如何提权
第一步:信息收集
在尝试任何攻击之前,必须先了解你所处的环境。这一步是成功的关键,可以帮助你快速定位可行的提权路径
- 检查当前权限:
whoami /priv
:查看当前账户拥有的特权。某些特权(如SeDebugPrivilege
)可以直接用于窃取哈希或执行其他高权限操作
- 系统信息和补丁:
systeminfo
:查看系统版本、架构和安装的补丁列表。这对于判断系统是否对已知的内核漏洞免疫至关重要wmic qfe get Caption,Description,HotFixID,InstalledOn
:更详细地查看已安装的补丁
- 服务和进程:
tasklist /svc
:查看哪些服务正在运行,以及它们以什么权限运行Get-Service
(PowerShell):查找以LocalSystem
或其他高权限账户运行的服务
- 目录和文件权限:
icacls C:\
:检查关键目录(如C:\Program Files
)的写入权限。如果低权限用户可以写入,则可能存在 DLL 劫持或 可执行文件替换的漏洞
- 注册表权限:
reg query HKLM
:检查注册表键的权限,尤其是那些与服务或自动运行程序相关的键
- 计划任务:
schtasks /query
:查看是否有以高权限账户运行的计划任务,且低权限用户可以修改其执行文件或参数
第二步:利用常见的配置错误(首选)
这些方法通常不需要复杂的漏洞利用,成功率高且隐蔽性强
1. 不安全的服务的可执行文件路径
如果一个服务的路径没有用引号括起来,并且路径中包含空格,Windows 会尝试从每个空格分隔的目录中寻找可执行文件
- 示例: 服务路径为
C:\Program Files\My Service\service.exe
- Windows 搜索顺序:
C:\Program.exe
C:\Program Files\My.exe
C:\Program Files\My Service\service.exe
- 利用方式: 如果低权限用户对
C:\Program Files
或C:\
目录有写入权限,就可以在该目录中创建一个恶意的可执行文件(如My.exe
)。当服务重启时,它会首先执行这个恶意程序,从而获得服务的权限
2. 服务配置权限不当
如果低权限用户可以修改某个高权限服务的配置,例如更改其二进制文件路径,就可以实现提权
- 检查方法:
sc qc [ServiceName]
- 利用方式: 使用
sc config
命令修改服务的binpath
指向你的恶意程序,然后重启服务
3. 注册表键 AlwaysInstallElevated
如果以下两个注册表键都为 1
,那么任何用户都可以以 System 权限运行 MSI 安装文件
HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated
- 利用方式: 创建一个恶意的 MSI 安装包(可以使用
msfvenom
生成),然后双击运行,它会以System
权限执行你的代码
第三步:利用内核漏洞
如果配置错误的方法都不可行,可以尝试利用 Windows Server 2008 上已知的内核漏洞
- MS11-046 (AFD.sys): 这是一个非常经典的漏洞,允许低权限用户提升至
SYSTEM
权限 - MS14-066 (sctp.sys): 另一个著名的权限提升漏洞,通常被用于获得
SYSTEM
权限 - MS15-051 (win32k.sys): 同样是一个广泛使用的权限提升漏洞
重要提示: 在尝试内核漏洞之前,请务必使用 systeminfo
检查是否已打相关补丁。贸然执行漏洞利用程序可能会导致系统蓝屏(BSOD)
第四步:凭据窃取与重用
如果以上方法都失败了,或者你已经获得了管理员权限,下一步就是获取更多凭据,为横向移动做准备
1. LSASS 进程内存转储
Windows 在 lsass.exe
进程中缓存了用户的明文密码、NTLM 哈希和 Kerberos 票据
- 利用方式: 使用 Mimikatz 或其他工具,在拥有
SeDebugPrivilege
特权时,可以从lsass.exe
进程中直接抓取凭据sekurlsa::logonpasswords
:抓取所有已登录用户的明文密码和哈希lsass.exe
内存转储:如果无法直接运行 Mimikatz,可以先使用procdump.exe
转储lsass.exe
进程内存,然后在另一台机器上离线分析
2. SAM 和 SYSTEM 注册表文件
SAM 文件包含了本地用户的密码哈希,而 SYSTEM 文件包含了用于解密 SAM 的密钥
- 利用方式: 使用
reg save
命令将这两个文件导出,然后使用工具(如samdump2
或impacket
的secretsdump.py
)离线解密哈希