ZOHOが提供する統合管理ソフトManageEngine Desktop CentralのRCE脆弱性について
SaaSで提供するWebアプリケーションベンダであるZOHOが提供するManageEngine Desktop Centralにて、遠隔の第三者が認証なしにリモートコード実行を行える脆弱性が公開されました。
https://www.manageengine.com/products/desktop-central/remote-code-execution-vulnerability.html
本脆弱性に関しては、US-CERTからも注意喚起が公開されています。
目次
脆弱性の概要
今回公開された脆弱性はFileStorageクラスのgetChartImageにおけるデータのデシリアライズに起因するものです。
結果として、遠隔の第三者がSYSTEM権限で任意のコード実行が可能になります。
https://srcincite.io/advisories/src-2020-0011/
シリアライズ/デシリアライズに起因する脆弱性というと、2年半前に話題になったStruts2の脆弱性S2-052(CVE-2017-9805)が有名ですよね。
以下に解説記事を掲載しておきます。
影響を受けるバージョン
ZOHOの公式リリース及びNISTの脆弱性データベースからは対象のバージョンは確認できませんでしたが、US-CERTの注意喚起を見ると、以下が対象だと考えられます。
- ManageEngine Desktop Central 10.0.473以前
修正バージョンについて
修正バージョンは以下のリンクにて、10.0.479として公開されています。
https://www.manageengine.com/products/desktop-central/service-packs.html
影響範囲の推測
インターネット接続機器の検索エンジンShodanで同ソフトウェアを検索すると2,300件程度グローバルIPが割り当てられた機器での稼働が確認できます。
ただ、日本に絞ると4件であり、AWSとのことなので、あくまで東京リージョンを使っているところまでしかわかりません。
ただ公式サイトによるといくつかの日系企業も導入していることがわかりますので、インターネットに直接公開はしていないものの利用ユーザは結構いるのかもしれません。
https://www.manageengine.jp/products/Desktop_Central/case-studies.htmlwww.manageengine.jp
発見者によるPoCの公開
脆弱性の発見者は、脆弱性を発見したのちZOHOに報告を無視されたため公開することを決めたとのことでした。
Since @zoho typically ignores researchers, I figured it was OK to share a ManageEngine Desktop Central zero-day exploit with everyone. UnCVE'ed, unpatched and unauthenticated RCE as SYSTEM/root. Enjoy!
— ϻг_ϻε (@steventseeley) 2020年3月5日
Advisory: https://t.co/U9LZPp4l5o
Exploit: https://t.co/LtR75bhooy
そして、同Tweetに掲載の通りPoCも公開されています。
https://srcincite.io/pocs/src-2020-0011.py.txt
だいぶご丁寧に書かれています。
以下は、発見者に記載されているPoCコードの実行結果です。
実際に確認したわけではないので条件などもあるかもしれませんが、脆弱性の悪用によって、「任意のコード実行ができていること」、「権限がSYSTEMになっていること」が確認できます。
(+) usage: ./poc.py <target> <cmd> (+) eg: ./poc.py 172.16.175.153 mspaint.exe saturn:~ mr_me$ ./poc.py 172.16.175.153 "cmd /c whoami > ../webapps/DesktopCentral/si.txt" (+) planted our serialized payload (+) executed: cmd /c whoami > ../webapps/DesktopCentral/si.txt saturn:~ mr_me$ curl http://172.16.175.153:8020/si.txt nt authority\system
ちなみに、ポート番号8020や8383は、同製品のエージェントとサーバ間の通信に用いられるデフォルトポートだとのことです。
https://www.manageengine.jp/support/kb/Desktop_Central/?p=10
まとめ
管理ソフトウェアはその性質上、RCEの影響により多数の端末への侵入が可能になってしまいます。
SaaSで提供されるサービスではあるものの、こういった脆弱性へのケアも重要で、導入の際にはこういった事態のために、検証環境を用意できるのが理想形なのかもしれません。