- 2022/03/10
- マルウェア
【脅威分析レポート】ProxyShellを悪用したQBotおよびCobalt Strikeを展開するDatopLoader
Post by : Cybereason Nocturnus
2021年初めに、Orange Tsai氏というセキュリティ研究者が、ProxyLogonと呼ばれる一連の脆弱性をレポートで明らかにしました。この脆弱性はMicrosoft Exchange Serverに内在する脆弱性です。2021年の間に、サイバーリーズンのインシデント対応チームは、この脆弱性に関係したセキュリティ被害に数多く遭遇しています。また、2021年には、Orange Tsai氏などによって別の脆弱性も明らかになっており、ProxyOracleという脆弱性や、8月にはこの種の脆弱性としては最後になるProxyShellが公開されています。
ProxyShellがBlackHatに公開されてから数か月後に、サイバーリーズンのインシデント対応チームがいくつかの事例を調査したところ、実際の現場では、さまざまな攻撃者がこの脆弱性を悪用していました。
この脅威分析レポートでは、ProxyShellに関係した最新のインシデントの調査で得られた情報をお伝えします。ProxyShellの脆弱性攻撃に成功した攻撃者は、Exchange Serverを使い、QBotやDatopLoaderのペイロードが仕込まれたフィッシングメールを内部や外部のユーザーアカウントに配布します。DatopLoaderは、2021年9月に初めて出現したマルウェアローダーです。当初は、Cobalt Strikeの攻撃フレームワークを分散させるのに使用されていましたが、最近の攻撃では、QBotを分散させるのにも使用されています。
QBotは金融業界を標的するトロイの木馬としてよく知られていますが、最近ではもっぱら、他の業界を狙う攻撃者の間で利用されるようになっています。QBotが実行され、初期の偵察フェーズが完了すると、QBotは、次のステップの攻撃であるCobalt Strikeにコントロールを渡します。Cobalt Strikeは大量のコマンド&コントロールサーバーを使い、標的の複数のドメインでラテラルムーブメントを行います。
主なポイント
- Microsoft Exchange Serverの脆弱性を悪用した攻撃:Microsoft Exchange Serverで最近明らかになった脆弱性を突いて攻撃を仕掛け、標的のネットワークにアクセスします。攻撃者は次にExchange Serverで内部と外部にフィッシングメールをばら撒き、さらには、標的のドメインに足掛かりを築きます。
- DatopLoader:サイバーリーズンでは、攻撃の初期段階におけるアクセスメカニズムとしてDatopLoaderの活動が活発になっている事実を確認しています。攻撃者はこのローダーを使って標的のシステム環境やネットワーク環境に最初の足掛かりを築きます。
- QBot:QBotはもともとは銀行業界を標的するトロイの木馬として利用されていましたが、最近ではもっぱら、Cobalt StrikeやContiランサムウェアなどのペイロードを展開するのに使われるようになっています。
- Cobalt Strike:攻撃者はCobalt Strikeのリモート実行機能を使って、標的のネットワーク内でラテラルムーブメントを行い、さまざまなシステムの間を移動していきます。
最初のアクセス – PROXYSHELL
攻撃の全容を理解する前に、まずは、最初のアクセスベクターである、Exchange Serverの脆弱性、ProxyShellについて詳しく確認し、攻撃の前提条件となる要素について理解を深めます。
PROXYSHELLの概要
ProxyShellは、3つの脆弱性から構成される脆弱性の集合です。この脆弱性を悪用すると、非認証のリモートコード実行(RCE)が可能になり、パッチの適用されていないMicrosoft Exchange Serverで、メールを介したダウンロードやブラウジングなどのメール関連の操作ができてしまいます。
オンプレミスのMicrosoft Exchange Server 2013、2016、2019に影響を与える3つのCVEがあります。詳細は次のとおりです。
- CVE-2021-34473 – ACLのバイパスに通じる事前認証パスの混乱。特権は不要。
- CVE-2021-34523 – Exchange PowerShellバックエンドで特権の昇格を実行。特権は不要。
- CVE-2021-31207 – RCEに通じる、事後認証での任意のファイルの書き込み。「高」の特権が必要。
2021年に公になり、注目を集めた3つの脆弱性が、ProxyShell、ProxyLogon、ProxyOracleです。クライアントアクセスサービス(CAS)がこれらの脆弱性を突かれて攻撃されたのです。CASは、Exchange Serverでの内部クライアント接続と外部クライアント接続に認証サービスとプロキシサービスを提供する役割を担います。
ProxyShellは、Orange Tsai氏がThe Zero Day Initiative(ZDI)の協力を得て、存在を明らかにした脆弱性です。ProxyShelは、2021年4月6日に、Pwn2Own 2021コンテストで初めて公になっています。技術的な詳細は、BlackHat 2021のカンファレンスの場で、8月5日に初めて明らかになりました。そして、8月16日には、さらに詳しい内容の記事が公開されました。
CVE-2021-34473とCVE-2021-34523には共に、4月にパッチが適用されました(KB5001779)。その内容は7月に公開されています。一方、CVE-2021-31207には、5月にパッチが適用され、その内容が公開されています(KB5003435)。修正プログラムが公式に提供されてから約8か月が経過したこの時点で、現在普及している脆弱性検索エンジンのShodanで調査を行うと、ProxyShellに関する脆弱性が残っているExchange Serverが、それぞれの脆弱性ごとに11,000以上、下記のように確認されました。
▲図1:ProxyShellに関する、Shodan検索クエリの結果
ProxyShellの背景が詳しくわかったところで次に、サイバーリーズンが2021年11月に確認した最近のトレンドを詳細に見ていきましょう。ProxyShellを狙って仕掛けられたある攻撃のケースを考察します。
攻撃者による最初のアクセス
このレポートでは、攻撃者が1つの脆弱性(CVE-2021-34473)だけを利用した特に興味深い例についてご説明します。Exchange Serverでメールに関係した不正な活動を行い、Exchangeのバックエンドの脆弱性を悪用しています。新たに獲得したこの機能は、この後にフィッシングメール経由で別の標的に感染の拡大を図る際に利用されます(詳細は後述)。
影響を受けたExchange ServerのIISログの内容を確認し、ユーザーエージェントと、エクスプロイトメールID(価値は低いがURIの一部として入手する必要がある情報)とを照合した結果から判断すると、攻撃者は、公に入手できるこちらのProxyShellのエクスプロイトスクリプトを利用している可能性が高く、Exchange Web Services(EWS)でメール関連のアクションを処理していると考えられます。
以下のIISログの内容の例には、侵害を受けたExchange Serverで上記のスクリプトが実行された様子が示されています。
図2:ProxyShell IISログの内容の例
インターネット全体を発信元とし、異なるIPアドレスから発信された性質の同じリクエストが数多く確認されていますが、これは、その1つに過ぎません。
この種の脆弱性攻撃、それも、ProxyShellのCVE-2021-34473(認証バイパス)やCVE-2021-34523(特権の昇格)を狙った攻撃を検知する場合は、Exchange ServerのIISログとトラッキングログエントリで、「/autodiscover/autodiscover.json」を含み、「mapi/nspi」、「mapi/emsmdb」、「/EWS」、「powershell」、「X-Rps-CAT」のいずれかの文字列を含むURIを探します。
Florian Rothが公開しているようなYaraルールを、侵害が疑われるExchange Serverで実行するという方法もあります。ProxyShellのCVE-2021-31207の活動である、ポストエクスプロイトの特権の昇格を検知するには、MSExchangeManagementイベントログで、不審なCmdletSucceeded(Event ID 1)イベントを探します。特に、Cmdletsで、以下の点を確認します。
- New-ManagementRoleAssignment – 「Mailbox Import Export」のロールが付与されている。
- New-MailboxExportRequest – FilePathの引数に「.aspx」の接尾辞が付与されている。
さらに、弊社が悪意のあるPowershellコマンドの実行を調査した別のデータソースとしては、「%ExchangeInstallPath%\Logging\CmdletInfra\Powershell-Proxy\Cmdlet\*」に格納されているExchangeのログファイルがあります。ログファイルの内容は次のような状態になっていました。
- ProcessNameには、「w3wp」が含まれます。
- Powershellのコマンドには、「New-ManagementRoleAssignment」、「New-MailboxExportRequest」、「New-ExchangeCertificate」が含まれます。
フィッシングメールによる拡散 – DATOPLOADER
ProxyShellの脆弱性の悪用に成功すると、攻撃者は、組織の内部と外部に向け、フィッシングメールの送信を開始します。フィッシングメールは、ProxyShellの脆弱性を悪用して組織内のExchange Serverから盗み出した正規のメールに返信するかたちで送られます。これらの返信メールは、DatopLoaderの攻撃者が最近送信するメールと構成が似ています。
DatopLoaderは、マルウェアスパム攻撃を実行する新しい脅威です。システム環境やネットワーク環境に侵入する最初の足掛かりを築く際に、アクセスブローカーの役割を果たします。
▲正規のメールに返信するかたちで送信されたフィッシングメールの例
乗っ取った正規のメールに返信することで、フィッシングメールが不正なものでないとすでに信じこませやすくなっていますが、攻撃者はさらに一歩進んで、返信メッセージの文字の書体や言語に手を加え、攻撃の成功率を高めており、これは注目すべき点です。最近、この手法が普及し、その成功率が高い理由の1つに、このような攻撃者の行動が影響しているのは間違いありません。
悪意のあるメールには、その内容を暗示する以下のような特徴がありました。これらの特徴は、Exchangeのメッセージトラッキングログで明らかになったものです。
- ソースコンテキストフィールド:
- 「MessageClass:IPM.Blabla」が含まれます。
- 「ClientType:WebServices, SubmissionAssistant:MailboxTransportSubmissionEmailAssistant」の接尾辞が付きます。
- Directionalityフィールドが「Originating」に設定されます。影響を受けたサーバー自体でメールが生成されたことを意味します。
- Original-client-ipフィールドは、ProxyShell IISログエントリのクライアントIPと一致します。
メールの配布が完了すると、攻撃者は、リンクをクリックさせて、別のリンクから悪意のあるペイロードがダウンロードされるよう、ユーザーを誘導します。
- 1番目のリンク – 悪意のあるDatopLoaderのExcelファイルを含むZIPファイルをダウンロードさせる(詳細は後述)
- 2番目のリンク – 最新バージョンのDatopLoaderを含むZIPファイルをダウンロードさせる
どのリンクも、ZIPファイルとして不正なペイロードをホストするWebサイトに標的を誘導します。ユーザーがいずれかのリンクをクリックすると、一般的なフィッシング関連のメッセージを含むExcelファイル(.xls)を格納したZIPファイルが自動的にダウンロードされ、ユーザーはマクロを実行するよう誘導されます。その内容を以下に示します。
▲攻撃に関係する、悪意のあるドキュメントの例
難読化が施されたこのマクロが実行されると、C:\Datopフォルダーが作成され、悪意のあるIPアドレスから、test.test、test1.test、test2.testの3つのDLLファイルがダウンロードされます。
これらのファイルはその後、regsvr32.exeによって実行されます。ファイルの実行が完了すると、QBotが以下の制御を行います。
▲regsvr32.exeがQBotを実行する一連の流れをCybereason XDR Platformで表示
最初の感染 – QBOT
PinkslipbotやQakbot、Quakbotとも呼ばれるQBotは、銀行業界を標的にするトロイの木馬としてよく知られています。モジュール型マルウェアとして進化を遂げており、このマルウェアでは、偵察活動やラテラルムーブメントのほか、Cobalt Strike、Contiランサムウェアなどのマルウェアをはじめとするペイロードの展開など、さまざまな不正活動が可能です。
このケースでは、regsvr32.exe実行ファイルを通じたtest1.testの実行が完了した後、新たに生成されたexplorer.exeインスタンスにQBotがstager_1.dllというDLLを反射型でインジェクションします。新規のexplorer.exeの実行から始まるこのイベントチェーンでは、すぐにQBotが、タスクのスケジューリングでのパーシステンスの確立やコマンド&コントロールサーバーとのコミュニケーションを開始します。この様子を以下に示します。
▲QBot stager_1.dll Explorer.exeがインジェクションされる様子をCybereason XDR Platformで表示
▲QBotの偵察活動をCybereason XDR Platformで表示
QBotはすぐに、ホストのネットワーク構成、Active Directory、利用可能なネットワークリソース(ホストとネットワーク共有デバイス)に関する情報をチェックするなどの偵察活動をはじめとする、いくつかの活動を開始します。攻撃者が実行していたプログラムは、Adfindと呼ばれるフリーウェアツール以外はどれも、Windowsオペレーティングシステムの既存のコンポーネントでした。これらのプログラムは、コードがインジェクションされたExplorer.exeで実行されていました。
個々のプログラムと攻撃でのそのプログラムの用途を、以下に一覧で示します。
- Adfind.exe:公に入手できるツールです。Active Directoryのドメインに照会を行います。実行ファイルは、%PROGRAMDATA%\Oracle, %SYSTEMDRIVE%%PROFILESFOLDER%\Publicに保存されます。攻撃者は1行のコマンドで、ネットワーク上にあるコンピューターのリストを生成します。サイバーリーズンでは、以下のコマンドを特定しました。
Adfind.exe -f objectcategory=computer -csv name cn OperatingSystem dNSHostName > [some.csv] - Net.exe:システムやネットワークの情報を収集する機能などを備えたWindowsコンポーネントです。
net share、net localgroup、net viewはいずれも、攻撃者が使用するコマンドです。 - Arp.exe:アドレス解決プロトコルのキャッシュを取得するのに使われます。
- Nslookup.exe:Domain Name Systemに照会を行い、ドメイン名やIPアドレスのマッピングを取得するのに使われます。
- Ipconfig.exe:ホストのネットワークインターフェースに関する情報を取得するのに使われます。
- Netstat.exe:アクティブなコネクションの一覧を抽出するのに使用されます。以下のようにポートをリスンします。
▲net.exeとnslookup.exeの偵察コマンドをCybereason XDR Platformで表示
explorer.exeのプロセスを通じて、QBotのコマンドやコントロールIPアドレスに接続されるコネクションには数十のコネクションがありました。このexplorer.exeプロセスは元の正規のexplorer.exeプロセスにコードをインジェクションします。元のexplorer.exeは、正規のdllhost.exeプロセスを生成します。インジェクションには、Process Hollowingテクニックが使用されます。次に、dllhost.exeが、前に説明した偵察コマンドでネットワーク上の他のマシンにCobalt Strikeビーコンを展開するのに使用されます。
▲explorer.exeがdllhost.exeを生成する様子をCybereason XDR Platformで表示
ラテラルムーブメント – COBALT STRIKE
Cobalt Strikeは商用の侵入テストツールです。攻撃者は標的のマシンに展開した「ビーコン」と呼ばれるエージェントを用い、このツールで侵入テストを実行します。
今回のケースでは、攻撃者は、標的のネットワークのドメインで利用可能になっているさまざまなマシンを対象にラテラルムーブメントを実行するために、Jump psexecとJump psexec_pshというCobalt Strikeのコマンドを使用しています。この時点で攻撃者は、システムハイブ、SAMハイブ、ソフトウェアハイブのダンプを実行することで、認証情報を盗取します。
Jump psexecコマンドとJump psexec_pshコマンドによって、攻撃者は、標的のマシンへのサービスのインストールとビーコンの展開をリモートで実行できるようになっています。この2種類のコンマンドには、一意の識別子があり、識別子は、ランダムに生成された7文字のアルファベットの文字列になります。
2つのコマンドが違う点は、リモートサービスで実行される内容の違いにあります。
- jump psexecコマンドは、SysinternalのPsExecツールが使用するのと同じリモートコード実行メソッドを使用します。このメソッドを使用して、ビーコンが以下のようにADMIN$共有からコピーされ、実行されます。
- 一方、jump psexec_pshはBase64でエンコードされたPowerShellコマンドを使用します。このコマンドは、リモートビーコンをインストールするシェルコードを実行します。
Cobalt Strikeのjump psexec_pshのコマンドラインからペイロードを抽出するのに役立つCyberChefのレシピがこちらにあります。
これらの2つのコマンドは、システムイベントログを用い、サービス生成イベント(Event ID – 7045)を探すことで追跡できます。Cobalt Strikeビーコンを見つけるには、「Service File Name」フィールドで以下のregexパターンを探します。
- Jump psexec: \\\\(?:[0-9]{1,3}\.){3}[0-9]{1,3}\\ADMIN\$\\\w{7}\.exe
- Jump psexec_psh: %COMSPEC%.*? powershell -nop -w hidden -encodedcommand JABz.+
認証情報の盗取
攻撃者が認証情報を盗取する際に使用するテクニックの1つに、システムハイブ、セキュリティハイブ、SAMレジストリハイブをダンプするテクニックがあります。システムハイブには、Windowsシステムに関する情報が格納されています。また、SAMハイブには、ユーザーパスワードのハッシュが保管されています。SAMハイブは、セキュリティアカウントマネージャーを表します。一方、セキュリティハイブには、セキュリティポリシーやユーザー権限などのセキュリティ情報が格納されています。これらのハイブを使って、攻撃者はキャッシュされたユーザーのパスワードを抽出します。(詳細はhttps://pure.security/dumping-windows-credentials/をご覧ください)
さらに、攻撃者は、特定のキーワードが含まれた、ユーザーのメールを検索、ダウンロードするのに、ProxyShellを悪用している可能性もあります。(前述のオリジナルスクリプトでは、「password」がキーワードになっていると考えられます)。この手法は、パスワードをメールで共有しているユーザーを攻撃する場合に使用される可能性があります。
まとめ
この記事で解説したExchangeの脆弱性は、企業に、それも業務でWindows Exchange Serverの環境を幅広く利用している企業には特に、大きな影響をもたらします。この記事で説明したような脆弱性攻撃によって、いったんネットワークに足掛かりができると、ネットワーク上の他のホストに移動してネットワーク内部についての情報を収集したり、ネットワークを利用してフィッシングメールを他の組織に送って攻撃を拡大したり、ときには、ネットワークに回復不可能なダメージを与えたりするのも比較的容易になります。この脆弱性とは別に、DatopLoaderをペイロードの拡散に使用する手法にも、弊社は注目しています。今後のインシデントでそのような事例に遭遇するのは間違いありません。
特定のインシデントでは、攻撃はCobalt Strikeの攻撃フェーズにとどまりましたが、いくつのケースでは同様のインシデントがランサムウェア攻撃につながっていると、他のセキュリティベンダーが報告しています。これらに関係なく、脆弱性攻撃のいずれのフェーズでも、攻撃者は環境の内部にまで入り込んでいる可能性があり、攻撃を受けた企業は、資産を回復、整理し、攻撃の影響を緩和して環境を最新の既知の安全な状態に戻すのに、相当な時間と労力をかけねばなりません。しかも、激しいプレッシャーを受けながら短期間でこれを実現する必要があります。
脆弱性を修正する、Windows Exchange Serverのパッチが公開されてから、数か月が経過しました。しかし、サービスが脆弱性攻撃受けるリスクをセキュリティアップデートの適用で抑えようとしていない企業の数が目立ちます。このような特殊な既知の脅威や将来出現する未知の脅威に対処するためのアドバイスを、以下に示します。
サイバーリーズンが推奨する対策
サイバーリーズンのDFIR(デジタルフォレンジック・インシデント対応)チームでは、以下の事柄を推奨しています。
- 「ProxyShellの概要」のセクションで説明したKB5001779とKB5003435のセキュリティパッチを適用する
- Exchange ServerのサーバーにCybereason Sensorをインストールし、脅威からサーバーを保護する
- Cybereason NGAVのアンチマルウェア機能を有効にすると共に、この機能の検知と保護のモードを有効にする
- Predictive Ransomware Protectionの機能を有効にすると共に、この機能の検知と保護のモードを有効にする
- Exchange Serverでロギング機能を有効にする
- Exchangeの脆弱性に重点を置いて、Compromise Assessment(侵害調査サービス)を環境で利用することを検討する。
- 脅威をすばやく封じ込めるためにIR サービスを利用することや、セキュリティイベントが深刻化するのを防ぐために問題の対処でエキスパートの支援を得ることを検討する。
NGAV製品「Cybereason NGAV」、「Cybereason Endpoint Prevention」は、「シグネチャベース検知」「機械学習による静的バイナリ解析」「ファイルレスマルウェアブロック」「アンチランサムウェア」「振る舞いベースのドキュメント保護」「エクスプロイト保護」という6層の防御機能を備えることで高度な攻撃を阻止できるようになっています。
またこれらの対策を潜り抜けて内部に侵入してきた高度な脅威に対しては、EDR製品「Cybereason EDR」が独自の相関解析処理と機械学習機能を駆使して攻撃の全体像をあぶり出し、適切に対処することを可能にします。
加えて、自社内でEDRを運用するのが難しいお客さまに対しては、MDRサービス「Cybereason MDR(Managed Detection and Response)」と呼ばれる監視代行のマネージドサービスも提供しています。
エンドポイントや企業の内部などのあらゆる場においてサイバー攻撃を阻止できるよう、サイバーセキュリティに携わるさまざまな関係者と協力すべく、サイバーリーズンは努めています。
MITRE(マイター)社のATT&CKにもとづく分類
【ホワイトペーパー】有事を見据えたセキュリティ運用とは?〜攻撃事例から学ぶサイバー脅威対策〜
サイバー攻撃は進化を止めず、その被害は組織の存続さえ揺るがす時代。
昨今、特に注意しなければならないのが、サプライチェーン攻撃の新たな手法です。標的となる組織のセキュリティが堅固となってきたため、セキュリティが手薄な別の組織を踏み台にして標的組織を攻撃するというように、サプライチェーン攻撃はますます巧妙化しています。
このガイドは、重大なセキュリティインシデントに直面した時、慌てず騒がず対応するために。
セキュリティ担当者はもちろん、経営課題として平時から取り組むべきサイバー脅威対策について、最新の攻撃事情とともに紹介します。
https://www.cybereason.co.jp/product-documents/brochure/6938/