前一陣,勒索軟件呈爆發趨勢,並出現了針對中國的中文版本,有領導收到了帶有惡意js附件的郵件,讓我給分析下。js只是個下載器,實際會下載真正有惡意功能的pe文件實體。
經過一天的折騰,脫殼調試。單步跟蹤運行,搞定給領導。特記錄一下。
本次分析基於JS病毒樣本(MD5:D00BE69072CF8A4549C692C7 88F58360)進行,JS調試環境為Visual Studio2012,相應的二進制PE文件(MD5:C4046F76C9518C5A45A8C555A87372F5)調試環境為 WinXP+IDA+Ollydbg。
分析方法為動態分析和靜態分析。分別為:1,通過VS2012單步調試JS代碼執行流程;2,靜態分析+動態分析PE病毒文件。
1. JS代碼分析
在CMD命令行窗口執行WScript.exe /x 34328_34328.js,可調出VS2012實時調試器進行動態調試跟蹤。
圖2-1 VS2012調試模式打開js樣本
2 JS代碼動態跟蹤過程
2.1 通過CreateObject獲取shell
如下圖2-2所示,js代碼通過CreateObject.WScript.shell獲取shell,從而可以執行系統命令,進行相關的操作。
圖2-2 CreateObject獲取shell
如圖2-3所示,所獲取的shell對象具備執行命令的功能,如Exec()、run()等
圖2-3 shell對象所具備的功能方法
2.2 判斷當前系統環境,拼接參數
如下圖2-4所示,代碼判斷當前系統環境是否為Windows,利用JS代碼注釋對相關變量參數進行拼接。得到局部變量如圖2-5所示。
圖2-4 判斷當前環境,拼接參數
圖2-5 局部變量顯示已拼接好的參數
2.3 構造XMLHTTP請求下載PE惡意文件
通過構造XMLHTTP請求到固定地址(http://caston.com.sg/b7rtye)下載PE惡意文件,下載文件內容在請求對象的responseBody中。如圖2-6和2-7所示
圖2-6 指定地址下載PE文件
圖2-7 所下載內容在responseBody中
2.4 保存所下載PE惡意文件
XMLHTTP請求結束后,通過readystate判斷該請求結果狀態是否完成,如果完成,則調用ADODB.Stream對象寫入所下載的文件。如圖2-8所示。
圖2-8 判斷請求狀態,並寫入文件
如下圖2-9所示,程序將所下載文件存入用戶文檔目錄下的C:\Documents and Settings\a\Local Settings\Temp\***.exe文件。
圖2-9 存儲文件當前路徑
2.5 執行所下載的PE惡意文件
如下圖2-10、2-11、2-12所示,JS代碼調用shell對象中的run方法,來將所下載的PE惡意文件運行起來。
圖2-10 調用run方法執行所下載文件
圖2-11 調用run方法執行所下載文件
圖2-12 調用run方法執行所下載文件
圖2-13 所執行的PE文件
3 PE惡意代碼分析
該PE文件為惡意程序,並采用了加密殼,執行后,會搜索受害終端所有文檔文件,並采用RSA結合AES算法進行加密,另存為*.locky文件,以html頁面和桌面圖片的方式提示受害者訪問指定網站進行敲詐活動。
3.1 修改注冊表開機自啟動運行
該樣本首先修改注冊表,以便下次開機啟動運行。
圖2-14 所執行的PE文件
3.2 判斷當前操作系統環境
隨后判斷操作系統環境,根據操作系統環境和語言版本,設置不同的參數。
圖2-15 檢查操作系統環境
3.3 讀取磁盤,並進行文件遍歷
程序讀取當前磁盤,並對磁盤文件進行遍歷。
圖2-16 獲取磁盤
圖2-17 獲取磁盤空余空間大小
圖2-18 遍歷磁盤文件
圖2-19 遍歷磁盤文件
3.4 聯網獲取密鑰
偽造Mozilla瀏覽器訪問指定服務器,獲取密鑰文件。
圖2-20 構造HTTP請求獲取密鑰
圖2-21 構造HTTP請求獲取密鑰
圖2-22 導入密鑰
3.5 調用加密程序對文件加密
調用ADVAPI32接口進行文件加密操作,並將原文件加密后重命名為.locky結尾的密文文件。
圖2-23 生產哈希值
圖2-24 准備加密上下文
圖2-25 執行加密操作
圖2-26 寫入加密后的文件內容
圖2-27 將加密后的文件重命名,以.locky結尾
3.6生成HTML和bmp文件,修改桌面背景提示受害者
圖2-28 修改桌面背景注冊表
圖2-29 聲稱html文件和bmp文件
圖2-30 html文件和bmp文件內容
4.分析總結
經分析,JS樣本功能是下載具有惡意功能的PE文件(文件名:qZkHEEIoa7m.exe)並執行;
所下載的PE文件(qZkHEEIoa7m.exe) 會搜索受害終端所有文檔文件,並采用RSA-2048結合AES-128算法進行加密,另存為*.locky文件,以html頁面和桌面圖片的方式提示受害者訪問指定網站進行敲詐活動;
不同的JS樣本只是其下載PE惡意文件的URL地址不同,其他內容完全一樣。