青藤細述ATT&CK框架:攻擊者最常用的TOP7攻擊技術及其檢測策略


之前,青藤雲安全已經對ATT&CK進行了一系列的介紹,相信大家都已瞭解,Mitre ATT&CK通過詳細分析公開可獲得的威脅情報報告,形成了一個巨大的ATT&CK技術矩陣。誠然,這對於提高防禦者的防禦能力、增加攻擊者的攻擊成本都有巨大作用。但或許是出於獵奇心理,很多威脅情報報告更多地是在報道攻擊者使用的比較新穎有趣的技術方法,而卻忽視了攻擊者反覆使用的普通技術。這也是Mitre公司在2019年10月份的ATT&CKcon2.0大會上,推出了ATT&CK Sightings項目,以期藉助社區力量收集更多直接觀察數據的原因所在。

對此,一些安全公司通過在真實環境中所收集的直接觀察數據來檢測攻擊技術,這種方法直觀性更強,也更具說服力。Red Canary是美國一家從事信息安全的網絡安全公司,負責對客戶環境中的終端數據進行大規模檢索,來尋找攻擊者。Red Canary分析了過去五年裡,其客戶環境中發生的一萬多起惡意事件,並將惡意事件中使用的技術與ATT&CK框架進行了映射。

本文將通過對比Mitre ATT&CK的Top 20攻擊技術及Red Canary基於ATT&CK的Top 20攻擊技術,確定了攻擊者最常用的七項ATT&CK技術,並對其進行了詳細分析。

Mitre公司 VS Red Canary Top 20攻擊技術

Mitre ATT&CK 通過整合、分析400多份公開的威脅情報報告,將技術報告中的內容與ATT&CK技術進行了映射,MITRE ATT&CK整理得出的Top 20攻擊技術為:

青藤細述ATT&CK框架:攻擊者最常用的TOP7攻擊技術及其檢測策略

Red Canary通過對過去五年裡,其客戶環境中發生的一萬多起惡意事件進行分析,得出了威脅事件利用每種ATT&CK技術的頻率,如下圖所示:

青藤細述ATT&CK框架:攻擊者最常用的TOP7攻擊技術及其檢測策略

從圖中我們看到,Red Canary 分析得出的Top 20攻擊技術為:

青藤細述ATT&CK框架:攻擊者最常用的TOP7攻擊技術及其檢測策略

對Mitre ATT&CK和Red Canary分別整理得出的Top 20技術進行對比分析,我們可以發現有7項技術是重合的,分別為PowerShell、腳本執行、命令行界面、註冊表Run Key/ 啟動文件夾、偽裝、混淆文件或信息、憑據轉儲。或許,這應該是防禦者建立防禦方案的著手點。

青藤細述ATT&CK框架:攻擊者最常用的TOP7攻擊技術及其檢測策略

下表展示了這七項技術在Red Canary 和Mitre ATT&CK Top 20攻擊技術中的排名次序和出現次數。

青藤細述ATT&CK框架:攻擊者最常用的TOP7攻擊技術及其檢測策略

希望讀者能夠通過上表中的數據,進一步瞭解攻擊者對這七種技術的使用頻率和在攻擊者中的流行程度。下面,我們詳細分析這七種技術。

攻擊者最常用的TOP7攻擊技術

1. “Powershell”備受攻擊者青睞

PowerShell是Windows操作系統中包含的功能強大的交互式命令行界面和腳本環境。攻擊者可以使用PowerShell執行許多操作,包括髮現信息和執行代碼,例如,用於運行可執行文件的Start-Process cmdlet和在本地或在遠程計算機上運行命令的Invoke-Command cmdlet。

默認情況下,PowerShell基本上已包含在每個Windows操作系統中,提供了對Windows API的完全訪問權限,包括數百個供開發人員和系統管理員使用的功能,但同樣也遭到攻擊者的大肆利用。像許多核心平臺實用程序一樣,PowerShell庫很容易獲得,因此也很容易實現,能夠暴露任意進程中的完整PowerShell功能。

那麼該如何進行檢測呢?進程監控是最普遍有效的技術。進程監控可以讓防禦者確定在其環境中使用PowerShell的基準。進程命令行監控則更有效,可以洞悉哪些PowerShell實例試圖通過編碼命令傳遞有效負載並以其他方式混淆其最初意圖。除了PowerShell腳本的默認主機之外,腳本還可以在加載PowerShell框架庫的其他進程中執行。要查看該行為,觀察模塊負載以及進行分析以提供其他上下文,從而為檢測提供支持。

2. “腳本執行”不容忽視

攻擊者可能會使用腳本來幫助進行操作並執行其他本來應該是手動進行的多項操作。腳本執行對於加快操作任務,減少訪問關鍵資源所需的時間很有用。通過直接在API級別與操作系統交互,而無需調用其他程序,某些腳本語言可以用於繞過過程監視機制。Windows的常用腳本語言包括VBScript和PowerShell,但也可以採用命令行批處理腳本的形式。

