エクスプロイト&脆弱性
WSO2製品に影響を及ぼす脆弱性「CVE-2022-29464」を悪用した攻撃を解説
トレンドマイクロでは、4月以降、脆弱性「CVE-2022-29464」を突いた攻撃が行われていることを確認しています。この攻撃では、任意のリモートコード実行を引き起こす、制限のないファイルアップロードが可能になります。
トレンドマイクロでは、4月以降、脆弱性「CVE-2022-29464」を突いた攻撃が行われていることを確認しています。この攻撃では、任意のリモートコード実行を引き起こす、制限のないファイルアップロードが可能になります。「CVE-2022-29464」は2022年4月にセキュリティ上の影響度9.8(重大)として情報開示された脆弱性です。API管理などの機能を提供する「WSO2」の多くの製品に影響があり、修正パッチが公開されました。修正パッチが未適用の場合、当該の脆弱性を狙う攻撃者によって、ユーザ操作や管理者権限なしのままでもネットワークに侵入される恐れがあります。
WSO2製品で確認された本脆弱性は、当初、「Orange Tsai」というユーザによって4月18日に報告され、固有のCVE IDが付与された後、修正対応が行われました。当該脆弱性を突いた攻撃については、攻撃実証コードがGitHubユーザ「hakkivi」によって4月20日に投稿されました。そして、翌21日には、影響を受ける環境に対する攻撃が実際に発生していることが、トレンドマイクロの調査によって判明しました。さらに、そのおよそ1週間後には、当該脆弱性を突いて攻撃するコード生成ツールとして、Metasploit用モジュールが公開されました。今回の脆弱性による影響を受ける製品として、特に、WSO2 API Manager 2.2.0以上、Identity Server 5.2.0以上、Identity Server Analytics 5.4.0~5.6.0、Identity Server as Key Manager 5.3.0以上、Open Banking AM 1.4.0以上、Enterprise Integrator 6.2.0以上が挙げられます。
本脆弱性を突いた攻撃について
今回の脆弱性を突いた攻撃では、まず、リモートでコマンド実行を可能にする攻撃用ツール「Webシェル」が標的にインストールされることを確認しました。公開された攻撃の概念実証コードによると、攻撃者は、Java言語のコードを含むWebページ「Jakarta Server Pages」(.JSP、旧称はJava Server Pages)のファイルを、下記のような場所に配備します。
/<WSO2製品のインストール先パス>/repository/deployment/server/webapps/authenticationendpoint/
概念実証コードを見ると、「/authenticationendpoint/」以外の場所にファイルを配備する可能性も考えられますが、確認された攻撃の多くは、概念実証に忠実な作りとなっていました。
一方で、Webシェルがインストールされた別の場所に、WAR(Web Application Resource)ファイルがアップロード、インストールされるケースを確認しました。これは恐らく、Metasploitモジュールの実行に起因すると考えられます。上述したwarファイルから、ユーザ環境の正規Javaアプリケーションサーバの機能を用いて、「Payload.class」という名前のファイルが抽出されます。一連のファイル名とパスは下記の通りです。
/< WSO2製品のインストール先パス>/repository/deployment/server/webapps/{「HcTnA」など5桁の文字列}.war
/<WSO2製品のインストール先パス>/repository/deployment/server/webapps/{「HcTnA」など5桁の文字}/WEB-INF/classes/metasploit/Payload.class
概念実証で示された「/authenticationendpoint/」は、WSO2製品で一般的に使用されるパスです。今回の脆弱性に関連する7製品のうち少なくとも4製品において、当該パスに「.JSP」や「.WAR」ファイルを配備してWebシェルをインストールする攻撃手段が確認されました。WebシェルのインストールをTrend Micro™のVision One™によって検知した結果を下図に示します。
Webシェルのインストール後、wgetコマンドがJavaプロセスから呼び出され、auto.shという名前のファイルがダウンロードされます。当該ファイルの内容を解析した結果、暗号資産マイナーのインストーラ(トレンドマイクロにより「Trojan.SH.MALXMR.UWELO」として検知)であることが判明しました。恐らく、Webシェルを経由して攻撃者によってインストールされたと考えられます。
さらに、Javaプロセスから呼び出されたchmodコマンドによって、権限設定が変更されたことも判明しました。以上の経緯から、今回の攻撃者は、Javaプロセスのオーナーと同等の権限でOSのシステムコマンドを任意に実行できることが分かります。なお、chmodコマンドを用いる手口は、今回の攻撃事例以外にも、4月に報告したMiraiボットネットの検体によるSpring4Shell脆弱性「CVE-2022-22965」を狙った攻撃において、確認されています。
Vision OneのOAT機能では、これらのコマンド実行自体は「低リスク」として表示します。これは、wgetやchmodなどのコマンドは、チームや管理者による通常業務で使用される場合があるためです。しかし、今回のような攻撃時には、その他の「高リスク」または「重大」に該当するコマンド実行と組み合わされて併発するため、監視対象として追跡、記録されます。
Linux用Cobalt Strike beacon
今回の攻撃では、chmodコマンドの実行後、さらに、Javaプロセスから新規プロセス「LBcgqCymZQhm」(トレンドマイクロにより「Backdoor.Linux.COBACON.AA」として識別」)が起動されます。このプロセスは、Linux OS上で稼働し、IPアドレス179[.]60[.]150[.]29:4444への外部通信を行います。調査の結果、このIPアドレスは、不正なCobalt Strikeのコールバック先、そしてコマンド&コントロール(C&C)サーバに該当し、トレンドマイクロでは、2021年3月よりブロック対象として追跡してきました。
207バイトの小さなELF形式である当該プロセス「LBcgqCymZQhm」は、Linux互換のCobalt Strike beaconであることが、初期調査から判明しました。Cobalt StrikeはWindows版beaconしか提供されていないことを考慮すると、今回発見されたLinux版beaconは攻撃者によって開発されたものと言えるでしょう。
Trend Micro™ Smart Protection Network™による検知情報によると、Windows環境には、特に、Windows用Cobalt Strike beacon(トレンドマイクロにより「Backdoor.Win64.COBEACON.SMA」として識別)と、ハッキングツール「fscan」(トレンドマイクロにより「HackTool.Win64.NetScan.AE」として識別)のインストールが確認されました。攻撃者は、感染したコンピュータ上に配備されたファイルを実行しようとしましたが、セキュリティ製品の機能によって阻止されました。
結論
今回の脆弱性に関連する製品のユーザは、WSO2セキュリティ勧告の指示通り、早急に修正パッチを適用するか、緩和措置を取ることを推奨します。トレンドマイクロでは、4月に実施した事前分析の結果に基づき、ユーザ、または企業や組織向けの初期通知を発表しました。当該脆弱性を突いた攻撃が確認されたのは、脆弱性の告知から3日後、概念実証の公表から翌日のことであり、Webシェルのインストールを伴う活動が顕著にみられました。また、Windows、Linuxの両環境でCobalt Strike beaconが確認されました。Linux版beaconについては公式にリリースされていないため、攻撃者側が開発したものと考えられます。他にも、Windows用のスキャンツールfscanや、Linux用の暗号資産マイナーがインストールされたことを確認しました。本脆弱性に関連する製品を用いるサーバは、GoogleやShodanから検索することが可能です。そのため、攻撃者にとって、この脆弱性を突く攻撃の標的を見つけることは、比較的容易であると考えられます。さらに、公開された概念実証コードやMetasploitモジュールを用いて攻撃コードを実装できる状態になった点も、今回の脆弱性を突くサイバー犯罪を増加させる要因として挙げられます。
Linux版Cobalt Strike beaconについては、今回の事例以外にも、2021年9月に「Trojan.Linux.VERMILLIONSTRIKE.A」で確認されていますが、両者は異なる構造を持つことが、調査によって判明しました。また、今回の攻撃を受けた環境によっては、同じファミリに属しながらも異なるビーコンがインストールされているケースも確認しました。バックドアとして機能するビーコンがインストールされたことは、暗号資産マイナーに限らず、さらに深刻な被害をもたらす攻撃活動が将来的に行われる可能性を示唆します。こうした状況を踏まえると、今後、当該脆弱性を持つLinux環境において、同じファミリの検体がより頻繁に見つかるものと推測されます。
WSO2製品は様々な分野で利用されていますが、特に、ヘルスケア、バンキング、エネルギー、教育、行政、通信業界での利用が顕著です。API ManagerのGitHubページを確認すると、ソースコードが1日に1度はコミットされ、起票されたチケット数は、未解決、解決済を含めて8,000を超えることが分かります。このことは、当該製品のユーザや開発協力者による修正対応がいかに頻繁に発生しているかを示すものです。こうした状況を踏まえると、今回の脆弱性を突いた攻撃によって上述した基幹システムへの侵入やマルウェア感染が引き起こされると、多大な混乱がもたらされるだけでなく、個人情報や機密情報の窃取にも繋がり、顧客や組織、経済、国家の安全にも悪影響を及ぼす可能性が懸念されます。
WSO2 Identityサーバは、認証情報アクセス管理(IAM:Identity Access Management)を行うオープンソース製品ということもあり、攻撃者にとっては、他のWSO2サービスと比べても、特に侵入する価値の高い標的と言えるでしょう。IAMサーバへのアクセス権を得た攻撃者は、WSO2製品のサーバによって管理される全てのサービスやユーザ情報にアクセスできる可能性があります。データの整備を担当する管理者やITチームは、WSO2製品周りのユーザ情報やファイル、プロセスを検査の上、必要でないものは削除するなど、クリーンな状態に保つことを推奨します。トレンドマイクロでは、今回の脆弱性に関連する攻撃や感染状況について、引き続き調査と監視を続行します。
システムを攻撃から守る上で、脆弱性の影響を受ける製品の修正パッチを適用することはもちろん重要ですが、その他にも、自身のシステム内で管理しているデータや機能、アプリケーションの把握に努め、ベンダーから報告された脆弱性については、その影響を考慮の上、攻撃が実行に移される前に修正パッチを適用するなど、各種ベストプラクティスの実施を推奨します。特に、今回のようなリモートコード実行に繋がる脆弱性については、迅速な対応が求められます。即時のパッチ対応が難しい場合や、脆弱性に関与する製品を使用していない場合であっても、通常とは異なる運用を迅速に施行して攻撃の影響を軽減する手続きや条件について検討することを推奨します。
Trend Microのソリューション
Trend Micro™ Tipping Point™をご利用のお客様は、下記ルールによって、保護されています。
41286: HTTP: WSO2 API Manager ToolsAnyFileUploadExecutor Directory Traversal Vulnerability
Trend Micro™ Vision One™のOATs機能では、今回の攻撃を下記の内容でお客様に通知します。
- Webシェルのファイル検知
- wgetの実行
- curlまたはwgetによるダウンロード
- chmodコマンドによる実行権限の付与:
- Execution Profile機能では、Javaプロセスで実行されたwgetやchmodを始めとするOSコマンドの実行歴を表示することが可能
Nathaniel Gregory RagasaとMc Justine De Guzmanによる追加資料
侵入の痕跡(Indicators of Compromise、IoC)
侵入の痕跡(IoC)はこちらで確認してください。
MITRE ATT&CK Tactics and Techniques
MITRE ATT&CK Tactics and Techniquesはこちらで確認してください。
参考記事:
• 「Patch Your WSO2: CVE-2022-29464 Exploited to Install Linux-Compatible Cobalt Strike Beacons, Other Malware」
By: Hitomi Kimura, Abraham Camba, Ryan Soliven
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)