微信社工攻擊防護方案
微信聊天作為日常親友溝通,工作交流的主要方式之一,在用戶的潛意識中,往往不會對微信好友時刻保持警惕性,這就給了微信釣魚攻擊者可乘之機,攻擊者為了獲取目標信任,往往會進行身份偽裝。
常見的被偽裝身份包括求職人員,第三方服務商,更換對接人員的客戶,獵頭等,通過看似合理的述求來添加目標微信,一旦攻擊者的微信好友申請被通過,攻擊者往往只需要一個病毒附件就可輕易發起攻擊。
當目標打開附件時,病毒攻擊隨之進行,導致電腦數據被竊取,或被利用作為跳板,對企業內部系統或網絡進行攻擊滲透。針對各種各樣的社工攻擊,我們除了教育,提醒用戶時刻注意微信安全以外,技術上我們也需要考慮一些相應的手段來進行補充。

考慮到各家企業環境不同,設備人員,流程處置方案均存在一定的差異,我這里僅拋磚引玉提出攻擊防護思路,各企業人員應當根據自家環境情況進行適配和調整,不代表本方案的絕對可行性。
閑話短說,我們先需要關注的是網絡傳輸方案,有些網絡防火墻本身就具備監控文件傳輸的能力,且擁有沙盒校驗的能力,那么就可以通過網絡防火墻監控文件的傳輸。通常情況下,這類防火墻會對傳輸的文件還原后進行哈希校驗,如果發現該哈希在其數據庫中不存在,則定義為新文件,并提交其關聯的文件沙箱進行檢測;如果該哈希是已知文件,在上述檢測中如果是良性標簽,則會放行通過,如果是惡性標簽,則會中斷傳輸,防止文件落地。

如果企業中并沒有具備擁有該種能力的防火墻設備,那么文件的落地后檢測則是下一步的主要防護行動,通過微信傳輸的文件種類繁多,有以PDF,DOC等為主的文檔文件;有工具類,軟件類等各種可執行文件,比如EXE/MSI,以及惡意文件,比如SCR/LNK/VBS等;當然,最多的還是各種壓縮包文件,常以ZIP/7Z/RAR/ISO為主的加密或者非加密文件;甚至,有的攻擊者會直接傳輸偽造的雙擴展名文件,諸如.DOCX.EXE,.ZIP.EXE等等。

準備
文件落地的監控,我們需要依賴于SYSMON或者其他EDR系統來進行,本文為了統一性,僅采用SYSMON作為闡述的工具,在這里,我們就需要利用到SYSMON的事件來進行監控,在Sysmon事件ID 11 (FileCreate)中,當創建或覆蓋文件時,會記錄文件的創建和創建文件的進程的信息。這個事件對于監視啟動文件夾、臨時目錄和下載目錄等位置非常重要,這些位置通常是惡意軟件在初始感染期間放置的地方。(關于具體如何使用SYSMON,本文不再贅述,請自行查閱相關文檔)為了針對微信文件傳輸進行監控,我們還需要在配置文件中添加監控標簽,因為微信存儲在WINDOWS中的路徑由用戶屬性組成,所以,這里僅需記錄“wxid_”就已經足夠。

當發起文件傳輸的時候,SYSMON就會記錄該文件創建事件

值得注意的是:如果系統中存在反病毒或者EDR的微過濾驅動,且擁有更小的Altitude值時,并且它檢測到惡意文件并阻止其寫入磁盤后,SYSMON將不會再記錄該事件。

文件創建事件寫入日志后,如果具備大型日志平臺的企業,可以通過日志收集工具將主機端的SYSMON日志通過SYSLOG的方式傳輸到后臺日志平臺,比如ELK和SPLUNK等,擁有日志平臺的企業就可以通過自定義查詢實現更進一步的篩查和跟進。

檢測
我們這里假定企業暫時不具備集中化的日志管理平臺,可以通過使用Powershell語句查詢SYSMOM關聯日志,比如:
Get-WinEvent -LogName 'Microsoft-Windows-Sysmon/Operational' -FilterXPath "*[System[(EventID=11)]]" -Oldest -MaxEvents 10 | Select-Object TimeCreated, ID, ProviderName, LevelDisplayName, Message | where message -match 'wxid_' | Format-List

如上所述,SYSMON的文件創建事件并不具備獲取文件哈希的能力,所以我們還需要自行獲取文件的哈希
Get-FileHash "C:\Users\XXX\WeChat Files\wxid_XXXX\FileStorage\MsgAttach\820e7XXXXXXXXXfe490\File\2022-10\簡歷.zip"

提取到文件哈希后,我們可以提交到VirusTotal或者其他的威脅檢測平臺進行哈希掃描,從而獲得初步的文件標簽信息。或者將該文件通過API提交給VT或者內部自建的沙箱平臺進行檢測,如果該文件為壓縮包文件,且設置了密碼加密的文件,取決于企業的不同的安全策略,可以針對性的實施包括工單報警,人工檢查,或者直接刪除等操作。

如果我們依然不具備集中管控平臺,也沒有辦法進行日志集中化采集,其實我們也可以考慮在本地進行采集,過濾和提交,利用Windows本身自帶的任務計劃程序,我們亦可以通過觸發SYSMON的文件寫入條件來執行Powershell或者其他腳本命令,后續大家可以執行擴展一下。

隔離
文件沙箱檢測的結果通過API返回到工單系統后,根據結果來進行下一步的操作,沙箱檢測可能會占據一定量的時間片,從文件傳輸落地到文件檢測結束,中間可能存在一定的DWELL時間(從失陷到檢出時長),所以如果該結果為惡意,那么最佳實踐操作就是對該主機實施隔離操作,并重置該賬號密碼。

處置
既然檢測出來是惡意攻擊行為,再隔離主機后,我們就要開始著手進行相關溯源工作,確定該事件的類型,形態,甚至引入到特定的蜜罐進行調查工作。特別需要強調的是,由于SYSMON的版本更新,SYSMON具備了一個非常強大的功能,即,能對文件的寫入和執行進行攔截,我們可以利用這點對偽造文件實施阻攔策略,禁止文件落地。

而針對壓縮包文件,或者說用戶習慣性的雙擊執行壓縮包中的可執行文件,這點,我們可以通過組策略來進行限制,具體操作方法請參考我其他文章,這里也不再贅述了。

恢復
恢復環節已經是處于工單的閉環環節,在清查完畢持久化后就可以交付主機給回用戶了。

提升
必要的,長期的,反復的用戶教育是必須的,從用戶角度而言,真的很難防范各種專業的高科技和狠活,用戶的安全意識提升依然還是很重要的一塊,防范于未然。而對于技術防守方來說,我們也需要重新審查各個環節,復盤整個技術推敲鏈,看看是否還有其他可以提升的地方。
自動化
企業體量達到一定程度,微信用戶數量也必然是爆炸性增長,文件傳輸的總量肯定也不少,企業也可以有效利用SOAR平臺進行全程自動化操作。

總結
靠人工實現的檢測流程是繁瑣的,自動化流程在整個方案過程中能起到錦上添花的作用,也能大幅度降低重復性的工作,但也并不是說一定要有SOAR才可以對微信社工攻擊進行防范。我們在不具備完整自動化平臺的情況下,利用SYSMON+Powershell+TaskSchedule+反病毒沙箱已經可以很大程度上實現本文所說的攻擊防護,能有效地減小和緩解微信社工攻擊所帶來的危害。
