エクスプロイト&脆弱性
WebLogicの脆弱性(CVE-2020-14882)を悪用するコインマイナーの手口を解析
本記事ではTrend Micro Cloud One™ Workload Security及びTrend Micro Vision One™が、WebLogicの脆弱性「CVE-2020-14882」を利用した攻撃をエンドポイントにおいて検知、ブロックした事例を紹介します。
トレンドマイクロは、攻撃者がOracle WebLogic Serverの新旧の脆弱性を利用し、暗号資産をマイニングするマルウェアを実行していることを確認しました。Oracle WebLogic Serverは、クラウド環境及び従来型のシステムにおいてトラフィック量の多いエンタープライズ・アプリケーションを開発、展開するために使用されています。
攻撃者によって活発に利用されている脆弱性の1つが、Oracle WebLogic Serverにおける誤った入力値の検証を利用したRCE(リモートコード実行)の脆弱性である「CVE-2020-14882」です。この脆弱性は、バージョン 10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0 に影響を及ぼし、遠隔の攻撃者が細工したHTTPリクエストを被害サーバに送信することにより、RCEとして悪用される可能性があります。また、CVSS(共通脆弱性評価システム) v3.0のスコアは9.8です。
多くの攻撃者がこの脆弱性を利用してさまざまなマルウェアを展開していることが確認されていますが、本記事では「Kinsing」マルウェアの活動に焦点を当てます。トレンドマイクロの分析によると、ほとんどのエクスプロイトにおいて、特別な特徴や機能は見られませんでした。しかし、ダウンロードされたシェルやPythonスクリプトは、SELinux、ウォッチドッグタイマ、iptablesなどの基本的なOS(オペレーティングシステム)のセキュリティ機能の無効化や、クラウドサービスプロバイダのエージェントを無効化するなど、多くのアクションの実行を確認しています。
技術的な分析
古い脆弱性であるにもかかわらず、攻撃者は、被害企業・組織への足がかりを得るために、依然としてCVE-2020-14882を積極的に利用しています。図1は、2020年10月31日から2022年7月27日までにトレンドマイクロのIPS(侵入防御システム)が検知した攻撃者による活発な試みを示しています。
Workload SecurityによりWebLogicの脆弱性を悪用した攻撃を探知
Workload Securityにおけるテレメトリと検出ログの相関分析により、セキュリティアナリストが攻撃者の活動を追跡・監視するために必要な初期段階の攻撃の概要を得ることができました。
脆弱性「CVE-2020-14882」を利用した攻撃を検知したWorkload Securityのモジュールを以下に列挙します。
侵入防止システム(IPS)モジュール
Workload Securityにおける侵入防止システム・モジュールは、受信トラフィックを検知し、不正なネットワーク・トラフィックを効果的にブロック、検出することができます。このモジュールには、WebLogicサーバの脆弱性の不正利用をブロックすることができる複数のIPSルールが含まれています。そのうちの1つが、IPSルール1010590 - Oracle WebLogic Server Remote Code Execution Vulnerabilities (CVE-2020-14882, CVE-2020-14750 and CVE-2020-14883) であり、脆弱性「CVE-2020-14882」 及び「 CVE-2020-14883」 を悪用した攻撃を検出、ブロックすることが可能です。
図4では、攻撃者がimagesディレクトリにおける「console.portal」リソースにアクセスするために不正なリクエストを送信しています。「252e%252e」は、ディレクトリトラバーサルパターンの「..」を二重にURLエンコードした文字列です。対象リソースを管理するクラスが、入力の検証を行わなかったため、攻撃者が提供するコードを自動的に処理してしまいました。攻撃者はサーバにwb.xmlファイルのコンテンツを読み込ませ、以下のシェルスクリプトをダウンロードさせました。
不正プログラム対策・モジュール
このモジュールは、挙動監視機能を用いて、脆弱性が悪用される攻撃をリアルタイムで防御します。
Webレピュテーション・モジュール
Webレピュテーション・モジュールは、不正なURLへのアクセスをブロックすることで、システムを保護します。今回の調査では、wb.shスクリプトがKinsingマルウェアをダウンロードしようとしたところ、このモジュールが即座に特定しブロックしました。
アクティビティ監視・モジュール
このモジュールは、Cloud One Workload Securityが導入されているエンドポイント上のプロセス、ファイル、及びネットワークアクティビティを収集することができます。図9に見られるように、アクティビティ監視・モジュールは、bashシェルを開こうとしたJavaプロセスを検出しました。
WebLogicの脆弱性悪用の実態に迫る
Kinsingマルウェアの調査において、Trend Micro Vision Oneは、この攻撃に関連するパスとイベントの詳細をリアルタイムで提供しました。このセクションでは、ダウンロードしたシェルスクリプトが実行するアクティビティ、Trend Micro Cloud One及びTrend Micro Vision Oneが提供する検出結果、そして、これらのソリューションがマルウェアに関する情報を提供する方法について考察します。
Trend Micro Cloud One
攻撃者が脆弱性の利用に成功した後、wb.sh ファイルはホストマシンにダウンロードされます。Workload Security及びVision Oneを使用していない機器では、以下にある不正動作の実行を試みます。
1. スクリプトは、「/tmp/zzza 」ファイルが存在するかどうかを確認し、それがスクリプトを停止させるトリガとなります。ファイルが存在しない場合、空のファイルを作成し、次のアクションを実行します。このファイルは、同一ホスト上で複数のインスタンスが稼働していないか検証するために使われるフラグになります。もしこのファイルをマニュアルで作成すれば、さらなる感染を阻止することもできます。
2. このスクリプトは、「ulimit」コマンドを使用して利用可能なリソースの制限を増やし、/var/log/syslog ファイルを削除します。
3. 複数のファイルの属性を変更し、更新可能にします。
4. システム内の複数のセキュリティ機能を無効化します。
5. “alibaba”、”bydo”、”qcloud”のクラウドサービス・エージェントを無効化します。
6. 他のコインマイナーと同様に、感染したシステム内の他の暗号資産のマイニング・プロセスを削除し始めます。
7. また、他の暗号資産関連のマイニング・マルウェアに属していた一部のDockerイメージも削除されます。
8. この時点まで、スクリプトはstager(設定)としての役割を果たし、他のコインマイナーやマルウェアに関連するファイルやプロセスを削除します。また、セキュリティ機能を無効化し、重要なファイルの属性を変更することにより攻撃者による操作を可能とします。スクリプトは、これらのステップをすべて実行した後Kinsingマルウェアをダウンロードします。
9. ユーザがrootか否かを確認し、不正なバイナリをダウンロードするためのパスとユーティリティ(wget, curl)を選択します。
10. wb.shスクリプトをダウンロードするためにCronJobを作成します。
Observed Attack Techniques (OATs)
Observed Attack Techniquesのログは収集したテレメトリの個々のイベントから生成されます。脆弱性を利用した不正な活動の有無を調査するために、セキュリティアナリストは感染ホスト上の不審な活動を示すOATイベントからOAT IDを検索することができます。
Trend Micro Vision One Workbench アプリ
Trend Micro Vision One Workbenchアプリは、複数のワークロード上で発生した事象に基づいて相関分析した重大なイベントをアナリストに提供します。
図 21の左ペインには、イベントの順序が表示されています。セキュリティアナリストは、重要と考えられるさまざまなオブジェクトを表示し、右ペインで関係性を説明することができます。このアプリにより、セキュリティチームは、侵害された資産を確認し、パッチの適用や緩和処置が行われている間に、潜在的に影響を受ける可能性のある資産をネットワークから隔離することができます
実行プロファイル
実行プロファイルは、エンドポイントの感染フローを示すグラフを作成するTrend Micro Vision Oneの機能です。「processCmd」や「objectCmd」などのフィールドは、SearchアプリやThreat Huntingアプリから展開し、任意の設定期間内において異常なアクティビティを検索できます。これらのアクティビティには、プロセス作成、ファイル作成、インバウンド及びアウトバウンドのネットワークアクティビティが含まれます。
「Check Execution Profile」を選択すると、セキュリティアナリストは、攻撃者が実行したアクションの広範なリストに目を通すことができます。
スレットハンティングクエリ
セキュリティアナリストは、潜在的な不正活動を探知するために、Trend Micro Vision Oneにおける以下のクエリを使用することができます。
1. bashプロセスを開くためにJavaアプリケーションを不正利用探知するクエリ:
processFilePath:/bin/java AND objectFilePath:/usr/bin/bash
2. bash経由でJavaが起動するcurlやwgetの利用を探知するクエリ:
a. processFilePath:/bin/java AND objectFilePath:/usr/bin/bash AND (objectCmd:curl or objectCmd:wget)
3. JavaによるBase64-decoded string executionをbash経由で探知するクエリ:
a. processFilePath:/bin/java AND objectFilePath:/usr/bin/bash AND objectCmd:base64
トレンドマイクロのソリューション
本ブログでは、攻撃者が古い脆弱性を利用し、システムにKinsingマルウェアを展開する手口について解説しました。この攻撃に成功すると、RCEが発生し、攻撃者は感染したシステム上で多くの不正活動を行うことができます。これは、マルウェアの実行から、重要なデータの窃取、さらには感染した機器の完全な制御まで多岐にわたります。
Trend Micro Vision Oneは、メール、エンドポイント、サーバ、クラウドワークロードなどの複数のレイヤを相関的に表示することで、セキュリティチームが進行中の攻撃を把握することを容易にします。その結果、セキュリティチームは、より広い視野から攻撃の全体像を見渡し、不正行動(単一のレイヤのみから確認した場合には判断が難しい)を検出することができます。
Trend Micro Cloud One - Workload Securityは、脆弱性を悪用した攻撃やマルウェア、不正な変更からシステムを防御することができます。仮想的、物理的、クラウド、コンテナなど、さまざまな環境の保護を実現することができます。ML(機械学習)や仮想パッチなどの高度な技術を使用することで、新規及び既存のワークロードを脅威から自動的に保護することが可能です。
MITRE ATT&CK Technique IDs
Technique |
ID |
Exploit Public-Facing Application |
T1190 |
Command and Scripting Interpreter: Unix Shell |
T1059.004 |
Resource Hijacking |
T1496 |
Indicator Removal on Host: Clear Linux or Mac System Logs |
T1070.002 |
File and Directory Permissions Modification: |
T1222.002 |
Impair Defenses: Disable or Modify System Firewall |
T1562.004 |
Indicator Removal on Host: File Deletion |
T1070.004 |
Scheduled Task/Job: Cron |
T1053.003 |
Impair Defenses: Disable Cloud Logs |
T1562/008 |
侵入の痕跡(Indicators of Compromise、IoC)
侵入の痕跡(IoC)はこちらで確認してください。
参考記事:
• 「A Post-exploitation Look at Coinminers Abusing WebLogic Vulnerabilities」
By: Sunil Bharti
翻訳:新井 智士(Core Technology Marketing, Trend Micro™ Research)