先週報告されたランサムウェア「DearCry」による攻撃に続き、別のサイバー攻撃者も「Black KingDom」と呼ばれるランサムウェアを用いて、脆弱な Exchange Server を標的とした攻撃を開始しました。ソフォスのテレメトリは3月18日 (木) に、このランサムウェアが今月初めに Microsoft が公開した ProxyLogon の脆弱性に対するパッチが適用されていないサーバーを標的にしているのを初めて検出しました。
「Black KingDom」のペイロードは過去のランサムウェアと比較して特段高度なわけではありません。実際、ソフォスによるこれまでの分析によりこのペイロードの構成が初歩的でアマチュア的であることが判明していますが、それでも大きな被害をもたらす恐れがあります。このランサムウェアは、コンセントレータソフトウェアである Pulse Secure VPN の脆弱なバージョンを実行していたマシンに出現した同名のランサムウェアと関連している可能性があります。
Tor から送信される Web シェルを通じて配信されるランサムウェア
Black KingDom の配信は地理的にはドイツに位置する、185.220.101.204 の IP アドレスを持つリモートサーバーから行われており、攻撃者は 185.220.101.216 から操作していました。しかしながら、いずれの IP アドレスも Tor 出口ノードに属しているため、攻撃者が物理的にどこにいるのかを知ることはできません。
攻撃者は ProxyLogon として知られるリモートコード実行 (RCE) の脆弱性 (CVE-2021-27065) を悪用してオンプレミスの Microsoft Exchange Server を攻撃しました。
Exchange Server への侵入に成功した後、攻撃者は Web シェルを配信しました。この Web シェルは、これらのサーバーへのリモートアクセスおよび任意のコマンドの実行を可能にするものです。
ChackLogsPL.aspx という名前の Web シェルは以下のディレクトリに置かれます。
これらの Web シェルは Exchange admin center (EAC) をホストする Internet Information Server (IIS) のワーカープロセスである w3wp.exeによってディスクに書き込まれます。Microsoft 社は、このプロセスを ECP (Exchange Control Panel) という内部名を付けています。
ランサムウェアの実行および動作
Web シェルの展開後、攻撃者は PowerShell コマンドを実行して攻撃を開始します。 (長いため、ここでは全文は表示しません)
hxxp://yuuuuu44[.]com/vpn-service/$(f1)/crunchyroll-vpn
$(f1) と書かれた部分は、15 個のラテン文字アルファベットからなるランダムな文字列を生成する関数 f1 によって生成されます。したがって、最終的には Web アドレスは以下のようになります。
hxxp://yuuuuu44[.]com/vpn-service/ ojkgrctxslnbazd /crunchyroll-vpn
(プレスリリースでも触れた通り、yuuuu44 ドメインは NASA.GOV にリダイレクトされていました)
攻撃者らはランサムウェアペイロードを上記の f1 関数を用いて生成したランダムな名称の下、\\[ComputerName]\c$\Windows\system32\ に保存します。以下に例を示します。
C:\Windows\System32\ojkgrctxslnbazd.exe
上記のスクリプトは、WMI (Windows Management Interface) を介して Win32_Process を呼び出すことで、ランサムウェアを実行します。このスクリプトには、ネットワーク上の他のコンピュータにランサムウェアをアップロードして実行する機能が含まれています。
影響
ランサムウェアのバイナリは、PyInstaller と呼ばれるツールを使って実行ファイルにコンパイルされた Python スクリプトをベースにしています。ソフォスではバイナリを逆コンパイルして元のソースコードに復元することに成功し、ランサムウェアの機能を解明しました。製作者はこのソースコードを「0xfff.py」と名付けており、「fff」は10進数の4095を表す16進数の値です。これが何を意味するかは不明です。
このランサムウェアには、暗号化しないフォルダのブロックリストが組み込まれています。
同時に gen_id も生成されています。これはランサムウェアが身代金メモに埋め込む被害者 ID であり、被害者が攻撃者に被害者の情報を通知することで正しい復号化キーを購入できるようにするためのものです。
次に、key および gen_id が mega.io. のアカウントにアップロードされます。ただし、何らかの理由でランサムウェアがこのランダムに生成された暗号化キーを mega.io のアカウントにアップロードできない場合には、ハードコードされた静的なキーを用いることで代替されます。
このファイルシステムによるファイルの暗号化機能の動作は非常に単純であり、元データを読み取り()、上書き (暗号化) し、名前を変更するだけです。
暗号化されたファイルが二重に攻撃されるのを防ぐため、ランサムウェアは通常、暗号化されたすべてのファイルに独自に選択した同じファイル拡張子を付加したり、ファイルのヘッダ (または末尾) にインジケータを付けたりします。しかし、Exchange Server を狙うランサムウェア「Black KingDom」はこの動作を行いません。このランサムウェアは、ファイルやマシンが自分自身や他のランサムウェアによって以前に攻撃されたことがあるかどうかをチェックしません。従って、同一のランサムウェアによって既に暗号化されたファイルが何度も暗号化されてしまい、復号化が非常に複雑になってしまいます。このような見落としは恐らく意図的ではないと思われますが、予見できたことだと思われます。
ソフォスの CryptoGuard は、データを暗号化しようとするランサムウェアを検出します。以下のスクリーンショットでは、ソフォスの署名診断技術を用いたテレメトリによって、ランサムウェアのバイナリが上記の通り WMI を介して実行されていることが示されています (Process Trace シーケンスは下から上、3番から1番に向けて読んでください) 。
システムが暗号化されると (あるいは動作を開始してから20分後に) 、ランサムウェアは以下のサブルーチンを実行し、マウスとキーボードを無効にして、デスクトップ上にフルスクリーンウィンドウを映し出します。
ソフォス製品によるこのランサムウェアの検出について
ソフォスのエンドポイントプロテクション製品を利用されているユーザーは、このランサムウェアの Web シェルを、こちらの記事に記載されている検出リストのいずれかとして検出できる場合があります。また、ランサムウェアのペイロードは Troj/Ransom-GFU、Troj/Ransom-GFV 、Troj/Ransom-GFP として、あるいはIntercept X に実装されている CryptoGuard によって検出される可能性があります。 SophosLabs は SophosLabs の Github でセキュリティ侵害の痕跡 (IoC) を公開しています。ソフォスの EDR を使用している脅威ハンターは、この記事に記載されているクエリを利用してネットワークにあるセキュリティ侵害の痕跡を検出できます。
謝辞
SophosLabs は、Vikas Singh、Alex Vermaning および Gabor Szappanos の本レポートへの貢献に謝意を表します。