Locky 勒索病毒利用 Flash 和 Windows 系統核心漏洞散布

今年四月初,Adobe Flash Player 出現了一個 零時差漏洞  (CVE-2016-1019)。此漏洞很快就被收錄到  Magnitude 漏洞攻擊套件 當中,Adobe 被迫緊急釋出修補程式。駭客利用此漏洞並搭配「Drive by download」路過式下載(隱藏式下載、偷渡式下載、強迫下載. 網頁掛馬)技巧來散布 Locky勒索病毒(勒索軟體/綁架病毒)

Vulnerability 漏洞 勒索軟體 警告 安全

不過,使用者所面臨的威脅還不只這樣。最近,趨勢科技發現這項攻擊又增加了一個新的技巧。除了利用 Flash 漏洞之外,駭客更利用一個 舊的 Windows 權限升級漏洞 (CVE-2015-1701) 來躲避資安軟體的沙盒模擬分析技術。

隱匿的惡意行為

趨勢科技不僅分析了擷取到的網路流量,也分析了一個相關的檔案下載程式  (也就是 TROJ_LOCKY.DLDRA)。從網路流量可發現此威脅利用的是 CVE-2016-1019 漏洞。至於檔案下載程式,則是利用了一個罕見的 Windows 核心漏洞。檔案下載程式可藉此連上其幕後操縱 (C&C) 伺服器 (IP:202.102.110.204:80),並且下載Locky勒索軟體到系統上。這項技巧利用了多項核心層級的系統機制,包括:工作項目、系統執行緒以及非同步程序呼叫 (APC)。由於這些機制在使用時都不需要透過任何檔案,因此惡意程式可以在不被偵測的狀況下植入系統中。

檔案下載程式會將其惡意程式碼植入 Windows 用來執行各種服務的  svchost.exe 系統執行程序當中。此外,它還會檢查 Windows 的版本及 win32k.sys 檔案的日期來確認系統是否含有漏洞,藉此降低被偵測的風險。

這項漏洞可用於躲避偵測,尤其是能躲避沙盒模擬分析技術。此外,以這項核心漏洞為基礎的隱藏技巧,也讓分析和沙盒模擬技巧更難偵測這項威脅。我們在分析惡意程式檔案時發現它在遇到新版的 Windows 作業系統時可能會改用其他漏洞。

Locky 檔案下載程式介紹

除了使用系統核心漏洞之外,TROJ_LOCKY.DLDRA 這個惡意程式在功能上與其他檔案下載程式無異。下圖摘要顯示此程式的執行流程:

圖 1:檔案下載程式執行流程圖。

根據我們的分析,此樣本採用了多項反除錯技巧,以及新的包裝方法。包括加密的 API 字串以及在執行時期動態產生 API 位址。

其父執行程序 (初始執行程序) 除了產生子執行程序 (分支執行程式) 並隨機產生指令列參數之外,並不做其他事情。子執行程序接下來會先檢查當前的作業系統版本以確認系統是否存在 CVE-2015-1701 漏洞,若有便開始觸發此漏洞。此時,惡意程式會利用系統的非同步程序呼叫 (APC) 功能讓  svchost.exe 連上其 C&C 伺服器並下載 Locky 勒索軟體到系統上,也就是趨勢科技所偵測到的  RANSOM_LOCKY.PUY 惡意程式。

漏洞觸發機制

子執行程序一開始執行,首先會檢查當前的作業系統版本,以確認前述漏洞是否已修補。若未修補,就觸發此漏洞。若已修補,它依然還是會連上 C&C 伺服器,只是會捨棄隱藏技巧。

為了觸發這項系統漏洞,惡意程式會先讓 user32.dll!afnDispatch 的函式呼叫表中 ClientCopyImage 函式的位址指向 DetourClientCopyImage 函式的位址。由於 Microsoft 提供了反向呼叫 (callback) 功能,因此這個 API 函式會在 USER32!CreateWindowEx 函式執行時被呼叫。

 

圖 2:DetourClientCopyImage 示意程式碼。

SetWindowLongA 函式執行時,Fake_WinProc_exploit_403A90 (內含惡意程式碼) 就會在系統核心的權限下執行 (原本不該如此)。

圖 3:BeginExploit_403C42 示意程式碼,內含觸發漏洞的程式碼。

上圖中的示意程式碼顯示惡意程式如何藉由CreateWindowExA 函式來觸發 CVE-2015-1701 漏洞。

圖 4:使用者模式中的惡意程式碼在系統核心當中執行時的堆疊內容。

上圖的堆疊內容顯示預先安排在 Fake_WinProc_exploit_403A90 函式中的使用者模式惡意程式碼如何透過 win32k!xxxSendMessage 函式呼叫在核心模式中執行。

漏洞攻擊技巧

在觸發系統核心漏洞之後,檔案下載程式就會利用各種技巧來隱藏其惡意行為。如圖 1 所示,被觸發的系統核心漏洞會先從子處理程序空間利用 nt!ExQueueWorkItem 將惡意的工作項目排入佇列。系統會管理及排程這些工作項目來提升效能。

當惡意程式的工作項目被排程執行緒呼叫時,它會搜尋系統中的所有執行程序來尋找一個命令列當中含有「–k netsvcs」參數的  svchost.exe 執行程序。接著它會附著到這個執行程序,然後分配記憶體並複製其惡意程式碼,最後發出一個使用者模式的 APC 給這個執行程序。

在設計上,使用者模式的 APC 只能在指定的處理程序/執行緒之下或是 svchost 執行程序之下執行 (如此例)。當 svchost  執行程序遭到惡意 APC 駭入時,就會在其執行空間當中產生一個新的執行緒。這個新的執行緒接著利用特殊的 API 呼叫下載其他惡意程式。

圖 5:當遠端產生的執行緒在 svchost 執行程序當中連線至 C&C 伺服器時的堆疊狀況。

反制措施

這個檔案下載程式運用了複雜細膩的技巧來連上其 C&C 伺服器。我們相信這是為了將其惡意行為隱藏在看似正常的系統活動當中以躲避白名單或其他防禦機制。

系統核心漏洞以及相關的行為相對較少受到關注。這個檔案下載程式很可能就是因為這樣才採用這類技巧。此外,像這樣利用系統核心機制 (工作項目、APC、系統執行緒) 的技巧通常不在資安防禦的監控範圍內。不僅如此,這種技巧的難度也相當高,因為這些機制的資料結構經常變動,而且只出現在執行時期。

另一方面,對外連線對於 svchost 執行程序來說是完全正常的動作,因為該執行程序就是專門用來為 Microsoft 其他執行程序提供各類服務。因此,將網路流量隱藏在此處可說是萬無一失。

我們強烈建議使用者將系統上的 Adobe Flash Player 更新到最新版本。保持軟體更新是防範漏洞攻擊、保障系統安全的方式之一。除此之外,您最好是隨時備份資料,並且不要支付任何贖金,因為就算支付贖金也無法保證能救回檔案。

趨勢科技的  趨勢科技Deep Security  和 Vulnerability Protection   可利用下列深層封包檢查 (DPI) 規則來防止利用前述漏洞攻擊:

  • 1007572 – Adobe Flash Player Remote Code Execution Vulnerability (遠端指令執行漏洞) (CVE-2016-1019)

TippingPoint 客戶可透過下列 MainlineDV 過濾規則來防範利用 CVE-2016-1019 漏洞的攻擊:

  • 24253: HTTP: Adobe Flash FileReference Type Confusion Vulnerability (檔案參照類型混淆漏洞)

趨勢科技Deep Security  經常能在不需更新的狀況下偵測零時差攻擊。趨勢科技的各項端點防護產品,包括:趨勢科技PC-cillin雲端版趨勢科技 Smart Protection Suites 以及Worry-Free Pro都能有效偵測 Locky勒索軟體的惡意檔案,保護使用者系統。

以下是此攻擊相關的 SHA1 雜湊碼:

  • FED07EC9CDE2A7B1581F192644CFA03D680A6245

原文出處: Locky Ransomware Spreads via Flash and Windows Kernel Exploits 作者:Moony Li 及  Hugo Cao
延伸閱讀:

 

★針對企業用戶,趨勢科技端點解決方案亦可以偵測勒索軟體

ransomware banner

 

 

★你付錢了嗎?別讓檔案當肉票!勒索軟體常見問題集


如何防禦勒索軟體?
★牢記四步驟和”三不三要”口訣
【一般用戶】
★使用趨勢科技PC-cillin 2016對抗勒索軟體
【企業用戶】
★趨勢科技端點解決方案
★中小企業如何防禦加密勒索軟體?

 

 

PC-cillin 2016雲端版已有增加對勒索軟體 Ransomware加密行為的防護機制,可預防檔案被勒索軟體惡意加密

Windows10Banner-540x90v5

趨勢科技PC-cillin雲端版 ,榮獲 AV-TEST 「最佳防護」獎,領先28 款家用資安產品防毒軟體 ,可跨平台同時支援安裝於Windows、Mac電腦及Android、iOS 智慧型手機與平板電腦,採用全球獨家趨勢科技「主動式雲端截毒技術」,以領先業界平均 50 倍的速度防禦惡意威脅!即刻免費下載

《 想了解更多關於網路安全的秘訣和建議,只要到趨勢科技粉絲網頁 或下面的按鈕按讚 》

《提醒》將滑鼠游標移動到粉絲頁右上方的「已說讚」欄位,勾選「搶先看」選項,最新貼文就會優先顯示在動態消息頂端,讓你不會錯過任何更新。
*手機版直接前往專頁首頁,下拉追蹤中,就能將粉絲專頁設定搶先看。

 

▼ 歡迎加入趨勢科技社群網站▼

好友人數