SophosLabs Uncut

攻撃者ごとに使い方が異なる RaaS「REvil」

Sodinokibi とも呼ばれるこの RaaS は、犯罪グループごとに展開方法が全く異なるのが特徴です

攻撃者のビジネスモデルが「サービスモデル」に移行したことで、ランサムウェアは大きく変化しました。これにより、ランサムウェアの開発者は機能に注力できるようになり、標的コンピュータへの侵入と展開という困難な部分を、顧客 (さまざまな攻撃スタイル、ソフトウェア、専門知識を駆使してこのタスクに取り組む攻撃者) に委ねられるようになりました。

最も頻繁に遭遇する RaaS (Ransomware-as-a-Service: サービスとしてのランサムウェア) の 1 つである「REvil」(別名「Sodinokibi」) は、これまで見てきたランサムウェアの中でも最も一般的なものです。このランサムウェアのルーチン、構成、動作は、成熟したランサムウェアファミリにありがちで、サイバー犯罪者の間でよく使われているものです。

The REvil ransom note当然のことながら、ソフォスはこの日常的な脅威に対抗すべく全力で取り組んでいます。ソフォスでは、スクリプトによるエンドポイント保護機能の無効化を阻止する改ざん防止機能に加えて、ランサムウェアが実行しようとする主要なアクティビティを特定する動作検出ルールや、ランサムウェアによるデータの暗号化を防止する機能 CryptoGuard を使用しています。

REvil などの RaaS マルウェアを使った攻撃が世間の注目を集め、ニュースで取り上げられるようになったため、SophosLabs はランサムウェアそのものについて、およびランサムウェアを借りて侵入する犯人の攻撃方法の多様性について、培ってきた知識をまとめたいと考えました。

さらに、Sophos MTR チームがインシデント対応とクリーンアップを担当した Sodinokibi/REvil 攻撃について Sophos Rapid Response が作成したレポートをレビューしました。これらの詳細な分析から、多数の顧客 (犯罪者) が無数の方法で展開しているマルウェアの姿が明らかになりました。

差し迫る攻撃の兆候

攻撃者がランサムウェアを展開するのは、通常大規模かつ複雑な準備 (前兆行動) をすべて行った後です。そして、標的となった企業は、かなりの時間が経過してから誰かがデスクトップにログオンして身代金要求メモを見つけるまで、そのことに気付きません。したがって、本記事では Sodinokibi/REvil の仕組みと特徴を解説していきますが、まずは上記の前兆行動について説明するべきでしょう。攻撃者が最終ペイロードのための基礎を築いている間に、防御側やネットワークオーナーが前兆行動を検出して迅速に対処できれば、標的コンピュータに被害が及ぶ前に攻撃者のアクセスを遮断することができます。

どうやら攻撃者は、スクリプト (Github や Pastebin などのファイルリポジトリでホストされているものなど) と手動操作 (コンソール経由、または Windows リモートデスクトップや市販のリモートアクセスツールを使用) を組み合わせて使用しているようです。

A list of scripts on Github
ある REvil 攻撃者は、Github のペネトレーションテストツールのリポジトリから入手したスクリプトを使用

典型的な攻撃をフェーズに分類すると、「侵入と初期アクセス」「認証情報収集と権限昇格」「下地の整備」「ランサムウェアの展開」となります。多くの場合 (攻撃者によるため毎回ではない)、ペイロードを配信する前の数時間から数週間の間に、攻撃者が新たに入手した認証情報を使用して機密データを探し出し、盗み出すフェーズがあります。

ネットワークへの侵入

当然ですが、一日中侵入だけをしているのであれば、侵入自体はさほど難しいことではありません。しかし、Sodinokibi/REvil を使用したさまざまな攻撃者が採用した初期アクセスの方法は、次のいくつかのタイプに分類することができます。1 つ目は、VPN、RDP、デスクトップリモート管理ツール (VNC など)、さらには一部のクラウドベースの管理システムなど、インターネットに接続されたサービスに対するブルートフォース攻撃。2 つ目は、多要素認証が適用されていなかった正規アカウントの (別のマルウェアやフィッシング攻撃で入手した) 認証情報/アクセスの不正利用。3 つ目は、標的ネットワーク上に存在する別のマルウェアからペイロードとしてピギーバック (相乗り) する方法です。

