Dark Power:またしてもランサムウェア集団が登場

今回もまた、新たなランサムウェアの一団が登場しました。Dark Powerというランサムウェア・ギャングが新たに登場し、その名を轟かせようとしています。本記事では、このギャングが使用するランサムウェアの詳細と、身代金の要求に応えなかった被害者の情報で満載のリークサイトに関するいくつかの情報を紹介します。

私たちの調査によると、ギャングがターゲットとしている特定の分野や地域はなく、むしろ日和見的であるようです。


サンプル情報

 Filename ef.exe
 MD5 df134a54ae5dca7963e49d97dd104660
 SHA-1 9bddcce91756469051f2385ef36ba8171d99686d
 SHA-256 11ddebd9b22a3a21be11908feda0ea1e1aa97bc67b2dfefe766fcea467367394
 File size 1323422 bytes (1.3 MB)
 Compile date 2023/1/29  2:01:33
 Compiler Nim MINGW x64

Nimは、元々、少し曖昧な言語としてスタートしましたが、現在では、マルウェアの作成に関してより一般的になっています。マルウェア作成者は、使い勝手がよく、クロスプラットフォームの機能を備えていることから、Nimを使用しています。


暗号化キー初期化

起動時に、ランサムウェアはランダムな64文字長の小文字のASCII文字列を作成します。この文字列は、後で暗号化アルゴリズムを初期化するために使用されます。下図にその例を示します。ランダム化により、サンプルが実行されるたびにキーが一意になるため、標的となる各マシンで一意になり、汎用的な復号化ツールの作成を妨げます。サンプル内では、Nimcryptoライブラリを使用して暗号処理を行います。使用する暗号アルゴリズムは、AES CRTです。

Figure 1 Encryption key
図1 暗号化キー


バイナリ文字列の暗号化

ランサムウェア内の文字列は暗号化されており、これは防御者が一般的な検出ルールを作成することを困難にするために行われたものと思われます。暗号文の文字列は、base64エンコードされたフォーマットでバイナリ内に存在します。暗号化された文字列が解読されると、ハードコードされた文字列のSHA-256ハッシュである固定鍵を使用して文字列が復号化されます。初期化ベクトル(IV)もバイナリ内に含まれるが、各復号化呼び出しは異なるIVを使用します。

.text:01400211B8 lea rdx, _ZL30TM__izFmMIDPcL9aQZfNgVeGYSg_71 ; Load IV
.text:01400211BF mov qword ptr [rax+10h], 68h ; ‘h’
.text:01400211C7 mov rcx, rax
.text:01400211CA mov qword ptr [rax+18h], 44h ; ‘D’
.text:01400211D2 mov qword ptr [rax+20h], 65h ; ‘e’
.text:01400211DA mov qword ptr [rax+28h], 2Bh ; ‘+’
.text:01400211E2 mov qword ptr [rax+30h], 33h ;’3′
.text:01400211EA mov qword ptr [rax+38h], 6Ah ; ‘j’
.text:01400211F2 mov qword ptr [rax+40h], 6Ah ;’j’
.text:01400211FA mov qword ptr [rax+48h], 4Eh ; ‘N’
.text:0140021202 mov qword ptr [rax+50h], 51h ;’Q’
.text:014002120A mov qword ptr [rax+58h], 6Ch ; ‘l’
.text:0140021212 mov qword ptr [rax+60h], 66h ;’f’
.text:014002121A mov qword ptr [rax+68h], 6Fh ;’o’
.text:0140021222 mov qword ptr [rax+70h], 4Fh ;’O’
.text:014002122A mov qword ptr [rax+78h], 61h ; ‘a’
.text:0140021232 mov qword ptr [rax+80h], 67h ;’g’
.text:014002123D mov qword ptr [rax+88h], 3Dh ; ‘=’
.text:0140021248 call decrypt_AES_CTR ; .dark_power

Code1 文字列の復号化分解

上記の逆アセンブルされた命令は、文字列を復号するために使用され、その出力は「.darkpower」である。IVは「rdx」にロードされ、「rax」はbase64エンコードされ暗号化された文字列を格納するために使用されます。「decrypt_AES_CTR」関数を呼び出すと、与えられた文字列が復号化されます。

