マルウェア
Trend Micro Vision One™による「Cobalt Strike」の調査を解説
Cobalt Strikeは商用のペネトレーションテストツールですが、近年の標的型攻撃においてそのRAT機能が悪用される事例が目立っており、「Ryuk」、「DoppelPaymer」、「Povlsomware」などのランサムウェア攻撃でも悪用事例が確認されています。この記事では今回の調査事例を元に、Cobalt Strikeを悪用するこれらのランサムウェア攻撃の被害を阻止および除去するために必要な痕跡解明の手順を解説します。
2021年5月下旬、トレンドマイクロの「Managed XDR」は、お客様のエンドポイントにおいて注目すべき「Trend Micro Vision One™(以下、Vison One)」のアラートを通知しました。その後、他の類似した感染端末でもCobalt Strikeの検出が確認されたため、詳細な調査を実施しました。
この記事では、今回の調査で実施した戦術および手順を説明します。今回の事例では、あるエンドポイントからのアラートをきっかけにして、さらに他の感染端末のエンドポイントを示す証拠や手がかりを収集することで、最終的に攻撃元を明らかにしました。
Cobalt Strikeは商用のペネトレーションテストツールですが、近年の標的型攻撃においてそのRAT機能が悪用される事例が目立っており、「Ryuk」、「DoppelPaymer」、「Povlsomware」などのランサムウェア攻撃でも悪用事例が確認されています。この記事では今回の調査事例を元に、Cobalt Strikeを悪用するこれらのランサムウェア攻撃の被害を阻止および除去するために必要な痕跡解明の手順を解説します。
図1:被害を受けた環境でのCobalt Strikeによる活動のマッピング
■ 調査の概要
今回の調査では、最初にCobalt Strikeに関連するいくつかの検出を発見し、その後、機械学習検索によってマルウェア「IcedID」が検出されました。このように、Cobalt Strikeが最初に検出される事例では、その後ランサムウェア拡散に繋がる事例が多く確認されています。実際、同様のケースとして、Cobalt Strikeがランサムウェア「Conti」の攻撃キャンペーンに利用された事例も報じられています。
詳細の説明に入る前に、まずは今回の調査で行った手順を説明します。今回の手順にはいくつかの相互に関連した段階があり、それらは同時に手順全体を通して繰り返し発生するものでもあります。これらの段階は主に以下の通りとなります。
- 感染の痕跡(Indicators of compromise、IOC)のリストを作成し、被害状況を知るためにTTPsを観察する。この結果は、次の段階での改善に利用される
- 生成されたアラートの背景を確認する
- 検知に関連するファイルの実行プロファイルを調査する
- エンドポイントから追加のログを収集してイベントを相関させる
- アラートの時間帯周辺で発生した検出を確認する
実際、これらの段階を踏むことで、1つのエンドポイントからCobalt Strikeによるアクションを辿り、その全容と起源を明らかにすることができました。下図は、今回の調査で追跡したCobalt Strikeの活動をマップ化したものであり、どこから調査が開始されたかなどがエンドポイント1で示されています。
図2:被害を受けた環境でのCobalt Strikeによる活動のマッピング(再掲)
なお、今回攻撃対象となったお客様は、調査に先立って対応策が提供されているため、今回の調査内容が公開される前に、お客様側で万全の対策が行われた点を明記しておきます。
■ 初期検出、IoC、確認されたTTP
先述のとおり、今回の調査は、あるエンドポイントでの不審な動きを確認したことから始まりました。ここでは、最初に確認されたこのエンドポイントを「エンドポイント1」と呼ぶことにします。その上で、本当の侵入経路を明らかにするため、まずは、このエンドポイントから調査を開始しました。
エンドポイント1
エンドポイント1のアラートを確認すると、今回の調査のきっかけとなるいくつかの重要な点が確認されました。
- 「AdFind.exe」 が「 Users\Public」というディレクトリに ダウンロードされた
- 図1に示されたとおりCobalt Strikeの検出が確認された
- 「Mobsync.exe」が情報収集のコマンドを実行していた
図3:Cobalt Strikeの初期指標を示す「Vision One」のインターフェース
まず、不審なプロセスである「mobsync.exe」を確認します。この際、「Vision One」の「実行プロファイル」機能での根本原因分析により、実行に繋がる可能性のある感染経路をピンポイントで特定することができました。エンドポイント1の感染経路は、ユーザが「excel.exe」というファイルを実行し、それが「rundll32.exe」を作成することから始まりました。「rundll32.exe」は「iroto.tio」というファイルを読み込み、前述の「mobsync.exe」を実行させました。なお、この「mobsync.exe」は、メモリ中で正規プロセスの中をくりぬいて不正なプロセスのコードに入れ替える「プロセスハロウイング(Process Hollowing)」の手法によって乗っ取られた正規のMicrosoft Windowsシステムプロセスです。
図4:「Vision One」上でマルウェアのソースとして表示されているファイル「excel.exe」
この際、「Vision One」の実行プロファイル機能では、調査に役立つ可能性のある追加の指標を見つけるため、ノードを拡張する選択肢もありましたが、今回の事例の場合はソースとなっている「excel.exe」およびその時点で最終的なペイロードと推測された「mobsync.exe」を調べることにしました。
図5:「Vision One」から取得した2つのURLにアクセスするファイル「excel.exe」
まず「excel.exe」について確認します。このファイルは「dharamdiwan[.]com」と「lenoirramosjr[.]com」という2つの不審なURLにアクセスした後、「iroto.tio」(図3には表示されていません)を作成し、その上で、その作成されたファイルを「rundll32.exe」を介して読み込むことが確認されました。
「Vision One」のOAT(Observed Attack Techniques)では、「excel.exe」とその子プロセスを介して使用されるテクニックも示されており、その1つが 「MS Office Application Command Execution Via DDE」でした。この点に関して「Vision One」のコンソールでさらに詳しく調べたところ、DDEを利用した不正なXLSファイルとして「analysis-57909253.xlsx」が確認されました。
図6:「mobsync.exe」に関連するイベント
「mobsync.exe」に戻って確認してみると、図5で示されたように、他にもいくつかのイベントが存在していました。実行された活動をまとめると以下のようになります。
これらは、以下のIPアドレスへの接続を試みます。
- 222[.]153[.]124[.]130
- 109[.]106[.]69[.]138
- 75[.]118[.]1[.]141
- 92[.]59[.]35[.]196
- 104[.]98[.]42[.]5
- 204[.]16[.]247[.]35 (madesecuritybusiness[.]com)
そして下表のように、発見/内部偵察のコマンドを実行し、その上でさらに「mobsync.exe」のプロセスを生成します。
Date and Time (UTC) | Process |
5/26/2021 0:41 | whoami /all |
5/26/2021 0:41 | cmd /c set |
5/26/2021 0:41 | arp -a |
5/26/2021 0:41 | ipconfig /all |
5/26/2021 0:41 | net view /all |
5/26/2021 0:42 | nslookup -querytype=ALL -timeout=10 _ldap._tcp.dc._msdcs.[WORKGROUP] |
5/26/2021 0:42 | net share |
5/26/2021 0:42 | route print |
5/26/2021 0:42 | netstat -nao |
5/26/2021 0:42 | net localgroup |
5/26/2021 1:50 | C:\WINDOWS\SysWOW64\mobsync.exe |
5/26/2021 1:50 | C:\WINDOWS\system32\ping.exe -t 127.0.0.1 |
5/26/2021 1:58 | C:\WINDOWS\SysWOW64\mobsync.exe |
5/26/2021 1:58 | esentutl.exe /r V01 /l”C:\Users\[Endpoint-1-User]\AppData\Local\Microsoft\Windows\WebCache” /s”C:\Users\[ENDPOINT-1-USER]\AppData\Local\Microsoft\Windows\WebCache” /d”C:\Users\[ENDPOINT-1-USER]\AppData\Local\Microsoft\Windows\WebCache” |
5/26/2021 5:33 | C:\WINDOWS\SysWOW64\mobsync.exe |
5/26/2021 5:33 | C:\WINDOWS\system32\cmd.exe /C ping [ENDPOINT-4] |
表1:「mobsync.exe」が実行するコマンドの一覧
また、今回の調査では、エンドポイント1に配備されたハッキングツール「Bloodhound」および「ADfind.exe」も確認しました。これらのツールは、基本的にActive Directoryから情報を抽出するために使用されます。
Date and Time (UTC) | Process |
5/26/2021 5:00 | C:\WINDOWS\system32\cmd.exe /C del 20210526145501_BloodHound.zip YmNhMTJiMzAtYTgxZi00ZWRmLWE2ZjctZTc3MDFiZGM2ODBj.bin |
5/26/2021 5:04 | C:\WINDOWS\system32\cmd.exe /C AdFind.exe -f objectcategory=computer -csv name cn OperatingSystem dNSHostName > [REDACTED].csv |
表2:エンドポイント1のログにあるハッキングツール「Bloodhound」および「ADfind.exe」
さらには「Vision One」および「Trend Micro Investigation Toolkit (TMIK)」を使うことで、パスワードのハッシュ値をメモリから抽出し、そのハッシュ情報で認証を行う「PtH(Pass-the-Hash)攻撃」の可能性も特定することができました。また、攻撃対象の端末に高い権限のアカウントによるログインがあった場合、攻撃者は、これらのログインのパスワードのハッシュ値を抽出することで他のネットワークシステムへの水平移動が可能になります。この場合、イベントログには「Found 4624 event logs with seclogo as process for ENDPOINT-1-USER」と記載されたPtH攻撃の手法に関連するエントリも確認されました。
図7:「Pass-the-Hash攻撃」手法の検出
こうしたエンドポイン1以外にも、Cobalt Strikeが検出されたエンドポイントがいくつか存在していました。ここでは2つのエンドポイントを取り上げていますが、その理由としては、これらのエンドポイントには最初にマルウェア感染した端末を特定するために必要なIoCやTTPなどの証拠がすでに含まれていたためです。
エンドポイント2
ここではもうひとつのエンドポイントを「エンドポイント2」とします。この「エンドポイント2」は、「Vision One」がCobalt Strikeの検出を実際に警告した端末となります。
図8:エンドポイント2におけるCobalt Strikeの検出
「Vision One」からは、「ntoskrnl.exe」が「49c4b8e.exe」を実行していることが示されています。この一連のプロセスは、ファイルがSMB経由で転送されたことを示唆しており、検出によって停止した内部での水平移動の証拠となります。
IoCおよびTTPの取得
こうしてエンドポイント1およびエンドポイント2で得られた知見をもとにTTPを観察し、「Vision One」が把握するすべての端末で検索可能なIoCリストを作成することができました。この検索作業は、以下の指標に基づいて行われました。
- 検出されたファイルのファイル名とハッシュ
- 「excel.exe」が「rundll32.exe」を生成したり、「mobsync.exe」が「cmd.exe」を生成するなどの疑わしい動作
- コマンド&コントロール(C&C)接続の可能性
- 侵害されたアカウントが内部の水平移動に使用され、SMB経由でファイルが転送される
- アラートが発生した時間帯に発生した検出(一般的に使用される時間帯は過去7日間)
「Vision One」でIoCを検索すると、図1のとおり、本件に関連する他の複数の端末がヒットしました。そのような端末の例として「エンドポイント3」と名付けた端末を説明します。
「エンドポイント1」と同様、この端末でもマルウェアが検出されており、「rundll32.exe」を生成する「excel.exe」の実行がブロックされていました。また、ファイル「iroto.tio」に関連する機械学習検索での検出も確認されました。最後に、「Workbench」のアラートを調べると、Cobalt Strikeのエントリが確認されていました。
図9:「エンドポイント3」でのCobalt Strikeの検出
そして「エンドポイント3」の実行プロファイルを調査したところ、「excel.exe」プロセスは、先述と同様の疑わしいドメインに接続していました。また、ファイル「iroto.tio」も作成されていました。
図10:「excel.exe」の活動を示す「エンドポイント3」の実行プロファイル
このようにIoCおよびTTPのリストがあれば、他の感染端末やエンドポイントの探索が可能になり、さらに感染源の絞り込みも可能となりました。
■ 感染源の特定
今回確認された脅威は、「excel.exe」の実行およびそれによって開かれた「.xls」ファイルが契機となったことから、攻撃はメールの添付ファイルから始まったと考えるのが妥当だといえます。こうして「Vision One」の「Managed XDR」のチームは、最終的にこの攻撃の侵入ポイントを突き止めることができました。つまり、ソーシャルエンジニアリングの手口によるスピアフィッシングメールの社内ユーザへの送信によります。
図11:ソーシャルエンジニアリングの手口によるスピアフィッシングメール
この場合、攻撃者は標的となるユーザが送信したメールへの返信を装ってあたかも既存のやり取りの延長線上であるかのように見せかけました。また、送信者のメールアドレスを偽装することで、標的となるユーザに正規の送信者からのメールであると思わせました。このメールには、標的となったユーザの名前が記載された不正なアーカイブファイルをダウンロードするリンクが含まれていました。
図12:不正なメールが別のユーザもしくは端末へ転送されたことを示す「Vision One」の表示
図13:転送された不正メールの記載内容
「Vision One」では、メールを受信してからわずか数分後に、標的となったユーザがその不正メールを別の社内ユーザに転送したことが確認できました。「Vision One」によるこれらの結果(図11)は、「Managed XDR」が取得したメール(図12)と一致したため、この端末が感染源であることが証明され、調査を終了しました。
■ 脅威への対応
今回の調査の全体的な目標は、Cobalt Strikeに関連する感染の全容を把握することでした。このための対応としては、すべての感染端末を検索するために使用できるIoCを特定することと合わせ、感染拡散を根本から阻止することも含まれます。
これらの調査期間、特に影響を受けた各エンドポイントを確認した際には、その端末に関連するお客様への報告も実施していました。これは、感染したマルウェアの亜種による拡散を迅速に阻止するための対応となります。こうした脅威への対応としては、以下のような措置(順不同)を実施しました。
- 調査中の影響を受けたエンドポイントの隔離
- 内部の水平移動に使用されたユーザアカウントおよびパスワードの無効化/リセット
- 脅威に関連する成果物を収集し、さらなる解析を実施して検出率向上に役立たせた
- 脅威に関連するC&Cのドメイン/IPアドレスのブロック
- 不審な活動がないことを確認するためのさらなる監視活動
これらの対応手順の多くは、起こり得る被害を最小限に抑え、他の端末への感染拡散を防ぐために、調査と同時進行で実施されました。
■ 結論および推奨事項
今回の調査の結果、ユーザの環境を保護するためには、多層的なセキュリティアプローチが重要であることが明らかとなりました。これにより、仮にある防御層での阻止がうまく行かなかった場合でも、さらに別の防御層が、ユーザの環境を安全に保ち、攻撃の影響を食い止めることが可能となります。
さらには、検出の優先順位を決めてさまざまな技術を組み合わせることで、脅威を捉えて迅速な対応を行うことが可能となります。今回の事例が示すように、事前に発生したセキュリティイベントは、通常、侵害やランサムウェア攻撃など、より大きな問題の前兆であったため、常にこうした可能性を考慮して真摯に対処する必要があります。
また、今回の調査では、侵害や不正活動に対処するためのインシデントレスポンスのプロセスにも注目しました。今回の調査の場合、脅威が検出された時点で対応が終了するのではなく、さらなる調査によって脅威の全容を理解し、再発防止が重要であることを強調しています。過去の攻撃から得た脅威の知見も活用し、一般的な脅威に対するユーザの意識を高めることで、あらゆる環境の全体的なセキュリティ態勢を向上させることが可能となります。
■ トレンドマイクロのソリューション
トレンドマイクロのセキュリティソリューションの中でもランサムウェアへの対策として推奨されるものを以下に示します。
法人向けのエンドポイント製品「Trend Micro Apex One™」や中小企業向けのクラウド型エンドポイントセキュリティサービス「ウイルスバスター™ビジネスセキュリティサービス」では、「FRS」技術によるウイルス検出と同時に、機械学習型検出や挙動監視機能(不正変更監視機能)の強化により、侵入時点で検出未対応のランサムウェアであっても警告可能です。
また「Trend Micro Apex One™」は事前防御(EPP)と事後対応(EDR)を統合し、高い防御力を実現します。また、クロスジェネレーション(XGen)セキュリティアプローチにより、高い検出率と誤検出/過検出の回避を両立しつつ、コンピュータへの負荷軽減を実現します。
「Trend Micro XDR」は高度な分析と人工知能(AI)技術を使用して、エンドポイント、メール、ネットワークなどのアラートを相関させ、一つの防御ポイントの情報だけではわからないような脅威を可視化し、深刻度のレベルに応じて優先順位を付けます。これにより、企業は攻撃がどのように開始され、どの程度拡散しているかを迅速に把握でき、被害を最小化することができます。
■ MITRE mapping
参考記事:
- 「Tracking Cobalt Strike: A Trend Micro Vision One Investigation」
by Abraham Camba, Catherine Loveria, Ryan Maglaque, Buddy Tancio
翻訳:与那城 務(Core Technology Marketing, Trend Micro™ Research)