ナビゲーションをスキップする
BlackBerry ブログ

DJVU:新たな亜種? 奇妙な既視感と難読化を伴うランサムウェアの詳細解析

DJVU:奇妙な既視感を伴うランサムウェア

原文のブログはこちらからご覧いただけます。

DJVU ランサムウェアは、正規のサービスやアプリケーションを装うか、あるいはおとりファイルのバンドルという配信形態をとることで、自身が無害であるかのように見せかけています。また、このマルウェアを操るグループは他の脅威とも連携し、それらの脅威がインフォスティーラ(情報窃取型マルウェア)をダウンロードして展開し、データを抜き出せるようにしています。これにより、脅威アクターが被害者を搾取するための第 2 の方法を獲得しています。

これらすべてに奇妙な既視感を覚えるとしたら、その感覚はあながち間違いではないでしょう。DJVU は、2017 年末に注目を集めた STOP ランサムウェアの新たな亜種として、2018 年に出現しました。STOP ランサムウェアは複数のキャンペーンで悪名を馳せており、ランサムウェアが独自の拡張子「STOP」を付加することでも知られています。

新たな DJVU の亜種には何層にもわたる難読化レイヤーも含まれており、リサーチャーや自動解析ツールによる調査を妨げようとしています。

オペレーティングシステム

リスクと影響

技術的解析

DJVU の前身は STOP ランサムウェアとして知られ、その名が示すように、ファイルを暗号化して被害組織の運営を停止させます。当初は Crypto++ の実装を採用し、AES-256 でユーザーデータを暗号化していました(より最近では Salsa20 となっています)。

2018 年、このランサムウェアファミリーの新たな亜種が DJVU として出現し、大きな注目を集めました。そして、この脅威は近年さらに有害性を増しています。DJVU を背後で操る脅威アクターが、Vidar Stealer(Arkei の亜種)や Redline Stealer の背後にある脅威グループと明らかに連携し、インフォスティーラをダウンロードして展開する機能を追加しているのです。

感染方法

DJVU にはあらかじめ決まった感染方法がなく、その初期感染経路はさまざまです。そのため、脅威アクターが極めて柔軟なアプローチを採用できる一方で、防御側にとっては侵害の初期兆候の予測と検知が難しくなっています。また、DJVU はファイルの暗号化に数百種類の拡張子を使用することで、攻撃の特定をより難しくしています。

DJVU は、ファイルホスティングサイト、ダウンロードサイト、トレントサイトでさまざまなファイルタイプに偽装しています。多くの場合、無防備な被害者のデバイス上にダウンロードされ、実行されることを期待して、アプリケーションのダウンロード、クラック版ソフトウェア、キージェネレータを装っています。

DJVU はしばしば他のマルウェアと連携しており、たとえば暗号化に先立って被害者のデバイスにインフォスティーラを展開することがあります。他のマルウェアファミリーとのこのような共生関係は、DJVU の有害性をさらに高めています。また、DJVU は既知のマルウェアドロッパーファミリーである SmokeLoader のペイロードとしても展開されています。

実行チェーン

攻撃前の難読化

DJVU の実行チェーンは何層にもわたる難読化レイヤーから始まりますが、これには脅威リサーチャーや自動サンドボックスによるコード解析を妨げる意図があります。

BlackBerry がこの記事で解析した DJVU ランサムウェアのサンプルは、すべて同様に難読化されていました。DJVU の悪意のある活動は、実行可能ファイルのヒープ領域の保護を再設定し、起動中のポータブル実行可能ファイル(PE)に含まれる暗号化済みのシェルコードをロードすることから始まります。この第 1 段階のシェルコードは Tiny Encryption Algorithm(TEA)で暗号化されています。

マルウェアの作成者はさらなる解析妨害の手段として、暗号化用の定数の難読化により一層の労力を費やしています。TEA アルゴリズムがマルウェアに広く用いられていることから、これは検知を回避するために行われていると考えられます。

次に、この第 1 段階のシェルコードは第 2 段階のシェルコードを展開します。第 2 段階のシェルコードは、予測可能な疑似乱数生成アルゴリズムを用いて鍵を変化させる基本的な XOR アルゴリズムで暗号化されています。その後、展開されたシェルコードは従来の Virtual Alloc 方式でメモリ上にロードされます。

続いて、第 2 段階のシェルコードは同じバイナリを使用して新たなプロセスの実行を開始します。これは、プロセスハロウイングを実行し、難読化解除したマルウェアのコピーを新たなプロセスに注入することによって行われます。こうして、ペイロードの実行がようやく開始されます。