マルウェアの解析を容易にするため、以下の画像に見られるように、すべての暗号化された文字列を復号化することができます。これにより、分析者はランサムウェアの内部構造をより容易に理解することができます。

Figure 2 Decrypted strings will be added as comments in the decompiler view.
図2 復号された文字列は、デコンパイラビューにコメントとして追加される


サービスを停止

Dark Power ランサムウェアは、被害者のマシンの特定のサービスをターゲットにしています。Veeam、memtas、sql、mssql、backup、vss、sophos、svc$、mepocsの各サービスを停止します。これらのサービスを無効にすることで、ランサムウェアは被害者のファイルを復元することを困難にします。なぜなら、これらのサービスは、ランサムウェアがファイルを暗号化することを可能にするフリーファイル(データベースなど)であるからです。さらに、ボリュームシャドウコピーサービス(VSS)が停止されますが、これはランサムウェアがよくやることです。VSSはファイルのシャドウコピーを保持します。

さらに、その他のバックアップやマルウェア対策サービスも停止されます。その目的は、被害者が要求された身代金を支払う可能性を高めることにあります。ランサムウェアは、事前に定義されたリストに一致するサービスやプロセスを検出した場合、下図に見られるように、コンソールに「[YES] in killing (service name)」と表示します。

Figure 3 Terminating VSS service
図3 VSSサービスの終了


プロセス終了

停止したサービスと同様に、ファイルをブロックすることが多いプロセス(オフィス関連のアクティビティなど)も終了されます。ランサムウェアは、「winmgmts: & {impersonationLevel=impersonate}!!!」という名前のWindows Management Instrumentation(WMI)に、「select * from win32_process」というクエリを問い合わせます。このクエリは、実行中の全プロセスのリストを返します。事前に定義されたプロセス名と一致するものはすべて終了されます。リスト内には、taskmgr.exe、steam.exe、 firefox.exeなどのエントリや、excel.exe、winword.exe、powerpnt.exe、visio.exeなどのMicrosoft Officeプロセスも存在します。また、このランサムウェアは、すべてのデータベースの暗号化処理を確実に行うために、sql.exe、oracle.exe、 dbsnmp.exeなどのデータベース管理に関連する特定のプロセスをターゲットにしています。これらのプロセスを終了させることで、ランサムウェアはロックされたファイルに遭遇することなく、確実に暗号化プロセスを完了できるようにすることを目的としています。プロセス名の全リストを以下に示します。

taskmgr.exe

agntsvc.exe

synctime.exe

encsvc.exe

mspub.exe

infopath.exe

powerpnt.exe

onenote.exe

mydesktopservice.exe

ocssd.exe

winword.exe

firefox.exe

steam.exe

thebat.exe

oracle.exe

isqlplussvc.exe

excel.exe

sqbcoreservice.exe

outlook.exe

mydesktopqos.exe

dbeng50.exe

sql.exe

ocautoupds.exe

tbirdconfig.exe

ocomm.exe

thunderbird.exe

msaccess.exe

visio.exe

dbsnmp.exe

wordpad.exe

xfssvccon.exe

表1 終了時のプロセス名一覧


ファイルやフォルダーを暗号化の対象から外す

対象となるすべてのサービスとプロセスを停止して終了させると、ランサムウェアが適用するフィルターはもう1つあり、ファイル名、ファイル拡張子、およびフォルダ名の除外が行われます。被害者が身代金のメモを見るためには、動作するマシンが必要です。そのため、システムが動作し続けるために重要な特定のファイルやフォルダは除外されます。以下は、除外されるファイル、フォルダ、および拡張子のリストです:

.lib

.theme

.dll

.bin

.ocx

.search-ms

.msi

.hta

.mod

.rom

.dat

.sys

.deskthemepack

.ics

.prf

.ini

.wpx

.nomedia

.com

.themepack

.regtrans-ms

.cpl

.msu

.hlp

.msstyles

.ps1

.adv

.rtp

.spl

.lnk

.log2

.msc

.msp

.nls

.icns

.log1

.scr

.idx

.cab

.mpa

.blf

.bat

.ani

.exe

.drv

.ldf

.key

.386

.diagpkg

.cur

.lock

.ico

.diagcfg

.icl

