ブログ(脅威調査)

SonicWall Email Securityへのゼロデイ攻撃により引き起こされる企業侵害

2021年3月、Mandiant Managed Defenseは、SonicWallのEmail Security (ES)製品で、悪用されていた3つのゼロデイ脆弱性を特定しました。これらの脆弱性は、SonicWall ES製品の管理アクセスを取得し、コードを実行するために連携して実行されました。攻撃者は、これらの脆弱性を、SonicWallアプリケーションの詳細な知識とともに利用して、バックドアのインストール、ファイルやEメールへのアクセス、被害者組織のネットワークへの水平展開を行いました。

これらの脆弱性は、以下のCVEで追跡されています。

CVE-2021-20021

9.8

不正な管理アカウントの作成

CVE-2021-20022

7.2

認証後の任意ファイル・アップロード

CVE-2021-20023

TBD

認証後の任意ファイル読み込み

Mandiantは、SonicWall Product SecurityおよびIncident Response Team (PSIRT)と連携して、この情報を責任をもって公開しています。SonicWallは、すべての顧客とパートナー向けとして、Windowsユーザーには10.0.9.6173 ホットフィックス、ハードウェアおよびESXi仮想アプライアンスユーザーには10.0.9. 6177 ホットフィックスへのアップグレードを推奨しています。SonicWall Hosted Email Security製品はすべての顧客に対して自動的に更新されたため、パッチ適用のための追加の操作は必要ありません。ホットフィックスは、今後のSonicWall ES10.0.10 リリースに取って代わるものです。

詳細については、SonicWallによって公開されているKB記事を参照してください。

すべてのパッチ、アップグレード、およびホットフィックスは、MySonicWallのサイトからダウンロードできます。

概要


図1:SonicWall Email Securityエコシステムの概要(SonicWallより)

SonicWall Email Security (ES)は、「包括的なメール送受信保護と、ランサムウェア、ゼロデイ脅威、スピア・フィッシング、ビジネスEメール侵害(BEC)などの高度なEメール・ベースの脅威に対する防御を提供する」Eメール・セキュリティ・ソリューションです。このソリューションは、物理アプライアンス、仮想アプライアンス、ソフトウェア・インストール、またはホスト型SaaSソリューションとして配備できます。


図2: SonicWall Email Securityログイン・ページ

多くのアプライアンスと同様に、このソリューションは、プロダクト構成の主要な手段として機能する、Webでアクセス可能な豊富な管理画面を提供します。顧客の展開方法によっては、このソフトウェアは、OSに依存しないApache TomcatとJavaを強力に活用しているため、WindowsまたはUnixで実行できる可能性があります。このソリューションでは、このインターフェイスをインターネットに公開する必要はありませんが、インターネット全体のスキャンでは、公に到達可能な管理画面が約700件表示されます。

調査

2021年3月、Mandiant Managed Defenseは、利用後のweb shellアクティビティを、ユーザーの環境内のインターネット・アクセス可能なシステム上で特定しました。Managed Defenseはシステムを隔離し、システムがどのように侵害されたかを判断するために証拠を収集しました。

システムは、標準のWindows Server 2012上で実行されているSonicWall Email Security (ES)アプリケーションとしてすぐに識別されました。攻撃者がインストールしたweb shellは、SonicWall ESにバンドルされているHTTPS対応のApache Tomcat Webサーバーを介して提供されていました。アプリケーションにバンドルされているWebサーバーでweb shellが提供されているため、SonicWall ESアプリケーション自体に侵害が関連付けられていることが真っ先に疑われます。

顧客に問い合わせると、SonicWall ESの導入がダウンロード可能な最新バージョン(10.0.9)であり、脆弱性や悪用に関する一般的に利用可能な情報がないことがわかりました。潜在的なアプリケーション・レベルの脆弱性がweb shellのインストールに悪用されたかどうかを判断するために、Mandiantはエンドポイント・テレメトリ・データを収集しました。

すぐに、web shellのコンテキストで実行される、システム上の証拠の破壊を目的とした悪用後の活動を特定しました。攻撃者は、web shellをインストールした直後に、次のコマンドを実行しました。

cmd.exe /c "echo "" > "C:/Program Files (x86)/SonicWallES/logs/webUI/webui.json

