數位鑑識 紫隊 情資 資安 Kali Purple TheHive

攻防雙方太親太疏都不行 Kali Purple成紫隊仲裁利器

資安滲透測試引進紫隊 解傳統紅藍對抗形式流弊

紅隊與藍隊測試被廣泛運用於測試資訊系統的安全性,然而再成熟的運作模式仍然有潛在問題,因此本文將先介紹紅、藍、紫隊的概念,接著說明Kali Purple和Kali Linux的差異,最後以Kali Purple中用於數位鑑識與安全事件管理的開源工具TheHive實際操作示範。

近年來,台灣發生數次重大的資安事件,如2022年8月駭客組織APT 27針對台灣的政府網站和基礎設施進行大規模的網路攻擊,抑或是同年10月戶政系統個人資料外洩等案例,這些事件使得「紅隊測試」與「藍隊測試」再次成為熱門的議題。

紅隊測試與藍隊測試是資安領域中很重要的安全概念,一般來說,紅隊指的是攻擊方,用來突破由藍隊扮演的防守方的防禦措施,藍隊作為防禦方就是用來阻止紅隊的攻擊,並且提升系統的安全性,它們會透過設計情境來模擬現實中網路攻防的情況。但在紅、藍隊之中也衍生出一些問題:

‧情報不共享:紅隊測試結束後,照流程來說,會分享他們使用的攻擊策略和成功突破防禦的方法,可以幫助藍隊了解並改進他們的防禦策略,但出自於某些原因導致紅隊並沒有做這件事情。

‧私了問題:藍隊認為紅隊提交的漏洞自己也沒有能力修補,所以主動要求紅隊不要提交所發現漏洞,導致該修補的漏洞沒有完成修補。

‧太專注競爭:紅隊可能會花費過多的時間和資源在尋找可以擊敗藍隊的攻擊方式,而忽視了其他可能存在的安全漏洞。

‧產生報復:藍隊可能會對紅隊的攻擊感到不滿,而反過來對紅隊採取報復行為。

基於上述原因,時至今日,除了傳統的紅、藍隊思維外,漸漸地又發展出紫隊這個全新角色,其整合紅隊的滲透能力,以及藍隊的防禦知識,成為雙方的橋樑,以及攻防的「裁判」。

何謂紅、藍、紫隊

「紅隊」一詞通常用來指稱模擬敵方的團隊。在資訊安全領域,紅隊有著類似的含義,專門負責模擬攻擊,目的是試圖攻破、入侵或以其他方式破壞被攻擊方的系統,以找出該系統的漏洞和弱點。其優點是提供最接近實際攻擊的模擬,有助於了解組織可能面臨的真實威脅,以及透過模擬攻擊,幫助組織了解其自家系統的弱點和漏洞。而缺點為深度和範圍可能會有所限制,因為紅隊可能會依賴他們的專業知識和經驗來選擇攻擊方法,另外也可能缺乏對組織的全面了解,導致在改進安全性上存在盲點。

「藍隊」指的是「同盟軍」或防禦方。在資安領域中,藍隊通常負責防禦系統、網路和保護資產,主要目標是防止、偵測和回應各種安全威脅。其優點包括專注於防禦和恢復,有助於維護組織的安全和正常運作,以及透過實際防禦和分析,可以即時反應並對威脅做出調整。而缺點是藍隊可能過於依賴已知的威脅模式和攻擊手段,無法充分預防未知或新型態的攻擊。

紫隊是資安領域中較為新穎的概念,它是紅隊(攻擊方)和藍隊(防禦方)的結合。紫隊的目的是讓攻擊和防禦專家能夠更有效地合作,以提高組織的整體安全。其主要任務是確保紅隊和藍隊之間的有效溝通和協作,紫隊成員會參與紅隊的攻擊模擬,也會參與藍隊的防禦活動,並整合紅隊的發現和藍隊的反饋,以形成全面的安全策略。值得一提的是,紫隊不一定是一個單獨的團隊。在許多組織中,紫隊可能只是一種角色或職責,且該角色是由紅隊和藍隊的成員共享。

紫隊具備的優點是,其提供了一個平台,讓紅隊和藍隊可以共享他們的知識和經驗,以更全面地提升組織的安全性。以及促進了紅隊和藍隊之間的溝通和協作,有助於對威脅做出更全面和有效的應對。而缺點則包括:需要來自紅隊和藍隊的積極參與和溝通,如果其中一方不願意分享或合作,紫隊的效果可能會受到影響;需要維護一個平衡,以確保紅隊和藍隊的角色和責任仍然清晰明確,避免因職責混淆導致效率降低。

