ATT&CK Initial Access 打點技術攻防
一、背景
ATT&CK攻擊矩陣(Enterprise)共有11列,將不同環節、不同打擊目標的攻擊技術分別拆分并歸納,這對于防守方有很大的借鑒意義,SOC可以將安全設備、防御手段、檢測規則、情報等的覆蓋能力映射在矩陣中,從而感知當前SOC的檢測和防御能力,并規劃未來的前進方向。
然而ATT&CK矩陣不是銀彈,這里也有很多問題值得思考:
(一)防御和檢測能力的矩陣覆蓋評估,應該是0和1嗎?
(二)針對某個技術環節,當前已經能夠完全防御或檢測了,未來是否不需要再關注、投入人力了?
(三)針對某個攻擊技術,企業不同區域環境(總部和分支、各種供應商、BYOD)是否具有相同的防御和檢測能力?
BITS Jobs--T1197 | 安全設備覆蓋 | 防御能力 | 檢測能力 |
北京總部 | EDR DLP | 強 | 強 |
上海分公司 | DLP | 弱 | 強 |
廣州分公司 | 無 | 無 | 弱 |
(四)矩陣中的11列,對于防守方的資源投入來說,是否具有相同的重要程度?如果不同,優先順序是怎么樣的?
(五)矩陣每一列中的不同技術、子技術,對于防守方的資源投入來說,是否具有相同的重要程度?如果不同,優先順序是怎么樣的?
本系列文章,筆者將詳細分析ATT&CK矩陣的技術,并深入討論每個技術,以及針對這些技術,企業環境應該做出的防御和檢測部署。
本篇文章,讓我們進入ATT&CK矩陣的第三列:Intial Access,詳細分析其中的技術有哪些,涉及企業安全工作建設中的哪些內容。
二、技術總體介紹
(一)Drive-by Compromise
主要思路是水坑攻擊,筆者上一篇文章已經詳細介紹過這個技術及SOC做防御需要收集的日志,請參考https://www.freebuf.com/articles/es/336620.html.
(二)Exploit Public-Facing Application
直譯為"利用面向公眾的應用程序",翻譯過來就很好理解了,其實就是廣大滲透測試者、眾多CTF競賽中最常見的攻擊方式,攻擊對外暴漏的服務(任意外網可訪問的系統),具體包含的攻擊目標不限于:Web系統、郵件服務、VPN服務、負載均衡。其中最喜聞樂見的應該是Web系統,由于各種語言、框架、組件層出不窮,針對性的漏洞也是一批又一批,可以說是給了安全工作者牢靠的飯碗。
同時,企業對Web系統攻防對抗的投入,應該是資源占比最大的,下一代防火墻、WAF、流量分析設備、HIDS、RASP等等安全設備、應用、機制,都很好的保護著面向公眾的應用程序。
(三)External Remote Services
外部遠程服務,主要指的是企業開放給內部員工、供應商的外部服務,如VPN、API、SSH服務、RDP服務、Citrix等云桌面、郵件系統等等。這些服務通常有針對性的服務對象,所以可以做一定的限制,如限定源IP訪問、MFA、端口敲門技術(參考ATT&CK-T1205.001)、MAC綁定等。
(四)Hardware Additions
添加硬件到目標環境中,主要是物理滲透的場景,比如物理接觸目標機器,通過PE系統進入機器完成攻擊;在目標公司大廳扔一個U盤、BadUSB進行釣魚等等。
(五)Phishing
釣魚,筆者認為,是HW等各種攻防對抗中,最簡單易行且殺傷力最強的攻擊手段。釣魚郵件漫山遍野,企業環境中不配置一個商用的郵件網關和Exchange防病毒模塊,都不好意思說自己是重視安全的。
SPF、DKIM、DMARC、郵件防病毒模塊一樣不落,面對APT級別的攻擊者時有用嗎?沒有用!對郵件投遞做白名單限制,限制附件后綴,不允許投遞可執行文件、不允許投遞加密的壓縮包,但攻擊者還可以通過釣魚頁面釣魚(參考gophish框架),無論進行多少安全意識培訓,我們都要堅信,普通用戶一定會中招的。
然而,釣魚只能通過郵件嗎?并不是。郵件的投遞流程可以被企業完全監控、控制、回溯分析,但是其他途徑就不一定了。微信、QQ、釘釘等等各種IM訊軟件,一樣可以進行釣魚,且防御成本巨大。前段時間搜狐發生的釣魚事件,攻擊者采用了二維碼這種新的方式,看到二維碼,正常人的反應都是拿出微信掃一掃,這個"掃一掃"的后續過程,安全防御人員完全不可控,是真的防不勝防。
(六)Replication Through Removable Media
通過可移動媒體進行復制,主要指通過USB等可移動設備,將惡意程序投遞到目標機器上,然后通過各種自動執行的技術,完成惡意程序的執行。
(七)Supply Chain Compromise
供應鏈攻擊,很容易理解的攻擊方式,攻陷企業中使用的上游硬件設備,比如芯片級別的后門;攻陷企業中使用的軟件源,例如之前發生的PYPI倉庫投毒,如果你Python包的引用,不小心將requests寫成了request,那么很遺憾,你的電腦甚至你同事的電腦,可能已經是別人的了。
(八)Trusted Relationship
通過信任關系攻擊,通常企業會有或多或少的供應商,承包不同的服務內容,而供應商通常需要訪問部分或全部的內部系統,授權給供應商是難以避免的,和供應商之間的"信任"關系,到底能不能信任呢?
今年年初的LAPSUS$組織,就高調對外公布:他們就是通過"買"、"騙"的方式,直接獲取企業用戶或供應商的賬號,通過鈔能力簡單的完成Initial Access。所以權限控制也是很重要的。
(九)Valid Accounts
有效賬戶,如同"無論進行多少安全意識培訓,我們都要堅信,普通用戶一定會中招的"這個結論一樣,我們還要堅信,企業環境中的賬號密碼,一定會暴漏給攻擊者,也就是說攻擊者一定能夠獲取到企業環境中某些系統的賬號密碼。
為什么這么肯定?
首先,弱口令難以根除,即使制定了復雜的密碼策略,也一定會有聰明的用戶巧妙得繞過密碼策略設置一些"弱口令",比如設置密碼策略為必須有大寫字母、小寫字母、數字、特殊符號,且長度不小于8位,似乎已經是一個很強的策略了,然而一定會有用戶設置密碼為:"Aa123!@#",顯然這個密碼是符合我們設定的高復雜度密碼策略的,但是這個密碼弱嗎?很弱!隨便找一個攻擊者常用的字典中,都一定會有它。
其次,不同的系統復用相同的密碼是大多數用戶的使用習慣,這也很好理解,因為如果沒有onepassword一類的工具,我們是無法用人腦記住大量不同密碼的(除非把密碼記錄在一個txt文件中,然后把這個文件放在桌面,沒錯,攻擊者最喜歡你通過這種方式記錄密碼,嘿嘿嘿),不同系統使用同一個密碼,就容易導致外部系統密碼泄露在社工庫(無法保證所有系統都加鹽加密存儲密碼,也不能保證加鹽加密總是有效的),從而等同于泄露了公司系統的密碼。
三、歸納和延伸
(一)Initial Access內容歸納
這個環節的攻擊技術目標是什么?通過上述介紹,不難看出,其實就是紅隊常說的"打點"。雖然一次攻擊中,不一定會用到ATT&CK矩陣中的每一列技術,但是這11列技術依然是按照先后順序排列的,Initial Access技術完成攻擊后,就會到Execution環節,Execution是什么?是惡意程序的執行,所以在執行前的一步,攻擊的目標其實就是接觸目標環境、投遞惡意樣本,投遞了才能執行嘛。
(二)攻擊技術延伸
ATT&CK中Initial Access中的9個技術(Techniques),整體可以總結為如下表中的6個類型,那么這些不同類型的攻擊技術具體有哪些攻擊程序(Procedures)、應該如何防御(Mitigations)、應該如何檢測(Detection)呢?接下來我們開始詳細分析。
序號 | 攻擊類型 | 特點 |
1 | 釣魚 | 簡單有效 |
2 | 水坑攻擊 | 實現難度高 |
3 | 物理接觸--可移動媒體設備 | 需要一定程度的物理接觸 |
4 | 互聯網邊界漏洞 | 企業安全防御工作的重點 |
5 | 供應鏈攻擊 | 實現難度高,殺傷力極強 |
6 | 社工獲取權限 | 防守方難以避免 |
1.釣魚
釣魚方式多種多樣,基于郵件、IM軟件、客服等多種投遞渠道,通過釣魚頁面獲取密碼、通過附件投遞惡意程序等多種利用方式,假冒獵頭、HR欺騙員工,假冒客戶、供應商欺騙客服等多種社工類型。
雖然攻擊方式多種多樣,屬于"易攻難守"的領域,但是我們安全工作者也不能躺平,該做的努力還是要做的:
a.加固郵件基礎設施,如SPF、DKIM、DMARC、郵件防病毒模塊、沙箱檢測(盡量安全左移)、YARA檢測
b.加固網絡基礎設施,如禁用不支持MFA的網絡協議,如POP等
c.加固用戶瀏覽器,可以參考瀏覽器隔離方案
d.堅持不懈的進行用戶安全意識培訓
e.常態化內部釣魚及宣貫
f.制定好用戶被釣魚后的應急預案,盡量通過SOAR自動化
g.制定針對釣魚郵件的SIEM檢測規則(如果讀者對這部分感興趣,之后可以單獨寫一篇文章進行介紹)
h.給盡量多的應用系統啟用MFA,對于無法啟用MFA的系統或用戶,應該做到專門的監控。雖然MFA也不是萬全之策,通過TLS劫持的反向代理做中間人,依然可以完成攻擊,但安全本身就是在做對抗,你有張良計,我有過墻梯
g.威脅情報,將釣魚信息中的URL、文件哈希等信息對接威脅情報進行分析,并根據分析結果決定后續的轉發策略
2.水坑攻擊
水坑攻擊是基于瀏覽器的攻擊方式,將受害者引誘到一個失陷的網站,然后通過一系列重定向,重定向到一個漏洞利用頁面,該頁面中部署瀏覽器&瀏覽器插件的利用工具,直接投遞payload到受害者機器。
水坑攻擊其實是一種復雜、難度高的攻擊方式,是比較不常見的攻擊方式,而瀏覽器隔離的方案可以完美應對針對瀏覽器的攻擊:用戶通過瀏覽器web代理上網,瀏覽器代理進行頁面的解析和渲染,把最終畫面呈現給用戶終端,如果瀏覽器存在漏洞又訪問到了攻擊者的惡意頁面,也只是在web代理中執行,不會影響到用戶的終端。
另外即使不使用瀏覽器隔離方案,水坑攻擊也會存在大量的攻擊特征,對于企業防御工作來說,這和防御普通的惡意程序、反連木馬、竊密木馬、挖礦軟件、勒索病毒等的工作內容是一致的,這也是防守者和攻擊者視角的不同,防御是以攻擊面做針對性的策略,而攻擊則是以攻擊點、攻擊向量為切入點。
3.可移動媒體設備
可移動媒體的攻擊主要有兩種,一種是物理接觸用戶機器,PE系統進入機器或者通過BadUSB攻陷機器,這種攻擊方式需要攻擊者能夠潛入企業環境,通常是比較困難的,也就不再詳細分析。另一種是欺騙用戶將攻擊者的可移動設備插入自己的電腦,而后通過自動運行、自動播放等方式完成惡意程序的投遞和執行,這種攻擊方式不需要攻擊者本人接觸目標機器,所以相對而言比較容易完成,以下主要討論這種攻擊方式。
實現攻擊的方式有很多,舉例如下:
(1)通過autorun.inf實現其他可執行文件的自動運行。
(2)通過自動播放(autoplay)的方式實現惡意程序的執行。
(3)在可移動設備中放置可執行文件,欺騙用戶點擊,例如:
a.雙重擴展名,例如a.pdf.exe,讓受害者誤以為是一個pdf文件而完成點擊。
b.通過unicode 202E將文件名進行鏡像顯示,欺騙受害者點擊。
(4)將網絡設備偽裝成一個U盤(也可以是充電寶,甚至充電器),實現流量劫持、鍵盤記錄等功能。
防御策略也有很多,比如:
a.直接通過組策略禁止使用可移動設備,基于序列號做白名單放通。
b.域內啟用applocker,指定精細化的控制策略,限制惡意程序的執行。
c.使用針對USB的安全防護軟件。
……
當然物理接觸也不局限于使用可移動媒體設備,還有接入企業wifi后進行ARP投毒、DNS欺騙、TLS中間人劫持、LLMNR投毒獲取Net-NTLM Hash進行爆破等等方式……
4.互聯網邊界漏洞
對于邊界服務的防護,需要企業投入大量的人力物力和時間才能做好,不再詳細展開敘述,以下進行簡單舉例:
a.軟件應用打補丁
b.操作系統打補丁
c.部署WAF、下一代防火墻、流量分析等安全設備
d.運營安全設備的策略
e.處理安全設備的告警
f.針對0-day漏洞進行及時有效的響應
5.供應鏈攻擊
6.社工獲取權限