メインコンテンツへスキップ
Tanium ブログ

SamSamランサムウェア:Taniumができること

SamSamランサムウェア:Taniumができること

お客様と協力して、SamSamランサムウェアの最新亜種から組織を保護する取り組みを進める中で、その動作メカニズムについてさらに理解を深めることができました。 ここでは、その調査結果を共有するとともに、当社の「Threat Response」モジュールが、脅威ハンターがこの脅威を迅速に検知し、対応できるようにする方法についてのガイダンスもご紹介します。

手前に光るキーボード、その背景にバイナリコードが重ねられた爆発シーンが描かれた合成画像

(画像:Pete Linforth / Pixabay)

多くの組織が、 、ここ数ヶ月間話題となっているランサムウェアの亜種であるSamSamの被害に遭っています。 ネットワークを麻痺させることで知られるこの機会主義的な攻撃は、 (ヘルスケア)、、 (政府)、 、(小売)、など、複数の業界で確認されています。

SamSamは新しい脅威ではなく、実環境での活動が2年以上前から確認されています。 ネットワークに感染させた後、ハッカーたちは復号鍵と引き換えに、被害者からビットコインを要求して身代金を脅し取っています。 この亜種を検知するためのTTPはそれほど複雑ではありませんが、多くの組織が境界のセキュリティ対策を不十分にしているために被害に遭っており、それが感染拡大の最初の侵入経路となってしまっています。

Taniumでは、当社の「 」の脅威対応モジュール()を活用し、お客様が最近のSamSamの感染拡大からシステムを保護し、適切に対応できるよう支援しております。このモジュールにより、SamSamに関連する悪意のある活動を検知し、脅威に対して適切な措置を講じ、感染の原因となる根本的な脆弱性に対処することが可能となります。 その仕組みについては後ほど詳しくご説明いたしますが、まずはこの特定のランサムウェアの亜種について、これまでに判明した情報を共有させていただきたいと思います。

SamSamの手口

SamSamの攻撃者たちは、パッチが適用されていないバージョンのJava JBOSSアプリケーションサーバーにおけるリモートコード実行の脆弱性を悪用していることが、初めて確認されました。 しかし、過去 18 か月の間、SamSamの背後にいる攻撃者は、被害組織への初期アクセス権を得るために、より幅広い脆弱性を悪用してきました。 よく使われる手法の一つは、リモートデスクトップやRDPアプリケーションのゲートウェイをインターネットに公開しているホストを標的とするものです。 脅威アクターは、一般的なパスワードやデフォルトのパスワードを見つけ出すために、簡易なRDPブルートフォース攻撃ツールを活用しています。

攻撃者は、ネットワークセグメント内に足場を築いた後、NET.EXEなどのWindows標準コマンドを使用して、ネットワーク上のホストやユーザーを一覧表示することができます。 攻撃者は、悪意のあるPowerShellスクリプトを利用して、認証情報を収集するユーティリティ「Mimikatz」を読み込み、特権アカウントへのアクセス権を取得しています。 攻撃者は、横方向への移動を行い、追加の認証情報を取得することで、最終的にはActive Directoryドメイン管理者権限や、高度な特権を持つサービスアカウントを取得することが可能になります。

これらの認証情報を入手した攻撃者は、ドメインコントローラーに感染させ、バックアップを破壊し、さらに広範囲のエンドポイントを自動的に標的にして暗号化を進めることができます。 攻撃者は、バッチスクリプトやWMI、あるいはPsExecユーティリティを使用して、マルウェアを展開・実行します。

変数とecho出力が含まれたSamSamマルウェアの実行コマンドを示すコマンドラインのスクリーンショット

図1:悪意のあるバイナリを起動し、変数を設定するSamSamのバッチスクリプトのコピーです。

SamSamの新しい亜種では、ファイル拡張子が「.stubbin」の「runner」ファイルを参照していることが確認されています。 この手法では、.NETバイナリを介してマルウェアを読み込み、そのバイナリがマルウェアを復号して実行します。 暗号化ルーチンが開始されると、ファイルは暗号化され、新しいファイル拡張子が付いた名前で上書きされます。また、身代金要求書として機能する別の.htmlファイルが作成されます。 このランサムウェアは、ビットコインでの支払いを要求しており、適切な復号鍵を所持していることを証明するために、2つのファイル(hostsファイルを除く)を無料で復号するサービスも提供しています。

SamSamランサムウェア:Tanium Threat Responseがどのように役立つか

