LockerGoga勒索軟體家族分析
本文介紹McAfee ATR團隊安全研究人員對多個LockerGoga不同樣本的分析,描述勒索軟體工作的原理以及如何應對。
研究人員發現勒索軟體家族LockerGoga加入了新的特徵來加密受害者文件,並要求受害者支付贖金才可以解密。
技術分析
LockerGoga是一款非常特別的勒索軟體,研究人員分析發現與其他勒索軟體家族相比,它有一些獨特的函數和功能。
研究人員分析LockerGoga不同樣本發現,LockerGoga與其他勒索軟體家族的不同包括產生多個不同的進程來加速系統中的文件加密過程:
與其他惡意軟體類似,LockerGoga使用了系統中所有可用的CPU資源,分析機器中的CPU使用如下所示:
大多數LockerGoga樣本都以相同的方式工作,但研究人員也發現惡意樣本在開發生命周期內會增加和溢出特定類型的功能。
首先,勒索軟體需要以特權賬戶運行。
LockerGoga以主從(master/slave)配置工作。惡意軟體通過在%TEMP%文件夾安裝自己的副本開啟終端感染模式。
複製完成後,會用-m參數開始一個新的進程。
Master進程以-m參數運行,負責創建要加密的文件列表和創建slave。
Slave進程會以不同的參數來執行。每個slave進程只加密很少一部分文件,以防被終端安全產品發現。要加密的文件列表是通過IPC從master進程處獲取的。通信過程是使用名為SM-的映射section通過IPC完成的。
LockerGoga使用的IPC技術有:
·Master進程 (以-m運行)在系統上為IPC創建一個section
·Section名為SM-tgytutrc
·master 進程將要加密的文件路徑複製到section 「SM-tgytutrc」
·slave進程用該section來獲取文件路徑並加密目標文件
Master進程的沙箱複製如下所示:
·創建section並命名
·在終端上創建slave進程來加密目標文件
Slave進程(加密進程)的沙箱複製如下所示:
·獲取master進程創建的section的訪問
·根據section中的文件路徑找到對應的文件並加密
勒索軟體會在終端上創建多個slave進程來加密文件。研究人員這是為了加速加密的過程,但研究人員認為加速加密的過程可以通過多線程方法實現而並非要要多進程方法。
研究人員猜測可能的原因有:
·減少攻擊痕迹:如果每個加密進程都只加密終端上的一部分文件,那麼整個攻擊活動在終端上留下的痕迹就會比較少,而且很難將多個加密進程相關聯到同一個威脅中。
·沙箱繞過。一些基於沙箱的檢測系統會監控寫入系統的文件的閾值,並將其與相關的文件擴展關聯在一起。比如,一個進程讀取沙箱中的200個文件,但只創建同一個特定的擴展,就會被認為是異常行為。LockerGoga可能也是為了繞過這樣的檢測技術。
·基於文件I/O的檢測繞過。多進程的方法可以確保每個加密進程的文件 I/O的數量在一個特定的範圍內,這樣就可以繞過基於文件I/O的檢測技術。
·可靠性。即使加密進程被終端用戶中止,master進程仍然在運行,新的slave進程會繼續加密文件的過程。如果勒索軟體進程不使用多進程方法,進程中止就會導致整個加密過程的結束。
Username Administrator:
Username Tinba:
惡意軟體作者使用一個日誌函數,啟用後可以在樣本執行中使用參數-l來保存所有結果到log.txt文件中:
在執行過程中,研究人員啟用了log函數,看到了勒索軟體加密系統的整個過程,包括高CPU使用率和打開勒索新。下圖是受感染系統的界面:
這看起來更像是開發者使用的調試函數:
在log函數的幫助下,研究人員也更加了解勒索軟體的工作原理,並建立了LockerGoga加密系統的順序:
1.在C盤上創建log文件
2.文件夾和文件枚舉
3.進行文件加密和在桌面文件夾創建勒索信
在進行文件加密前,惡意軟體會在垃圾箱中首先搜索文件。研究人員尚不清楚這一步驟的目的,但勒索軟體也可能會加密用戶本來都不需要的文件:
LockerGoga會枚舉系統中的所有文件夾和文件開始加密過程。這個枚舉過程是並行的,所以並不會花費太多時間。
枚舉完成後,勒索軟體會在受害者創建勒索信:
勒索信也是與加密文件並行創建的,並且硬編碼在樣本中:
與其他勒索軟體類似,LockerGoga會創建勒索信文件來要求用戶支付贖金以恢復加密的文件。
勒索信的內容示例如下:
與創建勒索信息並行,LockerGoga會將加密的文件加上.locked擴展。該擴展也被其他勒索軟體廣泛使用:
LockerGoga將代碼嵌入文件擴展中,示例如下:
樣本也配置了加密過程要跳過的文件夾和位置以防破壞操作系統的運行。勒索軟體加密的所有文件都有一個FileMarker:
FileMarker表明勒索軟體的版本應該是最新的1440.
研究人員在分析過程中還發現了以下版本:
·1200
·1510
·1440
·1320
基於二進位編譯的時間和提取的版本,研究人員認為攻擊者為不同的目標或活動創建了不同的LockerGoga版本:
加密完成後,LockerGoga會執行cipher.exe來移除空閑位置以防文件恢復。當文件都被刪除後,有時候還會殘留在硬碟的空閑區域,理論上是可以恢復的。
數字簽名的樣本:
研究人員分析發現一些LockerGoga樣本的簽名是合法的。使用的數字簽名有:
·MIKL LIMITED
·ALISA LTD
·KITTY』S LTD
使用合法的數字簽名可以幫助攻擊者繞過一些系統中的安全保護。
作為感染過程的一部分, LockerGoga會在系統中船艦如下格式的MUTEX:
MX-[a-z]w
研究人員發現的mutex有:
MX-imtvknqq
MX-tgytutrc
MX-zzbdrimp
其他字元串
研究人員在分析過程中還從LockerGoga樣本中提取出一些其他的字元串,包括:
LockerGoga
crypto-locker
goga
惡意軟體開發者可能忘記從樣本中移除這些字元串了,研究人員可以利用這些字元串來識別惡意軟體家族和開發過程中使用的框架。
傳播方法
惡意軟體是通過遠程文件拷貝在本地網路上傳播的。使用簡單拷貝就可以複製.batch文件到遠程機器的TEMP目錄:
copy xax.bat \123.123.123.123c$windows emp
惡意軟體會複製自己和工具PSEXEC.EXE到相同的位置。所有文件都複製後,惡意軟體會使用一下名來運行.bat文件:
start psexec.exe \123.123.123.123 -u domainuser -p 「pass」 -d -h -r mstdc -s accepteula -nobanner c:windows empxax.bat
這些.bat文件中每個都含有要在遠程機器上執行的惡意軟體的命令行。使用的命令如下:
start wmic /node:」123.123.123.123″ /user:」domainuser」 /password:」pass」 process call create 「cmd /c c:windows empkill.bat」
Batch文件還會嘗試kill到相關的殺毒軟體或禁用安全工具。在腳本的最後,遠程機器上的惡意軟體拷貝會從c:windows emp askhost.exe執行。
由於batch文件的存在,以及惡意軟體沒有直接引用,研究人員相信傳播機制是攻擊者手動或從未知目錄中執行的。腳本中硬編碼的路徑、用戶名和密碼都表明攻擊者對該環境是熟悉的。
下面是惡意軟體禁用的進程和服務列表:
研究人員在LockerGoga執行的受感染的系統中發現的batch文件會停止與系統關鍵服務和安全軟體相關的服務和進程:
總結
研究人員在分析過程中發現了LockerGoga的許多從未出現的新特徵,比如並行加密系統中的文件、使用log文件進行調試等等。研究人員沒有發現傳播LockerGoga的相關方法,因此研究人員認為攻擊者可能是在獲取系統訪問許可權後進行傳播的。截止目前,所有的樣本都沒有加入複雜的防保護和反分析方法。而且LockerGoga還會加密一部分合法的DLL,破壞系統中特定應用的功能,還會再加密過程中加密自己,導致無法進行運行:


※IoT 0 day漏洞啟示
※利用LeechAgent對遠程物理內存進行取證分析
TAG:嘶吼RoarTalk |