靶場戰神為何會隕落?

蚁景网安实验室發表於2024-09-04

我從第一個SQL隱碼攻擊漏洞原理學起,從sql-libas到DVWA,到pikachu再到breach系列,DC系列靶場,再到實戰挖洞,發現靶場與實戰的區別是極其大的。

我個人覺得在這種web環境下,難的不是怎麼測一個漏洞點,而是怎麼找一個漏洞點。靶場與實戰最大的區別在於你不知道這個地方到底有沒有漏洞,尤其是在複雜的業務資料互動下,資料包,引數,介面將極其複雜。

本文將以DC系列靶場為例子,分析靶場與實戰的區別,同時分享實戰思路與需要用到的一些工具外掛。

(本文並不主講靶場,因為網上已經有很多這種文章了)

DC-1

探測:nmap掃描埠,dirsearch掃目錄,配合外掛wappalyzer識別資訊。

火狐wappalyzer外掛下載地址:

https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/

靶場戰神為何會隕落?

打點:識別出DrupalCMS,上MSF搜尋利用,拿到shell。

找到flag1,根據flag1提示找到配置檔案,在配置檔案找到資料庫賬號密碼,連線成功。

靶場戰神為何會隕落?

在資料庫找出admin密碼,發現有加密,根據靶場已有指令碼修改資料庫admin密碼,成功登入web後臺。

深入:進入後臺後找到flag3根據提示cat/etc/passwd。找到flag4,根據flag4提示進行find提權:find / -exec"/bin/bash" -p \;找到最後的flag。

實戰區別分析:

探測階段:在拿到一個IP後除了進行基礎操作nmap,dirsearch,指紋識別外,可能還要查詢IP的域名,以及IP對應的公司,並根據公司名再次擴大資訊蒐集範圍,到google,github以及資產搜尋引擎上利用相關語法蒐集預設密碼,賬號,郵箱等等資訊。

並且根據關鍵字,及密碼特徵製作特定社工字典進行登入框爆破。而且實戰一般情況dirsearch可能掃不出來什麼東西,這時候還要到google和資產搜尋引擎上查詢。

靶場一般不會用到資產搜尋引擎,例如fofa,鷹圖,但它確實極其重要。

打點階段:對於歷史漏洞的利用不要只停留在指紋識別這些特徵上,還要從資料包上分析。

但如果是登入框沒進入後臺哪有什麼資料包呢?

如下:我在測某個系統時,將請求方法GET修改為POST直接爆出IIS版本,然後一箇中介軟體nday通殺了兩百多個站,而靶場一般是不會出現這種測試方法的:那就是想辦法讓系統報錯!

kappframework-BmMGKv(1)(1)

實戰中如果想對密碼進行修改,我遇到過的:一種就是未授權呼叫後臺修改密碼介面修改,另一種就是忘記密碼處的邏輯繞過,當然忘記密碼這個功能可能前端並不會直接給出,需要自己透過js檔案等等資訊拼介面。

DC-2

探測:nmap探測IP埠服務,修改本地DNS檔案訪問靶場IP網站(找到crew欄位),透過目錄掃描找到後臺登入口。

打點:透過cewl對網站定向蒐集獲取密碼,透過CMS對應WPscan外掛獲取使用者名稱,聯合爆破進入後臺。(jerry及tom的賬號密碼)

翻看後臺提示後放棄wordpress歷史漏洞,嘗試ssh連線

jerry的ssh連線不上,tom連線成功(已得到的賬號密碼)

深入:直接SSH登入成功,執行命令發現rbash限制:

靶場戰神為何會隕落?

自然想到rbash逃逸,逃逸成功後拿到flag3

此時用su進行使用者tom轉換可以成功,拿到flag4後根據git欄位提示,進行git提權拿到最後的flag