安全工具和人工分析的快速發展讓攻擊者很難使用公開的攻擊載荷或者直接從磁盤獲取相關載荷。因此,攻擊者需要找到替代方法來執行有效載荷並執行其他惡意活動,這是腳本相關技術日益流行的主要原因。此外,該技術利用的運行時環境、庫和可執行文件是每個現代計算平臺的核心組件,不能輕易禁用,並且沒有始終對其進行密切監視。

在Windows上,Windows腳本宿主(WSH)最簡單的檢測用例是基於process ancestry的。這包括監視從shells命令(cmd.exe、powershell.exe)、Office應用程序、Web瀏覽器和Web服務處理程序中生成的wscript.exe或cscript.exe。還建議監視從非標準位置執行的腳本,例如用戶可寫路徑,包括appdata\local\*、其他類似路徑以及臨時目錄。

此外,監視進程元數據、進程命令行和文件修改都是非常重要的策略。檢測與託管腳本相關的二進制文件的可疑模塊加載(例如vbscript.dll)的檢測系統也是值得采取的策略。

當然最徹底的辦法就是禁用Windows腳本宿主,也可以強制對腳本進行簽名,以確保僅執行批准的腳本。諸如AppLocker之類的工具還提供了與腳本執行相關的其他約束。這些是預防策略,但也可用於檢測之用,因為嘗試執行未經授權的腳本應產生更高質量的報警信號。

3. “命令行界面”也是黑客最愛

命令行界面提供了一種與計算機系統進行交互的方式,並且是許多類型的操作系統平臺的共同功能。Windows系統上的令行界面是cmd,可用於執行許多任務,包括執行其他軟件。命令行界面可以通過遠程桌面應用程序、反彈Shell會話等在本地或遠程進行交互。執行的命令以命令行界面進程的當前權限級別運行,除非該命令進行進程調用,更改執行權限(例如計劃任務)。

命令行界面發展至今,已經有大量的成熟工具可以使用。此外,命令行界面是一個非常輕便的應用程序,打開時不會給硬件帶來負擔,因此打開起來更快。而且在基於GUI的應用程序上完成的所有任務,能夠通過命令行界面更快地打開。

針對這類攻擊,可以通過使用命令行參數正確記錄進行執行情況來捕獲命令行界面活動。通過深入瞭解攻擊者時如何使用本地進程或自定義工具的,可以進一步瞭解攻擊者的行為。這就需要做到以下兩方面:(1)瞭解組織機構中應用程序的常見來源;(2)收集命令行和相關的檢測數據.

4. “註冊表run key/啟動文件夾”是實現持久化的關鍵動作

在註冊表的“run keys”或啟動文件夾中添加一個條目,將會導致用戶登錄時,該程序會運行該條目。這些程序將在用戶的上下文中執行,並具有與賬戶相同的權限級別。

註冊表run key和啟動文件夾歷來都是各類攻擊者實現持久化的重要目標。根據Microsoft文檔,對註冊表run key的支持至少可以追溯到Windows95。有可靠記錄表明,作為一種持久化機制,加之易於實施,該技術在一定程度上解釋了其為何在攻擊者中使用非常普遍。攻擊者僅需要用戶級別的權限,並具有寫入註冊表或將有效負載拖放到啟動文件夾的功能。

雖然實現起來相對簡單,但非常有效。隨著時間的推移,該技術已經從引用可執行有效負載發展為加載動態庫,並利用了其他技術(例如regsvr32和腳本執行)。針對該攻擊技術,可以在持久化機制生命週期的三個不同點上有效地實現檢測:安裝時、休眠時以及觸發時。

在安裝時檢測run key和啟動文件夾項目需要監視特定註冊表和文件系統路徑的變更情況。可以通過平臺文檔或通過引用一些實用程序來報告是否存在這些配置來列舉這些路徑。此外,可能會成功檢查任何已知與這些路徑結合使用的文件類型,例如LNK。要檢測已安裝且處於休眠狀態的持久化,可以檢查同一註冊表和文件系統路徑的內容中是否存在可疑條目。創建一個基準並定期監視是否有偏移基準的情況,以此來減少調查工作量。

當然,持久化永遠不會單獨發生,它始終是達到目的的手段。因此,監視預期某些變更會涉及哪些進程以及尚未觀察到的進程之間的關係也是非常有效的。

5. “偽裝”是繞過防禦的最佳辦法

偽裝是指為了逃避防禦和觀察而操縱或濫用合法或惡意的可執行文件的名稱或位置的情況。攻擊者利用偽裝作為繞過防禦技術的手段或欺騙手段。攻擊者使用該技術通過使惡意可執行文件和軟件看起來合法或預期來破壞機器和人工分析。偽裝的實現範圍很廣,從簡單地重命名可執行文件(從而讓這些文件看起來更像是正常系統進程)到更復雜的方法(例如命令行欺騙)。偽裝在攻擊者中使用很普遍,因為它滿足了繞過防禦技術和人為分析的簡單需求,並且相對容易實施。

檢測偽裝技術的一種策略是利用二進制元數據,例如在文件創建或簽名時的原始文件名。例如,如果要查找wscript.exe,則應查找具有該名稱的二進制文件,也應查找具有原始文件名WScript的任何二進制文件。

