中文翻譯:
環境準備:
在此處下載要進行滲透測試的 OVA 文件。
在 VirtualBox 中導入 OVA,並僅爲其配置一個 僅主機(Host-Only) 網絡適配器。啓動虛擬機。
在你的 Kali 機器上,同樣添加一個 僅主機(Host-Only) 網絡適配器。啓動 Kali 並檢查是否有一個 IP 地址屬於 192.168.56.0/24 網段的網絡接口。這兩臺機器將在同一網絡中。
挑戰:
目標機器 M16_blackbox1 中隱藏了 7 個 flag,你的任務是找到儘可能多的 flag。
你需要使用 課堂上尚未介紹的工具和技術,因此需要根據測試結果進行 自主研究,探索可行的方法。
你可以 使用人工智能(AI) 來尋找新的工具和測試方法。但要取得好的結果,你需要仔細分析你獲得的反饋,並基於這些信息給 AI 提供準確的指令。
挑戰目標:
在 黑盒測試(Blackbox) 環境中應用已知的滲透工具
通過實戰挑戰 學習更多滲透測試工具
記錄滲透測試的結果
享受挑戰的樂趣!
目標機器 :192.168.56.101
FLAG1
使用nmap尋找內網服務:
sudo nmap 192.168.56.101
端口80是開放狀態
打開瀏覽器然後局域網訪問,由於http默認80的端口,所以輸入ip即可
右鍵然後點擊源代碼
flag1就藏在後面
FLAG2
懷疑過是不是有沒有其他隱藏的目錄,所以使用 Gobuster 查找隱藏目錄,輸入以下命令:
gobuster dir -u http://192.168.56.102 -w /usr/share/wordlists/dirb/common.txt
有兩個隱藏的活動目錄,分別是/images和/hidden,依次在瀏覽器訪問
images目錄
圖片1,CatsKills.jpg:
圖片2,pedraforca.jpg
圖片3,turo_home.jpg
hidden目錄
list_words.txt:
words.txt:
以上所有出現的文件我們都用wget 下載並存放在pentest裏面
輸入binwalk 來檢測圖片裏有什麼隱藏的信息:
binwalk pedraforca.jpg CatsKills.jpg turo_home.jpg
可以看到只有pedraforca.jpg有額外的信息,有ZIP存檔,裏面還有一個目錄和三個子目錄,輸入binwalk -e 來導出這個隱藏ZIP:
binwalk -e pedraforca.jpg
導出之後進入輸出結果的目錄,進入flag目錄,就看到一個名爲flag的文件,裏面的內容就是flag2
FLAG3
在knock目錄有個叫做url.txt的文件,這就是flag3的線索,我們複製過來,輸入ip加上這條url
可以看到出現的界面就是turo_home.jpg的照片,懷疑跟pedraforca.jpg一樣有隱藏的數據,使用 steghide 來檢測有沒有隱藏內容,結果顯示需要密碼,證明真的有隱藏內容,但奈何沒有密碼
密碼在 word.txt裏面,我們需要使用字典攻擊一個一個測試猜到密碼,創建一個腳本來尋找這個代碼
這個腳本會:
創建 success_files 目錄(如果不存在)。
讀取 words.txt 裏的密碼列表。
遍歷當前目錄下的 .jpg 文件,嘗試用密碼解壓。
如果找到正確密碼,則複製該 .jpg 文件到 success_files 並停止執行。
密碼是543216,我們再次輸入steghide命令,輸入正確的密碼,導出了名爲secret.txt的文件
輸入cat命令即看到flag3和flag3的線索
FLAG4
複製secret.txt的url的鏈接
輸入ip加url,來到一個login.php界面
在密碼段輸入' OR 1=1 -- sql 注入攻擊來繞過登陸驗證
在網頁後面,就找到flag4了
FLAG5
我們返回 php 部分頁面,什麼也不要輸入直接點擊提交,界面會報錯 error login,然後在上面複製整個url:http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=&pass=
打開sqlmap工具進行 SQL 注入測試,然後輸入:
sqlmap -u "http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=&pass=" --batch --dbs
得到的結果是有一個名爲public的數據庫(照片忘記拍了)
各部分含義:
sqlmap:使用 SQL 注入自動化測試工具 sqlmap。
-u "http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=cat&pass="
--batch:自動確認提示(避免手動輸入)。
--dbs:如果漏洞存在,列出所有數據庫。
接着輸入:
sqlmap -u "http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=cat&pass=" -D public --tables
各部分含義:
sqlmap:使用 SQL 注入自動化測試工具 sqlmap。
-u "http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=cat&pass="
-u 指定目標 URL(這裏是一個 login.php 登錄頁面)。
nombre=cat:在請求中提供 nombre 參數值爲 cat。
pass=:pass 參數爲空,sqlmap 可能會自動測試 SQL 注入點。
-D public:指定數據庫 public,表示要在這個數據庫中進行操作。
--tables:列出 public 數據庫中的所有表名。
我們的得到的結果是有三個表,分別是flag,knock,products和users,我們使用此 sqlmap 命令從標誌表列中提取flag表的信息:
sqlmap -u "http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=cat&pass=" -D public -T flag --dump
結果
成功,flag5就在這裏:
到目前爲止,我已經找到了前五個 flag,但 flag6 和 flag7 還是沒能搞定。文檔的線索提到它們跟 SSH 和 Docker 有關,不過我嘗試了好幾次,還是沒找到突破口,可能是這方面的技術還不夠熟練。希望能再摸索一下,或者找到新的思路來解決
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com