Vulnhub是一個提供各種漏洞的靶機網站,特別適合萌新進行滲透測試演練。接下來筆者將通過圖文結合的方式對於Vulnhub的DC系列九個靶機做出詳解,不僅要完成靶機作者所布置的任務,還會發散思路用不同的方法尋求突破!
註:今天的文章是 i 春秋論壇作者小鮮略略略表哥發布的文章,公眾號旨在為大家提供更多的學習方法與技能技巧,文章僅供學習參考。
https://www.vulnhub.com/entry/dc-1,292/
靶機:DC1 (VirtualBox) IP:192.168.1.13
攻擊機:Kali(VMware ) IP:192.168.1.10
特別說明:每個靶機作者都對靶機做了詳細的描述以及攻擊目標,比如DC1就需要找到5個flag,最終目標是在root的主目錄中找到並讀取該標誌!
1、msf的熟練使用以及搜索可利用漏洞(Drupal);
2、留意目標網站的配置文件(慢慢查看別錯過重要信息);
3、資料庫管理員提權(更新管理員密碼或者添加一個新用戶);
4、suid提權的命令(nmap、vim、find、bash、more、less、nano、cp)。
開始之前讓我們先來看看靶機與攻擊機的配置,兩者均是橋接模式(建議靶機和kali都保存快照,以便不時之需)。
靶機配置
靶機正常運行
kali配置
下面我們一步一步來,首先查看Kali的ip得到192.168.1.10。
nmap探路,查看靶機IP得到192.168.1.13。
繼續nmap嗅探其他相關靶機其餘信息,發現開放22/80。
那我們就先訪問80埠Web界面,通過插件看到CMS是Drupal 7。
那我們繼續查看robots.txt,看看是否有利用的信息:
我們並沒有得到有用的信息,只是找到了幾個沒啥用的頁面,那我們繼續掃描一下目錄。
掃描依舊也沒有什麼結果,那我們換個思路,利用msf尋找一下是否有可用的漏洞。
這裡我們可以依次利用一下,看看哪個模塊可以成功來利用,我使用第四個Drupalgeddon2漏洞(CVE-2018-7600)。
Drupal系統沒有對表單API接口的AJAX請求輸入進行充分的檢查,這就使得攻擊者能夠向內部表單結構中注入一個惡意的載荷,將導致Drupal系統在未進行用戶認證的情況下執行這個載荷。通過利用這個漏洞,一個攻擊者能夠接管任何Drupal系統用戶的整個站點。
這裡我們只需要設置靶機的IP就可以執行exploit。
我們可以看到打開session連接到靶機,接下來我們繼續反彈一個交互的shell。
我們可以看到自己當前的權限以及所在路徑,那我們ls查看一下其他文件。
我們順利拿到第一個flag,同時也拿到了提示信息(尋找配置信息百度即可知道默認配置信息位置),這裡最好用more查看不至於落掉重要信息。
我們順利拿到了資料庫的一些關鍵信息(資料庫名、登錄名、密碼),那我們順著線索繼續登錄資料庫。
繼續查看資料庫信息,尋找關鍵線索flag3。
到此,我們看到了flag3到底在哪裡了(uid為1的用戶是不受Drupal權限管制的,具有最高權限。)現在我們有兩個思路:
使用Drupal對資料庫的加密方法,加密腳本位置在網站根目錄下的scripts下,使用加密腳本加密新密碼666666,生成加密密文,然後登錄系統查看flag3。
得到666666的hash值,接下來我們需要重置管理員的密碼為666666,還是得進入資料庫直接更新密碼。
那我們用admin 666666嘗試登錄查看flag3:
我們在content查找到flag3。
這裡需要我們查看一下靶機的版本,然後看一下有沒有適用的腳本去添加用戶,首先我們查看一下靶機版本:
得到版本號為7.24,繼續搜索Druapl可利用的腳本。
我們發現只要小於7.31即可利用:
那我們使用user user 嘗試登錄:
成功登錄,同樣查看flag3信息。
到此,我們成功利用兩種不同思路得到了flag3的信息,得到幾個關鍵線索。
(FIND the passwd、need to -exec that command、in the shadow),那我們就按照線索提示尋找這個密碼。
很明顯flag4在/home/flag4目錄下:
順利得到flag4,同時根據提示(你可以用相同的方法在root目錄下)找到最終flag。
思路1:根據提示,想到suid提權。
那麼我們查找一下具有root權限的其他命令,以下幾條均可查詢:
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb { }
發現find命令本身就是root權限,那我們查看一下:
那我們利用find提權。
思路2:既然所有通過find執行的命令都是root權限,那我們利用netcat,可以將它提權為root 權限,首先我們創建一個文件。
繼續利用find將netcat提權為root權限。
同樣的也獲得最終flag!
文章素材來源於i春秋社區
想學習更多滲透測試的知識,可點擊下方搜索功能哦~
(微信升級最新版本即可使用)
如果想要全面系統的學習滲透攻防技術,或者日後想成為滲透測試工程師,歡迎大家報名 i 春秋滲透測試工程師線下就業班,現在報名繳費成功的學員還有手辦相送哦!
北京、成都火熱報名中,名額有限,招滿即止,具體開班時間請諮詢招生老師。
快速諮詢入口
i春秋官方公眾號為大家提供
前沿的網絡安全技術
簡單易懂的實用工具
緊張刺激的安全競賽
還有網絡安全大講堂
更多技能等你來解鎖