.diagcab

.cmd

.shs

表2 除外される拡張子の一覧

readme.pdf

autorun.inf

bootfont.bin

ntldr

ntuser.dat.log

ntuser.dat

thumbs.db

boot.ini

ntuser.ini

bootsect.bak

iconcache.db

desktop.ini

表3 除外ファイル一覧

program files

$recycle.bin

tor browser

appdata

windows.old

windows

mozilla

programdata

intel

$windows.~ws

system volume information

perflogs

application data

program files (x86)

msocache

$windows.~bt

boot

google

表4 除外フォルダー一覧


ログとコンソールをクリア

サービスを停止した後、ランサムウェアは30秒間スリープし、コンソールをクリアするためにWindowsコマンド“C:◆Windowssystem32 ◆cmd.exe /c cls “を実行します(コード2)。このサンプルでは、ランサムウェアはWMIクエリ「Select * from Win32_NTEventLogFile」と「ClearEventLog()」を使用して、システムログをクリアしています。ログのクリアは、ランサムウェアがその痕跡を隠し、アナリストによる攻撃の調査を困難にするために使用する一般的な戦術です。その後、拡散する身代金要求メモ(ランサムノート)と暗号化プロセスを開始します。

.text:0000000140020E12 call kill_services
.text:0000000140020E17 mov ecx, 30000 ; __int64
.text:0000000140020E1C call sleep
.text:0000000140020E21 mov edx, 4
.text:0000000140020E26 mov rcx, r12
.text:0000000140020E29 call _Z6newSeqP8TNimTypex ; newSeq(TNimType *,long long)
.text:0000000140020e2elea rdx, _ZL31TM__izFmMIDPcL9aQZfNgVeGYSg_222 ; TM__izFmMIDPcL9aQZfNgVeGYSg_222
.text:0000000140020E35 mov qword ptr [rax+10h], 70h ; ‘p’
.text:0000000140020E3D mov rcx, rax
.text:0000000140020E40 mov qword ptr [rax+18h], 4Ah ; ‘J’
.text:0000000140020E48 mov qword ptr [rax+20h], 39h ; ‘9’
.text:0000000140020E50 mov qword ptr [rax+28h], 6Eh ; ‘n’
.text:0000000140020E58 call decrypt_AES_CTR ; cls
.text:0000000140020E5D mov rcx, rax
.text:0000000140020E60 call system_exec_cmd

Code2 コンソールクリアコマンドの実行


身代金要求メモ(ランサムノート)の作成

ランサムウェアによって列挙されたすべてのフォルダには、ランサムノートのコピーが送られます(図4)。通常のプレーンテキストのランサムノートとは異なり、この身代金要求メモはPDFファイルになっています。このメモはAdobe Illustrator 26.0を使って作成されており、最終更新日は2023年2月9日です。

Figure 4 The first page screenshot of Dark Power ransom note.
図4 Dark Powerランサムノートの最初のページのスクリーンショット

身代金請求書は、モネロブロックチェーンのアドレスに1万米ドルを要求しています:XMR

85D16UodGevaWw6o9UuU8j5uosk9fHmRZSUoDp6hTd2ceT9nvZ5hPedmoHYxedHzy6QW4KnxpNC7MwYFYYRCdt[redacted].

また、身代金請求書には、請求された被害者を含むTorサイト(power[redacted].onion)とチャット用のqTox ID(EBBB[redacted])が記載されています(図5)。TorネットワークとqToxメッセンジャーは、どちらも分散型サーバと通信プロトコルによる匿名性を可能にしています。請求された被害者は下図のとおりで、各長方形は被害企業のロゴマークです。下図では、被害者が誰であるかを公表することを控えるため、ロゴにぼかしを入れていますが、攻撃者のWebサイトにはこのようなぼかしはありません。

Figure 5 Censored screenshot of the Dark Power web page.
図5 Dark PowerのWebページの検閲済みスクリーンショット


データの暗号化

フィルタリングされなかったファイルの暗号化は、AES(CRTモード)を使用して暗号化されます。暗号化されたファイルのパスは、下の画像のように、カウンタとともに標準出力に出力されます。

Figure 6 Encrypted file paths
図6 暗号化されたファイルパス