Threat Responseには、「Signals」と呼ばれる強力な検知機能が搭載されており、悪意のある活動に対して継続的な監視とリアルタイムのアラート提供を行います。 Tanium EDRチームは、一般的な攻撃手法を顧客に高精度で特定していただくため、MITRE ATT&CKフレームワークに基づいて作成・整合された「シグナル」のフィードを管理しています。 このセクションでは、Signalsに標準で搭載されているシグナルの一部が、SamSam攻撃の構成要素を自動的に特定する方法について解説します。また、お客様が独自のカスタムシグナルを作成する方法についてもご紹介します。

SamSamの攻撃者は、Mimikatzを利用して、特権ユーザーやドメイン管理者へのアクセス権を昇格させることがよくあります。 攻撃者は、このコマンド(または類似のバリエーション)を使用して、PowerShell ベースの Mimikatz をダウンロードし、実行します:

GitHubリポジトリから悪意のあるスクリプトをダウンロードするためのPowerShellコマンドのスクリーンショット

図 2:脅威アクターが、PowerShellを介してMimikatzをダウンロードし、実行するために以下のコマンドを使用していることが確認されています。

「不審なPowerShellコマンドライン」シグナルは、その実行内容に基づいて、このPowerShellの実行を特定します。 PowerShell コマンドを実行すると、たとえシステムが社内ネットワークに接続されていなくても、数秒以内に Signals のアラートが Tanium コンソールに届きます。

マルウェアの永続化を目的としたプロセスの作成およびレジストリの変更を示す、PowerShell コマンドのスクリーンショット

図 3:不審なPowerShellコマンドラインに関するTaniumシグナルアラートの例。

使用されるコマンドラインにかかわらず、Taniumは、非典型的なプロセス系を通じて実行されたPowerShellも検出し、アラートを発信することができます。これは、マクロマルウェアやその他の悪用されたアプリケーションを介してペイロードが配信される際に、よく発生する現象です。

攻撃者が、PowerShell を通じてリフレクティブに読み込むのではなく、スタンドアロンの Mimikatz 実行ファイルを直接実行することを選択した場合でも、Tanium のシグナルフィードには、いくつかの検知メカニズムが用意されています。 以下のスクリーンショットは、そのようなアラートの例を示しています:

SamSamランサムウェアのプロセス詳細およびコマンドライン実行情報を示すスクリーンショット

図 4:Mimikatzの実行に関するTaniumシグナルアラートの例。

SamSamの攻撃者がよく用いるもう一つの手口は、バックアップファイルが確実に削除されるようにすることです。 これにより、復旧作業が著しく困難になり、被害者が身代金を支払う可能性が高まります。 よく使われる方法の一つは、Windowsのボリュームシャドウコピーを削除することです。 Tanium Threat Responseは、このアクティビティが実行された際にそれを検出し、アラートを発します。

SamSamマルウェアによって生成された親プロセスと子プロセスを示す、プロセスツリーの可視化画面のスクリーンショット

図 5:ボリューム・シャドウ・コピーの削除に関するTaniumシグナルアラートを調査するためのピボット操作。

アラートに関連して実行された操作に注目することで、「vssadmin delete shadows」コマンドだけでなく、コマンドプロンプトで行われたその他の操作も確認することができます。 Taniumがエンドポイントのアクティビティを可視化する機能は、侵害が発生する前の経緯や、その事象がもたらした影響を把握するのに役立ちます。

PsExec の動作の検出

Tanium Threat Responseのユーザーは、ファイル、ネットワーク、プロセス、レジストリのイベントを任意に組み合わせて独自の「シグナル」を作成し、リアルタイムでの検知やアラート発行を行うことができます。 さらに、シグナルは企業全体ではなく、特定のコンピュータグループに合わせてカスタマイズして適用できるため、セキュリティチームはシステムの種類に応じて、異なるレベルや種類の監視を実施することが可能になります。

以下の例では、SamSamによるSysinternalsのPsExecユーティリティの使用を検出するための簡単なシグナルと、関連する異常を特定するためのTaniumのエンタープライズ・ハンティングおよび検索機能の活用についてご紹介します。 PsExecはシステム管理者によって正当な目的で頻繁に使用されるため、誤検知を防ぐために、これらのシグナルをカスタマイズする必要があるかもしれません。 インシデント発生時には、組織は迅速な検知と対応を図るために、ある程度の「ノイズ」を容認することを選択する場合があります。