【----幫助網安學習,以下所有學習資料免費領!加vx:dctintin,備註 “部落格園” 獲取!】

 ① 網安學習成長路徑思維導圖
 ② 60+網安經典常用工具包
 ③ 100+SRC漏洞分析報告
 ④ 150+網安攻防實戰技術電子書
 ⑤ 最權威CISSP 認證考試指南+題庫
 ⑥ 超1800頁CTF實戰技巧手冊
 ⑦ 最新網安大廠面試題合集(含答案)
 ⑧ APP客戶端安全檢測指南(安卓+IOS)

實戰區別分析:

探測階段:很多IP經過nmap掃描後發現只會開放80埠,且80埠為主站,滲透難度極大,且我用dirsearch等工具掃目錄很少能掃出有用的目錄。

在找脆弱資產時還需要結合關鍵字,資產搜尋引擎,google語法等搜尋:

例如這個站:(浙大某脆弱資產)只能透過google語法site:xxx搜尋出來,因為直接訪問域名為404介面,路徑極其複雜無法爆破,資產搜尋引擎沒有記錄。

螢幕截圖 2024-08-27
213854

打點階段:登入口的爆破也極有可能遇到次數限制

此時需要嘗試繞過:修改為隨機IP,隨機UA頭,修改Referrer為127.0.0.1等等

這裡推薦一款工具可以用來偽造IP爆破:

https://github.com/ianxtianxt/burpsuiefakeip

即使沒有次數限制,可能也需要根據公司名稱縮寫,系統名稱縮寫配合admin,administrator等欄位及特殊字元透過工具(白鹿社工字典)自制密碼進行爆破。

螢幕截圖 2024-08-27
212120

因為靶場拿到flag1後根據提示crewl(一個可以蒐集賬號的工具)就知道要爆破進入後臺,實戰可能還會在忘記密碼處耗費時間。

且實戰不會有如下靶場提醒:(無法利用wordpress歷史漏洞,需另尋他法)

靶場戰神為何會隕落?

實戰過程中ssh連線可能也不會如此順利(靶場直接使用wp登入介面爆破出來的密碼登入)

DC-3

探測:掃埠,掃目錄,查指紋(joomla)

打點:使用joomscan工具進行漏洞掃描,找到版本,searchsploit找到sql注入漏洞,脫庫拿到賬號密碼,john解密成功。

靶場戰神為何會隕落?

登入管理員後臺成功,找到上傳點直接getshell。

靶場戰神為何會隕落?

無法在虛擬終端反彈shell,於是返回上傳點建立反彈shell的php檔案,kali接受成功。

靶場戰神為何會隕落?

深入:利用用searchsploit工具搜尋及蟻劍上傳進行作業系統提權成功。

靶場戰神為何會隕落?

實戰區別分析:

探測階段:掃描目錄時會找到兩個登入介面,在實戰中,需要將注意力放在並不對外使用的介面,它們屬於脆弱資產,例如員工登入入口,管理員登入入口,像對外開放的,可以註冊的那些登陸介面,雖然功能點更多,但由於經常有人訪問,會經常維護,它們的安全性會更高,不容易出洞。

打點階段:靶場依舊是利用ndaysql注入脫庫拿到賬號密碼,但實戰過程中找到一個sql注入後去脫庫的可能性不大。在src中一般只用證明該漏洞存在即可,在滲透過程中要脫庫就一定要先拿到有明確的滲透許可權。

DC-4

探測:訪問IP,出現登入框,以admin為賬號,bp預設字典爆破成功

打點:後臺直接執行命令抓包,radio引數執行命令成功,進行shell反彈

靶場戰神為何會隕落?

深入:翻找檔案,找到賬號與密碼字典,hydra進行ssh爆破成功,繼續翻找檔案,找到charles賬號密碼,su切換使用者,根據關鍵字teehee進行提權找到flag

靶場戰神為何會隕落?

實戰區別分析:

探測階段:可以看到靶場並無指令碼原始碼,且那麼就減少了很多黑盒測試點,而且靶場必定會存在漏洞這也是與實戰的重大區別之一,而且很容易就爆破成功

靶場戰神為何會隕落?