このランサムウェアには2つのバージョンが存在し、それぞれ暗号化キーとフォーマットが異なっています:

  1. 最初のバリエーションでは、ランダム化された鍵のsha256ダイジェストが2つの半分に分割されます。前半は AES 鍵として使用され、後半は IV (ノンス) として使用される。
  2. 第二のバリエーションでは、ランダム化した鍵のsha256ダイジェストをAES暗号化鍵として使用し、128ビットの固定値「73 4B D9 D6 BA D5 12 A0 72 7F D6 4C 1E F4 96 87」を暗号化ノンスとして使用します。

ファイルの内容を完全に暗号化した後、ランサムウェアは暗号化されたファイルの名前を「.dark_power」という拡張子で変更します。


脅威インテリジェンス

Dark Powerランサムウェアグループは、データを暗号化し、支払いがない場合は盗まれたデータを公開するという、2度にわたって被害者を恐喝する数あるグループの1つでです。

ランサムウェア自体はファイルをアップロードしないため、データの流出はランサムウェアの展開前に手動で行われたものと推測されます。

Dark Powerギャングは世界規模で活動しており、アルジェリア、チェコ、エジプト、フランス、イスラエル、ペルー、トルコ、米国に被害者がいるとされています。グループのWebサイトによると、彼らは10の被害者をターゲットにしました。被害者のセクターは、順不同で、教育、IT、ヘルスケア、製造、食品製造となっています。


システムがDark Powerランサムウェアに感染した場合の対処方法

注意すべきは、身代金を支払ってもファイルが復号化されることを保証するものではないということです。また、身代金を支払うことは、ランサムウェアの作者の活動を奨励し、資金を提供することになります。被害者は、身代金を支払わず、法執行機関に攻撃を報告し、信頼できるセキュリティ専門家の支援を得て、ファイルを回復することをお勧めします。NoMoreRansomイニシアチブは、ランサムウェアの被害に遭われた場合に、まず始めるべき良い場所です。


結論

マルウェア作者がNim、Golang、Rustなどの新しい(er)言語を採用することは、今に始まったことではありません。攻撃者が新しい言語を習得するために必要なスキルよりも、防御側が継続的に知識を維持するためのコストの方が高いのです。このようなブログで情報を共有することは、コミュニティ全体を助けることになるのです。

Dark Powerは、ランサムウェアがどのような言語で書かれているかに関係なく、非常に一般的なランサムウェアへのアプローチが有効であることを示しています。


Appendix A – Trellix DarkPower detection signatures

Product

Signature

Endpoint Security (ENS)

Endpoint Security (HX)

Trojan.GenericKD.65499855

Trojan.GenericKD.65428966

Network Security(NX)
Detection as a Service
Email Security
Malware Analysis
File Protect

Ransomware.Win64.Crypren.FEC3

Malware.Binary.exe

Helix

 


Appendix B – Key behaviors: ATT&CK Techniques

Execution

Defense Evasion

Discovery

Impact

T1059 Command and Scripting Interpreter

T1027 Obfuscated Files or Information

T1082 System Information Discovery

T1486 Data Encrypted for Impact

T1047 Windows Management Instrumentation

T1140 Deobfuscate/Decode Files or Information

T1057 Process Discovery

T1490 Inhibit System Recovery

T1070.001 Indicator Removal: Clear Windows Event Logs

T1489 Service Stop


Appendix C – IoCs

分析対象サンプルのSHA256ハッシュ:

33c5b4c9a6c24729bb10165e34ae1cd2315cfce5763e65167bd58a57fde9a389

11ddebd9b22a3a21be11908feda0ea1e1aa97bc67b2dfefe766fcea467367394


Disclaimer

本記事およびここに含まれる情報は、教育目的および Trellix のお客様の便宜のためにのみ、コンピューターセキュリティの調査研究について説明しています。 説明されているアクティビティの一部またはすべてを再現しようとする試みは、すべてユーザーの責任で行うものとし、Trellix およびその関連会社は一切の責任を負わないものとします。

※本ページの内容は2023年3月23日(US時間)更新の以下のTrellix Storiesの内容です。
原文:Shining Light on Dark Power: Yet Another Ransomware Gang
著者:Pham Duy PhucMax Kersten and Tomer Shloman