Level Goal
Logging in to bandit26 from bandit25 should be fairly easy… The shell for user bandit26 is not /bin/bash, but something else. Find out what it is, how it works and how to break out of it.
NOTE: if you’re a Windows user and typically use Powershell to ssh into bandit: Powershell is known to cause issues with the intended solution to this level. You should use command prompt instead.
Commands you may need to solve this level
- ssh
- cat
- more
- vi
- ls
- id
- pwd
My Answer (Step by step)
{{< alert warning >}} 根據筆者嘗試,使用 Powershell 會無法完成該 Level,建議讀者聽從題目的建議使用 cmd {{< /alert >}}
- 連線到伺服器並登入
ssh bandit25@bandit.labs.overthewire.org -p 2220- 透過 ls 指令可以發現目錄中有 bandit26 的 ssh 金鑰檔
ls# bandit26.sshkey- 透過 ssh 指令連線至 bandit26
ssh bandit26@localhost -p 2220 -i bandit26.sshkey{{< alert info >}} 連線後可以發現馬上被關閉 {{< /alert >}}
- /etc/passwd 會記錄系統上的使用者登入 shell,故透過 cat 與 grep 指令找出 bandit26 的登入 shell
cat /etc/passwd | grep bandit26{{< alert info >}} 根據指令結果,可以發現 bandit26 使用的登入 shell 為 /usr/bin/showtext {{< /alert >}}
- 透過 cat 指令查看 /usr/bin/showtext 內容
cat /usr/bin/showtext# #!/bin/sh
# export TERM=linux
# exec more ~/text.txt# exit 0{{< alert info >}} 根據指令結果,可以發現登入 bandit26 後會執行 more 指令並立即離開(exit 0) 我們可以盡可能將視窗變小,使 more 指令進入互動模式 {{< /alert >}}
- 在將終端機視窗大小盡可能變小後,重新透過 ssh 指令連線至 bandit26
ssh bandit26@localhost -p 2220 -i bandit26.sshkey{{< alert info >}} 當出現 - - more - - (XX%) 即代表成功進入互動模式,此時可以將視窗放大 {{< /alert >}}
- 我們可以按 V 進入編輯器,並按 Esc 退出插入模式,並透過 set 指令重新設定使用者 shell,並透過 shell 指令進入 bash
:set shell=/bin/bash:shell- 透過 cat 指令即可獲得 Level 26 密碼
cat /etc/bandit_pass/bandit26{{< alert warning >}} 筆者建議讀者若要繼續解關卡,不用登出,不然需要重做上述步驟才能再次進入 Level 26 {{< /alert >}}
如果這篇文章對你有幫助,歡迎分享給更多人!
部分資訊可能已經過時


