作者:
SwordLea
·
2016/02/22 13:52
0x00 概述
安天安全研究與應急處理中心(安天CERT)發現一款新的勒索軟體家族,名為“Locky”,它透過RSA-2048和AES-128演算法對100多種檔案型別進行加密,同時在每個存在加密檔案的目錄下釋放一個名為_Locky_recover_instructions.txt的勒索提示檔案。經過安天CERT研究人員分析發現,這是一類利用垃圾郵件進行傳播的勒索軟體,是首例具有中文提示的比特幣勒索軟體。
0x01 樣本分析
1.1 樣本標籤
|
|
病毒名稱
|
Trojan/Win32.Locky.a
|
原始檔名
|
ladybi.exe
|
MD5
|
FB6CA1CD232151D667F6CD2484FEE8C8
|
處理器架構
|
X86-32
|
檔案大小
|
180 KB (184,320 位元組)
|
檔案格式
|
BinExecute/Microsoft.EXE[:X86]
|
時間戳
|
42B63E17->2005-06-20 11:55:03
|
數字簽名
|
NO
|
加殼型別
|
無
|
編譯語言
|
Microsoft Visual C++ 6.0
|
VT首次上傳時間
|
2016-02-16 10:53:39
|
VT檢測結果
|
41/55
|
1.2 樣本功能
該勒索軟體“Locky”使用綁架使用者資料的方法對使用者進行敲詐勒索。它透過RSA-2048和AES-128演算法對100多種檔案型別進行加密,同時在每個存在加密檔案的目錄下釋放一個名為_Locky_recover_instructions.txt的勒索提示檔案。
“Locky”樣本的本地行為:複製自身到系統臨時目錄%Temp%下,並重新命名為svchost;對系統中的檔案進行遍歷,判斷檔案字尾名是否在樣本內建的列表中,若存在,則對樣本進行加密操作;在多個資料夾中建立提示檔案_Locky_recover_instructions.txt;在桌面上建立檔案_Locky_recover_instructions.bmp;並將該檔案設定為桌面背景,提示使用者如何操作可以成功恢復被加密的檔案;新增相關注冊表鍵值;刪除系統還原快照。
複製自身到%Temp%目錄下名為svchost.exe,並新增啟動項。
加密上百種檔案型別如下:
.m4u .m3u .mid .wma .flv .3g2 .mkv .3gp .mp4 .mov .avi .asf .mpeg .vob .mpg .wmv .fla .swf .wav .mp3 .qcow2 .vdi .vmdk .vmx .gpg .aes .ARC .PAQ .tar.bz2 .tbk .bak .tar .tgz .gz .7z .rar .zip .djv .djvu .svg .bmp .png .gif .raw .cgm .jpeg .jpg .tif .tiff .NEF .psd .cmd .bat .sh .class .jar .java .rb .asp .cs .brd .sch .dch .dip .pl .vbs .vb .js .asm .pas .cpp .php .ldf .mdf .ibd .MYI .MYD .frm .odb .dbf .db .mdb .sql .SQLITEDB .SQLITE3 .asc .lay6 .lay .ms11 .sldm .sldx .ppsm .ppsx .ppam .docb .mml .sxm .otg .odg .uop .potx .potm .pptx .pptm .std .sxd .pot .pps .sti .sxi .otp .odp .wb2 .123 .wks .wk1 .xltx .xltm .xlsx .xlsm .xlsb .slk .xlw .xlt .xlm .xlc .dif .stc .sxc .ots .ods .hwp .602 .dotm .dotx .docm .docx .DOT .3dm .max .3ds .xml .txt .CSV .uot .RTF .pdf .XLS .PPT .stw .sxw .ott .odt .DOC .pem .p12 .csr .crt .key
對路徑和檔名中包含下列字串的檔案不進行加密:
tmp, Application Data, AppData, Program Files (x86), Program Files, temp, thumbs.db, $Recycle.Bin, System Volume Information, Boot, Windows
“Locky”新增的登錄檔項:
#!bash
HKCU\Software\Locky
HKCU\Software\Locky\id
HKCU\Software\Locky\pubkey
HKCU\Software\Locky\paytext
HKCU\Software\Locky\completed
HKCU\Control Panel\Desktop\Wallpaper "%UserProfile%\Desktop\_Locky_recover_instructions.bmp"
刪除系統還原快照
透過呼叫vssadmin.exe Delete Shadows /All /Quiet
刪除全盤所有卷影副本,使受害系統不能夠透過卷影副本進行系統還原。
網路行為:
- 向C&C伺服器傳送被感染機器的部分資訊。
- 從C&C伺服器下載RSA公鑰,為後面的加密做準備。
- 上傳將被加密的檔案列表。
- 根據系統語言從伺服器獲取對應的提示資訊。
1.3 相關技術
1.3.1 域名生成演算法
“Locky”樣本會首先使用函式rdtsc獲取處理器時間,將該值與某變數進行求餘運算,透過對該值的判斷來決定樣本是訪問使用演算法生成的域名,還是直接訪問樣本中的硬編碼IP地址。這樣可以使樣本具有一定的隨機性。
圖1 域名生成演算法
域名在生成的時候,需要使用一個隨機數,該隨機數的計算是根據被感染機器的年月日進行的。
圖2 隨機值計算
1.3.2 C&C伺服器
受害主機與伺服器是使用HTTP Post請求進行互動。受害主機訪問C&C伺服器上的main.php,引數有以下幾個:
引數 |
含義 |
id |
隨機生成的編號 |
act |
C&C控制命令 |
affid |
會員ID |
lang |
計算機所使用的語言 |
corp |
未知 |
serv |
未知 |
os |
作業系統 |
sp |
補丁包 |
x64 |
是否為64位系統 |
受害主機所有發出的請求都使用樣本中硬編碼的key進行加密操作,加密後傳送到C&C伺服器。從伺服器中接收的資料包同樣使用特定的加密方法加密,接收到加密資料後,“Locky”會首先進行解密操作。
加密的資料包部分內容:
圖3 資料包內容
資料包傳送時加密的演算法:
圖4 加密演算法
接收到資料時,樣本的解密演算法:
圖5 解密演算法
1.3.3 控制命令
目前所知道的控制命令有四種,分別為:stats、getkey、report、gettext。
命令 |
功能 |
stats |
傳送一些基本資訊,如:已成功加密的檔案個數、加密失敗的檔案個數、長度。 |
getkey |
從伺服器上下載加密時使用的RSA的公鑰。 |
report |
向伺服器傳送加密的檔案列表。 |
gettext |
獲取提示使用者如何解密的資訊,C&C伺服器會根據回傳的計算機所使用的語言來返回對應的語言提示資訊,如:回傳zh會返回漢語、回傳en會返回英語。 |
中文的提示資訊如下:
圖6 提示內容
0x02 總結
透過安天CERT目前的分析來看,勒索軟體“Locky”的功能與之前分析的勒索軟體的功能基本一致。勒索軟體能給攻擊者帶來巨大的收益,因其使用比特幣進行交易,所以很難追蹤;一旦使用者感染了勒索軟體,只能付費進行解密或是丟棄這些檔案。安天CERT提示廣大使用者,即使支付贖金也不一定能保證可以完全恢復被加密的檔案。防止資料被加密,更應該注意勒索軟體的防禦,養成良好的上網使用習慣,不要輕易執行來歷不明的檔案。
“Locky”和其他勒索軟體的目的一致,都是加密使用者資料並向使用者勒索金錢。與其他勒索軟體不同的是,它是首例具有中文提示的比特幣勒索軟體,這預示著勒索軟體作者針對的目標範圍逐漸擴大,勒索軟體將發展出更多的本地化版本。
安天CERT預測,今後中國將受到更多類似的勒索軟體攻擊。所以,如何防禦勒索便成為保衛網路安全的重要任務之一。
0x03 附錄
一、參考資料
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!