打點階段:本靶場後臺功能極其簡單隻有一個功能點,且一看就是要測試RCE,但實戰你遇到的可能是如下介面:

螢幕截圖 2024-08-28
104819

會有很多模組,很多功能需要測試,對這種後臺打點通常會先嚐試檔案上傳漏洞,因為上傳點更容易尋找,而RCE測試點則極為複雜,通常會在例如"系統""命令"等欄位的模組,但其實所有模組都可能存在RCE,因為模組本身就是前端與後臺執行功能的地方,黑盒測試你無法從前端介面直接看出究竟哪個模組呼叫了執行命令的引數。

所以黑盒測試RCE需要將前端功能點轉換為資料包,從介面,引數進行測試。

DC-5

探測:nmap掃埠,dirsearch掃目錄,指紋識別

打點:在掃出來的目錄中翻閱時發現存在檔案包含,直接以file引數讀取成功。

確定為本地包含後,找到靶機日誌,將webshell寫入日誌,getshell成功。

靶場戰神為何會隕落?

深入:利用searchsploit對/bin/screen-4.5.0進行本地提權成功。

實戰區別分析:

打點階段:靶場檔案包含的漏洞特徵很明顯,但實戰中就並不會有這類提示,黑盒測試的思路就是多猜。而且在實戰中想要利用檔案包含進行getshell的難點就是找不到正確的路徑和許可權不夠,並不會像靶場這樣直接就能爆破出來,並且能直接包含。

實戰更多的步驟還是在找漏洞而並不是測漏洞。

DC-6

探測:nmap掃描埠(22,80),dirsearch掃描目錄,whatweb識別

打點:發現wordpress指紋,使用wpscan掃描,使用提示的命令cat/usr/share/wordlists/rockyou.txt | grep k01 > password爆破進入後臺。

需要修改本地dns檔案才能訪問靶場。

靶場戰神為何會隕落?

在後臺發現使用activity monitor,使用searchsploit搜尋,利用指令碼getshell.

深入:在後臺檔案找到graham賬號密碼,於是進行ssh登陸成功,再次找到免密碼執行的sh指令碼,利用指令碼完成提權。

實戰區別分析:

打點階段:本靶場發現RCE有兩種方式,一是nday探測二是手測,漏洞點出現在輸入IP的欄位,也算是RCE的高發點,在實戰過程中像交換機路由器後臺也通常會有類似功能點,可以進行RCE測試。

DC-7

探測:nmap探測埠,發現埠80與22(估計又要ssh爆破),掃描出目錄:/user/login

打點:訪問IP看到如下提示

靶場戰神為何會隕落?

到github上搜尋左下角名稱:Dc7User拿到賬號密碼,於是進行ssh連線成功

靶場戰神為何會隕落?

翻找檔案,找到一個郵箱,根據郵箱內容找到指令碼檔案(屬於root主),發現可執行drush命令,透過drush命令進行web介面密碼修改,併成功登入。

基於Drupal 8特性,安裝好外掛後上傳webshell連線成功。

靶場戰神為何會隕落?

深入:,將反彈shell的命令新增到先前的指令碼中,因為先前找出來的指令碼屬主為root進行許可權提升。

實戰區別分析:

打點階段:打點階段用到的github資訊蒐集極其重要,在實戰中透過賬號密碼直接登入ssh或者資料庫或者web後臺也是存在較大可能的。

在github上也經常能發現公司程式碼、賬號密碼、個人資訊或客戶key等敏感資訊。

常用github搜尋語法:

in:name admin 倉庫標題搜尋含有關鍵字admin

in:readme test Readme檔案搜尋含有關鍵字

user:admin 使用者名稱搜尋

language:java admin 在java語言的程式碼中搜尋關鍵字

github資訊蒐集工具:https://github.com/FeeiCN/GSIL

