您好,登錄后才能下訂單哦!
怎么進行ATT及CK對提升主機EDR檢測能力的分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
ATT&CK是今年國內安全行業的一個備受矚目的火熱概念,很多組織和廠商發布了文章闡釋各自對于它的理解,甚至連不少甲方單位也開始關心起ATT&CK,不僅向安全廠商咨詢其在這方面的研究成果,似乎也有意將其當做衡量廠商產品能力的一個維度——安全圈一時間頗有些“平生不識此概念,縱做安全也枉然”的氛圍。
當然,這個現象很正常,ATT&CK作為一項來自國外的新技術概念,安全行業理所應當對其進行研究分析。但另一方面,當前業內對于ATT&CK的研究分析存在很多誤解和片面的地方,因此我們從自己的角度出發對ATT&CK進行了一些探討,希望能夠還原其本來面目、消除過度的“神秘感”,重新審視這一技術的真正價值。當然作為一家之言,我們肯定也存在不客觀的地方,是非對錯,盡付公論。
ATT&CK(Adversarial Tactics, Techniques & Common Knowledge)是MITRE公司開發的、基于真實環境觀察攻方戰術和技術的知識庫。
MITRE是由美國政府資助的一個非盈利研發機構,向美國政府提供系統工程、研究開發和信息技術的支撐。并和美國國家標準與技術研究所(NIST)標準化組織合作制定相關安全標準,比如漏洞缺陷CVE、CWE編號規則以及威脅情報格式STIX。
MITRE ATT&CK框架內系統性的收集整合了整個攻擊過程完整生命周期的攻擊手法的知識庫,并且這些攻擊手法均來自于對真實安全事件的洞察。該框架把攻擊者所采用的TTP(戰術Tactics,技術Techniques,過程Procedures)系統性地組織起來。在每個戰術項內又包含實現該戰術目的的各種已知的攻擊技術,同時在每項技術中詳細描述了運用該技術的具體步驟和流程。
ATT&CK模型是在洛克希德-馬丁公司提出的Kill Chain模型的基礎上,構建了一套更細粒度、更易共享的知識模型和框架。現在經過幾年的發展,整個矩陣內容變得豐富,被拆分為PRE-ATT&CK和ATT&CK for Enterprise,其中PRE-ATT&CK覆蓋了Kill Chain模型的前兩個階段,包含了與攻擊者嘗試利用特定目標網絡或系統漏洞進行相關操作有關的戰術和技術。ATT&CK for Enterprise覆蓋了Kill Chain的后五個階段。
ATT&CK for Enterprise將網絡安全事件劃分為12個階段。初始訪問階段、執行階段、持久化階段、提權階段、防御規避階段、憑證訪問階段、發現階段、橫向移動階段、采集階段、命令與控制階段、滲出階段、影響階段。攻擊手法和各階段的映射關系如下圖所示:
ATT&CK知識庫被用作在政府以及網絡安全產品和安全服務中開發特定威脅模型和方法的基礎。同時也可用來檢測EDR產品是否具備偵測APT的能力。現在主要被應用在模擬攻擊、評估和提高防御能力、威脅情報提取和建模、威脅評估和分析四大方向上。
1、模擬攻擊:基于ATT&CK進行紅藍攻防演練,進行紅藍軍建設 ;
2、檢測分析:基于具體的”技術“,有效增強檢測能力,用于甲方安全建設;
3、威脅情報:使用ATT&CK框架來識別攻擊組織,用于安全情報建設;
4、評估改進:將解決方案映射到ATT&CK威脅模型,發現并彌補差距,用于評估安全能力。
ATT&CK框架內整合的知識庫為安全行業提供了一個標準,對已知的TTPs進行收集,促進安全產品的優化改進。本文將從 TTPs 的檢測、分析提出關于 ATT&CK 框架在提升主機EDR檢測能力的探索和思考。
本文將要探討的是ATT&CK框架在終端安全產品的落地和應用。ATT&CK的出現為終端安全產品的檢測能力提供了一個明確的,可衡量,可落地的標準,改變防守方以往對于入侵檢測常常會陷入不可知和不確定的狀態中,有效的彌補自己的短板,通過檢測攻擊的技術,映射到ATT&CK的戰術,清晰的了解攻擊者所處攻擊階段。
另外如果能讓終端安全產品具有針對TTP的檢測能力,無疑能增強安全產品的核心檢測能力,提高攻擊檢測的覆蓋度和自動處置的精確度,避免被攻擊者通過一些簡單的變形繞過檢測,因為針對TTP進行檢測,意味著我們是在根據攻擊者的行為進行檢測。如果攻擊者想要躲避檢測就需要改變他們的行為,這需要研究一些新的技術和攻擊手段,這意味著更高的難度和付出更大的成本。
而所有的攻擊檢測都是基于數據源和策略的特征匹配。我們如果需要檢測某個攻擊技術,首先需要獲取到這項技術所對應的數據,這些數據就是當攻擊者執行某項技術攻擊主機或網絡后,在主機或網絡設備上留下的蛛絲馬跡,他們所呈現的形式往往是各種日志,可能是系統或應用內置的日志,也可能是因為安全需要而特意錄制的日志數據。在MITRE ATT&CK的每項技術描述中都有對應于該技術的數據源信息,它告訴我們可以從哪些類型的數據中找到攻擊技術實施后所留下的痕跡。
通過在STIX 2.0 GitHub存儲庫中,調用與ATT&CK對象和屬性映射的STIX對象和屬性,對數據源進行分析統計,共有59種。
下圖是通過對每個數據源能檢測的技術數量進行統計,并獲取檢測數量前十的數據源排行。
除了檢測數據源的獲取,針對不同技術點的檢測也有難易程度之分。場景復現時,有些只需要執行系統命令,公開工具,而有些是需要特制、專用工具,檢測從常見命令程序監控,到深入系統內核調用,進程上下文監控。
(網圖:檢測攻擊技術的難易表)
以及同一個工具不同的命令、不同形式的使用,可映射不同攻擊階段的不同技術,檢測的技術點也是不一樣的。以下為分析mimikatz工具映射的TTP。
Sysmon是微軟的一款免費的輕量級系統監控工具,最開始是由Sysinternals開發的,后來Sysinternals被微軟收購,現在屬于Sysinternals系列工具(帶有微軟代碼簽名)。它通過系統服務和驅動程序實現記錄進程創建,網絡連接以及文件創建時間更改的詳細信息,并把相關的信息寫入并展示在windows的日志事件里。經常有安全人員使用這款工具去記錄并分析系統進程的活動來識別惡意或者異常活動。
Sysmon安裝后分為用戶態系統服務,驅動兩部分,用戶態通過ETW(Event Tracing for Windows)實現對網絡數據記錄,通過EventLog對驅動返回的數據進行解析,驅動部分則通過進、線程,模塊的回調函數收集進程相關的信息,通過Minifilter文件過濾驅動和注冊表回調函數記錄訪問文件、注冊表的數據。
從功能上來講,Sysmon一旦安裝在系統上,在駐留系統期間,可以監視系統活動并將其記錄到Windows事件日志中。 與一般檢測工具相比,Sysmon可以執行系統活動深度監視,并記錄高級攻擊的高可信度指標,是一款優秀的HIDS、EDR的主機入侵檢測引擎。
穩定性方面超過大部分自研的驅動,功能完善,對性能影響較小,雖然功能強大但卻有很多監控盲區。若加以自研Agent與其配之,便可彌補自身監控盲區及非查詢功能等其他需求。
接下來的針對ATT&CK的技術檢測主要依托sysmon的監控,測試從終端捕獲事件數據進行分析。后面我將向您展示如何安裝sysmon以及如何使用自定義配置來過濾噪聲并獲得威脅特征。
執行sysmon程序進行安裝,用于生成日志監測數據。
模擬攻擊環境,編寫批處理文件,執行minikatz惡意程序(可用于從內存獲取明文密碼、黃金票據和****等)。
安裝winlogbeat產品,幫助我們將Windows事件日志實時流式傳輸到我們的ELK存儲。
打開winlogbeat.yml文件編輯其收集的日志類型。在-name:System后添加以一行:-name:Microsoft-windows-sysmon / operational
進行winlogbeat的配置測試,執行.\winlogbeat.exe -c .\winlogbeat.yml -configtest -e。測試正常后,開啟服務,執行start-service winlogbeat。
處理遭受攻擊后捕獲系統監測數據,可用于二次分析處理。
建議優先考慮您在環境中當前可能看到的內容,而不是僅選擇矩陣中的任何技術。例如,如果您的環境中正在運行Sysmon,并且正在收集“ ProcessCreate”事件,則可以優先考慮需要將“ Process Monitoring”或“ Process命令行參數”作為數據源的技術。
在本文中,主要探討通過利用minikatz技術來利用獲取hash憑證或者傳遞的過程,這一類技術主要是通過命令行參數檢測及程序運行上下文相關調用進行監測,然后通過對其特征進行提取,分析如何有效降低數據噪聲,并模擬測試命令執行建立會話進行驗證,不斷提升工程化實施檢測的效果。
以下通過調用系統API接口實時監測系統命令行程序調用接口,通過匹配命令行參數特征,模擬檢測惡意攻擊。
但是單純通過匹配命令行參數特征,雖然能夠匹配一定的攻擊事件,但是也存在被容易繞過的現象。
我們可以借助Sysmonview 這類工具可以很好的將攻擊者的行為,惡意程序執行過程完整呈現出來。有助于行為分析,特征提取。由下圖可以分析,mimikatz執行過程中先后加載了cryptdll.dll、samlib.dll、hid.dll、WinSCard.dll、vaultcli.dll等動態鏈接庫,并訪問了系統lsass.exe進程。
但是被調用的這些dll是不是只有mimikatz才會調用的程序,是不是存在噪聲,還是無法確定,可能存在某些程序也需要調用這些dll文件,還是需要進一步分析確認。
面對海量的數據日志,我們需要有個大的數據平臺,進行分析,了解主機,進程、文件、網絡、驅動、注冊表、管道等一系列對象間的關聯關系,分析比對,篩選出符合某些攻擊技術的能夠識別的最小唯一特征。
通過行為分析,初步提取特征后,我們可以通過sysmon規則進行特征匹配。
ATT&CK技術編號T1003-憑證轉儲可通過以下sysmon規則配置,進行監測。
或者通過yaml規則,進行配置檢測。
在系統日志檢測,結果成功捕獲minikatz相關運行信息。
因為使用bat腳本來運行minikatz程序,所以下圖顯示命中技術T1036-混淆攻擊的檢測規則
像Mimikatz這樣的憑證轉儲程序可以直接通過本地二進制程序文件執行,也可以通過Powershell直接加載到內存中運行,并從內存中讀取其他進程的數據。分析查找這類程序時,可進一步分析提取進程請求特定的權限以讀取LSASS進程的部分,用以檢測何時發生憑證轉儲。辨別Mimikatz與其他程序使用的常見訪問模式。
常見的Mimikatz GrantedAccess模式。
這些特征特定于Mimikatz當前版本的工作方式,因此對于Mimikatz的將來更新和非默認配置都是不可靠的。
EventCode=10
TargetImage="C:\\WINDOWS\\system32\\lsass.exe"
(GrantedAccess=0x1410 OR GrantedAccess=0x1010 OR GrantedAccess=0x1438 OR GrantedAccess=0x143a OR GrantedAccess=0x1418)
CallTrace="C:\\windows\\SYSTEM32\\ntdll.dll+*|C:\\windows\\System32\\KERNELBASE.dll+20edd|UNKNOWN(*)"
| table _time hostname user SourceImage GrantedAccess
以下是編號T1003憑證訪問階段戰術憑證轉儲技術映射更細粒度多個子技術的sysmon配置語句。
以下為系統檢測到鍵盤記錄器創建文件的行為,可以通過檢測異常行為,提升檢測攻擊的能力,發現主機側更多的安全問題。
利用Empire工具進行模擬測試,Empire是一款內網滲透測試利器,其跨平臺的特性類似于Metasploit,有豐富的模塊和接口,用戶可以自行添加模塊和功能,是針對PowerShell 利用較好的平臺。
通過對終端監測的數據進行特征匹配處理,并將結果推送到Elasticsearch數據庫,查看數據的錄入情況。
通過分析查看dll的調用次數,分析文件是不是存在被正常程序調用的情況。
分析某些dll是只被某些程序調用,或是某些操作必須調用的過程,需要逐個分析,判斷能夠被當成特征工程的一個指標。
通過導入圖數據庫進行關聯分析,藍色表示程序,紅色表示調用過程,黃色表示節點,綠色表示終端編號。
結合產品進行檢測,通過抽象提煉,完成了適當的分類,將攻擊者的行為和具體的檢測方式聯系起來。通過抽象提煉,形成一個通用檢測方法,讓產品可以檢測單項對抗行為及其目標。
·測試框架應用
Atomic Red Team是一個簡單測試庫,每個安全團隊都可以執行此測試來測試安全產品的檢測能力。該測試庫是映射到MITER ATT&CK框架的小型、高度可移植的檢測測試框架。每個測試旨在映射特定的策略。
以下通過該交互式測試框架,檢驗EDR的檢測能力。
任何攻擊者進入內網最想要的是竊取盡可能多的憑據。如果他們能用憑證登錄其他系統,就沒必要在通過研究其他資產尚存的漏洞,進行測試攻擊,所以主機憑據獲取,歷來都是兵家必爭之地,不管是滲透測試、紅藍對抗還是護網行動,得憑證者得天下。故以下選取相關憑證獲取相關攻擊的應用檢測。
·卷影副本操作
vssadmin用于創建/刪除Windows驅動器的卷影副本的命令。卷影副本簡單理解就是備份,您可以創建卷影副本備份和完全相同的文件副本。例如,以獨占方式打開的數據庫以及由操作員和系統活動打開的文件都可以通過命令在創建卷影副本過程中備份。可以使用卷影副本將SAM文件導出,配合SYSKEY利用mimikatz等工具獲得NTLM Hash。也可以利用VSS卷影副本拷貝ntds.dit,ntds.dit是AD(活動目錄)中的數據庫文件,包含有關活動目錄域中所有對象的所有信息,其中包含所有域用戶和計算機帳戶的密碼哈希值。
以下是產品依據程序hash及進程行為分析后的檢測情況。
·Mimikatz
mimikatz是法國人Gentil Kiwi編寫的一款windows平臺下的神器,它具備很多功能,其中最亮的功能是直接從 lsass.exe 進程里獲取windows處于active狀態賬號的明文密碼。mimikatz的功能不僅如此,它還可以提升進程權限,注入進程,讀取進程內存,hash傳遞等等
以下是產品依據程序hash及進程行為分析后的檢測情況。
·Procdump
Procdump是Windows工具包里的一款工具,由于有微軟的官方簽名,所以大部分殺軟不會查殺。通過procdump導出lsass.exe的內存文件,在用mimikatz.exe在本地讀取內存文件提取密碼。
以下是產品依據程序hash及進程行為分析后的檢測情況。
·Ntdsdump
Ntdsdump是NTDS.dit(活動目錄數據庫)密碼快速提取工具,可通過從域控制器上導取的ntds.dit文件以及SYSTEM文件,離線獲取域控制器上所有hash的神器。
以下是產品依據程序hash及進程行為分析后的檢測情況。
·勒索檢測
模擬執行勒索程序后,通過提取行為特征,hash比對,匹配特征庫,檢測異常告警。
最終通過自動分析判定主機正遭受勒索病毒攻擊。
雖然ATT&CK提供了一套系統的理論指導,但仍任然不能解決具體的檢測點技術問題,沒有描述技術的特定實現的方法。對于某些技術描述還是比較籠統,對于檢測安全產品的檢測覆蓋率還是不夠。ATT&CK的廣度問題目前已經基本解決了,往后發展就是不斷增加深度,不是一個測試用例就算覆蓋一個指標了,而是一組測試用例可以驗證一個指標的深度。
近期ATT&CK組織為了增強框架結構,開始對整個框架進行調優和重新設計,細化描述攻擊技術的粒度,提出了子技術概念。子技術是一種更詳細地描述技術的特定實現的方法。后期可以在技術列表中,查看可以執行技術的各種方式。例如憑據轉儲就是一個很好的例子。
在“憑據轉儲”的技術中,可以執行該操作的方式共計9個,例如Windows SAM和“緩存的憑據”。盡管最終結果每次都是相似的,但很多不同的行為都集中在一種技術中。對于子技術,我們將對其進行拆分,并擁有一種頂級的憑證轉儲技術,其下具有九種子技術,以更詳細地介紹這些變化,以了解它們如何以特定方式應用于各個平臺。
子技術將從.001開始,并隨著每個新的子技術遞增。例如,訪問令牌操縱仍將是T1134,但是“令牌操縱/盜竊”將是T1134.001,“使用令牌創建進程” T1134.002,等等
對子技術所需的技術的進行深入分析,導致戰術和技術之間歸屬位置的調整。可能會刪減了一些不適合該策略核心定義的技術,例如“ 隱藏文件”和“目錄”不適合“持久性”,以及一小部分需要棄用的技術,例如“ Hypervisor”,在該系統中,我們發現沒有證明的用例概念。以及技術降級到子技術的調整。例如,由于我們添加了“ Pre-OS Boot” 技術,因此將現有的Bootkit技術作為其子技術移至其下方。
以下是將舊技術映射到新子技術的對應表
ATT&CK在持續更新升級,攻擊者也在不斷尋找更隱蔽的方法,繞過傳統安全工具的檢測,因此防御者也不得不改變檢測和防御方式。
就像上面我們用于入侵檢測的sysmon檢測引擎,很多人在安裝Sysmon的過程中直接使用默認配置,不更改文件名、服務名、驅動名,在攻擊者發現主機環境裝有Sysmon后,通過對現有規則及對環境分析,結合具體情境使用繞過及阻斷方式組合技術,可輕松突破Sysmon日志記錄。所以防御方需要對sysmon進行隱藏,否則將影響對攻擊者TTP檢測,及入侵行為檢測。
從戰術、技術和過程(TTPs)的攻擊層面分析,現在攻擊者使用工具,往定制化、模塊化、無文件落地發展,可繞過大部分傳統的安全防護設備。例如以下工具運行不帶任何參數可直接轉儲lsass.exe的內存。
這就需要依托安全廠商投入研究,研究分析得越透徹,攻擊者繞過的難度就越高。尤其是針對現有的TTPs的研究,研究如何精確匹配攻擊事件,我覺得這也是未來的趨勢,往精準化檢測前行,否則安全分析人員,將被淹沒在各種設備海量的告警中,剪不斷理還亂,當然這是個持續的過程,在攻防對抗中不斷升級,不斷演進。
往更深層次上講,如果僅僅只為了發現特定的已知攻擊行為而進行的檢測會是什么樣場景?一個新的特征,一個新的告警,一個新簽名,一個接一個!是的,這很可能是作為安全分析師在每天工作中所經歷的對于威脅的檢測分析處理。我們是否想過,通過由幾個開源框架組成的生態系統,自研啟用高級分析功能來增強威脅檢測能力,通過賦能機器學習,構建大數據智能分析平臺,進一步發展根據數據做出預測或建議的分析技術,解決檢測已知的威脅,通過關聯分析,挖掘未知的威脅,提高檢測率。
看完上述內容,你們掌握怎么進行ATT及CK對提升主機EDR檢測能力的分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。