残念なことに、インターネットに接続するサービスでは、トラフィックの大部分をブルートフォース攻撃が占めることも珍しくありません。これは、ブルートフォース攻撃が、攻撃者にとってはコストがほとんどかからない攻撃であるためです。だからこそ、(必ずしも万能ではありませんが) 多要素認証が非常に重要なのです。攻撃者は防御側と同じように、一般のサービスに接続するオープンポートを明らかにする Shodan や Censys などのツールを使用することができます。

最近発生したある攻撃では、標的サーバーに対する RDP によるログインの失敗が大量に記録されていました。なお、このサーバーは最終的に攻撃者のアクセスポイントとなりました。通常のサーバーでは、RDP などのサービスへのログイン失敗を記録したログは、失敗の回数に応じて数日から数週間の間に最も古いデータから上書きされていきます。この攻撃では、RDP ログインの失敗イベントが大量に発生したため、ログファイルが 5 分ごとに新しいエントリで完全に上書きされました。当該のサーバーから収集されたデータには、5 分間で約 35,000 回のログイン失敗が記録されており、その発信元は世界中の 349 個の IP アドレスでした。

5分 ごとに行われる 35,000 件のブルートフォース攻撃で、攻撃者がログインで試した最も一般的なユーザー名

ソフォスが調査を依頼されたケースでは、ネットワークへの侵入に最もよく使われている方法の 1 つが RDP でした。そのため、外部からの RDP へのアクセスを遮断することは、IT 管理者にとって最も効果的な防御策の 1 つとなります。しかし、原因は RDP だけではありません。攻撃者は、ブルートフォース攻撃を実行したり、既知の脆弱性のエクスプロイトを実行してアクセス権を入手したりして、インターネットに接続されている他のサービスから初期アクセスを獲得していました。あるケースでは、特定の VPN サーバーソフトウェアのバグを悪用して初期アクセスを獲得した後、同じサーバー上の 5 年前のバージョンの Apache Tomcat のバグを悪用して、そのサーバーに新しい管理者アカウントを作成していました。

また、異なる組織が標的となった少なくとも 2 件のケースでは、最初のアクセスポイントが他の攻撃者によって残されていました。この攻撃者は、ソフォスが関与する数週間から数か月前にランサムウェアでこれらの組織を攻撃し、2 度にわたって被害を及ぼしていたことが後に判明しています。

1 つ目のケースでは、Cobalt Strike の残骸が発見されました。Cobalt Strike は、攻撃者がコンピュータにリモートアクセスするために悪用する商用ペネトレーションテストツールセットです。発見されたこの Cobalt Strike のアーティファクトは、Le Chiffre と呼ばれるランサムウェアを展開した (おそらく別の) 攻撃者によって残されたものでした。

2 つ目のケースの攻撃者は、REvil 攻撃のわずか 3 週間前に、別の種類のランサムウェアの最初の足場になっていたとされるマシン上で、RDP に対してブルートフォース攻撃を実行したと考えられます。

調査した REvil ランサムウェア攻撃の 1 つで使用された MITRE ATT&CK の手法

認証情報収集と権限昇格

ランサムウェア攻撃者は、ドメインコントローラーなどの内部ツールを使用してペイロードを展開することを好みます。窃取またはフィッシングされた認証情報を購入していない攻撃者は、最初の足場となったコンピュータが配置されているネットワークを監視することがよくあります。そのような攻撃者は、自由に利用できる正規のユーティリティを悪用してハードドライブに保存されているパスワードを抽出したり、Mimikatz などの高度なツールを使ってドメイン管理者アカウントの認証情報を取得したりします。一定時間内に認証情報を入手できるという保証はないため、これを実行する攻撃者には忍耐が必要になります。しかし、いったん必要なものを手に入れた攻撃者は、素早く行動します。

攻撃の下地を整えるfor the attack

ランサムウェア攻撃に向けて企業ネットワークを準備するには、驚くほどの労力が必要です。攻撃者は、内部の標的リストを作成し、ドメイン管理者権限を入手し、その権限を使って攻撃を邪魔するものをシャットダウンまたは妨害する必要があります。通常、最初に狙われるのは Windows Defender ですが、多くの場合、攻撃者はコンピュータ上で実行されているエンドポイント保護ツールを時間をかけて特定した後、実行中の保護プロセス/サービスを強制終了させ、それらのプロセス/サービスを削除するカスタムスクリプトを 1 つまたは複数実行します。

