一次完整的渗透测试仅供学习研究
聲明:本文僅限學習研究討論,切忌做非法亂紀之事
Web打點
滲透測試中,Web端最常見的問題大多出現在弱口令、文件上傳、未授權、任意文件讀取、反序列化、模版漏洞等方面。因此,我們著重圍繞這些方面進行滲透。
1.弱口令
先介紹一些好用的字典:
https://github.com/fuzz-security/SuperWordlist https://github.com/gh0stkey/Web-Fuzzing-Box首先將收集到的所有登錄頁面(url.txt)使用腳本進行爆破,我這里使用的是WebCrack腳本,在web_crack_log.txt可以直接看到有驗證碼的地址是哪些,然后我們在選擇其他工具進行爆破。
私信回復“資料”獲取滲透學習思路大綱與學習資料【點擊查看】
本次運氣還不錯,找到了四個弱口令:
2.文件上傳
常見的文件上傳漏洞類型:
通過剛才爆破出來的其中一個弱口令登錄到后臺,發現了上傳點并且成功上傳:
但是這個只是一臺獨立的服務器,并沒有進入到內網,接著往下看。
3.任意文件讀取
通過jsfinder爬取了大量的路徑,然后通過字典爆破到了一個任意文件讀取。
但是由于是低權限,所以沒有繼續測試。
4.springboot未授權漏洞
找到個springboot未授權漏洞。按照正常思路,訪問 Web 應用的 /actuator/env 或 /env,如果有返回 json 格式的數據,則可能存在漏洞。但是此環境下,這個路徑可能被刪除了:
于是我們嘗試讀取配置文件,看看能不能找到有用的東西。
訪問/autoconfig后,發現了某云的Accesskey:
使用工具成功登錄:
但是登錄后發現是個空的服務器,所以還得繼續找口子。
順便總結下Spring Boot Actuator常用的路徑:
5.Java-RMI反序列化
利用這個漏洞前,我先簡單介紹下Java-RMI。
Java RMI服務是遠程方法調用(Remote Method Invocation),它是一種機制,能夠讓在某個Java虛擬機上的對象調用另一個Java虛擬機的對象的方法。
在Java Web中,很多地方都會用到RMI來相互調用。比如很多大型組織都會在后臺部署一些Java應用,用于對外網站發布更新的靜態頁面,而這種發布命令的下達使用的就是這種RMI形式。
值得注意的是,RMI傳輸過程必然會使用序列化和反序列化,如果RMI服務端端口對外開發,并且服務端使用了像Apache Commons Collections這種庫,那么會導致遠程命令執行。
我們找到的這個服務恰好端口對外開放,并且使用了Apache Commons Collections的有漏洞的版本,所以成功執行命令:
通過此漏洞,終于成功打進內網,通過發現192.168.0.0/16網段和172.16.0.0/16網段:
內網滲透
【點擊查看學習資料】
通過Java-RMI反序列化終于打進了內網。接下來進行內網滲透測試,下圖是此次內網滲透的流程圖:
第一步,192.168.0.0/16網段和172.16.0.0/16網段的未授權通過使用frp代理出來流量后,使用fscan進行信息收集:
發現多個未授權訪問:
第二步,192.168.0.0/16網段和172.16.0.0/16網段的弱口令:
第三步,Jboss反序列化漏洞,發現了Jboss的網站:
成功上傳shell:
發現是低權限后上傳CS碼,提權成功,然后將流量代理出來:
發現了“10”段:
通過配置文件,發現了數據庫的密碼:
成功連接數據庫:
第四步,CVE-2020-1472拿域控。
通過net time /d找到域控:
測試發現有zerologon漏洞:
然后收集了“10”段的信息:
至此整個滲透過程結束。簡單回顧一下:
總結
由于是滲透測試項目,本著能多測就多測的原則,對多個系統歷年來出現的漏洞逐一進行了測試。
根據測試的結果來看,雖然很多企業已經對網絡安全足夠重視,但正如周總所言,世界上只有不努力的黑客,沒有攻不破的系統。在安全這個行業,我們仍任重而道遠。
總結
以上是生活随笔為你收集整理的一次完整的渗透测试仅供学习研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【安全漏洞】利用CodeQL分析并挖掘L
- 下一篇: 简单学习kali高级渗透测试思路方法