DJVU による攻撃の開始

悪意のある活動を本格的に開始するにあたり、DJVU はまず被害者のデバイスの位置を把握します。これは、「hxxps[:]//api[.]2ip[.]ua/geo[.]json」の URL で提供される GeoIP ルックアップサービスでデバイスの位置を調べることによって行われます。

DJVU は InternetOpenUrlW 関数を使用して上記のサイトに接続し、取得した geo.json の内容の読み取りには InternetReadFile 関数を使用します。この結果、GeoIP データベースに基づくユーザーの詳細な位置情報が得られます。

このブログの執筆目的で偽のホスティングサイトを設置したところ、以下のような応答が得られました。なお、ここではマルウェアによるファイルの読み取り方法を示すことを目的としているため、geo.json の内容は編集しています。図 1 は、この応答を 16 進エディタで表示したものです。

図 1 – GeoIP から取得した応答のメモリダンプ

応答が得られると、マルウェアはその内容をハードコードされた独立国家共同体(CIS)の国コード一覧(下表)と比較します。被害者の国コードが以下の国のいずれかに一致した場合は、ペイロードを実行せずに自身を終了します。

頭文字

国名

頭文字

国名

RU

ロシア

AM

アルメニア

BY

ベラルーシ

TJ

タジキスタン

UA

ウクライナ

KZ

カザフスタン

AZ

アゼルバイジャン

KG

キルギスタン

SY

シリア

UZ

ウズベキスタン

 

国コードがこの一覧のいずれにも一致しない場合は実行が継続され、%\AppData\Local\% ディレクトリの中にフォルダーが作成されます。

この新規フォルダーはランダムに生成される UUID バージョン 4 を用いて名付けられ、その際には UuidCreate 関数と UuidToStringW 関数が使用されます。

図 2 – %\AppData\Local\% 内のフォルダー名としてランダムに生成された UUID

マルウェアはこのフォルダーを CreateDirectoryW 関数で作成した後、その中に自身のコピーを作成します。

図 3 – マルウェアの実行可能ファイルが新たに作成された場所

次に、マルウェアは Windows のコマンドユーティリティツール「icacls」を使用して、図 4 に示すコマンドで上記のパス/フォルダーを保護します。この例では、「(OI - オブジェクトの継承)、(CI - コンテナの継承)、(DE - 削除)、(DC - 子の削除)」というフラグが使用されています。

図 4  – 「icacls」のフラグ設定

マルウェアは続いて、ShellExecute API を動詞「runas」とともに使用し、自身を管理者権限で再実行しようとします。被害者のデバイスの設定によっては、ここでユーザーアカウント制御(UAC)のダイアログボックスが表示され、被害者がプロセスに管理者権限を与えるよう促される場合があります。マルウェアが管理者権限で実行された場合、システム上でより重要性の高いファイルが暗号化されることになります。

こうして、ペイロードが引数「—Admin IsNotAutoStart IsNotTask」とともに特権状態で実行されます。

図 5 – DJVU が特権状態での実行を試みている様子

マルウェアはさらに、タスクスケジューラ COM オブジェクトの ITaskService インターフェイスを使用して、スケジュールタスクによる永続性を確保します。このとき、マルウェアの作成者は COM オブジェクトを活用することで、PowerShell コマンド「Register-ScheduledTask」や schtasks の実行可能ファイルの使用を避けています。これらはタスク生成の手法としてよく知られており、検知される可能性が高いためです。マルウェアが作成したスケジュールタスクを図 6 に示します。

図 6 – マルウェアが作成したスケジュールタスク

続いて、以下の図 7 に示すように、ペイロードがネットワークカードの MAC アドレスを取得し、そのアドレスの MD5 ハッシュを生成します。

図 7 – MD5 ハッシュの生成

この MD5 ハッシュは、「hxxps[:]//acacaca[.]org/d/test1/get.php?pid={MAC アドレスの MD5}&first=true」という URL の一部として、悪意のあるコマンドアンドコントロール(C2)への接続に使用されます。

URLの例:hxxp://acacaca[.]org/test1/get[.]php?pid=53B1E5DA52C0B1B73B57A5129A43BC5D&first=true


この通信の応答は「Bowsakkdestx.txt」に保存され、%\AppData\Local\% ディレクトリに置かれます。図 8 に示すように、このファイルには公開鍵と ID の値が格納されています。

図 8 – DJVU 用に生成された公開鍵と ID の例

 また、DJVU は C:\SystemID\PersonalID.txt にファイルを新規作成し、その中にも ID を格納します。

