就像BleepingComputer首次報道中的情況一樣,僅在幾天前就有觀察員發現GandCrab v4.0新版本已經將目標對準了那些搜索破解版應用程序的用戶,攻擊者將惡意頁面注入到合法網站中,來誘導那些毫無防備的用戶下載GandCrab惡意軟件。
自GandCrab經歷重大更新以來,已經過去了兩個多月,雖然這個最新版本在代碼結構方面做出了一些改革,但它的主要用途基本上沒變,雖然作者刪除了它的一些較舊的功能,但大多數標準功能仍然存在,而且值得注意的是,勒索軟件部分在上一次大型更新中添加的更改壁紙功能現在已被移除。然而,GandCrab最大的變化主要還是從使用RSA-2048加密變成了以更快的Salsa20流密碼來加密數據,這也是之前的Petya勒索軟件使過的技術。此外,它還可以在加密受害者的文件之前連接到C2服務器,這也意味著它現在可以加密那些未連接到網絡的用戶。
注:感謝FortiGuard研究團隊主管David Maciejak對被入侵網站進行調查。
注:點此閱讀以前關于此主題的研究。
GandCrab V4.0的奴隸
據報道,惡意軟件通過使用WordPress的受感染網站進行分發,這種方法一點兒也不新鮮,因為WordPress是目前最流行的攻擊目標之一。事實上,對于這個最新版本,我們還發現在許多被感染的網站中都被注入了惡意網頁(其中一些如下圖所示)。
圖1.受感染網站中被注入的頁面
這些頁面會立即將用戶重定向到一個單獨的頁面,其中就包含GandCrab可執行文件的下載鏈接。有趣的是,當幾分鐘后再次訪問這些站點時,除非您更改了IP地址,否則不會再發生重定向。
圖2.下載GandCrab v4.0的頁面
我們的分析顯示可執行文件的惡意軟件和下載鏈接正在被定期更新。以下是我們在分析過程中觀察到的一些鏈接。它們遵循格式 http:///file_c.php=
http[:]//gabysutton[.]com/file_c.php?vubljfwmqpkebpes=437261636b5f53617070686972655f506c7567696e735f666f725f4
1667465725f456666656374732e657865 (Crack_Sapphire_Plugins_for_After_Effects.exe)
http[:]//gagaryn[.]com/file_c.php?lkgpsudyvbjs=437261636b5f4d657267696e675f496d6167655f746f5f5044462e657865 (Crack_Merging_Image_to_PDF.exe)
http[:]//blog.ygtecnopc[.]com/file_c.php?rnopbuvnxdmk=437261636b5f4d657267696e675f496d6167655f746f5f5044462e657865 (Crack_Merging_Image_to_PDF.exe)
嘲諷與俄語的僥幸逃脫
正如我們預期的那樣,GandCrab是直接執行的,沒有進行反分析或者沉重的混淆。
代碼中發現被混入了發給惡意軟件研究人員經典的消息字符串,暗示著這個新版本仍出自同一個開發者之手。Salsa20密碼和Zerophagel337的開發者,同時也是惡意軟件研究員的Daniel J. Bernstein,也進入了的不斷增長的嘲諷名單,新舊debug字符串也很難錯過。
圖3.從解壓縮的二進制文件中的嘲諷字符串
正如之前的版本一樣,如果目標系統來自于主要說俄語的國家,它就不對其進行感染。除了進行俄語鍵盤布局的檢查外,這個最新版本還為以下俄語國家添加了用戶界面語言檢查:
·俄語(0x419)
·烏克蘭語(0x422)
·白俄羅斯語(0x423)
·塔吉克語(0x428)
·亞美尼亞語(0x42B)
·阿塞拜疆語(0x42C / 0x82C)
·格魯吉亞語(0x437)
·哈薩克斯坦語(0x43F)
·吉爾吉斯斯坦語(0x440)
·土庫曼語(0x442)
·烏茲別克斯坦語(0x843)
·塔塔爾語(0x444)
·羅馬尼亞語(0x818)
·摩爾多瓦語(0x819)
如果用戶的Common AppData目錄(例如C: ProgramData)中存在文件 .lock(例如2078FBF8.lock)也會使惡意軟件終止而不會感染系統。文件名的8hex-chars部分是在向右移動后從根驅動器的卷序列號值生成的。
圖4.檢查是否存在 .lock的片段
Salsa20和共享網絡加密
被加密的文件現在被添加了“.KRAB”擴展名,而被放到每個目錄中的贖金提示文本也被更改為了“KRAB-DECRYPT.txt”
圖5.添加了.KRAB擴展名的被加密文件
系統中的所有驅動器(包括映射驅動器)都會被惡意軟件加密,而且這一次為了擴大其侵害范圍,它還加密了受害者機器保存的共享網絡。
圖6.加密共享網絡的例程
如上所述,這個新版本現在使用Salsa20流密碼來加密文件,而不再是用于不同任務的RSA-2048加密。同樣需要注意的是,在以前的版本中,此惡意軟件在進行文件加密之前可能需要連接到其C2服務器,而這個新版本中不需要,這就意味著即使目標設備未連接到網絡,也可以對其進行文件加密。
RSA-2048私鑰和Salsa參數的加密過程如下:
·生成RSA-2048私鑰和公鑰
·由Salsa20的密鑰分別隨機生成一個32字節和一個8字節值
·使用Salsa20加密生成的RSA-2048私鑰
·使用先前生成的RSA-2048公鑰對Salsa20密鑰和隨機數進行加密
被加密的密鑰存儲為二進制塊,寫入注冊表HKCUSoftwarekeys_datadataprivate中。
而原始RSA公鑰被存儲在HKCUSoftwarekeys_datadatapublic下。
圖7.添加到注冊表中的被加密的密鑰
在文件加密進程運行期間執行一個類似的進程,生成一對隨機的32字節和8字節值,分別由Salsa20用作關鍵字和隨機數參數,這是為了每個要加密的文件完成的。正如我們預期的那樣,這些密鑰立即被RSA-2048公鑰加密,該公鑰連同其原始文件尺寸被附加在加密文件內容的末尾。
圖8.GandCrab V4.0加密文件的結構
贖金提示文本和支付頁面
結合上新的加密程序,贖金提示也發生了一些變化。現在,作為惡意軟件受害者的通知和指示的贖金提示還包含了我們之前討論的加密密鑰(以base64編碼)和受害者的基本信息,該信息在進行base64編碼之前先通過硬編碼密鑰“jopochlen”的RC4算法加密。
圖9.Ransom note包括了加密密鑰和受害者數據
而GandCrab支付頁面并沒有太大變化。作為保證,他們仍然為受害者提供一次單個文件的免費解密。但是,在我們的測試中,它實際上并不能解密我們上傳的加密文件。但無論測試的結果如何,仍然強烈建議受害者拒絕支付贖金。
圖10.支付頁面在幾天后要求1000美元
圖11.GandCrab支付網站的免費解密會導致一個錯誤
總結
盡管在過去兩個月內攻擊者對此新版本的GandCrab進行了大量內部更改,但它仍然是同一個活躍的文件加密惡意軟件,對其設法感染的系統仍可能造成嚴重損害。即便如此,這也是良好的網絡衛生可以緩解的問題。在這種情況下,我們建議用戶始終對從網絡下載的文件保持警惕,尤其是破解版的應用程序,這些不僅違反了版權法,而且還會帶來很大的風險,特別是對于未經培訓過的用戶。
目前,惡意軟件正被分發給受感染的網站,我們預計它將轉移到其他分發模式,特別是像過去一樣的垃圾郵件活動。
我們沒有找到與此版本的任何網絡通信。但是,在撰寫更新版本時,GandCrab v4.1在v4.0發布后僅僅一兩天就發布了。根據我們的簡要分析,這個新版本現在包含了一些網絡通信功能。我們將發表一篇討論這一更新的文章。
與往常一樣,FortiGuard Labs將繼續監控此惡意軟件以進行更新。
解決方案
目前,在系統的COMMON APPDATA文件夾中創建 .lock文件可以防止此惡意軟件感染系統。但是,這不應被視為一個永久性解決方案,因為攻擊參與者可以輕松刪除檢查過程,尤其是對于像GandCrab這樣的主動更新的惡意軟件。
Fortinet客戶受以下保護:
·通過啟發式檢測工具W32/GandCrypt.CHT!tr檢測樣本
·我們觀察到的受感染網站已被FortiGuard Web過濾歸類為惡意網站
·FortiSandbox將GandCrab評為高風險
IoCs
6c1ed5eb1267d95d8a0dc8e1975923ebefd809c2027427b4ead867fb72703f82 (packed) –
W32/GandCrypt.CHT!tr
15d70bdbf54b87440869a3713710be873e595b7e93c0559428c606c8eec1f609 (unpacked) –
W32/GandCrypt.CHT!tr