权限提升:从普通用户到管理员的常见路径(概念)
admin
2026-10-27 06:21
84人看过
免费
# 权限提升(提权)|网络攻防演练红队版
> 核心概念:**拿到服务器普通用户shell之后,寻找漏洞/配置缺陷,获取更高权限(Windows:Administrator/System;Linux:root)**
> 分为两大类:**本地提权(Local Privilege Escalation,LPE)**、服务滥用提权;区分:横向移动是跳其他机器,提权是**本机升权限**。
## 一、Linux 提权常见路径(靶场/演练高频)
### 1. Sudo 滥用(最高频!)
普通用户可执行部分root命令,不需要密码或者免密sudo
- 查看sudo权限
```bash
sudo -l
```
常见场景:
1. 允许`vim/nano/python/perl/bash`等,直接逃逸拿root
```bash
# 例子,sudo允许vim
sudo vim
# vim内输入 :!/bin/bash 直接弹出root shell
```
2. 允许执行自定义脚本,脚本可被修改 → 篡改脚本拿root
> 口诀:**sudo -l 是Linux提权第一步必执行**
### 2. SUID 危险可执行文件(Set-UID)
文件标记SUID位,**运行时以文件所有者身份执行**,如果属主是root。
查找命令:
```bash
find / -perm -4000 2>/dev/null
```
高危SUID:`bash、python、perl、find、vim、cp、nmap(old)`
例:find拥有SUID
```bash
find . -exec /bin/bash \; -quit
```
### 3. 定时任务Crontab 滥用
root配置的定时任务执行脚本:
- 脚本文件**普通用户可写**,等待定时任务执行,写入恶意代码拿root
- crontab里引用的目录可写(路径劫持)
查看任务:
```bash
ls -l /etc/cron.*
cat /etc/crontab
```
### 4. 内核漏洞提权(脏牛DirtyCow、CVE系列)
操作系统内核存在漏洞,普通用户直接exp提权root。
流程:查看系统版本 `uname -a`、`cat /etc/os-release`,搜索对应内核exp。
> 缺点:新版本系统大多打补丁;云主机内核加固,成功率下降。
### 5. 配置文件泄露,拿到root密码
- `/etc/passwd`、`/etc/shadow`读取(shadow一般只有root可读,少数配置失误)
- 应用配置文件:`db.conf`、网站config.php,里面存放数据库/root账号密码,密码复用直接su切换root
### 6. 服务/第三方程序漏洞
如mysql、redis、docker错误配置:
- Docker组用户:普通用户在docker用户组,可挂载宿主机磁盘拿root
```bash
docker run -v /:/mnt --rm -it alpine chroot /mnt bash
```
---
## 二、Windows 提权常见路径(红蓝演练重点)
### 1. 系统补丁缺失,Windows本地内核提权(CVE)
老服务器未打补丁,如CVE-2021-40449、CVE-2022-21882等。
工具:whoami /priv 查看权限,`systeminfo`看补丁列表,对比缺失补丁。
### 2. 服务配置缺陷(服务提权,非常高频)
两种:
1. **服务可执行文件权限过宽**:服务exe普通用户能修改,重启服务自动以System执行
2. **服务二进制路径带空格,无引号(路径劫持)**
例:
```
BINARY_PATH="C:\Program Files\My App\app.exe"
```
没有引号,Windows会尝试执行`C:\Program.exe`,普通用户放恶意程序拿到system。
查看服务:`sc query`、`wmic service get name,pathname`
### 3. 计划任务(Task Scheduler)
管理员创建的计划任务,调用的程序/目录普通用户可写,等待任务执行拿到system。
### 4. AlwaysInstallElevated 注册表(经典)
注册表开启,所有MSI安装包**以管理员权限运行**,普通用户可以构造恶意msi直接拿管理员权限。
查询:
```cmd
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer
```
两个键值都是1即可利用。
### 5. 密码抓取与凭证泄露
- 历史保存RDP凭证、Winlogon凭证、注册表保存账号密码
- 配置文件、网页源码、备份文件里明文账号密码,密码复用,直接切换管理员
工具:mimikatz(抓取内存凭证,需要管理员权限,**提权后用**)
### 6. 权限组错误配置
普通用户被加入管理员组;或者拥有特殊权限:`SeTakeOwnershipPrivilege`、`SeBackupPrivilege`,直接滥用权限读取/覆盖系统文件。
## 三、提权通用排查顺序(红队拿到shell后的标准操作流程)
> Linux:
> 1. `sudo -l`
> 2. 查找SUID文件
> 3. 查看crontab定时任务
> 4. 查看应用配置、数据库配置,寻找明文密码
> 5. 内核版本,尝试内核exp
> 6. 检查docker、lxc等容器组权限
> Windows:
> 1. `whoami /all` 查看当前用户、特权
> 2. `systeminfo` 系统信息与补丁
> 3. 扫描服务二进制路径、服务文件权限
> 4. 检查计划任务
> 5. 检查AlwaysInstallElevated注册表
> 6. 查找硬盘内的配置文件、备份文件、明文密码
## 四、蓝队防御思路
1. 最小权限原则:业务进程不要用高权限账号运行
2. 及时打系统内核、系统补丁,修复本地提权漏洞
3. 严格控制文件权限:定时任务脚本、服务exe,普通用户不可写
4. 禁用危险SUID程序,清理无用setuid
5. 禁止普通用户加入docker、administrators等高权限用户组
6. 禁止明文存储账号密码,禁止密码复用
7. 审计sudo配置,最小化sudo授权范围
## 五、演练重要区分
- **本地提权LPE**:本机普通用户 → 本机高权限(root/System)
- **横向移动**:当前机器高权限 → 访问内网另一台机器
> 坑点:很多exp需要**交互式shell**,webshell可能无法直接执行提权exp
## 六、一句话速记
Linux提权看:sudo、SUID、定时任务、配置明文、内核漏洞、docker组
Windows提权看:未打补丁、服务漏洞、计划任务、AlwaysInstallElevated、特权滥用、明文凭证
如果你需要,我可以继续写:**内网横向移动全链路(拿到一台机器后,如何扫内网、抓凭证、横向到其他主机)**。
版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载或以其他方式使用本站原创内容。