図 9  – PersonalID.txt の例

マルウェアはこれらを保存した後でさらに 2 つのドメインに接続しますが、その片方は 2022 年 9 月以降 RedLine インフォスティーラを提供していることが確認されています。

  • hxxp[:]//rgyui[.]top/dl/build2[.]exe
  • hxxp[:]//acacaca[.]org/files/1/build3[.]exe

これらのドメインとの通信の詳細を以下の図 10 に示します。

図 10 – DJVU のインターネット接続記録

マルウェアは永続性をさらに高めるために、以下のレジストリパスに「SysHelper」という Run キーも作成します。

HKEY_Current_User\Software\Microsoft\Windows\CurrentVersion\Run

図 11 – DJVU の AutoStart の例

暗号化処理の開始前にはミューテックス「{1D6FC66E–D1F3–422C–8A53–C0BBCF3D900D}」が作成されますが、このマルウェアには 2 つ目のミューテックス「{FBB4BCC6-05C7-4ADD-B67B-A98A697323C1}」がハードコードされていることも確認できています。多くの場合、ランサムウェアはファイルの二重暗号化を避けるためにこうしたミューテックスを作成し(図 12 参照)、ファイルが復旧不能にならないようにします。

図 12 – ミューテックスの作成

また、このマルウェアにはハードコードされた公開鍵と ID も含まれています。図 13(下 – 公開鍵)はプロセスダンプで確認できる公開鍵を示しており、図 14(下 – 秘密鍵に相当)は被害者を特定するための固有 ID を示しています。

図 13 – 公開鍵
 

図 14 – オフライン ID

今回はオフライン環境でマルウェアを実行したため、図 15 に示すように、マルウェアは ID の末尾に「t1」を付加しています。

図 15 – オフライン ID の鍵生成

暗号化を実施するにあたり、マルウェアは自身にハードコードされたリスト(下表)に含まれるファイルや拡張子を除外対象とし、被害者のマシンを使用不能または復旧不能にしかねないファイルの暗号化を避けています。

除外対象のファイル

除外対象の拡張子

ntuser.dat

.sys

ntuser.dat.LOG1

.ini

ntuser.dat.LOG2

.DLL/.dll

ntuser.pol

.blf

 

.bat

 

.lnk

 

.regtrans-ms


また、このマルウェアには Windows® オペレーティングシステム(OS)の一部であるコアフォルダーに関する除外リストも含まれています。

さらに、マルウェアはファイル名がハードコードされた .jpg ファイルを検索しますが(図 16 参照)、このファイルの目的は現時点では明らかになっていません。

図 16 – DJVU が検索する特定の .jpg

そして、マルウェアは暗号化処理の際に C:\ ドライブ直下に _readme.txt をドロップします。

この _readme.txt ファイルの内容を図 17 に示します。

図 17 – DJVU の脅迫状

MITRE ATT&CK の戦術と手法

永続化 – スタートアップを追加して永続性を確保することで、システム内での足場を維持します(MITRE ATT&CK® 戦術 TA0003)。

起動またはログオン時の AutoStart の実行 – 永続化のために AutoStart を作成します(MITRE ATT&CK 手法 T1547.001)。

権限昇格 – 管理者権限を獲得します(MITRE ATT&CK 戦術 TA0004)。

影響拡大のためのデータ暗号化 – DJVU はランサムウェアであり、ファイルを暗号化した上で、感染ファイルの復旧に支払いを要求することを主な目的としています(MITRE ATT&CK 手法 T1486)。

システム情報の探索 – DJVU は GeoIP ルックアップで取得した被害者の国コード情報を使用して、システム上でマルウェアを実行するかどうかを判断します(MITRE ATT&CK 手法 T1082)。

プロセスインジェクション – マルウェアを他のプロセスに注入します(MITRE ATT&CK 手法 T1055)。

統計情報

BlackBerry では、このブログの調査中に確認した 1,000 件以上の DJVU の最新サンプルを基に、脅威アクターが感染ファイルに付加した拡張子についての統計情報を作成しています。その結果を以下に示します。

暗号化ファイルの拡張子

BlackBerry のデータセットでの出現率

.qqmt

20.29%

.qqlo

18.42%

.ccew

15.61%

.ccyu

11.03%

.qqlc

6.56%

.qqjj

5.72%

.vvyu

5.62%

.vvew

5.52%

.cceo

4.06%

.qqpp

3.85%

.ccza

1.56%

.qqri

0.73%

.dkrf

