背景概述
近日,深信服安全團隊捕獲到一款使用Go語言編寫的勒索病毒。此次捕獲的樣本有勒索及後門兩個功能,並且能指定目錄和檔案進行加密。其加密模組改寫於開源的加密專案程式碼,並將加密模組重新命名為awesomeProject_word,因此深信服終端安全團隊將其命名為Awesome勒索病毒。
Go語言作為一門非常年輕的語言,簡單易上手、支援多平臺讓其受到攻擊者青睞。編譯時全靜態連結和獨特的棧管理方式大大增加了安全人員研究分析和檢測難度使用Go語言開發的惡意樣本大都集中於後門、挖礦兩大類,勒索病毒相當的罕見。
上一次發現的Go語言勒索病毒,是19年年初由好事者在Github上釋出的勒索病毒原始碼改編而來。即便釋出者聲稱是為了研究勒索病毒原理,但攻擊者顯然不這麼認為,簡單改寫就用於勒索活動。
技術分析
該勒索病毒使用UPX3.96加殼,Go版本為1.13,符號檔案已被刪除。
執行介面顯示該病毒可以指定目錄檔案進行加密或刪除;
修復符號表可以確認為一款使用GO1.13編寫的新勒索+後門病毒;
一、加密模組
解析輸入引數argument代表加密目錄和正則匹配模式,需要注意的是,在golang中,函式呼叫中結構體每個引數都入棧,而不是C/C++中以指標形式入棧。
如String型別在golang中以(Address, Length)結構體形式出現,導致IDA以_cdecl的方式解析成多個輸入變數。
正則匹配加密指定檔案:
執行加密函式main_Execute;
加密模組呼叫的awesomeProject_world包,發現其改寫於開源GO專案SIO。
*SIO專案實現DARE2.0,用於確認金鑰是否正確,密文是否被篡改等。支援AES-256 GCM以及Chacha20-Poly1305兩種加密模式。
攻擊者重寫了金鑰生成部分:
(1)使用base64硬編碼金鑰,解密後生成256位金鑰A;
(2)使用CryptGenrandom生成256位鹽B;
(3)使用硬編碼金鑰A和鹽B進行金鑰派生,生成最終加密256位金鑰C,
向檔案頭中寫入金鑰C後,再進行加密;
原始碼中Config資料結構如下圖:
根據棧上引數得到加密Version為20,CipherSuite為1(AES-256-GCM),Key為金鑰C;
加密完成後,重寫原檔案在刪除,防止資料恢復軟體恢復;
檔案重寫為勒索提示資訊(左),加密後檔案(右)。
二、後門模組
開啟本機49500埠進行監聽,迴圈接受遠端控制指令;
等待C2傳送指令執行;
深信服安全產品解決方案
1. 1深信服為廣大使用者免費提供查殺工具,可下載如下工具,進行檢測查殺。
64位系統下載連結:
http://edr.sangfor.com.cn/tool/SfabAntiBot_X64.7z
32位系統下載連結:
http://edr.sangfor.com.cn/tool/SfabAntiBot_X86.7z
2. 深信服安全感知平臺、下一代防火牆、EDR使用者,建議及時升級最新版本,並接入安全雲腦,使用雲查服務以及時檢測防禦新威脅:
3. 深信服安全產品整合深信服SAVE人工智慧檢測引擎,擁有強大的泛化能力,精準防禦未知病毒;
4. 深信服推出安全運營服務,通過以“人機共智”的服務模式幫助使用者快速提高安全能力;針對此類威脅,安全運營服務提供安全裝置策略檢查、安全威脅檢查、相關漏洞檢查等服務,確保第一時間檢測風險以及更新策略,防範此類威脅。
基礎加固
深信服安全團隊再次提醒廣大使用者,勒索病毒以防為主,目前大部分勒索病毒加密後的檔案都無法解密,注意日常防範措施:
1、及時給系統和應用打補丁,修復常見高危漏洞;
2、對重要的資料檔案定期進行非本地備份;
3、不要點選來源不明的郵件附件,不從不明網站下載軟體;
4、儘量關閉不必要的檔案共享許可權;
5、更改主機賬戶和資料庫密碼,設定強密碼,避免使用統一的密碼,因為統一的密碼會導致一臺被攻破,多臺遭殃;
6、如果業務上無需使用RDP的,建議關閉RDP功能,並儘量不要對外網對映RDP埠和資料庫埠。
諮詢與服務
您可以通過以下方式聯絡我們,獲取關於該勒索的免費諮詢及支援服務:
1、撥打電話400-630-6430轉6號線(已開通勒索軟體專線)
2、關注【深信服技術服務】微信公眾號,選擇“智慧服務”選單,進行諮詢
3、PC端訪問深信服社群 bbs.sangfor.com.cn,選擇右側智慧客服,進行諮詢