図3:現在の"webui.json"ログ内の既存のエントリを逆方向に消去

このコマンドは、SonicWall ESウェブ・アプリケーションによって記録された最新のアプリケーション・レベルのログ・エントリーを削除しました。ログ・ファイルの消去は標準的なアンチ・フォレンジック技術ですが、アプリケーションによって生成された内部ログ・ファイルの場所を把握することは、通常ほとんどのスプレー・アンド・プレイ攻撃者には見落とされています。これにより、SonicWall ESアプリケーションの仕組みについて深い知識を持っている攻撃者が関与している疑いが高まってきました。

幸いにも、追加のログ・ファイルと以前に作成された仮想サーバー・スナップショットによって、ホスト上の脆弱性と攻撃者のアクティビティを追跡するのに十分な証拠が提供されました。

脆弱性

CVE-2021-20021

不適切なセキュアAPIエンドポイントを介した非認証管理のアクセス権

SonicWall Email Securityアプリケーションには、管理機能を提供するための認証済みのコントロール・パネルが含まれています。使用可能な機能の1つで、アプリケーション管理者は、個別のMicrosoft Active Directory Organization Unit (AD OU) から追加の管理者アカウントを承認できます。

https://<SonicWall ES host>/createou?data=<XML HERE>

図4:任意のユーザー作成に関連付けられた脆弱なエンドポイントの編集例

ただし、このフォームへの要求は、アプライアンスへの以前の認証を必要とするかどうかは検証されませんでした。

この脆弱性のため、十分に作成されたXMLドキュメントを持つ攻撃者は、アプリケーションにドキュメントをGETまたはPOSTして、「role.ouadmin」アカウントを作成することができます(図4)。このアカウントは、管理者としてアプリケーションを認証するために使用できます。

CVE-2021-20022

認証後の「ブランディング」機能による任意のファイル・アップロード

Webベースのユーザー・インターフェイスを持つ多くのエンタープライズ製品と同様に、SonicWall Email Securityには、管理者が特定の資産 (企業のロゴなど) をカスタマイズしたり、インターフェイスに追加したりする能力を提供する「ブランド設定」と呼ばれる能力が含まれています。これらのブランド資産はパッケージで管理され、カスタム・テキスト、画像ファイル、レイアウト設定を含むZIPアーカイブをアップロードすることで新しいパッケージを作成できます。ファイル検証がなければ、攻撃者はweb shellなどの実行可能なコードを含む任意のファイルをアップロードできます。

これらのブランド・パッケージZIPアーカイブは、通常、アップロードされると、<SonicWall ES install path>\data\brandingディレクトリに展開されて保存されます。しかし攻撃者は、図5のようなディレクトリトラバーサル表記の列内にファイルを含むZIPアーカイブを作成することによって、Webアクセス可能なApache Tomcatディレクトリのような任意の場所に悪意のあるファイルを置くことができました。


図5:Zip Slip web shellを含むZIPアーカイブの例

Zipスリップ攻撃を有効にする検証がないことは、SonicWall Email Securityに固有ではないことに注意してください。このトピックに関するSnykの研究で詳しく説明されているように、アプリケーションが構築された多くのコード・ライブラリ内にこの脆弱性が存在します。

CVE-2021-20023

ディレクトリトラバーサルが認証後の「ブランディング」機能で任意のファイル読み込みに関連

Mandiantは、管理パネルに組み込まれている「ブランディング」機能において、作成されたHTTP GET要求を特定のリソースに送信することで、攻撃者がホストから任意のファイルを取得できるようにする、認証後の別の脆弱性を確認しました。図6は、このような要求のフォーマットを示しています。

https://<SonicWall ES host>/dload_apps?action=<any value>&path=..%2F..%2F..%2F..%2F..%2Fwindows%2Fsystem32%2Fcalc.exe&id=update

図6:Windows電卓をダウンロードする結果を示すWeb要求の例

このブランディング機能の作業ディレクトリは<SonicWall ES install path>\data\updatesですが、ディレクトリトラバーサルの脆弱性により、攻撃者はこのディレクトリの外部にあるファイルにアクセスできます。この要求を処理するApache Tomcat WebサーバーはNT AUTHORITY\SYSTEMアカウントとして動作しているため、オペレーティング・システム上の任意のファイルにアクセスできます。