REvil を利用したある攻撃者は、ソフォスのサービスとプロセスを終了させるカスタムスクリプトを作成し、さらにソフトウェアのアンインストールを試みました。この試みは、ソフォス製品に搭載されている改ざん防止機能によって阻止されました。

Sodinokibi が使われた少なくとも 1 件のケースでは、攻撃者は標的ネットワークがソフォスのファイアウォールを使用しており、Sophos Central でエンドポイント保護を管理していることを突き止めていました。攻撃者は、IT スタッフの認証情報を入手した後、Sophos Central のコントロールパネルへのアクセス権を持つスタッフを見つけるまで認証情報を徹底的に試し、ランサムウェアの実行をブロックする機能をすべてシャットダウンしました。

ランサムウェアの常套手段となったボリュームシャドウコピーの削除

PowerShell スクリプトやバッチファイルなど、さまざまな保護機能を無効化する目的で攻撃者が使用する「下地整備」のためのコードを、日常的に目にするようになっています。たとえば、ボリュームシャドウコピーは、削除されたデータや暗号化されたデータの復元に役立つ可能性があるため、攻撃者によって削除されるのが一般的です。

同じタスクを実行するために使用できるコマンドの数はある程度限られていますが、その順序や完成度は攻撃者によって大きく異なります。また、単にスクリプトに連番を付けたり、害が無さそうな名前を付けたりする攻撃者もいれば、使用するファイルに下品な言葉や不愉快な表現を含んだ名前を付けたり、「Sophos」という単語と組み合わせたりする攻撃者もいました。

盗まれた大量のデータのアップロード (窃取)

本レポートで分析した Sodinokibi/REvil インシデントのうち、攻撃者が標的組織から大量の個人情報、機密情報、価値の高いデータを盗み出したケースは約半数にとどまりました。理論上、この種のデータアップロードは検出可能ですが、実際には、ソフォスが調査したケースで検出されませんでした。

実際のところ、必要な権限を入手した攻撃者は、通常数日間かけてファイルサーバーを調査し、大量の文書を収集して 1 つまたは複数の圧縮ファイルにまとめ、ネットワーク内のマシンに保存していました。盗み出すデータをすべて 1 か所に集めた後、アップロードを開始しますが、ネットワーク速度やデータ量に応じて、数時間から 1 日以上かかることもありました。

攻撃者はこれまでも、さまざまなクラウドストレージサービスを利用してデータを保持していますが、いくつか好みのサービスがあるようです。Mega.nz は、調査対象となったランサムウェア攻撃の実行者の間で好まれているクラウドストレージサービスのようです。大規模なデータ窃取や恐喝を試みた後に Sodinokibi が最終的に展開されたインシデントのうち、約 4 分の 3 で窃取されたデータの (一時的な) リポジトリとして Mega.nz が使用されていました。

Mega は、アップロードの高速化のために独自のクライアントアプリケーションを使用しており、後始末がされなかった攻撃ではこのクライアントアプリケーションが残されていました。また、少数の攻撃者は、FTP クライアント「FileZilla」のポータブルコピーをインストールして標的ネットワークの境界外にあるステージングサーバーにデータをアップロードするなど、他の方法を用いていました。

従来、データ漏洩で脅迫された場合には支払いに応じるように、というアドバイスが常識でしたが、それも変わりつつあります。犯人は、身代金を支払えばデータのコピーを削除すると言いますが、この約束は信頼できないと考えるのが一般的です。

攻撃の最終段階: 展開

攻撃者は、さまざまな方法でランサムウェアのペイロードを起動します。ドメインコントローラーから個々のマシンにコピーを送り込んだり、WMIC や PsExec などの管理コマンドを使用して、標的ネットワークで自身の制御下に置いている別のサーバーやワークステーションから直接マルウェアを実行したりします。

Sodinokibi/REvil には、特殊なコマンドフラグでマルウェアを起動することによってオペレーターが利用できる追加オプションがいくつかあります。ランサムウェアがエンドポイント保護ツールを迂回しようとする方法の 1 つとして、コンピュータをセーフモードに再起動してから暗号化処理を開始する方法があります。セーフモードのコンピュータは、サードパーティ製のドライバーやサービスが実行されていない Windows の診断モードで起動しますが、ランサムウェアは、セーフモードで実行されるアプリケーションの (非常に短い) リストに自身を追加します。REvil には、攻撃者が使用できるセーフモードフラグがあります。