為什麼會需要紫隊

理想情況下,紅藍隊運作正常,是不需要紫隊的,就像憲政的三權一樣,不需要監察院和考試院。但實際發生的狀況並不會像教科書一樣照本宣科,一定會遇到像是紅隊不願透露給藍隊所發現漏洞的完整情報,或是藍隊要求紅隊不要提交所發現漏洞等情況,這時候就會需要紫隊居中監督紅藍雙方是否運作正常,並給予雙方具體的建議,表1整理了紅隊、藍隊和紫隊的目標、角色和可能存在的盲點。

Kali Purple背景知識介紹

在開始情境模擬之前,先介紹Kali Purple的相關背景知識。

Kali Purple是什麼

Kali Linux為一套專門用於網路攻防的作業系統,而在2023年3月Kali Linux慶祝發布10週年之際,Offensive Security公司推出了名為Kali Purple的新產品,如圖1所示。

圖1  Kali Purple預設畫面。

Kali Purple是基於Kali Linux所延伸出來的產物,其主要是透過美國的國家標準暨研究技術院(National Institute of Standards and Technology,NIST)訂定的資通安全框架以滿足Kali Purple的優勢,NIST的資通安全框架主要會包含到以下幾個核心概念:

‧身分(Identity):該核心概念指的是需要去識別組織內部的資產、系統、資料,每一個資產都應該被視為一個身分並了解其可能存在的資安風險。

‧保護(Protection):該核心概念的意思是需要實施一些保護措施以保護基礎設施服務,包括存取控制和資料安全等。

‧偵測(Detection):其強調透過連續監控和異常行為報告等方式來即時偵測安全威脅。

‧回應(Respond):該核心概念意思是當有偵測到異常事件發生時,需要採取適當的回應方式。

‧回復(Recovery):需要有能力將受到安全威脅或事件影響的服務回復原本的狀態且進行持續性地改善,以防止下次再有類似情況發生。

Kali Purple和Kali Linux的差異

Kali Purple是基於Kali Linux的滲透測試工具,新增了許多防禦性的工具,例如ClamAV、Firewall Builder、Ghidra、TheHive、OPNsense等安全工具服務,降低了建立安全服務的門檻,表2為Kali Purple和Kali Linux的差異比較。

Kali Purple中常用的工具

Kali Purple包含數百種的工具,以下介紹兩個在Kali Purple當中最具代表性的工具,分別是TheHive和Cortex。

TheHive

TheHive是一個開源的數位鑑識與事故管理平台,其分析器選單能夠依據證物的類別彈出所需相關的分析工具,讓資安工作者省去在數百個有如購物型錄一般的眾多分析器中慢慢比對的時間成本,也預防工作者遺漏與失誤的風險。除此之外,其中的管理平台可以方便地在企業內多人協作傳遞與溝通資安事件時可能會遺漏證物、決策錯誤以及失去短暫即逝的採證與應對時間,以減輕工作者的負擔,有效地處理和回應日益加劇的安全事件。因為TheHive是Kali Purple中重要的工具,因此本文的實際演練將以TheHive作為範例。

TheHive的特點主要可以分成五項,以下就其特點進行說明:

‧事件管理:允許使用者建立案例(Cases),並且提供一個儀表板(Dashboards)來追蹤和管理所有安全事件。

‧任務和觀察清單:每個案例都可以被細分成多個任務,且每個任務都可以有其對應的觀察清單,這讓團隊成員可以有效地管理和追蹤他們的工作進度。

‧支援對MISP系統資訊共享:MISP是病毒資訊分享平台(Malware Information Sharing Platform)的縮寫,TheHive提供與MISP串接的功能,允許將MISP中的事件導入到TheHive,讓使用者在TheHive中就可以瀏覽與病毒相關的資訊。

‧搜尋和分析功能:TheHive提供搜尋功能以及報告和分析工具,可以幫助分析師快速理解和回應事件。

‧自動化和流程集成:TheHive提供許多API可以與Cortex等工具結合以進行自動化流程,也可以整合許多能夠提供警報和事件的來源。

Cortex

