域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)
之前,我們已經(jīng)對(duì)ATT&CK進(jìn)行了一系列的介紹,相信大家都已了解,Mitre ATT&CK通過(guò)詳細(xì)分析公開可獲得的威脅情報(bào)報(bào)告,形成了一個(gè)巨大的ATT&CK技術(shù)矩陣。誠(chéng)然,這對(duì)于提高防御者的防御能力、增加攻擊者的攻擊成本都有巨大作用。但或許是出于獵奇心理,很多威脅情報(bào)報(bào)告更多地是在報(bào)道攻擊者使用的比較新穎有趣的技術(shù)方法,而卻忽視了攻擊者反復(fù)使用的普通技術(shù)。這也是Mitre公司在2019年10月份的ATT&CKcon2.0大會(huì)上,推出了ATT&CK Sightings項(xiàng)目,以期借助社區(qū)力量收集更多直接觀察數(shù)據(jù)的原因所在。
對(duì)此,一些安全公司通過(guò)在真實(shí)環(huán)境中所收集的直接觀察數(shù)據(jù)來(lái)檢測(cè)攻擊技術(shù),這種方法直觀性更強(qiáng),也更具說(shuō)服力。Red Canary是美國(guó)一家從事信息安全的網(wǎng)絡(luò)安全公司,負(fù)責(zé)對(duì)客戶環(huán)境中的終端數(shù)據(jù)進(jìn)行大規(guī)模檢索,來(lái)尋找攻擊者。Red Canary分析了過(guò)去五年里,其客戶環(huán)境中發(fā)生的一萬(wàn)多起惡意事件,并將惡意事件中使用的技術(shù)與ATT&CK框架進(jìn)行了映射。
本文將通過(guò)對(duì)比Mitre ATT&CK的Top 20攻擊技術(shù)及Red Canary基于ATT&CK的Top 20攻擊技術(shù),確定了攻擊者最常用的七項(xiàng)ATT&CK技術(shù),并對(duì)其進(jìn)行了詳細(xì)分析。
Mitre公司 VS Red Canary Top 20攻擊技術(shù)
Mitre ATT&CK 通過(guò)整合、分析400多份公開的威脅情報(bào)報(bào)告,將技術(shù)報(bào)告中的內(nèi)容與ATT&CK技術(shù)進(jìn)行了映射,MITRE ATT&CK整理得出的Top 20攻擊技術(shù)為:
Red Canary通過(guò)對(duì)過(guò)去五年里,其客戶環(huán)境中發(fā)生的一萬(wàn)多起惡意事件進(jìn)行分析,得出了威脅事件利用每種ATT&CK技術(shù)的頻率,如下圖所示:
從圖中我們看到,Red Canary 分析得出的Top 20攻擊技術(shù)為:
對(duì)Mitre ATT&CK和Red Canary分別整理得出的Top 20技術(shù)進(jìn)行對(duì)比分析,我們可以發(fā)現(xiàn)有7項(xiàng)技術(shù)是重合的,分別為PowerShell、腳本執(zhí)行、命令行界面、注冊(cè)表Run Key/ 啟動(dòng)文件夾、偽裝、混淆文件或信息、憑據(jù)轉(zhuǎn)儲(chǔ)?;蛟S,這應(yīng)該是防御者建立防御方案的著手點(diǎn)。
下表展示了這七項(xiàng)技術(shù)在Red Canary 和Mitre ATT&CK Top 20攻擊技術(shù)中的排名次序和出現(xiàn)次數(shù)。
希望讀者能夠通過(guò)上表中的數(shù)據(jù),進(jìn)一步了解攻擊者對(duì)這七種技術(shù)的使用頻率和在攻擊者中的流行程度。下面,我們?cè)敿?xì)分析這七種技術(shù)。
攻擊者最常用的TOP7攻擊技術(shù)
1. “Powershell”備受攻擊者青睞
PowerShell是Windows操作系統(tǒng)中包含的功能強(qiáng)大的交互式命令行界面和腳本環(huán)境。攻擊者可以使用PowerShell執(zhí)行許多操作,包括發(fā)現(xiàn)信息和執(zhí)行代碼,例如,用于運(yùn)行可執(zhí)行文件的Start-Process cmdlet和在本地或在遠(yuǎn)程計(jì)算機(jī)上運(yùn)行命令的Invoke-Command cmdlet。
默認(rèn)情況下,PowerShell基本上已包含在每個(gè)Windows操作系統(tǒng)中,提供了對(duì)Windows API的完全訪問(wèn)權(quán)限,包括數(shù)百個(gè)供開發(fā)人員和系統(tǒng)管理員使用的功能,但同樣也遭到攻擊者的大肆利用。像許多核心平臺(tái)實(shí)用程序一樣,PowerShell庫(kù)很容易獲得,因此也很容易實(shí)現(xiàn),能夠暴露任意進(jìn)程中的完整PowerShell功能。
那么該如何進(jìn)行檢測(cè)呢?進(jìn)程監(jiān)控是最普遍有效的技術(shù)。進(jìn)程監(jiān)控可以讓防御者確定在其環(huán)境中使用PowerShell的基準(zhǔn)。進(jìn)程命令行監(jiān)控則更有效,可以洞悉哪些PowerShell實(shí)例試圖通過(guò)編碼命令傳遞有效負(fù)載并以其他方式混淆其最初意圖。除了PowerShell腳本的默認(rèn)主機(jī)之外,腳本還可以在加載PowerShell框架庫(kù)的其他進(jìn)程中執(zhí)行。要查看該行為,觀察模塊負(fù)載以及進(jìn)行分析以提供其他上下文,從而為檢測(cè)提供支持。
2. “腳本執(zhí)行”不容忽視
攻擊者可能會(huì)使用腳本來(lái)幫助進(jìn)行操作并執(zhí)行其他本來(lái)應(yīng)該是手動(dòng)進(jìn)行的多項(xiàng)操作。腳本執(zhí)行對(duì)于加快操作任務(wù),減少訪問(wèn)關(guān)鍵資源所需的時(shí)間很有用。通過(guò)直接在API級(jí)別與操作系統(tǒng)交互,而無(wú)需調(diào)用其他程序,某些腳本語(yǔ)言可以用于繞過(guò)過(guò)程監(jiān)視機(jī)制。Windows的常用腳本語(yǔ)言包括VBScript和PowerShell,但也可以采用命令行批處理腳本的形式。
安全工具和人工分析的快速發(fā)展讓攻擊者很難使用公開的攻擊載荷或者直接從磁盤獲取相關(guān)載荷。因此,攻擊者需要找到替代方法來(lái)執(zhí)行有效載荷并執(zhí)行其他惡意活動(dòng),這是腳本相關(guān)技術(shù)日益流行的主要原因。此外,該技術(shù)利用的運(yùn)行時(shí)環(huán)境、庫(kù)和可執(zhí)行文件是每個(gè)現(xiàn)代計(jì)算平臺(tái)的核心組件,不能輕易禁用,并且沒有始終對(duì)其進(jìn)行密切監(jiān)視。
在Windows上,Windows腳本宿主(WSH)最簡(jiǎn)單的檢測(cè)用例是基于process ancestry的。這包括監(jiān)視從shells命令(cmd.exe、powershell.exe)、Office應(yīng)用程序、Web瀏覽器和Web服務(wù)處理程序中生成的wscript.exe或cscript.exe。還建議監(jiān)視從非標(biāo)準(zhǔn)位置執(zhí)行的腳本,例如用戶可寫路徑,包括appdata\local\*、其他類似路徑以及臨時(shí)目錄。
此外,監(jiān)視進(jìn)程元數(shù)據(jù)、進(jìn)程命令行和文件修改都是非常重要的策略。檢測(cè)與托管腳本相關(guān)的二進(jìn)制文件的可疑模塊加載(例如vbscript.dll)的檢測(cè)系統(tǒng)也是值得采取的策略。
當(dāng)然最徹底的辦法就是禁用Windows腳本宿主,也可以強(qiáng)制對(duì)腳本進(jìn)行簽名,以確保僅執(zhí)行批準(zhǔn)的腳本。諸如AppLocker之類的工具還提供了與腳本執(zhí)行相關(guān)的其他約束。這些是預(yù)防策略,但也可用于檢測(cè)之用,因?yàn)閲L試執(zhí)行未經(jīng)授權(quán)的腳本應(yīng)產(chǎn)生更高質(zhì)量的報(bào)警信號(hào)。
3. “命令行界面”也是黑客最愛
命令行界面提供了一種與計(jì)算機(jī)系統(tǒng)進(jìn)行交互的方式,并且是許多類型的操作系統(tǒng)平臺(tái)的共同功能。Windows系統(tǒng)上的令行界面是cmd,可用于執(zhí)行許多任務(wù),包括執(zhí)行其他軟件。命令行界面可以通過(guò)遠(yuǎn)程桌面應(yīng)用程序、反彈Shell會(huì)話等在本地或遠(yuǎn)程進(jìn)行交互。執(zhí)行的命令以命令行界面進(jìn)程的當(dāng)前權(quán)限級(jí)別運(yùn)行,除非該命令進(jìn)行進(jìn)程調(diào)用,更改執(zhí)行權(quán)限(例如計(jì)劃任務(wù))。
命令行界面發(fā)展至今,已經(jīng)有大量的成熟工具可以使用。此外,命令行界面是一個(gè)非常輕便的應(yīng)用程序,打開時(shí)不會(huì)給硬件帶來(lái)負(fù)擔(dān),因此打開起來(lái)更快。而且在基于GUI的應(yīng)用程序上完成的所有任務(wù),能夠通過(guò)命令行界面更快地打開。
針對(duì)這類攻擊,可以通過(guò)使用命令行參數(shù)正確記錄進(jìn)行執(zhí)行情況來(lái)捕獲命令行界面活動(dòng)。通過(guò)深入了解攻擊者時(shí)如何使用本地進(jìn)程或自定義工具的,可以進(jìn)一步了解攻擊者的行為。這就需要做到以下兩方面:(1)了解組織機(jī)構(gòu)中應(yīng)用程序的常見來(lái)源;(2)收集命令行和相關(guān)的檢測(cè)數(shù)據(jù).
4. “注冊(cè)表run key/啟動(dòng)文件夾”是實(shí)現(xiàn)持久化的關(guān)鍵動(dòng)作
在注冊(cè)表的“run keys”或啟動(dòng)文件夾中添加一個(gè)條目,將會(huì)導(dǎo)致用戶登錄時(shí),該程序會(huì)運(yùn)行該條目。這些程序?qū)⒃谟脩舻纳舷挛闹袌?zhí)行,并具有與賬戶相同的權(quán)限級(jí)別。
注冊(cè)表run key和啟動(dòng)文件夾歷來(lái)都是各類攻擊者實(shí)現(xiàn)持久化的重要目標(biāo)。根據(jù)Microsoft文檔,對(duì)注冊(cè)表run key的支持至少可以追溯到Windows95。有可靠記錄表明,作為一種持久化機(jī)制,加之易于實(shí)施,該技術(shù)在一定程度上解釋了其為何在攻擊者中使用非常普遍。攻擊者僅需要用戶級(jí)別的權(quán)限,并具有寫入注冊(cè)表或?qū)⒂行ж?fù)載拖放到啟動(dòng)文件夾的功能。
雖然實(shí)現(xiàn)起來(lái)相對(duì)簡(jiǎn)單,但非常有效。隨著時(shí)間的推移,該技術(shù)已經(jīng)從引用可執(zhí)行有效負(fù)載發(fā)展為加載動(dòng)態(tài)庫(kù),并利用了其他技術(shù)(例如regsvr32和腳本執(zhí)行)。針對(duì)該攻擊技術(shù),可以在持久化機(jī)制生命周期的三個(gè)不同點(diǎn)上有效地實(shí)現(xiàn)檢測(cè):安裝時(shí)、休眠時(shí)以及觸發(fā)時(shí)。
在安裝時(shí)檢測(cè)run key和啟動(dòng)文件夾項(xiàng)目需要監(jiān)視特定注冊(cè)表和文件系統(tǒng)路徑的變更情況??梢酝ㄟ^(guò)平臺(tái)文檔或通過(guò)引用一些實(shí)用程序來(lái)報(bào)告是否存在這些配置來(lái)列舉這些路徑。此外,可能會(huì)成功檢查任何已知與這些路徑結(jié)合使用的文件類型,例如LNK。要檢測(cè)已安裝且處于休眠狀態(tài)的持久化,可以檢查同一注冊(cè)表和文件系統(tǒng)路徑的內(nèi)容中是否存在可疑條目。創(chuàng)建一個(gè)基準(zhǔn)并定期監(jiān)視是否有偏移基準(zhǔn)的情況,以此來(lái)減少調(diào)查工作量。
當(dāng)然,持久化永遠(yuǎn)不會(huì)單獨(dú)發(fā)生,它始終是達(dá)到目的的手段。因此,監(jiān)視預(yù)期某些變更會(huì)涉及哪些進(jìn)程以及尚未觀察到的進(jìn)程之間的關(guān)系也是非常有效的。
5. “偽裝”是繞過(guò)防御的最佳辦法
偽裝是指為了逃避防御和觀察而操縱或?yàn)E用合法或惡意的可執(zhí)行文件的名稱或位置的情況。攻擊者利用偽裝作為繞過(guò)防御技術(shù)的手段或欺騙手段。攻擊者使用該技術(shù)通過(guò)使惡意可執(zhí)行文件和軟件看起來(lái)合法或預(yù)期來(lái)破壞機(jī)器和人工分析。偽裝的實(shí)現(xiàn)范圍很廣,從簡(jiǎn)單地重命名可執(zhí)行文件(從而讓這些文件看起來(lái)更像是正常系統(tǒng)進(jìn)程)到更復(fù)雜的方法(例如命令行欺騙)。偽裝在攻擊者中使用很普遍,因?yàn)樗鼭M足了繞過(guò)防御技術(shù)和人為分析的簡(jiǎn)單需求,并且相對(duì)容易實(shí)施。
檢測(cè)偽裝技術(shù)的一種策略是利用二進(jìn)制元數(shù)據(jù),例如在文件創(chuàng)建或簽名時(shí)的原始文件名。例如,如果要查找wscript.exe,則應(yīng)查找具有該名稱的二進(jìn)制文件,也應(yīng)查找具有原始文件名WScript的任何二進(jìn)制文件。
雖然,可以檢測(cè)名稱或元數(shù)據(jù)為wscript.exe的任何二進(jìn)制文件,但基于文件的簽名、哈?;蚱渌麡?biāo)識(shí)符并不可信。因此可對(duì)文件位置建立一個(gè)基準(zhǔn),對(duì)上述方法進(jìn)行補(bǔ)充。如果我們了解給定二進(jìn)制文件通過(guò)哪個(gè)路徑執(zhí)行,則可以在其他任何地方看到該標(biāo)志時(shí),就可以觸發(fā)報(bào)警。
6. “混淆文件或信息”可逃避基于簽名的檢測(cè)系統(tǒng)
攻擊者可能會(huì)試圖通過(guò)加密、編碼或其他方式混淆系統(tǒng)上或傳輸中的可執(zhí)行文件或文件內(nèi)容,從而使其難以發(fā)現(xiàn)或分析。這是一種可以跨不同的平臺(tái)和網(wǎng)絡(luò)使用,以繞過(guò)防御的常見行為。
許多網(wǎng)絡(luò)安全檢測(cè)產(chǎn)品(防病毒軟件、IDS等)設(shè)計(jì)為基于惡意軟件的簽名運(yùn)行。一旦發(fā)現(xiàn)了在野使用的特定惡意軟件變體,便會(huì)提取出該惡意軟件的獨(dú)特功能,并用于在未來(lái)感染中對(duì)其進(jìn)行檢測(cè)和識(shí)別。將通過(guò)網(wǎng)絡(luò)邊界或下載到主機(jī)的每條數(shù)據(jù)與這些簽名進(jìn)行比較。如果找到匹配項(xiàng),則將采取措施(刪除、隔離、警報(bào)等)。
混淆的目的是繞過(guò)這些基于簽名的檢測(cè)系統(tǒng),并增加對(duì)惡意軟件樣本進(jìn)行取證分析的難度。如果以某種方式混淆了簽名所基于的數(shù)據(jù)或代碼,則檢測(cè)引擎在尋找純文本簽名時(shí)就無(wú)法找到匹配項(xiàng)。
存在許多混淆算法,例如壓縮、編碼、加密、隱寫等等。惡意軟件使用者可以隱藏各種不同類型的文件和數(shù)據(jù)。例如,惡意軟件可能被設(shè)計(jì)為使用混淆來(lái)隱藏其惡意代碼。或者,惡意軟件變體可能會(huì)對(duì)其配置文件進(jìn)行加密,從而使惡意軟件分析師更難于理解其功能。
想要檢測(cè)混淆文件或者信息,除非在混淆過(guò)程留下了可以檢測(cè)到的獨(dú)特偽像,否則很難檢測(cè)文件混淆。如果無(wú)法檢測(cè),則可以去檢測(cè)執(zhí)行混淆文件的惡意活動(dòng)(例如,用于在文件系統(tǒng)上寫入、讀取或修改文件的方法)。標(biāo)記并分析包含混淆指示符和已知可疑語(yǔ)法(例如未解釋的轉(zhuǎn)義字符,如'''^''' 和'''"''')的命令。反混淆工具可以用來(lái)檢測(cè)文件/有效載荷中的這些指標(biāo)。
此外,可以在網(wǎng)絡(luò)上檢測(cè)到用于初始訪問(wèn)的有效載荷中使用了哪些混淆方法。還可以使用網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)和電子郵件網(wǎng)關(guān)篩選來(lái)識(shí)別壓縮和加密的附件和腳本。某些電子郵件附件展示系統(tǒng)可以打開壓縮和加密的附件。通過(guò)網(wǎng)站從加密連接傳遞的有效載荷需要進(jìn)行加密的網(wǎng)絡(luò)流量檢查。
7. “憑據(jù)轉(zhuǎn)儲(chǔ)”讓黑客在內(nèi)網(wǎng)為所欲為
憑據(jù)轉(zhuǎn)儲(chǔ)是從操作系統(tǒng)和軟件獲取帳戶登錄名和密碼信息的過(guò)程,通常是哈?;蛎魑拿艽a形式的信息。進(jìn)行憑據(jù)轉(zhuǎn)儲(chǔ)后,攻擊者就可以使用憑據(jù)進(jìn)行橫向移動(dòng)及訪問(wèn)受限信息。
憑據(jù)轉(zhuǎn)儲(chǔ)是攻擊者訪問(wèn)目標(biāo)組織中的用戶帳戶和其他資源的共同需求。攻擊者還利用轉(zhuǎn)儲(chǔ)的憑據(jù)來(lái)實(shí)現(xiàn)權(quán)限提升和橫向移動(dòng)。憑據(jù)對(duì)于攻擊者而言是如此重要,以致在許多情況下,獲取用戶名和密碼不僅是達(dá)到目的的手段,而且是攻擊的整個(gè)目標(biāo)。因此,在各種犯罪論壇上,憑據(jù)都是可出售的商品,并且有些網(wǎng)站可以追蹤公開的憑據(jù)轉(zhuǎn)儲(chǔ)情況。除了將轉(zhuǎn)儲(chǔ)憑據(jù)用于出售和初始訪問(wèn)外,憑據(jù)是漏洞利用后的一個(gè)重要部分。一旦攻擊者獲得對(duì)環(huán)境的初始訪問(wèn)權(quán)限,通常需要某種級(jí)別的特權(quán)訪問(wèn)權(quán)限才能實(shí)現(xiàn)攻擊活動(dòng)中的進(jìn)一步目標(biāo)。雖然有很多方法可以提高特權(quán)級(jí)別,但是最有效和可靠的方法之一是使用具有特定級(jí)別權(quán)限的人員的合法憑據(jù)。
憑據(jù)可以從內(nèi)存中以純文本格式提取。監(jiān)視對(duì)特定進(jìn)程的訪問(wèn)可以為防御者提供一種檢測(cè)憑據(jù)轉(zhuǎn)儲(chǔ)的方式。這種檢測(cè)方法很容易產(chǎn)生大量誤報(bào)事件,因?yàn)椴僮飨到y(tǒng)的內(nèi)置功能也可以訪問(wèn)這些過(guò)程。防御者要重點(diǎn)關(guān)注潛在問(wèn)題進(jìn)程之間的交互來(lái)減少這種噪聲。
檢測(cè)是否存在憑據(jù)轉(zhuǎn)儲(chǔ)的另一種方法是分析常用工具,并使用其他數(shù)據(jù)源作為相關(guān)點(diǎn),基于留下的指紋來(lái)制定檢測(cè)策略。注冊(cè)表項(xiàng)和文件修改就是一個(gè)很好的切入點(diǎn)。
寫在最后
我們之前已經(jīng)針對(duì)ATT&CK框架進(jìn)行了一系列的介紹,有興趣的讀者可以閱讀一下之前的相關(guān)文章。但是,ATT&CK框架包含了300多種技術(shù),而且每種技術(shù)又包含多種變體。面對(duì)一個(gè)體型如此龐大的框架,可能會(huì)讓人有些望而卻步,一臉茫然,不知該從何處入手。本文通過(guò)對(duì)比分析MITRE ATT&CK和Red Canary總結(jié)分析的Top20攻擊技術(shù),發(fā)現(xiàn)其中有七項(xiàng)技術(shù)是重合的,突出說(shuō)明了這七項(xiàng)攻擊技術(shù)在攻擊者中的普遍性,是需要防御者重點(diǎn)關(guān)注或是建立防御方案時(shí)的著手點(diǎn)。本文對(duì)這七項(xiàng)技術(shù)進(jìn)行了簡(jiǎn)單的介紹,說(shuō)明了這些技術(shù)能夠得到攻擊者青睞的原因所在,并給出了檢測(cè)策略,希望能夠?yàn)樽x者使用ATT&CK框架帶來(lái)一些幫助。
申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!