本靶場的後臺功能點還是很多的,但透過drush命令進入後臺感覺還是屬於靶場的味道。在實際挖洞過程中,如果賬號密碼無法爆破,更多可能是分析js檔案(從js檔案中找更多js再從js中提取介面),找隱藏介面,也就是前端頁面並未顯示有註冊修改密碼等功能,但可以從js中找到介面,實現登入後臺的目的!

這裡分享一個很適合找敏感介面資訊的bp外掛HAE:https://github.com/gh0stkey/HaE

DC-8

探測:nmap掃描埠(22,80),whatweb指紋識別

打點:訪問靶場IP點選左方,出現引數。

螢幕截圖 2024-08-30
153257

加單引號後報錯,用sqlmap拿到資料john解密拿到賬號密碼,進入後臺。

靶場戰神為何會隕落?

此處插入webshell配合msf直接getshell成功。

靶場戰神為何會隕落?

深入:執行find / -perm -u=s -type f 2>/dev/null,根據exam4完成提權.

實戰區別分析:

打點階段:靶場依舊是利用的靶場思路sql注入拿到賬號密碼,再進入後臺.但不要覺得sql注入實戰很容易挖到(看你挖什麼資產了),一般出sql注入就是一個高危.而且靶場sql注入還是一個前臺的sql注入,這種get傳參的前臺sql注入已經是很多年前的了,實戰中基本不要想遇到,但也要去測試.

靶場中的getshell方式實戰中我沒遇到過,這種插入方式感覺更像XSS漏洞測試處.

DC-9

探測:nmap探測埠,發現埠80與22(filtered狀態)

打點:透過dirsearch掃出search.php,manage.php目錄,進入後直接找到sql注入點。

靶場戰神為何會隕落?

sqlmap脫庫MD5解密拿到賬號密碼登入manage.php後臺。

根據File does not exist提示進行檔案包含利用?file=../../../../

FUZZ系統檔案找到/etc/knockd.conf,洩露7469 84759842埠。透過nc敲開埠,根據/etc/passwd讀取賬號密碼進行ssh爆破。

靶場戰神為何會隕落?

登入爆破出的賬號翻檔案蒐集字典,再次進行ssh爆破出新賬號。

深入:登入新賬號,先執行sudo-l,找到python指令碼,分析利用指令碼完成提權。

實戰區別分析:

打點階段:靶場sql注入點較為經典,處於搜尋框。且雖然存在sql注入,但如果只新增單引號並不會出現報錯,還需要進一步探測才能發現!

這裡推薦一款常用工具:

https://github.com/synacktiv/HopLa

BP輔助payload外掛,可以一鍵插入常用payload,不用額外再找字典等等。

靶場戰神為何會隕落?

對於sql注入的黑盒測試不要侷限思路,你覺得可能帶入資料庫的引數都需要測試,尤其是在排序例如desc等不能被預編譯的欄位。

打點處的檔案包含漏洞算是一種實戰思路:也就是?file=../../../etc/passwd或者?path=../../../etc/passwd這類payload可以在挖洞過程隨機新增,不一定要對應著功能點才去測試,只要存在file,download等敏感欄位都可以新增嘗試,因為這可能是隱藏功能點。

靶場可能更多的功能是練習單個的知識點,實戰少遇到的知識點,比如一個新手可能挖半年漏洞都無法getshell一次,更別提後滲透等等了。但在打靶的同時也要關注對nday,1day漏洞的黑盒分析,並進行總結。

例如下對許可權繞過的一個分析總結:

1:大小寫替換繞過

/api/home/admin--/api/home/ADMIN

2:萬用字元替換字元:

/api/user/6---403

/api/user/*---200

3:路徑穿越:

/api/home/user---403

/api/MYPATH/../home/user---200

/api/home/..;/..;/..;/..;/home/user---200

除此外還要關注最近的系統或者框架0day例如SQL隱碼攻擊,RCE等等它們的注入引數是哪個,目錄特徵怎樣?這樣在實戰過程中靶場戰神才不至於隕落。

更多網安技能的線上實操練習,請點選這裡>>

相關文章