準備:
攻擊機:虛擬機器kali、本機win10。
靶機:Momentum: 1,下載地址:https://download.vulnhub.com/momentum/Momentum.ova,下載後直接vbox開啟即可。
知識點:redis未授權訪問、xss漏洞、XSStrike使用。
一:資訊收集
1.nmap掃描
使用nmap掃描下靶機地址,命令:nmap -sn 192.168.5.0/24,發現靶機地址:192.168.5.73。
使用nmap掃描下埠對應的服務:nmap -T4 -sV -p- -A 192.168.5.73,顯示開放了22埠、80埠,開啟了ssh服務、http服務。
2.目錄掃描
使用gobuster進行目錄掃描,命令:gobuster dir -u http://192.168.5.73 -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt,發現/js目錄,其他目錄也看了沒發現什麼可以利用的資訊。
使用web服務訪問下js目錄,發現main.js檔案,檢視該檔案資訊發現:opus-details.php檔案並且該檔案可以接受一個id的引數,其引數值為字串型別。告訴我們使用AES進行解密,解密的密匙是SecretPassphraseMomentum。
3.web服務
訪問web服務時顯示了四張圖片,訪問四張圖片時跳轉到了上面發現的opus-details.php檔案,猜測這裡可能存在注入漏洞。
二:漏洞利用
1.sql注入
使用sqlmap進行下注入測試,命令:sqlmap -u http://192.168.5.73/opus-details.php?id=demon -banner,但是顯示不存在sql注入。
2.xss注入驗證
使用XSStrike掃描以下看是否存在xss注入,命令:python xsstrike.py -u http://192.168.5.73/opus-details.php?id=angel,發現存在xss注入。這裡記錄下這兩個payload(或者只記第一個也行,第二個主要是驗證的時候比較直觀),下面要用到這兩個。
#第一個payload
<dETAIlS%09OnToggle%0a=%0a[8].find(confirm)//
#第二個payload
<a%0dOnMoUSeOver%0a=%0a(prompt)``>v3dm0s
在web頁面輸入payload進行測試,這裡用的第二個payload,發現確實存在xss注入。
3.xss注入利用
利用我們獲取的第一個payload獲取cookie資訊,將payload中的數字8修改:document['cookie'],payload:<dETAIlS%09OnToggle%0a=%0a[document['cookie']].find(confirm)//,成功獲得cookie值:cookie=U2FsdGVkX193yTOKOucUbHeDp1Wxd5r7YkoM8daRtj0rjABqGuQ6Mx28N1VbBSZt。
資訊收集時告訴我們要使用aes方式對一個字串進行解密,解密密匙是:SecretPassphraseMomentum,因此找一個可以線上解密AES的網站對cookie進行解密,網站:http://www.jsons.cn/aesencrypt/,解密後成功獲得一串字串:auxerre-alienum##。
三:獲取shell
對獲得字串進行分析,猜測應該是賬戶和密碼資訊,後面經過簡單登入測試發現賬戶和密碼資訊為:auxerre/auxerre-alienum##。利用獲得賬戶資訊成功獲得shell許可權。
獲得root許可權後在當前目錄下發現user.txt檔案,讀取該檔案成功獲得第一個flag值。
四:提權
1.資訊收集
使用sudo su和find / -perm -4000 -type f 2>/dev/null查詢可以進行提權的相關資訊,但是未發現可以利用的資訊。
那就直接上傳指令碼:linpeas.sh進行資訊收集,分析收集的資訊發現存在一個CVE-2022-2588漏洞,將該漏洞的exp進行上傳提權,但是提權失敗。
繼續對linpeas.sh指令碼收集的資訊進行分析,發現存在對6379埠的監聽,6379埠是redis資料庫的服務埠。
檢視下本地程式驗證是否存在redis服務,發現確實開啟了redis服務。
2.redis服務
直接在shell中連線redis服務,命令:redis-cli,連線redis資料庫後,在資料庫中檢視下所有的資訊,發現只有一組值,讀取資料獲得:m0mentum-al1enum##。
3.提權-root
獲得密碼資訊後嘗試切換root賬戶,命令:su root,成功切換到root賬戶。
獲得root許可權後在/root目錄下發現root.txt檔案,讀取該檔案成功獲得flag值。
ps:看到這裡的話留下一句對你影響較大的話吧,emmm這幾天比較迷茫,讓我們互相學習以下。