Cortex是一款由StrangeBee團隊所開發的軟體,其定位是一個可以用來觀察分析和主動回應的平台,一般來說,Cortex會與TheHive一起使用,TheHive負責從如安全資訊事件管理(Security Information Event Management,SIEM)平台接收發生的事件。而Cortex則負責接收這些由TheHive傳送過去的事件並使用VirusTotal、Joe Sandbox、DomainTools等超過一百種的分析器來分析IP、電子郵件、URL、網域名稱、檔案或Hash值等資訊。接著,使用者可以在TheHive透過網頁介面了解Cortex分析的內容和檢視產出的報告等。另外,經過Cortex分析器分析後,也可以再從MISP中查詢事件並檢查是否有出現在現有的惡意程式資料庫中,讓使用者能夠即時地了解並決定該如何處理。Cortex與TheHive的關係圖如圖2所示。

圖2  Cortex與TheHive的關係圖。

情境模擬

為了處理海量的資安事件,需要TheHive來一一管理所面臨的事件。以下將先示範操作步驟使用VirtualBox安裝Kali Purple虛擬機,並使用Docker-Compose方式同時安裝TheHive、Cortex以及其他相關所需的工具,作為本次操作使用的檔案。接著,以公司內出現多個隨身碟的異常事件資安事件為案例,從在TheHive建立專案到分析檔案,快速了解TheHive的功能以及如何用來快速分析、評估異常威脅。

搭建環境

首先,透過幾個步驟來搭建實作環境。

安裝相關工具

Kali Purple、Docker、Docker-Compose安裝方式皆可參照其官網教學,網址分別如表3所示。

另外,須注意VirtualBox的系統配置,CPU必須是x64架構(amd64、x86-64)且至少需要8核心,RAM的部分至少為8GB。

啟動環境

安裝完成後,建立docker-compose.yml檔案並輸入配置參數,詳細參數請參考TheHive官方教學,網址為「https://docs.strangebee.com/thehive/setup/installation/docker/」。然後,透過終端機於當前檔案的目錄下執行「sudo docker-compose up -d」來啟動環境。

另外,因為是採用Docker-Compose的方式進行安裝,所以會自動將TheHive、Minio和Cortex等工具一次裝完。可使用「sudo docker ps」指令確認TheHive、Minio和Cortex是否啟動成功。

登入

若安裝完成,可以嘗試使用瀏覽器登入TheHive,並在瀏覽器中輸入「http://localhost:9000」,預設帳號和密碼分別為「admin@thehive.local」和「secret」,如圖3所示。

圖3  登入TheHive。

建立一般使用者帳號

一般來說,在系統中不會直接使用擁有最高權限的管理員帳號,例如admin或root等,因為容易產生安全上的隱憂,因此需要建立一般使用者用於一般操作,本範例一般使用者以「ALFRED」為例,新增完成畫面如圖4所示。

圖4  使用者新增完成。

串接Cortex與TheHive

做完上述步驟後,需要在Cortex建立TheHive專屬的帳號,並產生其專屬API金鑰,將金鑰匯入TheHive之後,在TheHive點擊右上角「Account」選單中的【About】,點擊後就可以看到Cortex欄位右側從「Auth_error」變成「OK」,如圖5所示,而產生出來的API金鑰如圖6所示。

圖5  完成串接後的「關於」畫面。
圖6  產生的API金鑰。

在Minio新增用於儲存TheHive物件的Bucket

在瀏覽器畫面上方輸入「http://localhost:9090」,預設帳號及密碼為「minioadmin」和「minioadmin」,如圖7所示。登入後,點選左邊窗格內的Bucket,然後選擇上方的「Create a Bucket」,如圖8所示。

圖7  登入Minio。
圖8  在Minio建立存放TheHive物件的Bucket。

接著,在「Bucket Name」填入「TheHive」,並點選〔Create Bucket〕,就完成設定了。

準備模擬的檔案