0.52%

.oori

0.31%

.ggew

0.10%

.lltt

0.10%

 

DJVU はインターネットに接続されていない場合でもデバイスを暗号化します。これは、各サンプルにハードコードされたランサムウェアの「オフライン ID」によって実現されます。ランサムウェアがインターネットに接続されている場合は「オンライン ID」が使用され、被害者のデバイスに追加のマルウェアをダウンロードしてドロップするという二次的な活動も実施されます。

オフライン ID

BlackBerry のデータセットでの出現率

arwRSmitYZVDfxec0G8jyNLbXK8rKdnmN0jfDBt1

45.99%

f8GfcLdJdGNtV1Xi0TrnL8nUTC7iDZ9xr4VEcft1

32.26%

rE5LpDv2ftYRXAo7bC18EpzfRMTHSGjgfyIMfZt1

11.13%

0MVuBxT6o3dUivEUdhCKPfN5ljxbYptbzrFZvst1

9.57%

JPKXWc5eWNjIicWmQyJxv6NCjbH02qrKi0af9Zt1

0.52%

wL6PsLHZ5p6rQzJ0dAHpE9gRzLIyUuIaRLkyeqt1

0.31%

YfcXKGLzjXMjQRwrhUHzsXjmASQ6mo4zjmEj9st1

0.10%

sKSoSa6RyaeIHGyaiBZfNzDYzhoyuKRIiqAopst1

0.10%

 

なお、これらの統計情報の作成にあたっては、GitHub ユーザーの「Demonslay335」氏が公開しているオープンソーススクリプトを活用しました。

まとめ

DJVU は絶えず進化を続けるランサムウェアファミリーであり、個人と企業の双方にとって大きな脅威となっています。このマルウェアは何層にもわたる難読化レイヤーを備えているため、検知と解析が困難です。これは結果として、事態が手遅れになるまでその真意が読み取れないような、強力なランサムウェアの発生へとつながっています。

このマルウェアはしばしば正規のソフトウェアやアプリケーションを装っており、暗号化に先立って被害者の地理的位置の基本情報を収集しようとします。多くの場合は他のマルウェア、具体的には RedLine などのインフォスティーラとともに確認されます。

DJVU は感染ファイルにさまざまなファイル拡張子を付加するため、感染の性質を特定するのが困難です。この目的で使用されるファイル拡張子は 100 種類を超えています。

STOP ランサムウェアの後継となるこの脅威は、猛烈な勢いを持つ極めて活発なランサムウェアであるため、その動向には十分警戒した方がよいでしょう。

主な標的

DJVU は通常、特定の産業、部門、国家といった明確な標的は持っていませんが、多くの小規模な感染や攻撃がこの脅威によるものとされています。最近の多くのランサムウェアファミリーとは異なり、DJVU は特定の被害者を狙う代わりに広範にわたって感染を広げています。

ただし、DJVU が旧ソ連の国々を含む CIS 諸国のマシンに感染することはありません。

被害軽減のためのヒント

ファイルハッシュの計算:ハッシュによる検知機能をデバイスに導入することで、マルウェアがデバイス上に現れた場合でも、それを効果的にブロック/隔離できます(MITRE D3FEND™ 手法 D3-FH)。

ファイルコンテンツルール:YARA などのパターンマッチングでファイル内容を検索することは、ファイルが無害なのか悪意のあるものなのかを判断する優れた方法です(MITRE D3FEND 手法 D3-FCR)。

システム構成の権限:特定のユーザーに対してシステムの利用を制限することで、悪意のあるファイルの実行と DJVU によるレジストリ作成の両方を予防できる可能性があります(MITRE D3FEND 手法 D3-SCP)。

DJVU ランサムウェアに対する YARA ルール

以下の YARA ルールは、この記事で説明した脅威を捕捉するために BlackBerry の Research & Intelligence Team が作成しました。

import "pe"

