疑似攻撃よるレスポンス予行演習(その3)

前回、攻撃者が採用する戦術ごとに使用されるテクニックを1つずつ選定しました。今回は、選定したテクニックをAtomic Red Teamが提供する疑似攻撃コードを使い、実際に実行してみます。併せて、それが、CrowdStrike でどのように見えるのか紹介していこうと思います。まずは、T1566.001(Phishing: Spearphishing Attachment)(初期アクセス)から始めたいと思います。

T1566.001(Phishing: Spearphishing Attachment)(初期アクセス)

■スピアフィッシィング(Spearphishing)とは

攻撃者は、システムへ侵入するための最初の足掛かりとして、攻撃対象者に対して悪意のある添付ファイルを含むフィッシングメールを送信します。スピアフィッシィングとは、その中でも、特定の個人、企業などに狙いを定めて行う攻撃となります。普段やり取りしている信頼した相手からのメールを装うなどして悪意のある添付ファイルを実行させたり、メール本文の不正なURLを開かせたりするソーシャルエンジニアリングの一種です。

T1566.001は、スピアフィッシィングから悪意のある添付ファイルを実行させ、最初の侵入を獲得するためのテクニックとなります。添付ファイルには、Microsoft Officeドキュメント、実行可能ファイル、PDF、アーカイブファイルなどの多くのオプションがあります。

Atomic Red Teamでは、T1566.001向けに、以下の2つの疑似攻撃のコードを公開しています。

■疑似攻撃の内容

今回、Atomic Test #1について、検証してみました。Atomic Test #1 – Download Macro-Enabled Phishing Attachmentにて公開されている疑似コードは、以下となります。

$url = 'https://github.com/redcanaryco/atomic-red-team/raw/master/atomics/T1566.001/bin/PhishingAttachment.xlsm'
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -Uri $url -OutFile $env:TEMP¥PhishingAttachment.xlsm

Red Team GitHubリポジトリから、あらかじめ用意されているマクロ付きファイル「PhishingAttachment.xlsm」を%temp%ディレクトリにダウンロードするコードになります。

■疑似攻撃の実施

以下の通り、実行してみました。

%temp%ディレクトリにPhishingAttachment.xlsmが、ダウンロードされていました。

ただし、Excelファイルは実行されたわけではないため、この段階では、CrowdStrikeは何も検知しませんでした。そこで、実際のダウンロードされたExcelファイルを開き、マクロを有効にしてみました。

その結果、Googleの画面が開かれました。ところが、CrowdStrike はここでも何も検知しませんでした。

マクロの内容を確認したところ、以下の通りでした(Googleのトップページを開く)。

マクロのある内容がそのまま動作されたが、CrowdStrikeはまったく検知しないという結果となりました。

実物のメールクライアントを使った検証

そこで、もう少し実際の利用に近いケースで検証してみることにしました。

今回ダウンロードされたファイルを自社のWebサーバ上に置き、そのファイルをダウンロードするリンクを本文に記載したメールを作成しました。このメールを、実物のメールクライアント(Thunderbird)で受信した上で、リンクをクリックしてダウンロードしExcelファイルを実行してみました。そのあと、マクロを有効にしてみました。

以下、実施結果です。

メール本文内のリンクをクリックしました。

Microsoft Edgeが起動され、ファイルがダウンロードされました。ここから、Excelファイルを開いてみました。

ダウンロードされたExcelファイルが起動されました。ここで編集を有効にしました。

続いて、マクロを有効にしました。

マクロがそのまま実行され、Googleの画面が表示されました。

ただ、ここでもCrowdStrikeは、何も検知しませんでした。

マクロを脅威度の高い内容に変更して検証

そこで、今度は、マクロの処理を脅威度の高いものに変更して検証してみることにしました。

■変更したマクロ内容

マクロを以下に書き換えます。

マルウェアによっては、最初の攻撃が成立した際、侵害状態を継続させる手法として、タスクスケジューラに対して、マルウェアを自動実行するタスクを登録しようとするものがあります。

そこで、マクロを、上記の通り(赤下線)タスクスケジューラへタスクを登録するコマンドラインを実行するように変更しました。そして、メールのリンクからダウンロードされるExcelファイルを、今回のマクロが反映されたExcelファイルに置き換えました。

その上で、再度、メールクライアント(Thunderbird)を起動し、メール本文にあるリンクをクリックしてみました。その後、Excelファイルを実行し、マクロも有効にしてみました。

そうしたところ、今度は、CrowdCtrikeが攻撃として検知しました。

■検知内容

検知までの経緯は、以下のように可視化されていました。

  • Thunderbird.exe(メールクライアント)を起動
  • Excelファイルダウンロードのため、MSEDGE.exe(ブラウザ)を起動
  • MSEDGE.exeからダウンロードされたExcelファイルを起動
  • 起動したExcelが不正動作を実行したとして検知

検知内容は、以下の通りでした。

  • 検知名(IOA名):PhishingAttack
  • 検知概要(IOSの説明):プロセスツリーには、フィッシング攻撃の兆候が含まれています。 活動の前後に開かれた電子メールが原因である可能性があります。 プロセスツリーを調べて元のファイルを見つけ、他のホストに配信された同様のファイルを探します。

CrowdStrikeは、メールクライアント経由で試行したフィッシング模擬攻撃を、電子メール経由でのフィッシング攻撃として捕捉することができました。

今回のまとめ

今回の検証結果から、CrowdStrikeは、電子メール経由で入手したマクロ付きExcelファイルが、何らかのコマンドを実行したという理由だけでは、検知対象としないことがわかりました。あくまでも、マクロから実行された振る舞いが危険度の高いものと評価された結果を受けて、一連の経緯が電子メール経由でのフィッシング攻撃であると判定しているように見えました。

マクロ付きOfficeファイルを一切使用しない(すべてブロックする)対策も可能ですが、一方でマクロが使えないことで作業効率が低下してしまう、といったことが発生します。

CrowdStrikeは、危険度をしっかり評価した上で、使えるマクロ付きファイルとそうでない安全でないマクロ付きファイルを判別してくれそうなので、業務効率の向上にも寄与できそうです。