权限提升#

本分类包含各种权限提升技术和方法,用于获取目标系统的更高权限。

常用权限提升技术#

Windows权限提升#

  • 本地提权:利用Windows系统漏洞获取本地管理员权限
  • 域提权:在域环境中获取域管理员权限
  • DLL劫持:通过劫持DLL文件获取更高权限
  • 令牌窃取:窃取用户或系统令牌获取更高权限
  • 计划任务提权:利用计划任务执行高权限命令

Linux权限提升#

  • SUDO提权:利用sudo命令的配置错误获取root权限
  • SUID提权:利用设置了SUID位的可执行文件获取root权限
  • 内核漏洞提权:利用Linux内核漏洞获取root权限
  • 文件权限提权:利用文件权限配置错误获取更高权限
  • 容器逃逸:从容器环境逃逸到宿主机获取更高权限

Web应用权限提升#

  • 数据库提权:从数据库用户权限提升到系统权限
  • Web Shell提权:通过Web Shell获取系统权限
  • 应用程序提权:利用Web应用程序的漏洞获取更高权限

常用权限提升工具#

Windows权限提升工具#

  • PowerUp:PowerShell权限提升检测和利用工具
  • WinPEAS:Windows权限提升枚举和审计脚本
  • Mimikatz:Windows凭据提取和操作工具
  • JuicyPotato:Windows本地提权工具
  • PrintSpoofer:Windows本地提权工具

Linux权限提升工具#

  • LinPEAS:Linux权限提升枚举和审计脚本
  • LinEnum:Linux权限提升枚举脚本
  • linux-exploit-suggester:Linux内核漏洞检测工具
  • GTFOBins:Linux命令提权参考
  • BeRoot:Linux和Windows权限提升工具

Web应用权限提升工具#

  • sqlmap:SQL注入工具,可用于数据库提权
  • Metasploit:包含多种Web应用权限提升模块
  • Burp Suite:Web应用安全测试工具,可用于发现提权漏洞

权限提升的注意事项#

  1. 合法性:权限提升必须在授权的情况下进行,未经授权的权限提升属于违法行为
  2. 隐蔽性:权限提升过程中要注意隐蔽性,避免被安全监控系统发现
  3. 稳定性:选择稳定的权限提升方法,避免导致系统崩溃
  4. 记录:详细记录权限提升过程,包括使用的工具、技术和结果

权限提升的最佳实践#

  1. 信息收集:在进行权限提升前,充分收集目标系统的信息,了解系统的配置和安全措施
  2. 漏洞扫描:使用漏洞扫描工具发现系统中可能存在的权限提升漏洞
  3. 尝试多种方法:尝试多种权限提升方法,提高成功率
  4. 权限维持:获取高权限后,建立持久化访问,确保后续能够继续访问

权限提升示例#

Windows本地提权示例#

# 使用PowerUp检测权限提升漏洞
. .\PowerUp.ps1
Invoke-AllChecks

# 使用JuicyPotato进行提权
JuicyPotato.exe -t * -p c:\windows\system32\cmd.exe -a "/c net localgroup administrators user /add"

# 使用PrintSpoofer进行提权
PrintSpoofer.exe -c "cmd.exe"

Linux权限提升示例#

# 使用LinPEAS检测权限提升漏洞
chmod +x linpeas.sh
./linpeas.sh

# 利用SUID提权
find / -perm -4000 -type f 2>/dev/null

# 利用sudo提权
sudo -l

# 利用内核漏洞提权
download exploit
compile exploit
./exploit

Web应用提权示例#

-- MySQL数据库提权
SELECT sys_exec('whoami');

-- PostgreSQL数据库提权
CREATE OR REPLACE FUNCTION exec(cmd text) RETURNS text AS $$
DECLARE
  result text;
BEGIN
  EXECUTE 'COPY (SELECT 1) TO PROGRAM ' || quote_literal(cmd);
  RETURN 'OK';
END;
$$ LANGUAGE plpgsql;

SELECT exec('whoami');