3つのエクスプロイトすべての組み合わせは、攻撃者が以下のアクションを実行するために、相互に利用されました。

  1. SonicWall ES機器での新しい管理者アカウントの作成
  2. ローカルに構成された既存の管理アカウントのハッシュ化されたパスワードの公開
  3. 任意のディレクトリでのweb shellの作成
  4. 攻撃の成功と失敗のリアルタイム・デバッグ

悪用後

CVE-2021-20021を介してアプライアンスへの管理アクセスを取得すると、攻撃者はCVE-2021-20023を利用して、アプリケーションの「ブランディング」機能のコンポーネントであるリソース/dload_appsに作成されたHTTPリクエストを送信しました。これらの要求はディレクトリトラバーサル攻撃を利用しており、<SonicWall ES install path>\data\multi_accounts.xml <SonicWall ES install path>\data\multi_ldap.xmlにある2つの機密XML設定ファイルにアクセスできます(図7) 。

GET /dload_apps?action=REDACTED&path=..%2Fmulti_accounts.xml&id=update

GET /dload_apps?action=REDACTED&path=..%2Fmulti_ldap.xml&id=update

図7:CVE-2021-20023を利用するHTTP GET要求

これらのファイルには、既存のアカウントに関する詳細と、アプリケーションで使用されるActive Directory認証情報が含まれていました。

次に、攻撃者は、管理パネルの「branding」ページから、BEHINDER JSP web shellを含むZIPアーカイブをアップロードしました。作成されたZIPアーカイブは、CVE-2021-20022を悪用するためにZipスリップ攻撃を使用しました。これにより、web shellがWebアクセス可能なApache Tomcatディレクトリ<SonicWall ES install path>\Apache Software Foundation\Tomcat9.0\webapps\SearchEngineRMIService\に書き込まれました。

BEHINDERは、暗号化されたコマンド・アンド・コントロール(C2)のコミュニケーションを受け入れる、公開されているマルチプラットフォームweb shellです。基本的に、BEHINDERは、以前FireEyeによって詳述された一般的なweb shellであるCHINA CHOPPERと同様に動作します。CHINA CHOPPERと同様に、攻撃者はクライアント側アプリケーションを操作して、HTTP要求の本文内でweb shellにコマンドを渡します。バックドアのコア機能はクライアント側アプリケーション内に含まれているため、BEHINDERはCHINA CHOPPERのように、この調査においては1キロバイト未満という重みが観察され、小さいという付加的な利点がわかりました(図8)。


図8:Mandiantによって観察された、AESで暗号化され、base64でエンコードされたコマンドを実行するBEHINDER web shell

サーバーにweb shellが追加されたことで、攻撃者はNT AUTHORITY\SYSTEMアカウントの継承された権限によるコマンド・プロンプトへの無制限のアクセス権を持っていました。

SonicWallアプリケーションの「webui.json」 ログ・ファイルを消去した後、攻撃者は被害者のネットワークに水平展開する準備として、クレデンシャル情報の収集へエスカレーションしました。攻撃者は、自身のツールを環境に持ち込むのではなく、「環境寄生型」技術に依存しました。これはしばしば、潜在的にセキュリティ製品からの検知を回避する利点をもちます。

私たちは、パスワード・ハッシュとLSAシークレットのリカバリにおける重要な情報を封じ込めたHKLM\SAM,HKLM\SYSTEM,HKLM\SECURITYレジストリ・ハイブをダンプするためにreg saveコマンドを実行する攻撃者を観察しました。さらに攻撃者は、内蔵メモリ・ダンピング技術を使用して、メモリ内機密資格情報を取得しました。攻撃者は、Windows DLL comsvcs.dllMiniDumpエクスポートを呼び出して、lsass.exeのプロセス・メモリとApache Tomcatの実行中のインスタンスの両方をダンプすることが確認されました(図9)。

rundll32.exe C:\windows\system32\comsvcs.dll, MiniDump <lsass PID> c:\windows\temp\TS_LAS.dmp full

rundll32.exe C:\windows\system32\comsvcs.dll MiniDump <Tomcat PID> C:\windows\temp\TS_FF9DG.dmp full

図9:lsass.exeのプロセス・メモリを取得する攻撃者(MITRE ATT&CK T1003.001)とApache Tomcat