最後,製作這本次模擬所需要分析的檔案,為了解面對病毒威脅時的狀況,所以選用Canary Tokens製作。Canary Tokens(https://canarytokens.org/generate)是一個用於製作可主動發出警告的Honeypod(蜜罐)網站,如圖9所示,在「select your token」下拉選單中可以選擇各式的檔案,如果有人打開檔案及啟動裡面的程式,就會自動觸發並將相關資訊經過Canary Tokens伺服器發送Email到指定的信箱。

圖9  Canary Tokens的網站畫面。

這裡是將Canary Tokens上取得的檔案進行壓縮後做成本次模擬由SIEM等工具傳給TheHive當作證物分析的檔案(該檔案為接下來為提到的untitle.zip)。點選「Select your token」,並選取「Microsoft word document」,之後將其下載,並使用7-Zip進行壓縮以作為本次使用的模擬檔案。

實作示範

麗君是一名資深的資安工程師,其負責管理公司機房設備的維運,任務是要確保其能夠正常且安全地運作,不受外部的攻擊或入侵。因此,對於任何想要連接公司系統的隨身碟或外接硬碟,不論是其他人員抑或是外部廠商因業務需要而帶進公司,都要先進行登記並由麗君負責檢查,以此預防造成機房發生問題的潛在威脅。除此之外,麗君在攻防演練中也扮演紫隊的角色,做為負責進行滲透測試的紅隊與從事系統防護的藍隊之間的溝通橋樑。

某日,她在進行系統日誌的稽核時,發現系統曾被連接數個來源未知的隨身碟,於是她立即向其所屬的資安部門進行回報並展開調查,經過初步的查證之後,麗君發現這些隨身碟匯入的檔案當中有數個可疑的壓縮檔,因此懷疑這可能是一起經過計畫資訊安全事件,因此麗君使用紫隊常用的工具TheHive做事件記錄並同步進行深入的調查。

先使用先前「搭建服務」中步驟三建立的一般使用者帳號登入,登入後畫面如圖10所示。

圖10  一般使用者登入後的主頁畫面。

接著,麗君決定使用TheHive管理本次事件,並使用其中的分析工具來分析該隨身碟內部的檔案。首先,建立一個案例,在TheHive主頁面的右上角點選「New Case」。

之後進入填寫Case名稱,並在彈出的表單中填入案例名稱、案例描述、嚴重性等資訊,如圖11所示。其中填入的Severity(嚴重性)、TLP(紅綠燈協議)、PAP(可允許的行動協議)等指標,其意義整理如表4所示。

圖11  建立案例並填入相關資訊。

填完之後按下〔Confirm〕,就會成功新增一個案例。點擊項目,可以進到案例詳情頁面,如圖12所示。

圖12  案例詳細頁面。

再來,對證物點選「…」(更多)圖示,就會出現「Run analyzers」選項,並使用系統所提供的分析器,如圖13所示。接著,再按下「Run Selected Analyzers」即可分析。

圖13  可選的分析模板。

完成後,如圖14所示,就會得到一份針對「untitle.zip」這份壓縮檔的分析報告。再點選「VirusTotal Report」完整報告的超連結,麗君發現由Cyren、Kasparsky、Google和ZoneAlarm等四個來源中發現到該壓縮檔中存在惡意程式,且Kasparsky和ZoneAlarm可以清楚地看到該壓縮檔中的「Microsoft word」檔案其實是個「特洛伊木馬病毒」,如圖15所示。

圖14  分析報告的摘要。
圖15  Virus total所提供的詳細報告。

經過TheHive搭配Cortex提供的分析工具,可清楚察覺到該壓縮檔內部藏有惡意的特洛伊木馬程式後,麗君開始調閱那些可疑隨身碟被人發現前的監視器畫面,在經過一系列的排查,麗君發現許多監視器的畫面都有紅隊測試的成員在隨身碟出現時間前後附近徘徊。

隨著案情的深入調查,越來越多證據指向可能是公司內部的紅隊測試小組所為。

之後,麗君便向紅隊成員進行確認,發現這是其中一項滲透測試活動,但由於溝通過程中出現紕漏,間接導致這次的攻防演練因為藍隊不知情而難以展開,所幸身為紫隊成員的麗君發現了這個問題,並在紅藍雙方之間加以協調,讓滲透測試活動得順利進行。

最後,麗君依照公司程序提交報告,麗君將本次案件結案報告做出總結,如圖16所示,並按下右下角〔Confirm〕按鈕完成結案。

圖16  填寫結案報告畫面。

結語

在現行大家熟知的紅隊和藍隊測試中有著潛在的問題因子,雙方之間常因各種原因產生矛盾而難以達成共識,也缺少一個公正的第三方裁決,因此本文介紹了較為新穎的概念紫隊,可以讓解決紅隊與藍隊兩方之間存在的矛盾點。同時,在技術層面上,紫隊現有的工具集Kali Purple中包括了許多工具,讓資安人員可以大幅縮短提取證物、分析證物和應對威脅所需的時間。

<本文作者:社團法人台灣E化資安分析管理協會(ESAM, https://www.esam.io/)中央警察大學資訊密碼暨建構實驗室&情資安全與鑑識科學實驗室(ICCL and SECFORENSICS)1998年12月成立,目前由王旭正教授領軍,並致力於資訊安全、情資安全與鑑識科學、資料隱藏與資料快速搜尋之研究,以為人們於網際網路世界探索的安全保障(https://hera.secforensics.org/)。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!