あるケースでは、セキュリティソフトウェアを迂回するために、VirtualBox のフルコピーと仮想ディスクファイルを配信してインストールし、標的ホストコンピュータにコピーされた Windows 10 の仮想マシンゲスト内でランサムウェアを実行し、ホストを標的とする暗号化コマンドをゲストから実行するという攻撃が確認されました。

暗号化された長いコマンド文字列。これを復号化するには、そのマシンについての詳細な知識が必要。

また、WMI を使用して暗号化するマシンにサービスエントリを作成するケースも見られました。このエントリには、暗号化された長いコマンド文字列が含まれており、特定の変数を知らなければ復号化することはできません。これらの変数には、マシン名、IP アドレス、ドメイン、ユーザー名などの情報が含まれていました。サービスがインストールされたコンピュータのこれらの情報をすべて把握していなければ、最終レイヤーの復号化は不可能です。

ランサムウェア自体の仕組み

Sodinokibi は、暗号化され圧縮された実行ファイルとして届けられ、研究者の意欲をそぐように設計された解析防止機能が組み込まれています。このバイナリファイルは、アプリケーションにハードコードされた独自の構成と身代金要求テキストでコンパイルされています。

Windows Defender の定義ファイルを削除する REvil のサブルーチン

最初に実行されたマルウェアは、標的マシンをプロファイリングし、実行中プロセスのリストを作成し、ボリュームシャドウコピー、Windows Defender で使用されるウイルス定義データベース、およびマシンにインストールされている多様なサードパーティ製プログラムが使用する一時ファイルまたはバックアップファイルを削除します。

REvil に無視されるファイル

REvil は、実行中のプロセスのリストを検索して、構成にエンコードされたプロセス名のリストに一致するものを探し、そのプロセスを強制終了しようとします。30 数個あるプロセス名の中には、データベースサービス、Office アプリケーション、メールクライアント、バックアップユーティリティ、Firefox ブラウザが含まれています。

暗号化を開始する前に REvil が強制終了を試みるプロセスの一部

その後、インストールされているサービスを列挙します。また、少なくともソフォスに届けられたサンプルのいくつかは、ソフォスのサービス、および他の 7 つの商用ソフトウェアツールのサービスを無効化しようと試みます (なお、ソフォスのサービスを無効化する試みは常に、改ざん防止機能によって阻止されます)。

ランサムウェアのバイナリの中で復号化された REvil の身代金要求メモ

次に、このランサムウェアは身代金要求メモを復号化して、C: ドライブのルートに書き出します。このメモには、Tor の Web サイトのアドレスが記載されており、Tor ブラウザ、または Tor ゲートウェイの Web サイトにある従来のブラウザのいずれかを使って攻撃者に連絡を取る方法と、攻撃者が復号化ユーティリティで使用する長い鍵が書かれています。

身代金要求メモの通知バナー

この構成には、エンコードされた .bmp 画像ファイルが埋め込まれており、ランサムウェアはこのファイルを %AppData%\Local\Temp フォルダに書き込み、感染したコンピュータのデスクトップ画像に設定します。この画像には、「All of your files are encrypted! Find [name of the ransom note] for more instuctions. (あなたのファイルはすべて暗号化されました! 詳しくは [身代金要求メモの名前] をご覧ください。)」 と書かれています。 身代金要求メモのファイル名は、ランサムウェアが暗号化するすべてのファイル名に追加される 8 文字のランダムな文字列と同じもので始まっています。

Salsa20 アルゴリズムの使われ方

Sodinokibi/REvil は、curve25519/salsa20 アルゴリズムを使用してファイルを暗号化します。組み込まれている構成に含まれているのは、標的のファイルタイプのリストではなく、暗号化の対象ではないフォルダ、ファイルタイプ、特定のファイル名の長いリストです (暗号化しないのは、標的コンピュータの安定性を維持するためです)。

部分的に暗号化されたファイルの例。Salsa20 によるファイルの暗号化の段階を示しています (「expand 32-byte k」の位置に注目してください)。

このランサムウェアは、実行中にメンテナンスタスクをいくつか行います。組み込まれている構成には、インターネットドメイン名のリストが含まれており、感染プロセスに関する統計情報を、1 つまたは複数のドメインのランサムウェアオペレーターに送信します。これらのドメインは、強固な IoC (侵害の痕跡) となります。

