<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    一步一步分析勒索軟件Darkside(上)

    007bug2021-07-14 12:00:00

    摘要

    勒索軟件Darkside是在Colonial Pipeline攻擊活動中使用的一個惡意軟件家族,于2021年5月7日被曝光,詳情可參考https://www.zdnet.com/article/darkside-the-ransomware-group-responsible-for-colonial-pipeline-cyberattack-explained/。該二進制文件包含一個經過加密的配置,它需要使用自定義算法進行解密;另外,該配置含有一個22字節的緩沖區,用于描述該惡意軟件執行的不同操作。這些操作包括:檢查系統語言并避免加密俄語機器,刪除卷影副本,清空回收站,忽略特定文件、目錄和文件擴展名,殺死特定進程,刪除特定服務等。該勒索軟件可以使用CMSTPLUA COM接口進行權限升級,并通過將自己安裝為服務來實現持久性。另外,被挾持的文件是使用自定義的Salsa20算法實現進行加密的,其中Salsa20矩陣則是由硬編碼在二進制代碼中的RSA公鑰進行加密的。Darkside使用帶有I/O完成端口的多線程技術,在主線程和負責文件加密的工作線程之間進行通信。值得一提的是,該進程使用RDRAND和RDSEED指令生成隨機的Salsa20矩陣,而早期版本則使用RtlRandomEx函數完成該任務。

    技術分析

    SHA256: 0A0C225F0E5EE941A79F2B7701F1285E4975A2859EB4D025D96D9E366E81ABB9

    該惡意軟件帶有一個加密的配置,并且它必須通過自定義算法進行解密。

    其中,自定義解密算法由4次減去0x10101010的減法運算和一些加法運算組成,具體如下圖所示:

    對于要加載的每個DLL,都用一個哈希函數計算DLL名稱的哈希值,并將長度為4字節的計算結果與硬編碼的值進行比較:

    例如,下列值對應于kernel32.dll:

    預計將加載以下DLL:ntdll、kernel32、Advapi32、user32、gdi32、ole32、oleaut32、shell32、shlwapi、WinInet、netapi32、wtsapi32、activeds、userenv、mpr、rstrtmgr。該進程根據使用相同算法計算得到的相近哈希值檢索多個導出函數的地址。

    解密后的配置如下圖所示,它由RSA-1024指數(0x010001=65537)、0x80字節的RSA-1024模數、受害者UID、22個配置字節(將進一步詳述)和aPLib壓縮配置組成:

     該二進制文件使用aPLib-解壓算法來解密不同的字符串。下圖展示的是在加密過程中要避免加密的目錄:

     以下文件將被勒索軟件忽略:

    如果文件的擴展名屬于以下列表,那么就不對該文件進行加密:

    該二進制文件將會刪除名稱中包含“backup”一詞的文件夾:

    利用該惡意軟件未使用的一個特性,能夠將以下字符串解壓為其他字符串(我們的猜測是,攻擊者試圖殺死與SQL相關的進程,以加密數據庫)。

    以下進程將不會被該軟件終止:

    如果一個進程名稱包含以下字符串,它將被殺死:

    此外,還有一個要中止和刪除的服務列表,具體如下圖所示:

    C2服務器的列表也是用同樣的算法得到的:

    該進程將顯示一條消息,該消息將用于設置自定義壁紙,該壁紙包含針對受害者的重要指示:

    贖金通知的內容也被寫入進程內存中,如圖所示:

    下表描述了惡意軟件根據上面解密的配置所要采取的操作:

    該惡意軟件使用NtQueryInstallUILanguage和NtQueryDefaultUILanguage API來確定系統的語言,并將結果與0x419(俄語標識符)進行比較。如果這兩個值匹配,則惡意軟件退出:

    該惡意軟件還會調用RegCreateKeyExW函數,該函數用于創建(如果已經存在,則打開)“Software\Microsoft\Cryptography”注冊表項,如下所示: 

    之后,惡意軟件從上述注冊表項中提取“MachineGuid”值,如下圖所示:

    該進程實現了一個自定義的哈希算法,生成8個小寫的十六進制字符,(“MachineGuid”值是輸入,該算法會應用8次): 

    上面計算出的值(我們稱它為RansomPseudoValue)將被用于以下結構:

    ?服務名稱:< RansomPseudoValue >

    ?服務顯示名稱:< RansomPseudoValue >

    ?贖金說明:README< RansomPseudoValue >.TXT

    ?壁紙:%PROGRAMDATA%\< RansomPseudoValue >.bmp

    ?每個加密文件將具有以下名稱:< Original filename >< RansomPseudoValue >

    ?圖標文件:%PROGRAMDATA%\< RansomPseudoValue >.ico

    ?已創建注冊表項:HKCR\< RansomPseudoValue >\DefaultIcon=%PROGRAMDATA%\< RansomPseudoValue >.ico

    該二進制程序使用SHTestTokenMembership API來驗證用戶是否屬于Administrators組(0x220=544)。 

    我們將根據用戶的權限把分析過程分成3個不同的部分:低級權限、管理權限和SYSTEM權限。

    低級權限

    該惡意軟件試圖使用CMSTPLUA COM接口繞過UAC,詳見如https://gist.github.com/api0cradle/d4aaef39db0d845627d819b2b6b30512。實際上,它是利用ZwOpenProcessToken來打開與進程相關的訪問令牌的: 

    NtQueryInformationToken函數被用來獲取與令牌相關的組賬戶(0x2 = TokenGroups),它檢查在TOKEN_GROUPS結構體中是否能找到管理員組: 

    為了在當前線程上初始化COM庫,需要調用CoInitialize例程,如圖所示: 

    到目前為止,這個二進制文件使用了很多低級別的API(來自ntdll)。比如,它使用ZwAllocateVirtualMemory API(0x3000 = MEM_COMMIT | MEM_RESERVE,0x4 = PAGE_READWRITE)分配了一個新的內存區域:

    同時,我們還發現它調用了一個未公開的API函數,即LdrEnumerateLoadedModules: 

    同時,它還通過名為Elevation:Administrator!new:{3E5FC7F9-9A51-4367-9063-A120244FBEC7}的對象運行了CoGetObject,具體如下所示:

    總的來說,它將以系統權限重新啟動惡意軟件: 

    管理權限

    與第一種情況一樣,該二進制代碼使用ZwOpenProcessToken來打開與進程相關的訪問令牌:

    然后,利用NtQueryInformationToken API來檢索該令牌的用戶賬戶(0x1 = TokenUser):

    然后,該惡意程序使用LookupAccountSidW來獲取與作為輸入的SID相關的賬戶名稱,如圖所示:

    之后,進行3個不同的比較操作:將域名(在我們的例子中是計算機的名稱)分別與“NT AUTHORITY”、“AUTORITE NT”和“NT-AUTORITAT”進行比較(簡單來說,它試圖確定用戶賬戶是否為SYSTEM):

    OpenSCManagerW例程用于建立與服務控制管理器的連接:

    該進程嘗試打開一個名為< RansomPseudoValue >的服務(此時還不存在):

    由于該服務不存在,惡意軟件會出于持久化目的而創建它,如下圖所示:

    啟動新創建的服務,并且該二進制程序將自身作為服務啟動: 

    小結

    在本文中,我們從技術角度為讀者深入分析了勒索軟件Darkside,由于篇幅過長,我們分為三篇文章進行發表,更多精彩內容,敬請期待!

    參考及來源:https://cybergeeks.tech/a-step-by-step-analysis-of-a-new-version-of-darkside-ransomware/


    軟件二進制
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    至少從今年3月開始,Cactus勒索軟件團伙就一直處于活躍的狀態,并向受害者索要大筆贖金。原始的ZIP壓縮包被刪除,并使用允許其執行的特定標志部署二進制文件。整個過程不同尋常,研究人員表示這是為了防止勒索軟件加密器被檢測出來。Kroll調查人員表示,在提升機器上的權限后,Cactus團伙成員運行批處理腳本,從而卸載最常用的反病毒產品。然而,威脅分子確實威脅受害者:除非他們拿到贖金,否則將公布被盜文件。
    卡巴斯基實驗室的研究人員詳細介紹了一個名為 Luna 的新勒索軟件系列,它是用 Rust 編寫的,能夠針對 Windows、Linux 和 ESXi 系統。 Luna 勒索軟件是第三個用 Rust 語言編寫的勒索軟件系列,其他惡意軟件品種是BlackCat和Hive。
    勒索軟件組織LockBit于6月以LockBit 重新浮出水面,分析顯示攻擊的目標公司數量增加,并且加入了雙重勒索功能。研究人員針對勒索軟件LockBit 發出警告,指出自該勒索軟件推出不久,全球各地已有超過50個組織受害,受害者遍及多種產業。LockBit 還濫用Process Hacker和PC Hunter等合法工具來終止受害系統中的進程和服務。LockBit 背后的組織最近進行了一次高度公開的攻擊,因此組織需要對這種勒索軟件變體保持警惕。保護和恢復 執行數據保護、備份和恢復措施。
    卡巴斯基研究人員發現了一個用 Rust 編寫的新勒索軟件系列,名為 Luna,它針對 Windows、Linux 和 ESXi 系統。Luna 勒索軟件是第三個用 Rust 語言編寫的勒索軟件系列,其他惡意軟件品種是BlackCat和Hive。
    例如,刪除卷影副本和殺死進程等功能已卸載到 PowerShell 腳本。Sophos 表示,目前尚不清楚攻擊者是利用最近披露的Exchange Server 中的ProxyLogon 漏洞來獲得未經身份驗證的訪問,還是利用了其他缺陷。Sophos 對 Epsilon Red 的分析表明,勒索軟件二進制文件本身不包含目標文件和擴展名的列表。由于 Epsilon Red 似乎沒有做出這種區分,惡意軟件可能會使受感染的系統無法啟動。
    近期,Unit 42的研究人員在分析Medusa(美杜莎)勒索軟件活動時,發現該活動的升級和勒索策略發生了很大變化。
    Sophos MDR威脅情報團隊曾于2023年5月發表過一篇博文,稱Akira勒索軟件“將1988年的時光帶回”。起因是Akira會將受害者網站篡改為具有復古美學的頁面,讓人想起20世紀80年代的綠色屏幕控制臺。而且,Akira的名字也可能取自1988年流行的同名動畫電影《阿基拉》(Akira)。
    網絡安全研究人員重申了 LockBit 勒索軟件的最新版本與 BlackMatter 之間的相似之處,BlackMatter是 DarkSide 勒索軟件菌株的更名變體,于 2021 年 11 月關閉商店。
    Palo Alto Networks公司的研究人員在一項分析中說:“通常情況下,更成功的勒索軟件運營商會付出很多努力來建立和維護某種‘完整性’的外表,以此作為便利受害者支付贖金的一種方式。他們希望在‘客戶服務’和兌現他們的承諾方面建立良好的聲譽——如果受害者支付贖金,其文件將被解密(而且不會將它們放在泄密網站上)。但根據我們幫助客戶安全防護的經驗對這些網絡攻擊進行補救,Conti勒索軟件沒有表現出
    這種新發現的勒索軟件運行速度快,有多種方法可以避免檢測,并且會攻擊具有已知漏洞的 Windows 系統。
    007bug
    暫無描述
      亚洲 欧美 自拍 唯美 另类