ESXi用バックドア

ほぼこもセキュリティニュース By Terilogy Worx

ESXiはVMwareの仮想マシンを動作させる環境で通常ハイパーバイザと呼ばれる種類のソフトウェアです。
いろいろなソフトウェアには多くの既知の問題があります。
多くの既知の問題の多くはすでに対策が実施されており、その対策を適用することのできるパッチが提供されています。
しかしその既知の問題に対処した状態にできるかどうかは利用者がその対策を適切に適用しているかどうかに依存します。

ESXiのパッチの提供されている脆弱性の中に、CVE-2019-5544とCVE-2020-3992というものがあります。
CVE-2019-5544は、OpenSLPのヒープの上書きの問題であり結果としてリモートコード実行を成り立たせてしまう問題です。
CVE-2019-5544の対策は2019年に提供されています。
CVE-2020-3992は、OpenSLPのヒープの解放後の利用の問題であり結果としてリモートコード実行を成り立たせてしまう問題です。
CVE-2020-3992の対策は2020年に提供されています。

こういった古い脆弱性を対策しないままにしているESXiにおいて、バックドアが設置されてしまっていることが確認されています。

ESXiにはOS起動時に自動実行するものを設定できる機構が搭載されており、通常は管理者はその機構を利用して環境の利便性を向上させたりします。
攻撃者はこのOS起動時の自動実行機能を使ってバックドアの永続化を実施しました。

攻撃者の実施する活動には次のような内容を含みます。

  • タイムスタンプの工夫
    攻撃コードを既存環境のscriptのなかに埋め込みます。
    そのままではその既存のscriptのタイムスタンプは新しくなってしまうのですが、この攻撃では加工したscriptのタイムスタンプが変更前のものと同じになるようにしています。
    気が付かれにくくなることを期待しての動作です。
  • リバースシェルの設置
    攻撃コードはPythonで記述されています。
    攻撃コードが動作するとリバースシェルが起動します。
    通常のシェルは利用者側から接続先に向かって接続しますが、リバースシェルは逆向きで機器側から利用者側に向かって接続します。
    このためリバースシェルは外部から対象機器に向かっての通信をファイアウォールで制限されている場合でも利用できます。
  • リバースプロキシの設置
    ESXiにはもともとリバースプロキシの機構が搭載されているのですが、その設定を変更し、攻撃に利用できるようにして動作させます。

どう対抗していけば良いでしょう。
通常の対策を継続的に実施していくことだと思います。

パッチをタイムリーに適用しましょう。
パッチは適用していますが1年に1回です、などの運用ではタイムリーとはいえなさそうです。
ファイアウォールを正しく設定しましょう。
ファイアウォールは使っているよ、ということではなく、利用してよい通信を内向きにも外向きにも適切に制限し、意図した通信以外は利用できなくすることがよさそうです。
設定ファイルの内容は確認しましょう。
これはなかなか人手で実施するのは難しいかもしれませんが、こういったことのできるツールがありますのでうまく利用していけば負担を大きくすることなく運用していけると思います。

システムを安全に保つのは簡単ではないです。
精神論で何とかなるものではありませんが、がんばってやっていきましょう。

参考記事(外部リンク):A Custom Python Backdoor for VMWare ESXi Servers
blogs.juniper.net/en-us/threat-research/a-custom-python-backdoor-for-vmware-esxi-servers