雖然,可以檢測名稱或元數據為wscript.exe的任何二進制文件,但基於文件的簽名、哈希或其他標識符並不可信。因此可對文件位置建立一個基準,對上述方法進行補充。如果我們瞭解給定二進制文件通過哪個路徑執行,則可以在其他任何地方看到該標誌時,就可以觸發報警。

6. “混淆文件或信息”可逃避基於簽名的檢測系統

攻擊者可能會試圖通過加密、編碼或其他方式混淆系統上或傳輸中的可執行文件或文件內容,從而使其難以發現或分析。這是一種可以跨不同的平臺和網絡使用,以繞過防禦的常見行為。

許多網絡安全檢測產品(防病毒軟件、IDS等)設計為基於惡意軟件的簽名運行。一旦發現了在野使用的特定惡意軟件變體,便會提取出該惡意軟件的獨特功能,並用於在未來感染中對其進行檢測和識別。將通過網絡邊界或下載到主機的每條數據與這些簽名進行比較。如果找到匹配項,則將採取措施(刪除、隔離、警報等)。

混淆的目的是繞過這些基於簽名的檢測系統,並增加對惡意軟件樣本進行取證分析的難度。如果以某種方式混淆了簽名所基於的數據或代碼,則檢測引擎在尋找純文本簽名時就無法找到匹配項。

存在許多混淆算法,例如壓縮、編碼、加密、隱寫等等。惡意軟件使用者可以隱藏各種不同類型的文件和數據。例如,惡意軟件可能被設計為使用混淆來隱藏其惡意代碼。或者,惡意軟件變體可能會對其配置文件進行加密,從而使惡意軟件分析師更難於理解其功能。

想要檢測混淆文件或者信息,除非在混淆過程留下了可以檢測到的獨特偽像,否則很難檢測文件混淆。如果無法檢測,則可以去檢測執行混淆文件的惡意活動(例如,用於在文件系統上寫入、讀取或修改文件的方法)。標記並分析包含混淆指示符和已知可疑語法(例如未解釋的轉義字符,如'''^''' 和'''"''')的命令。反混淆工具可以用來檢測文件/有效載荷中的這些指標。

此外,可以在網絡上檢測到用於初始訪問的有效載荷中使用了哪些混淆方法。還可以使用網絡入侵檢測系統和電子郵件網關篩選來識別壓縮和加密的附件和腳本。某些電子郵件附件展示系統可以打開壓縮和加密的附件。通過網站從加密連接傳遞的有效載荷需要進行加密的網絡流量檢查。

7. “憑據轉儲”讓黑客在內網為所欲為

憑據轉儲是從操作系統和軟件獲取帳戶登錄名和密碼信息的過程,通常是哈希或明文密碼形式的信息。進行憑據轉儲後,攻擊者就可以使用憑據進行橫向移動及訪問受限信息。

憑據轉儲是攻擊者訪問目標組織中的用戶帳戶和其他資源的共同需求。攻擊者還利用轉儲的憑據來實現權限提升和橫向移動。憑據對於攻擊者而言是如此重要,以致在許多情況下,獲取用戶名和密碼不僅是達到目的的手段,而且是攻擊的整個目標。因此,在各種犯罪論壇上,憑據都是可出售的商品,並且有些網站可以追蹤公開的憑據轉儲情況。除了將轉儲憑據用於出售和初始訪問外,憑據是漏洞利用後的一個重要部分。一旦攻擊者獲得對環境的初始訪問權限,通常需要某種級別的特權訪問權限才能實現攻擊活動中的進一步目標。雖然有很多方法可以提高特權級別,但是最有效和可靠的方法之一是使用具有特定級別權限的人員的合法憑據。

憑據可以從內存中以純文本格式提取。監視對特定進程的訪問可以為防禦者提供一種檢測憑據轉儲的方式。這種檢測方法很容易產生大量誤報事件,因為操作系統的內置功能也可以訪問這些過程。防禦者要重點關注潛在問題進程之間的交互來減少這種噪聲。

檢測是否存在憑據轉儲的另一種方法是分析常用工具,並使用其他數據源作為相關點,基於留下的指紋來制定檢測策略。註冊表項和文件修改就是一個很好的切入點。

寫在最後

青藤雲安全之前已經針對ATT&CK框架進行了一系列的介紹,有興趣的讀者可以閱讀一下之前的相關文章。但是,ATT&CK框架包含了300多種技術,而且每種技術又包含多種變體。面對一個體型如此龐大的框架,可能會讓人有些望而卻步,一臉茫然,不知該從何處入手。本文通過對比分析MITRE ATT&CK和Red Canary總結分析的Top20攻擊技術,發現其中有七項技術是重合的,突出說明了這七項攻擊技術在攻擊者中的普遍性,是需要防禦者重點關注或是建立防禦方案時的著手點。本文對這七項技術進行了簡單的介紹,說明了這些技術能夠得到攻擊者青睞的原因所在,並給出了檢測策略,希望能夠為讀者使用ATT&CK框架帶來一些幫助。


分享到:


相關文章: