知己知彼 詳解Locky行為特徵

由2016年2月出現新型勒索軟件Locky至今(被卡巴斯斯產品偵測並定名為Trojan-Ransom.Win32.Locky),根據卡巴斯基實驗室的報告顯示,全球總共114個國家受到感染,經過樣本分析,顯示該款病毒是全新的勒索軟件威脅,病式完全從新編寫。正所謂知己知彼,想保護自己,就要先瞭解這款急襲全球的勒索軟件Locky是如何運作,才能找出對應的方案。
01

傳播方式
作為木馬病毒的分支,罪犯散播勒索軟件的方式,主要依然是倚靠濫發偽裝電郵的方式。最初,偽裝的病毒電郵會附有DOC的文件檔,當中會透過執行巨集,從遠端伺服器下載Locky病毒並且執行它。

02
DOC文件內含惡意巨集

其實新版本的Microsoft Office因為保安原因,已經關閉自動執行巨集的功能,可惜從事實顯示,即使是來歷不明的文件,用戶經常會自行開啟巨集功能,結果可能導致某程度的損失。很快速地,電郵附件由DOC文件檔,轉換為ZIP壓縮檔作為掩飾,在JavaScript內含有一或多條可疑代碼,而且電郵已經逐漸演變成多種國家語言,顯示Locky的魔爪正向多個國家張開,並且擴散速度非常快。

電郵同時具備德文和英文,附件已變成ZIP壓縮檔。
電郵同時具備德文和英文,附件已變成ZIP壓縮檔。
病毒ZIP壓縮檔內的文件
病毒ZIP壓縮檔內的文件

當執行檔案,代碼會從遠端伺服器下載Locky勒索軟件並且執行。

 

全球受影響分佈
根據Kaspersky Security Network的報告,Locky攻擊全球114個國家,以下是受攻擊國家的頭10大。

國家             被攻擊用戶人數
法國                     469
德國                     340
印度                     267
美國                     224
南非                     182
意大利                  171
墨西哥                  159
巴西                     156
中國                     126
越南                     107

以上數字只包括作為木馬被毒被偵測的數字,並未包括早期被判定為可疑濫發郵件和惡意下載程式。

05
全球被Trojan-Ransom.Win32.Locky攻擊的用戶數

從上圖所見,病毒基本上正在攻擊全世界,至於主要的攻擊目標國家,可以在支付贖金網頁使用的語言推斷。

 

運作形式
Locky勒索軟件是一個執行檔案,大約100kb容量,以C++語文使用STL編寫,並以Microsoft Visual Studio編輯。執行檔案後,會把自己複制到%TEMP%\svchost.exe然後從副本中刪除Zone.Identifier,以確保檔案已經執行,Windows不會顯示提示已經從互聯網下載可疑檔案,然後木馬程式就會在%TEMP%中執行。

一經執行,木馬程式會檢查以下的登記檔內容:

路經                                                                                 種類                   數值
HKEY_CURRENT_USER\Software\Locky\id                        REG_SZ             Infection ID
HKEY_CURRENT_USER\Software\Locky\pubkey                REG_BINARY     Public RSA鍵(MSBLOB格式)
HKEY_CURRENT_USER\Software\Locky\paytext                REG_BINARY     向受害人以文字顯示
HKEY_CURRENT_USER\Software\Locky\completed            REG_DWORD     狀態(加密是否完成)

如果以上資料已經在登記檔中存在(木馬程式較早前已經執行,但因為某些原因而停止),Locky會讀取資料繼續進行感染過程。如果是首次執行,木馬程式將會進行以下動作:

1. 接觸C&C並報告感染
2. 從C&C取得RSA-2048鍵和感染ID,在登記檔中儲存。
3. 傳送受感染的操作的語言資料,取得罪犯勒索的文字通訊,然後儲存在登記檔。
4. 在本機硬盤中搜尋特定副檔名的檔案,然後加密。
5. 刪除檔案的陰影副本
6. 寄存器自動運作(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run)
7. 在網絡硬盤和共享資料夾中尋找特定副檔名的檔案,然後加密。
8. 顯示罪犯的勒索訊息
9. 決定繼續運行或把自己移除

辨別操作系統的語言
辨別操作系統的語言

 

檔案加密
Locky會搜尋特定副檔名檔案再進行加密,對於符合條件的檔案,會以AES-128 CTR模式進行加密,加密文件檔名會遵循「<16進制文字ID><隨機16進制文字>.locky」的機制命名。

目標加密副檔名的名單
目標加密副檔名的名單

 

勒索要求
對用戶的檔案完成加密後,木馬程式便會顯示罪犯的勒索要求,訊息中包含罪犯存放解密程式的位置資訊,當中的連結全部導向匿名網絡。訊息中罪犯會建議受害人,支付bitcoin以換取他們的檔案解密,更對支付bitcoin的方法提供支援。勒索訊息的內容和設計會隨時間改變,現時已經找到超過20種語言的版本。

從網頁的原碼可以看到支援的語言,有趣地,當中並沒有俄語及CIS國家的語言,似乎罪犯對於前蘇聯分裂出來的國家不感興趣。

早期的Locky勒索訊息畫面
早期的Locky勒索訊息畫面

 

與C&C通訊
木馬病毒的代碼中包含1至3組C&C的IP地址,而且是經由運算而產生,因應年、月和日而得出新的地址,結果每日可以產生6組不同的C&C地址。

經運算而取得Locky的C&C網域偽代碼
經運算而取得Locky的C&C網域偽代碼

 

Locky勒索軟件防禦對策
卡巴斯基實驗室的產品可以透過以下功能,抵抗Locky不同階段的攻擊

. Anti-spam模組偵測電郵散播的木馬程式
.下載器會被防毒軟件判定為Trojan-Downloader.MSWord.Agent、Trojan-Downloader.JS.Agent和HEUR:Trojan-Downloader.Script.Generic
. 執行木馬程式時會被判定為Trojan-Ransom.Win32.Locky
. Locky變種的行為會被System Watcher主動判定為PDM:Trojan.Win32.Generic

 

預防勝於治療
Locky異常活躍令各界都特別關注,其實它的行為與特性,與其他勒索軟件大致相同,如果各位想保護自己免受勒索軟件偷襲,可以留意以下事項:

. 不要打開來歷不明的電郵附件
. 定期備份檔案,並儲存在抽取式儲存裝置或雲端,不是放在電腦內。
. 定期更新防毒軟件資料厚、操作系統和其他已安裝的應用程式。
. 為不同用戶開設分開的網絡資料夾

想知道更多關於勒索軟件的防護資訊,可以瀏覽這裡