また、Sodinokibi/REvil は、専用の支払い方法として Monero 暗号通貨を使用するようになりました。Monero にはビットコインにはないプライバシー機能が追加されているため、DarkSide ランサムウェア攻撃を受けた Colonial Pipeline が支払った身代金を FBI が回収できたように、このランサムウェアの攻撃者に支払われた身代金が回収される可能性は低いと考えられます。

IT プロフェッショナルに向けたアドバイス

ソフォス製品は、さまざまな形態の Sodinokibi/REvil を Troj/Sodino-*Mem/Sodino-*HPMal/Sodino-A として検出します。

すべてを網羅してはいませんが、以下の推奨事項に従うことが非常に重要です。

  • アラートの監視と対応 – 環境内の脅威を監視して対応できるよう、適切なツール、プロセス、およびリソース (人) を確保しておきます。セキュリティアラートやイベントが発生した際に、タイムリーに調査して対応するスタッフがいることが重要です。ランサムウェアの攻撃者は、スタッフが見ていないことを想定して、オフピークの時間帯、週末、または休日に攻撃を仕掛ける可能性があります。
  • 強力なパスワード – 強力なパスワードが、最初のセキュリティ対策の 1 つとなります。最低でも 12 文字以上の複雑なパスワードを使用してください。パスワードマネージャーを使用すると、アカウントごとに異なる複雑なパスワードを設定することができます。パスワードの使い回しはしないでください。
  • 多要素認証 (MFA) – 強力なパスワードであっても推測される可能性があります。電子メール、リモート管理ツール、ネットワーク資産などの重要なリソースへのアクセスを保護するためには、どのような形態であっても多要素認証を導入してください。多要素認証を何も使用しないよりはましです。スマートフォンに搭載されている TOTP MFA アプリは、長い目で見ると電子メールや SMS ベースの MFA システムよりも安全かもしれません。攻撃者がすでにネットワークに侵入している状況では、電子メールはすでに漏洩しているかもしれません。また、稀ではありますが、SIM スワッピングによってテキストメッセージの MFA コードが漏洩する可能性があります。完璧を目指して何もしないより、出来ることから始めてください。どの種類の MFA でも、効果はあります。
  • アクセス可能なサービスのロックダウン – ネットワークの外側から自社のネットワークをスキャンし、VNC、RDP、またはその他のリモートアクセスツールで頻繫に使用されるポートを特定してロックダウンします。リモート管理ツールを使用してマシンにアクセスできるようにする必要がある場合は、そのツールへのアクセスを、ログイン時に MFA を使用する VPN の背後に配置するか、他のマシンから隔離された独自の VLAN にセグメンテーションするかしてください。
  • セグメンテーションとゼロトラスト – ゼロトラストネットワークモデルの実現に向けて、最低限、重要なサーバーを個別の VLAN に配置してサーバー同士を離し、ワークステーションとも離してください。
  • 社内の資産とアカウントのインベントリ (確認) – ネットワーク内に保護されていないデバイスやパッチ未適用のデバイスが存在しているとリスクが高まり、悪意のある行為に気付かなくなる可能性があります。ネットワーク上のすべてのデバイスを保護することが極めて重要であり、そのためには、接続されているすべてのコンピュータと IoT デバイスの最新のインベントリを作成する必要があります。ネットワークスキャンや物理的なチェックを行ってデバイスを見つけ出し、目録を作成します。
  • 製品の構成 – セキュリティ製品がベストプラクティスのガイダンスに従って構成されていることを確認します。ポリシーの設定と除外項目を定期的に確認してください。新機能は自動的には有効にならない場合があります。
  • Active Directory (AD) – AD のすべてのアカウントに対して定期的な監査を行い、目的に応じて必要以上のアクセス権を持つアカウントがないことを確認します。退職した従業員のアカウントは、直ちに無効化してください。
  • すべてにパッチを適用 – Windows およびその他のソフトウェアを最新の状態に保ってください。インターネットに接続するマシンやドメインコントローラーなどの重要なシステムにパッチが適用されていることを確認します。

Sophos Live Discover のユーザーは、次の表のような SQL クエリを実行して、管理対象ネットワーク上のデバイスからのテレメトリを調査し、管理対象デバイスの異常な動作や予期しない動作を検出することができます。

謝辞

SophosLabs の研究者である Anand Ajjan、Hajnalka Kope、Mark Loman、および Rapid Response のマネージャー Peter Mackenzie が、REvil 攻撃とマルウェアの動作について情報を提供してくれました。