rule Mal_Ransomware_Win32_DJVU_Payload
{
    meta:
        description = "Detects DJVU Ransomware Payload"
        author = "BlackBerry Threat Research team"
        date = "2022-09-09"
        sha256 = "bd5114b7fcb628ba6f8c5c5d1d47fc7bb16214581079b3cc07273618b0c41fd8"
        license = "This Yara rule is provided under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0) and open to any user or organization, as long as you use it under this license and ensure originator credit in any derivative to The BlackBerry Research & Intelligence Team"

    strings:
        $a_nameserver_regex = /ns[0-9]?\.[a-z0-9]+\.[a-z]+/
        $a_deny_perm = "/deny *S-1-1-0:(OI)(CI)(DE,DC)" wide
        $a_pdb = "encrypt_win_api.pdb"

        $a_arg1 = "--Admin" wide
        $a_arg2 = "--AutoStart" wide
        $a_arg3 = "IsAutoStart" wide
        $a_arg4 = "IsNotAutoStart" wide
        $a_arg5 = "IsTask" wide

        $a_jpg = "5d2860c89d774.jpg" wide

        $a_country_check = "country_code\":"

        $a_c2_pid = "?pid=" wide
        $a_c2_first = "&first=" wide

        $a_scheduled_task = "Time Trigger Task" wide
        $a_user_agent = "Microsoft Internet Explorer" wide

        $mutex1 = "{1D6FC66E-D1F3-422C-8A53-C0BBCF3D900D}"
        $mutex2 = "{FBB4BCC6-05C7-4ADD-B67B-A98A697323C1}"
        $mutex3 = "{36A698B9-D67C-4E07-BE82-0EC5B14B4DF5}"

    condition:
        uint16(0) == 0x5a4d and
        all of ($a*) and
        1 of ($mutex*)       

}

 

侵入の痕跡(IOC)

URL:
hxxp[://]116[.]202[.]180[.]202/8069076584[.]zip
hxxp[://]acacaca[.]org/test1/get[.]php?pid=53B1E5DA52C0B1B73B57A5129A43BC5D&first=true
hxxp[://]rgyui[.]top/dl/build2[.]exe
hxxp[://]acacaca[.]org/files/1/build3[.]exe

ネームサーバー:
ns1[.]kriston[.]ug
ns2[.]chalekin[.]ug
ns3[.]unalelath[.]ug
ns4[.]andromath[.]ug

メールアドレス:
Support[at]bestyourmail[.]ch
Datarestorehelp[at]airmail[.]cc

PDB のパス:
e:\doc\my work (c++)\_git\encryption\release\encrypt_win_api.pdb
C:\renobi11_senuxisecituxa\coxuzef\layesareli\mefuzazokusuf.pdb

SHA256:
db41e055496b7eb3dfed7bc50a2afe8636c742a1d0963489569134d9e95aa1fc
5fc8f1eddeb98d127899c15663275da4a30b734e0c812ea4ca24fc99023329da
bd5114b7fcb628ba6f8c5c5d1d47fc7bb16214581079b3cc07273618b0c41fd8

ミューテックス:
{1D6FC66E–D1F3–422C–8A53–C0BBCF3D900D}
{FBB4BCC6–05C7–4ADD–B67B–A98A697323C1}

暗号化ファイルの拡張子:

.qqmt

.qqlo

.ccew

.ccyu

.qqlc

.qqjj

.vvyu

.vvew

.cceo

.qqpp

.ccza

.qqri

.dkrf

.oori

.ggew

.lltt

 

BlackBerry によるサポート

もしDJVUのような脅威にさらされているなら、BlackBerry にお任せください。現在 BlackBerry 製品を利用していなくても問題ありません。

BlackBerry の インシデント対応チームは、世界的に活躍するコンサルタントから構成され、ランサムウェアや持続的標的型攻撃(APT)など、さまざまなインシデントへの対応と封じ込めのサービスを専門としています。

弊社はグローバルコンサルティングチームを常に待機させており、ご希望があれば、24 時間サポートと現地支援を提供できます。次の URL からご相談ください。 https://www.blackberry.com/ja/jp/forms/enterprise/contact-us
 

 

  • お問い合わせ:https://www.blackberry.com/ja/jp/forms/enterprise/contact-us
  • サイバーセキュリティチームによるコンサルティング: https://www.blackberry.com/ja/jp/services/blackberry-cybersecurity-consulting/overview
  • BlackBerry Japan:https://www.blackberry.com/ja/jp
  • Facebook(日本語): https://www.facebook.com/watch/BlackBerryJPsec/
  • Twitter(日本語): https://twitter.com/BlackBerryJPsec
  • LinkedIn: https://www.linkedin.com/company/blackberry/
  • Youtube(日本語)https://www.youtube.com/channel/UCT2VHYwfUVC4V0AnkVZ2QIg/videos
  •  

     

    イベント日程

     

    The BlackBerry Research and Intelligence Team

    About The BlackBerry Research and Intelligence Team

    BlackBerry の Research and Intelligence Team は、新たに生じている脅威と持続的な脅威を検証し、セキュリティ担当者とその所属企業のために、インテリジェンス解析を提供しています。