Mandiantは、効率化のために操作中に短く簡単なタイプのファイル名を使用する攻撃者をしばしば観察します。したがって、前述のファイル名は、大文字小文字と記号を混ぜると、しばしば必要以上の入力が必要になるため、最初は固有であると考えられていました。これは常にツールが使用されていることを示す可能性がありますが、2つのコマンド (DLLエクスポートの前にカンマがないこと、2番目に大文字のC:\ドライブがあること) のわずかな違いは、手動で入力されたことを示しています。Windowsホスト上のC:\Windows\Temp\ディレクトリには通常、同じ名前の一時ファイルが多数含まれていることを考慮すると、攻撃者はセキュリティ・アナリストの画面に到達した場合、疑いを避けるために特別な注意を払っていました。

環境に寄生するための努力を可能な限り続け、攻撃者はホスト上に既に存在するアーカイブ・ユーティリティ7-Zipのコピーを見つけました。それを使用して<SonicWall ES install path>\data\archive\のサブ・ディレクトリを圧縮しました。このディレクトリには、SonicWall ESによって処理されるEメールの日次アーカイブが含まれています。

数日間の活動が終わった後、攻撃者はホストに戻りました。おそらく、以前にダンプされたレジストリ・ハイブとプロセス・メモリからパスワードをリカバリする作業を行った後だと考えられます。活動の時点で、被害者組織はドメイン内の複数のホストにわたって同じローカル管理者パスワードを使用していました。これが、攻撃者がこのアカウントのコンテキストの下で容易に水平展開する機会を提供してしまいました。つまり、ドメイン内の各ホスト上のビルトインWindowsアカウントにパスワードをランダム化することが重要なのです。

私たちは、Windows Management Instrumentation(WMI)経由でMicrosoftのDCOMプロトコル上でリモート・コマンド実行を可能にしたいくつかの内部ホストにアクセスするために、パブリックに利用可能なImpacketのWMIEXEC.PYツールを利用する攻撃者を観察しました。攻撃者は環境から隔離および削除される前に、内部偵察活動を手短に実行することができました。

属性

Mandiantは現在、この活動をUNC2682として追跡しています。最終的に、MandiantはUNC2682がミッションを完了することを阻んだので、攻撃の目的は現在も分からないままです。

Mandiantが行う調査には、Advanced Practicesチームのアナリストが含まれています。このアナリストは、Mandiantが対応する数千の調査で観測された活動を相関させようとしています。既知のグループに侵入活動を直接関連付けるためのデータはありません。このような場合、観測した活動を追跡するために新しいUNCグループを作成します。UNCグループとは、攻撃的なインフラストラクチャ、ツール、産業スパイ活動に必要なノウハウなどの観察可能な痕跡を含む関連するサイバー侵入活動のクラスターであり、まだAPTやFINのような分類に含める準備ができていないものです。

Mandiantが「UNCグループ」をどのように使用しているかの詳細については、ブログの記事「DebUNCing Attribution: Mandiant による未分類の攻撃者の追跡方法」を参照してください。

調査とモニタリングのヒント

Mandiantは、潜在的な侵害の証拠について、以下のエンドポイント・テレメトリー・インジケーターを監視することを推奨します。

  • SonicWall Email Security装置のウェブサーバー・プロセス「tomcat」の子プロセス、特にcmd.exe
  • SonicWall Email Securityをホストするサーバー上でのweb shellの作成または存在

Mandiantでは、基準となるインジケーターに加えて、SonicWall関連の内部設定ファイルとログを確認し、これまでの攻撃者の活動の証拠を確認することを推奨しています。

悪意のあるウェブ・リクエストの証拠とその値は、次のログ・ファイルで確認できる場合があります。

  1. Apache Tomcatログ
    • C:\Program Files\SonicWallES\Apache Software Foundation\Tomcat 9.0\logs
  2. SonicWallアプリケーションログ
    • C:\Program Files\SonicWallES\logs\webUI\webui.json

SonicWallの構成に対する不正な変更の証拠は、以下で確認できます。

  1. 管理ユーザー・アカウント・ファイル
    • C:\Program Files\SonicWallES\data\multi_accounts.xml
  2. 以下のディレクトリに作成されている可能性のある追加のユーザー・アカウント・ファイル
    • C:\Program Files\SonicWallES\data\perhost
    • C:\Program Files\SonicWallES\data\perldap
    • C:\Program Files\SonicWallES\data\perou
  3. 次のディレクトリのいずれかのサブ・ディレクトリにある関連するzipファイルのブランディング
    • C:\Program Files\SonicWallES\data\branding

