[資安社群] 005 DEVCORE Conference 2023 企業場心得-DEVCORE 紅隊的進化,與下一步 Ver. 2023
飛飛 | 2023-03-12前言
本篇內容記錄 2023/03/10 到台北國際會議中心 (TICC) 201 會議室參與 DEVCORE Conference 2023 企業場的筆記以及心得,因為是靠拍照可能會有一點疏漏,如果有任何問題可以看日後 DEVCORE 的 BLOG。
小感想
這場議程的最後,有人詢問講者說,紅隊人員的能力該如何量化,對於我來說,人員能力量化真的很困難,可能客戶可以從系統知道他們嘗試什麼思路失敗,以證明自己能力還是很厲害,這個問題值得思考很久。
議程列表
- 攻擊一日,創業十年
- DEVCORE 執行長暨共同創辦人 Allen
- 紅隊紅隊,多少服務假汝之名而行!
- DEVCORE 商務發展總監 Aaron
- 紅隊常見 Q&A 大解密
- DEVCORE 資深副總暨共同創辦人 Bowen
- DEVCORE 紅隊的進化,與下一步 Ver. 2023
- DEVCORE 紅隊總監暨共同創辦人 Shaolin
DEVCORE 紅隊的進化,與下一步 Ver. 2023
outline
- 紅隊的進化 ver.2019
- 紅隊的進化 ver.2023
- 企業的下一步
- 紅隊的下一步
紅隊的進化 ver.2019
延續 2019 的版本,可以看 DEVCORE 官方 Blog 回顧
紅隊演練怎麼進行
- 收到任務目標(來自企業)
- 取得控制核心的系統的控制權
- 取得網域高權限帳號
- 取得客戶信用卡完整卡號
- 取得特定人員權限
- 執行專案
- 排除協議的禁止行為
- 紅隊無所不用其極地達成任務目標
Reveiw 2019
- 目標: 進入內網
- 研究高價值產品漏洞
- 出國演講、參加比賽
- 目標:協同合作與歷程記錄
- 需要團隊合作,有協同合作工具與平台,記錄每一筆的行為
- Shell 主機主控台,方便其他人接手
- 客製化系統,可以標籤、排序、搜尋主機的系統、
- 客製化系統,主機有用資源分享
- 目標: 隱匿的內網橫向移動
- 開發隱匿工具
- WAF 抓不到
- 防毒軟體抓不到
- 不會有 EventLog
- 收集所需系統或程式碼 netstat, route,tasklist ...
- 開發隱匿工具
2023 的進化
- 為了進入企業內網
- 高價值產品漏洞研究與挖掘
- 團隊協同合作與歷程記錄
- 客製化的協同合作工具
- 更穩定的內網橫向
- 開發隱匿工具
客戶的疑問
為什麽我花了這麽多的預算
安全檢測也做過這麼多年了
紅隊演練時還是照亮被突破
一般紅隊演練的流程
- Reconnaissance:偵查,找到企業外面有哪些介面
- Initial Access:找到第一個進入點,找到一個漏洞進入企業內部
- Persistence
- Privilege Escalation
- Lateral Movement:橫向移動到更重要的核心系統
- Exfiltration:把核心系統的資料全部攜帶出來
- 取得紅隊演練的標的
紅隊演練面臨的挑戰
- 企業外網找到漏洞:可能已經做了很多次檢測,所以從外部找不到漏洞
- WAF、IDS 設備:企業佈署防禦設備
- 防毒軟體:伺服器會安裝防毒,還需要繞過
- 內網連外限制:安裝後門程式之後,面連到網路無法對外,因為有些企業會限制外網連線
- 企業內網橫向移動:需要一道比較重要的網段
- 實體隔離:大魔王,有實體隔離的機器,該如何取得裡面的資料
企業外網找到漏洞
如果做過很多次的滲透測試,該如何突破,講者提到他們做了多次的紅隊演練,的經驗分享如下:
- 第一個關鍵點: 收集資訊比他人多
- ▲ 長期累積的精華字典檔案
- 知道企業喜歡哪些國產軟體
- 蒐集這些國產軟體的路徑
- 可以更快掃到目錄
- 飛飛 Tips: 平常有自己收集好字典檔、路徑、帳號、密碼都需要收集
- ▲ 背景自動蒐集資訊洩漏
- 針對 GitHub、Google、HackMd 等網站蒐集機敏資料
- 舉例:Machine Key(公開測試專案的 Machine Key),若取得該 Key 可以控制 Key deploy 的所有網站
- 長期去收集這些問題,進行紅隊演練的時候就可以利用
- ▲ 長期累積的精華字典檔案
- 第二個關鍵: 觀察比他人細
- ▲ 供應商的弱點:發現供應商的資訊洩漏
- 確認資訊系統是哪一間廠商維護,透過標案系統找到目標開發廠商
- 針對開發商或維護商尋找漏洞,如洩漏目標網站程式碼,針對程式碼挖掘漏洞。
- 例子:Repository 公開在外面,可以看到所有的程式碼。
- ▲ 說明文件取得檢測資源
- 觀察企業的說明文件,可能會有登入的案例,可以從截圖找到帳號與"密碼長度""
- 發現測試站的複雜帳號(例子為 demo3345678)
- 發現密碼位數猜測弱密碼(例子為5位,常見可能為 admin)
- 進入系統發現其他漏洞(可能為權限過大的管理者)
- 觀察企業的說明文件,可能會有登入的案例,可以從截圖找到帳號與"密碼長度""
- ▲ 社交平台的資訊洩漏
- 例子為內部系統的密碼是生日,針對主管的社交平台,如 Facebook 等,找到過去的 "護照" "機票" 的資訊,並取得生日進入主管權限,(該照片為 2013 分享)
- ▲ 供應商的弱點:發現供應商的資訊洩漏
- 第三個關鍵點: 找別人不想看,或沒有注意的服務
- ▲ 專用桌面端軟體:
- 這個企業有多年滲透測試經驗,因此外網漏洞甚少,WAF 也很優秀。
- 針對企業的桌面端軟體,桌面端將參數"加密"並跟伺服器互動,可透過逆向工程解出加密演算法後,就可以針對參數進行測試,根伺服器交互的過程中找到漏洞。
- 也因為參數有進行加密所以 WAF 剛好被繞過。
- ▲ 專用桌面端軟體:
- 第四個關鍵點:有世界級的漏洞利用與研究能力
- 大家都知道不用講 (X
- 有足夠時間很高機率可以挖出 0 day
WAF、IDS 設備:企業佈署防禦設備
- 關鍵點:讓 WAF 認不出來中間傳了什麼
- 繞 WAF 基本概念
- 假設 illegal 是 WAF 認為不合法的字串
- 攻擊者傳出字串: illega%6c
- WAF 看到的字串: illega%6c (WAF 以為合法)
- 伺服器理解的字串 illegal(成功繞過 WAF)
- ▲ 可透過字元編碼、取代搭配伺服器的特性嘗試繞過 WAF
- 以上是基礎概念
- ★(常用) 使用序列化的特性
- 因為序列化的資烙是亂碼
- WAF 看不到任何關鍵字
- 實測成功繞過多種廠商的防禦
防毒軟體
- 關鍵點:程式不要出現特徵碼即可
- 關鍵方法
- 加殼
- 加密
- 壓縮
- 混淆
- 手動移除程式內的關鍵字,如 help message
- 可以透過重新編譯繞過防毒軟體
- 關鍵方法
內網連外限制
- 企業嚴苛的環境
- 掛一個 proxy 才能夠上網
- 中間要有一層 Gateway
- 不合法網站不能上
- 不能傳危險的內容
- 關鍵點: 想辦法成為 Gateway 的白名單
- 關鍵方法
- 開發後門工具支援純 HTTP 協定+ Proxy
- 尋找 Gateway 的白名單 domain,看什麼 domain 是可以利用的
- ★ CDN domain 最好利用
- 因為一般網站一定會用到 CDN 素材(CSS,JS),CDN 通常是白名單,可以去 CDN 的網站申請後,許內容都可以透過 CDN 傳輸
- 關鍵方法
企業內網橫向移動
- 關鍵點:直搗黃龍,打 AD 伺服器
- AD 價值高,現階段相對好攻擊,原因如下:
- 權限種類太多: 容易出現設定疏失
- 企業帳號太多: 莫名的服務,人員擁有不需要的高權限
- 歷史包袱太多: 不知道哪個學長留下的高權限帳號
- 個人疏失: 資源回收桶殘留關鍵帳號密碼、個人目錄放密碼表.xls
- AD 價值高,現階段相對好攻擊,原因如下:
飛飛OS: 也要有 AD 可以打 XD,但不過我個人經驗也是許多人的電腦裡面資源回收桶都不會定時清理,通常會等到電腦當當的才會清,所以偶爾翻個垃圾桶也是會有不一樣的東西。
實體隔離(大魔王)
- 關鍵點: 實體隔離仍要方便維運
- 一般而言無法突破
- 嘗試尋找維運實體隔離機器的痕跡,以下是實戰看到的例子
- 透過 AD 管理
- 透過資產管理系統
- 透過 iLO 管理
- 透過 vCenter 管理
- 尋找方式
- 直接攻陷上述提到的管理系統,搜尋出"號稱"實體隔離的機器
- 尋找維運交接的文件
- 淺伏在維運人員電腦觀察
- Case: 透過IPMI 連接螢幕,網路實體隔離,但螢幕滑鼠可控制,可以直接登進去做紅隊的其他事情
反思
- 做過滲透測試/紅隊演練並不代表 100 % 安全
- 過去的檢測團隊不一定有時間 or 有資源可以看到這麼像
- 做檢測的團隊,從不同角度、不同人、不同時間,會有不同結果
- 以上是企業定期進行資安檢測的由來
- 資安防護軟體:WAF 是有可能失效的
- 只要做到讓 WAF 認不得的傳輸內容就可以繞過 WAF
- 有些網站可能還會用 Javascript 或其他方式加密傳輸封包,WAF 認不出來,就無法抵擋
- 繞過防毒軟體的成本,沒有想像中的高
- 以攻擊者的角度,遇到防毒軟體只會覺得麻煩,但並非不能繞過
- 企業限制內網對外連線
- 駭客仍有機會透過白名單網站把資料傳出去,只要員工沒有被完全禁止上網(循著員工上網足跡)
- AD 帶來的管理便利性,很容易會有設定上的疏失
- 可以透過 AD Attack Path Assessment 等產品盤點 AD 可能會被攻擊的路徑
- 無法盤點: 員工的文件、email、密碼管理軟體等人為洩漏疏失無法盤點,例子: 資源回收桶、桌面密碼表
- 企業說的實體隔離,有可能只是防火牆的設定
- 特定 主機 開放連線
- 特定 port 開放連線
- 特定 時段 開放連線
- 方便維運和安全性的取捨,方便維運有機會成為破口
企業的下一步
- 從漏洞檢測、防火牆、防毒軟體、限制外網連線、橫向移動到實體隔離,每一個都有可能失效,怎麼應對
- 上述所提的對於攻擊者來說都是一條攻擊鏈
- 解決方式: 眼明手快
- 眼明 → 偵測
- 手快 → 回應、阻斷
- 衍明:有偵測能力,知道有人正在攻擊
- 手快: 快速回應,阻斷害克的攻擊
- ▲ 面對駭客很像面對 COVID-19,讓身體認識它 > 沒有駭客(病毒清零政策)
會讓紅對覺得麻煩的防禦機制
- ★ 內網發現異常就通報,甚至阻斷網路(對駭客來說非常困擾)
- 來自異常 IP 存取
- 來自不同軟體的登入
- 同 IP 對內網大範圍的掃瞄
- 網站檔案異動後復原及通報
- 網頁伺服器身分執行系統指令
跟你平常看到不一樣的就是異常
- 例子: 登入 AD 的過程,用一台沒有用的機器,企業馬上告警,就是異常
- 平常企業收集流量分析
- 企業使用習慣
- 如何發現不同點或不一樣
- 例子: 取得資料庫的帳號密碼,伊登入,馬上就被發現登入資料庫
- 因為登入的 Client Header 不一樣,所以馬上可以發現
企業資安成熟度現況
- 2019 當真正的駭客入侵時,企業準備好了嗎
- 攻進內網的時候,大部分的企業沒有知覺
- 對於頂尖團隊而言,進入內網的難度並不甘
- 從紅隊演練中訓練企業"偵測"和"應變"的能力
- 大部分的企業都還在第一階段到第二階段之間
- 第一階段演練目標
- 找出最快入侵途徑
- 盡量監控但不阻擋
- 第二階段演練目標
- 驗證防禦的有效性
- 久攻不克的特許方案
- 嘗試新的攻擊情境與手法,如社交工程、實體入侵
- 第三階段演練目標
- 完全擬真對抗演練
- 不限時間、不限範圍、不限手法
- 確認日常團隊防禦應變流程及能力
- 勇於挑戰團隊極限
- 第一階段演練目標
紅隊如何幫助企業
- 第一階段:確保外網有一定的安全性
- 評估點:2~3 週外網找不到進入點(視範圍而定﹚
- 第二階段:確保內網具有偵測與應變能力
- 評估點: 可否發現 DEVCORE 在內網的行動
- 第三階段: 確保整體防禦達 24/7 的有效性
- 評估點: 隱匿攻擊下核心系統的重要資料,有沒有被取走
真實客戶的進化
- 第一年: 什麼權限都拿到了,管理員卻什麼都不知道
- 第二年: 我們核心網段有異常 log ,是你們在攻擊嗎
- 第三年: 我們 DMZ 網段有異常 log,是你們在攻擊嗎
建議
- 如果外網安全已投資多年,開始思考「如果駭客已經在內網」的防禦策略
- 盤點出最不可以被洩漏的重要資料,從這些地方開始奉行 Zero Trust 概念
- 企業內部需要有專職資安人員編制的藍隊,負責偵測和應變
- 透過有經驗的紅隊合作,全盤檢視防禦盲點
紅隊的下一步
- 學習尋找新的攻擊面
- 釣魚、供應鏈攻擊
- 新攻擊手法很多時吼都是因為打不穿企業,而後逼出來的結果
- 仍舊在乎隱匿技術、工具研發
- 台灣目前平均偵測能力不夠,預計兩三年後,才會需要在演練中隱匿技術
- 研擬紅藍對抗的戰術
- 如: 洩漏蹤跡是調虎離山,還是真的洩漏?
- 資安成熟度高的企業可逐漸導入擬針對抗演練
- 情境式的演練,紅隊推薦劇本模擬駭客使用特定的技術或攻擊路徑
- 可增強防禦方對特定技術或攻擊路徑的偵測、應變能力
- 紅藍對抗:擬真的演練
- 增強對職業攻擊者的應變能力,將傷害降低
Takeaways
- 從紅隊在各個階段的攻擊思維,了解各個資安產品都有其極限
- 駭客入侵一定會發生
- 因此防禦方須持續培養資安人員加強偵測和應變能力
- 透過紅隊演練咧解企業防禦的盲點,以利規劃對應之道
結語
紅隊演練的精隨不是在告訴你有多脆弱,在於真正壞人闖入時擬可以獨當一面的擋下
QA
- Q:紅隊演練是否有任務失敗
- A: 紅隊演練中會設定多個任務目標,會在合約中設定稽核點
- 第一步可否達到核心細土
- 第二步可否取得特定人員權限或個人資料
- A: 紅隊演練中會設定多個任務目標,會在合約中設定稽核點
- Q:如何量化紅隊人員的能力
- A: 因為紅隊流程複雜,每天需要討論開戰略會議,有系統會記錄我們的行為
- 飛飛: 這個問題似乎沒有具體回答到