SamSamの攻撃者は、PSEXECを頻繁に利用して、システム内を横方向に移動し、バッチスクリプトを展開・実行します。そのスクリプトが、マルウェアをインストールします。 コマンドラインやファイル名の命名規則は、キャンペーンごとに異なる場合があります。 以下に、そのバリエーションの1つを検出するための簡単なシグナルの例をご紹介します:

PsExec が BAT ファイルを起動していることを示すイベントログの検出画面のスクリーンショット(プロセス間の関係に関する詳細を含む)

図 6:PSEXECによるBATファイルの実行に関するTanium Signalのアラート例。

受信側システムでは、PsExec サービスバイナリである PSEXESVC.EXE が CMD.EXE のインスタンスを起動し、コピーされたバッチスクリプトを実行します。 その結果生じるアクティビティは、以下のシグナルで検出できます:

process.parent_command_line が「psexesvc.exe」で終わり、かつ process.command_line に「cmd.exe /c」が含まれ、かつ process.command_line に「.bat」が含まれている

Signalsでは、process.path、process.command_line、process.parent_path、process.parent_command_lineを自由に組み合わせて指定できるため、他の亜種に対する追加の検知ルールを簡単に構築できます(また、正当なアクティビティを除外することも可能です)。 もちろん、これらの例では基本的なプロセスマッチングのみを使用していますが、ユーザーはファイル操作、ネットワーク操作、レジストリ操作もシグナルに含めることができます。

調査担当者は、PsExecを悪用するこの攻撃の他のバリエーションについても調査したいと考えるかもしれません。 「Trace Executed Process Trees」センサーを使用すると、PsExec サービスバイナリ(PSEXESVC.EXE)を親プロセスとして起動した、一意のプロセスシーケンスの発生頻度(カウント数)を簡単に比較することができます。 これにより、ドリルダウンやさらなる分析を行うために、他の外れ値を特定するのに役立ちます。

PsExec および cmd.exe の亜種を含む、PsExec から生成されたプロセスのプロセスツリーの実行状況を示す表

図 7:各ホスト間で、PsExecサービスによって起動されたプロセスツリーの比較。

また、調査担当者はTaniumを使用して、以下に示すように、ネイティブのWindowsシステムイベントログからPsExecに関連するサービスインストールイベントを検索することもできます。 これにより、補完的な証拠源が得られるだけでなく、インシデント発生前にTaniumが導入されていなかった可能性のあるホスト上の証拠を発見することも可能になります。

PsExec サービスのパラメータが表示された、サービスシステムのイベントログ検索画面のスクリーンショット

図 8:Tanium Threat ResponseによるPsExecサービスの作成に関する検索。

最初の侵入経路の特定:リモートデスクトップ

前述の通り、最近のSamSamによる攻撃キャンペーンは、リモートデスクトッププロトコル(RDP)をインターネットに公開しているエンドポイントを持つ組織を標的としています。 一般的な管理者ユーザー名に対する自動化されたブルートフォース攻撃により、これらのシステムへの初期アクセスが可能になる場合があります。 攻撃が成功すれば、RDPホストを足掛かりとして、環境の残りの部分を標的にすることができます。 たとえ被害者が攻撃のその後の段階を察知したり阻止したりできたとしても、こうした脆弱な侵入経路を特定・解消できなければ、ネットワークは再び侵害される危険にさらされたままとなります。

Tanium を利用することで、組織はネットワーク内でリモートデスクトップがどこで公開されているか、またどのように利用されているかを迅速に特定することができます。 たとえば、ユーザーは、現在ポート 3389でリスニングしているすべてのシステムや、このポートとの過去のネットワーク接続履歴があるシステムを照会することができます。 結果は、ネットワーク範囲、ホスト名、OS、ファイアウォール情報、その他の関連属性といった追加のデータポイントを用いて、内容を充実させたり、グループ分けしたりすることができます。

コンピュータ名、オペレーティングシステム、およびIPアドレスが表示されたTanium Interactのクエリ画面のスクリーンショット

図 9:ホスト名、IPアドレス、OSごとに、ポート 3389 でアクティブにリスニングしているエンドポイントを特定します。

システム間の接続状況を示すネットワーク接続トレースデータのスクリーンショット(ヒートマップによる可視化付き)

図 10:ポート 3389への過去のネットワーク接続を検索しています。

また、Tanium Threat Response では、オペレーティングシステムやアプリケーションのイベントログなどのネイティブソースを検索し、追加の証拠を見つける機能も提供しています。 たとえば、「リモートデスクトップイベントログ検索」センサーを使用すると、Windows イベントログ内、具体的には Windows ターミナルサービスの運用ログに記録されている、過去の RDP ログオン成功履歴を検索することができます。