手法の検出

FireEyeは、当社のプラットフォーム全体でこの活動を検出します。以下には、この攻撃者に関連するSonicWall ESの悪用または悪用後の活動を示す具体的な検知の名前が記載されています。

Product

Signature

FireEye Endpoint Security

  • RUNDLL32.EXE COMSVCS.DLL PROCESS MINIDUMP (METHODOLOGY)
  • SUSPICIOUS REGISTRY EXPORTS (METHODOLOGY)
  • WEB SERVER ECHO REDIRECT (METHODOLOGY)
  • WEB SERVER CMD.EXE TYPE RECON (METHODOLOGY)

FireEye Network Security

FireEye Email Security

FireEye Detection On Demand

FireEye Malware File Scanning

FireEye Malware File Storage Scanning

  • FE_PUP_Exploit_Linux_ZipSlip_1
  • FE_Exploit_Win_ZipSlip_1
  • FE_Trojan_ZIP_Generic_1
  • FE_Webshell_JSP_BEHINDER_1
  • FEC_Webshell_JSP_BEHINDER_1
  • Webshell.JSP.BEHINDER
  • Webshell.JSP.BEHINDER.MVX

FireEye Helix

  • METHODOLOGY - LFI [Null-Byte URI]
  • WMIEXEC UTILITY [Args]
  • WINDOWS METHODOLOGY [Unusual Web Server Child Process]

さらに、SonicWallはIntrusion Prevention System (IPS)シグネチャをSonicWallファイアウォールに配備し、前述の脆弱性を利用しようとする攻撃の検出とブロックに役立てています。以下のシグネチャは、有効なセキュリティ・サブスクリプションを持つSonicWallファイアウォールに既に適用されています。

  • IPS Signature: 15520 WEB-ATTACKS SonicWall Email Security (CVE-2021-20022 Vulnerability)
  • IPS Signature: 1067 WEB-ATTACKS Web Application Directory Traversal Attack 7
  • IPS Signature: 15509 WEB-ATTACKS Web Application Directory Traversal Attack 7 -c2

Mandiant Security Validationのアクション

お客様組織は、Mandiant Security Validationで次の操作を使用して、セキュリティ統制を検証できます。

VID

Name

A101-563

不正なファイル転送-BEHINDER、ダウンロード、バリアント#1

A101-566

web shell活動-BEHINDER、基本的なシェルの相互作用

A101-564

不正なファイル転送-Zip Slip、Download、EICAR Variant

A101-565

フィッシングEメール-悪意のある添付ファイル、Zip Slip、一般的なテーマ・ルール

脆弱性開示

Mandiantは、2021年3月26日に、脆弱性CVE-2021-20021およびCVE-2021-20022をSonicWall Product Security Incident Response Team (PSIRT)に開示しました。2021年3月29日に脆弱性が確認、検証され、2021年4月9日にホットフィックスが利用可能になりました。このパッチは、影響を受けるSonicWallの顧客とパートナーに2021年4月9日に通知されました。
 
Mandiantは2021年4月6日に、脆弱性CVE-2021-20023をSonicWall PSIRTに開示しました。この脆弱性は2021年4月9日に確認、検証され、4月19日にパッチが利用可能となりました。

3つのCVEを軽減するために、MandiantとSonicWallでは、Email Securityをバージョン10.0.9.6173(Windows)または10.0.9.6177(ハードウェアとESXi仮想アプライアンス) にアップグレードすることをお勧めします。SonicWall Hosted Email Security (HES)製品を使用する組織は自動的に更新されるため、該当のお客様はアップグレードの必要はありません。

謝辞

SonicWall PSIRT、Charles Carmakal、Ben Fedore、Geoff Ackerman、 Andrew Thompsonの協力に感謝します。

 

本ブログは機械翻訳(MT)を使用して翻訳しています。原文と翻訳版の意味、文言が異なる場合は原文を有効とします。

原文:April 20, 2021 「Zero-Day Exploits in SonicWall Email Security Lead to Enterprise Compromise