VulnHub是一個面向所有人開放的安全靶場,裡面有很多安全環境,只要下載相關映像檔,在相關虛擬機器上面執行就可以練習相關靶場了。裡面設計了好多關,如果有耐心一定可以到達峰頂。許多考OSCP人員,也會利用Vulnhub靶場進行刷題。我們下載了一個經典漏洞靶場,給大家進行演示,希望讓初學者知道滲透測試的套路,可以更快的成長。
這題主要透過網頁原始碼找到base64編碼後的字串,在取得檔案,而檔案使用brainfuck,再將brainfuck to text後,使用mp64工具列舉密碼,再結合hydra爆破ssh,進入到該主機後,因系統環境變量配置問題,需逃脫受限制的shell,最後提權為root權限,取得flag。
靶機:Matrix: 1
首先,先查詢自己本地的IP,可以透過 ifconfig查詢。
eth0 192.168.44.136 這是本地IP ,同時也是攻擊者端
老方法,我們透過nmap -sP方式,以Ping快速掃描當前內網其他主機。
得知該標的物端為192.168.44.145
繼續透過 nmap -A,完整掃描該主機服務,再透過 -p 0-65535方式 掃描該主機的 所有Port。
得知該主機開啟22 port、80 port、31337 port
有80 port代表有網站,我們可以透過Dirb掃描子目錄,不過這題可直接從首頁原始碼查看到提示訊息p0rt_31337.png,看起來就像 port 31337,於是我們嘗試訪問31337 port。
從31337 port頁面原始碼可看到一串編碼過的字串,其實這串就是base64。
為甚麼知道是base64? 因為直覺。其實因為看到這串亂碼後面有 = ,所以第一直覺就會想到base64。
透過base64 decode後,我們得到一個字串Cypher.matrix
看起來像是某個檔案,於是我們訪問下。
開啟該檔案,會得到一串編碼? 加密? 過的訊息。
其實這是brainfuck語言,有在打CTF的人應該不陌生,第一眼直覺就能看出來了。CTF很常見。
所以將該語言轉text就行。
透過text轉換後,得到一串明文,告訴我們帳號為 guest,密碼為 k1ll0r?? ,後兩碼我們得自己猜測。
於是我們透過 kail系統內建的 mp64工具,然後將 k1ll0r?? 後兩碼自動填補。
例如 k1ll0r00、k1ll0r01、k1ll0r02、k1ll0r03,以此類推,生成一個字典檔。
生成的wordlist字典檔長這樣,完整的列舉出所有可能性。
接著我們可以透過 hydra來進行字典檔爆破,看wordlist裡的字典檔哪一個是密碼。
最後得知k1ll0r7n為ssh密碼。
有了guest帳號密碼後,便可進行ssh登入。
但登入後發現很多簡單的指令都無法下,於是我們需要檢查一下該系統環境是不是有問題。
我們透過export指令,幫助我們查看系統環境變量,其中可看到 PATH跟SHELL有點小問題,bash被限制住了。
我們透過echo 查看下 prog底下目錄,發現有個vi,這讓我們聯想到了似乎可以利用一下vi。
我們輸入 vi ,然後在離開vi。以:!/bin/bash方式離開。
接著我們可以透過export PATH=/usr/bin:/bin/ 來配置下路徑變量,這樣我們就可以正常使用指令了。
然後在 sudo su提權至root權限,密碼一樣為 k1ll0r7n ,成功登入至root後,我們進入到/root目錄下,然後 cat flag.txt,便可得到flag。
結束。