リモートデスクトップのイベントログ検索結果のスクリーンショット。リモートログインの試行と送信元IPアドレスが表示されています。

図 11:RDPイベントログ検索センサーの概要を示すスクリーンショットです。

検知と対応を超えて

というプラットフォームとして、Taniumが提供する幅広いセキュリティおよびIT運用機能は、組織が攻撃への対応において、EDR/EPPといった単体のソリューションが持つ従来の限界を乗り越えるのに役立ちます。 本記事で取り上げたSamSamの事例に関連する2つの例をご紹介します。

Tanium Discover は、Tanium のアーキテクチャを活用して、管理対象外のホスト(リモートデスクトップなどのサービスがインターネットや信頼できないネットワークに公開されている可能性のあるホストを含みます)を効率的に特定します。 Discoverは、パッシブ手法とアクティブ手法の両方を用いて、エンドポイントのフィンガープリントを取得するための複数の手段を採用しています。 ユーザーは、管理対象外のエンドポイント上のOSや開いているポートを確認したり、通知やアラートのワークフローを作成したり、さらには信頼できないデバイスをブロックしたりすることができます。

MACアドレスやプラットフォームの詳細とともにネットワークインターフェースが表示された、Tanium Discoverのインターフェースのスクリーンショット

図 12:Tanium Discoverで、RDPポートが開いている管理対象デバイスおよび非管理対象デバイスを確認する様子。

MACアドレスや開いているポートなど、詳細なインターフェース情報を表示したTanium Discoverのスクリーンショット

図 13:Tanium Discover における管理対象外のデバイスインターフェースの詳細の確認。

是正措置を行う際には、 Tanium Protect により、アプリケーション制御ポリシーを適用して信頼できないソフトウェアの実行を制限したり、エンドポイントのファイアウォールポリシーを適用して不要なネットワークトラフィックを制限したりすることができます。 例えば、多くのシステム環境において、「powershell.exe」がポート 80 または443を介して外部IPアドレスとの通信を開始することに、正当な必要性がない場合があります。 これにより、リモートサイトにホストされているスクリプトを実行するために一般的に利用されている手法の1つが妨げられる可能性があります。

Tanium Protectのスクリーンショットで、ファイアウォールポリシーの適用状況と接続セキュリティの指標が表示されています

図 14:Protectでのエンドポイント・ファイアウォール・ポリシーの確認。

管理者は、プラットフォーム全体で定義・利用できるのと同じ動的なTaniumコンピュータグループに対して、Protectポリシーを適用することができます。 これにより、最も一貫性があり安定した構成を持つエンドポイント(ドメインコントローラーなど)から順に、段階的にセキュリティ対策をテストし、導入することが容易になります。

SamSamの脅威アクターが用いる戦術は、高度でも画期的でもありませんが、境界防御や特権アカウント管理における一般的な欠陥を浮き彫りにしています。 これらの活動について全社的な可視性を確保することで、脅威ハンティングのプロセスを迅速化することができます。 これらのセキュリティ対策を検証することで、この脅威に対して先手を打って防御したり、侵入者の行動を追跡したりすることが可能になります。

Taniumの実際の動作をご覧になりませんか? の個別デモをご予約いただくか、毎週開催されているウェビナーにご参加ください。 「 」の今後のイベント()にて、当社のTaniumエキスパートにご相談ください。

著者について:アーロン・ゴールドスタイン氏は、Taniumのエンドポイント検出・対応(EDR)チームのディレクターを務めています。 彼は、9年間にわたりインシデント対応のコンサルティングおよび脅威インテリジェンス管理に携わった後、Taniumに入社しました。 アーロン氏はこれまでのキャリアにおいて、9カ国にまたがる 250 件以上のセキュリティ関連プロジェクトを主導してきました。その内容は、注目度の高い調査やインシデント対応から、本格的なサイバー侵入訓練演習の策定やカスタマイズに至るまで多岐にわたります。 アーロン氏は、複雑かつ大規模な情報漏洩事件における独自のインシデント対応の経験を活かし、あらゆる規模の環境を保護するための戦略的なソリューションを提供しています。 彼は、難しいテーマを分かりやすい研修内容に落とし込むことに長けており、その知識とスキルを活かして、重要システムのセキュリティ確保という、ますます深刻化する課題に対して独自のアプローチを提案しています。 世界の安全確保に没頭していないときは、アーロンは人里離れた場所への旅行やハイキングを楽しんでいます。