VMware ESXi に新たな Python バックドア:OpenSLP の既知の脆弱性を悪用か?

Experts detailed a previously undetected VMware ESXi backdoor

2022/12/13 SecurityAffairs — Juniper Networks の研究者たちが、VMware ESXi サーバを標的とする Python バックドアを発見した。この、2022年10月に発見されたバックドアに対する研究者たちの指摘は、インプラントの簡潔性/持続性/能力において注目に値するというものだ。侵害されたサーバのログ保持が限られていたことで、専門家たちは最初の侵害を特定できなかったが、ESXi の OpenSLP サービスにおける既知の脆弱性 (CVE-2019-5544/CVE-2020-3992) が悪用された可能性があると推測している。


このバックドアは、起動時に実行される /etc/rc.local.d/local.sh などの、いくつかのシステム・ファイルを改ざんすることで永続性を維持している。

VMware ESXi


それに続くコードは、Web サーバを立ち上げるための Python スクリプトを起動する。その Web サーバは、パスワードで保護された攻撃者からの POST リクエストを受け付ける。それぞれのリクエストには、base-64でエンコードされたコマンド・ペイロードを含むものもあれば、ホスト上でリバースシェルを起動するものもある。


Juniper が公開した分析結果には、「この攻撃で使用される Python スクリプトは、クロス・プラットフォームに対応しており、Linux を含む UNIX 系のシステムで、ほとんど変更することなく使用できる。ただし、今回の攻撃においては、ESXi をターゲットとして設計した、いくつかの特徴が示されている。そのファイル名とロケーションである /store/packages/vmtools.py が、仮想化ホストで疑いを持たれないものとして選ば れている」と記されている。

以下は、この攻撃でインストールまたは変更された、ファイルのリストである:

  • /etc/rc.local.d/local.sh:RAM に保存されるが、変更はバックアップされ、リブート時に復元される。
  • /bin/hostd-probe.sh:変更は RAM に保存され、再起動後に再適用さる。
  • /store/packages/vmtools.py:VM のディスク・イメージやログなどに用いられ、永続的なディスク・ストアに保存される。
  • /etc/vmware/rhttpproxy/endpoints.conf:変更は RAM に保存され、再起動後に再適用される。

リモート攻撃者たちは、不正なアクセスを可能にするために、ESXi のリバース HTTP プロキシの設定を変更した。パス名からネットワーク・ポートへのマッピングは、設定ファイル /etc/vmware/rhttpproxy/endpoints.conf に格納されている。

上記のファイルは、バックアップの対象であり、また、再起動時に自動的に復元されるシステム・ファイルの1つであるため、この変更は永続性を持ってしまう。

インストールに対する侵害の有無を判断する際に、研究者たちが推奨するのは vmtools.py/local.sh ファイルの確認である。

研究者たちは、「vmtools.py 内のハッシュ化されたパスワードが再構成されているのは、漏洩したサーバを一意に特定するためである。したがって、このファイルのハッシュを、IOC として使用すべきではない。hostd-probe.sh/endpoints.conf の修正内容は、上記の通りだ」と結論づけている。

また、専門家たちは、ベンダーから提供される全てのパッチを可能な限り早急に適用し、信頼できるホストにネットワーク接続を制限することを推奨している。

脅威アクターたちが作るバックドアですが、その巧妙さが進化しているようです。最近の関連記事としては、10月19日の「PowerShell バックドアの新種:Windows Update プロセスに偽装して検出を回避」や、10月28日の「Microsoft IIS ログを悪用する Cranefly マルウェア:3つの文字列で侵害を完遂」、12月1日の「Redis の CVE-2022-0543 を狙う Redigo マルウェア:ステルス型バックドアを仕掛ける」などがあります。よろしければ、Back Door で検索も、ご利用ください。