省HVV初體驗(edu)

學安全的劉sir發表於2022-06-05

浙江省HVV初體驗

此次參加的HVV是edu分會場,總的來說是對HVV有了一個初步的認識,瞭解實戰和靶場練習之間存在的巨大鴻溝。

經歷了這次HVV,對於滲透測試有了更深一步的理解。滲透測試的本質就是資訊收集。

資訊收集的廣度決定了攻擊的廣度

不管是進行SRC漏洞挖掘,還是做專案滲透測試,還是打紅藍對抗,資訊收集很重要。比如:

1.確定資產(它有哪些域名、子域名、C段、旁站、系統、微信小程式或者是公眾號),確定好了以後,就是常規的指紋識別(中介軟體、網站、目錄、後臺、功能以及分析功能對映出來的相關漏洞)。比如你的面前出現了一個登入頁面,你會怎麼去處理,就拿我在HVV期間的案例舉例吧。我找到某高校的一個後臺登入框後,首先採用萬能密碼去測試一下輸入框有沒有注入,如果沒有就是試admin/admin這種弱口令了(弱口令是百試不爽的方式之一,在紅藍對抗中,弱口令攻擊佔3到4成左右,因為只要你拿到高校的VPN賬號以後,進入內網,那不是直接一頓亂殺了嗎),在試的這個期間如果運氣好進去了自然最好,其實試的期間主要是檢視是否存在賬號鎖定策略、密碼不正確、不存在此使用者名稱、驗證碼等等。如果沒有驗證碼阻礙,爆破是肯定的沒得說的,但是作為高校,這些低階錯誤肯定不會犯,甚至還會層層設卡,抓包發現登入框的密碼,採用了二次MD5然後加鹽加密,基本上是沒有什麼辦法了。所以只能採用社工賬號密碼了,高校的使用者名稱基本為學號,密碼預設基本為身份證後六位,大多數同學是不會去改這個預設密碼的。我們通過了Google,github找到了相關的敏感資料,最終成功進入了後臺。

2.掃目錄,目錄掃描也是一個存在驚喜的地方,說不定能掃描到後臺未授權訪問的連結、備份檔案、編輯器、敏感資訊等。平時對後臺登入的網址看多了,常規的路徑/manager/html、/Login、/login.php、/login.aspx等等,甚至不用工具去跑,直接去就能猜。但其實在這次HVV中,遇到了很頭疼的問題,用工具去掃目錄的時候,不僅是我包括我的隊友在面對個別高校網站目錄掃描的時候,很容易就會被ban掉IP了(所以推薦除非是實在沒有頭緒的時候再進行這一步,雖然HVV中不會封代理池,但是一直更換IP也很麻煩)。頭痛的背後也有一定的收穫,比如在對某高校的網站進行目錄掃描後,發現了ico圖示(千萬不要小看這個ico圖示),拿到這個ico圖示後,我可以直接扔進fofa裡面去一頓搜查,查什麼呢,去查通用框架,找到通用框架就好辦了,再去對其版本進行發掘,然後用CMS通殺庫實現通殺。比如我在對我們隊的目標進行攻擊的時候,發現某高校存在通達OA的版本漏洞。但由於我自己太菜了,嘗試了多次也沒打進去,最後發現它的版本雖然不高,但是配置修復過的。同樣的道理,掃目錄掃出類似services服務路徑,也可以用同樣的方法,通過其元件版本去查CVE,然後對其進行對應的通殺。

知識面的廣度決定了攻擊的深度

在紅藍對抗中,知識面涵蓋得越多,攻得越深。這個就比較考驗平時所積累的知識面了。這裡就簡單拿演練期間的案例來做說明,比如

1.邏輯漏洞,邏輯漏洞是由於一些程式設計師未考慮到或者貪圖省事而造成的邏輯上的漏洞,一般的waf不容易攔截,因此邏輯漏洞和弱口令漏洞都是很多SRC專案中最容易挖出來的漏洞。登入框所存在的最主要的邏輯漏洞就是註冊和忘記密碼模組。註冊模組存在任意使用者註冊漏洞(這個可以採用抓包改包發包去進行一個批量註冊使用者);忘記密碼模組存在任意密碼重置漏洞(這個也同樣可以採用抓包改包發包去進行),如在此次紅藍對抗中,我嘗試對某美院進行修改密碼的嘗試,將其手機改成我自己的手機號去嘗試修改使用者的密碼,但是由於過於安全,所以嘗試失敗,但這也是一個思路。還有越權,越權分水平越權和垂直越權,在此次HVV期間,我誤打誤撞的發現了學習通的水平越權漏洞(每一條帖子評論都有對應的ID號,刪除評論的時候把自己的評論ID替換掉來進行實現水平越權)第二天在詢問了分會場裁判是否可以拿分以後,後一天我嘗試復現的時候發現已經被修復了,非常難受,錯失一個拿大分機會(因為打的是edu分會場,所以學習通這個平臺一定有相關的敏感資料洩露的,但被修復了就沒辦法了)。

2.常用的安全漏洞(XSS、XXE、Sql注入、CSRF、SSRF、檔案上傳、反序列化、Redis等等),其中在此次HVV期間,我們就用到了sql注入、檔案上傳、Redis主從複製。sql注入那一個是我們隊伍第一個拿分項,隊伍大佬採用了sql注入+cookie注入最終拿到了6w條敏感資料;檔案上傳漏洞也是我們最先想到突破的地方,一找到上傳點就開始進行嘗試,不放過任何一個上傳shell的機會;然後就是redis主從複製,我們隊伍隊員發現了redis未授權訪問導致主從複製獲得遠端程式碼執行許可權(利用redis-ssrf來進行反彈shell,最後RCE)

最後說一下感想:

作為一個小菜鳥,這七天的攻防演練對我來說有很大的幫助,雖然過程比較艱難,但是也培養了我的漏洞挖掘能力,在以後參加一些SRC專案必定會有很大的幫助。特別是在面對一些登入框的時候,其實去硬剛,通過各種各樣的方法去嘗試,剛著剛著就成長了;同時也發現了自身的很多不足的地方,基礎知識還不夠紮實,實戰能力更應該多提高多鍛鍊,多去復現一些常見漏洞案例,去真正瞭解漏洞存在和利用原理以及怎樣去做一個防護措施。