
Sage X3のAdxDSrvサービスにおけるSYSTEM権限での認証なしRCE(CVE-2020-7388)の概念実証エクスプロイトコード
CVE-2020-7388 の概念実証エクスプロイトコードです。Sage X3 の AdxDSrv サービスに対する、SYSTEM 権限での未認証リモートコード実行 (RCE) を実証します。
Sage X3 は、AdxAdmin コンポーネントの一部であるプロセス「AdxDSrv.exe」の下で、TCP/1818 ポート(デフォルト。変更可能)に管理サービスを公開しています。このサービスは、Sage X3 Console を介した Sage ERP ソリューションのリモート管理に使用されます。このサービス内の脆弱性により、悪意のある攻撃者が公開されたサービスにリクエストを細工して、「NT AUTHORITY/SYSTEM」ユーザーとしてサーバー上でコマンドを実行できるようになります。
詳細なエクスプロイトの解説は、Rapid7 のブログに掲載された元の公開記事からご覧いただけます: https://www.rapid7.com/blog/post/2021/07/07/cve-2020-7387-7390-multiple-sage-x3-vulnerabilities/
AdxDSrv はデフォルトで TCP ポート 1818 で実行され、Namp では不明なサービスとしてリストされます。このリポジトリには、脆弱なサービスと AdxdSrv 自体を識別するための 2 つの NSE スクリプトが含まれています。
python3 adxsrv_bypass.py --cmd <command to run as SYSTEM> --ip <remote target> --port <port of AdxDSrv service>
注: これは大まかな PoC であり、特定の順序でバイトストリームを送信するもので、調整が必要になる場合があります。ソフトウェアにアクセスできた時間が限られていたため、エクスプロイトを微調整することはできませんでした。脆弱なインスタンスに遭遇し、PoC を修正した場合は、PR を送ってください。また、修正を試みていてコラボレーションしたい場合は、お気軽にご連絡ください。
2020 年のネットワーク侵入テスト中に、Cale Black が Sage の X3 ERP の Web 管理パネルに新たな脆弱性を発見しました。これをきっかけに、Jonathan peterson(@deadjakk)、Aaron Herndon(@ac3lives)、Cale Black、Ryan Villarreal(@XjCrazy09)、William Vu の間でアプリケーションのさらなる調査が行われました。私たちは調査を進め、リモート管理に使用されていた Sage X3 のカスタムサービス AdxDSrv を特定しました。リバースエンジニアリングとファジングを重ねた結果、4 件の CVE に到達しました。そのうちの 1 件は CVSS10 の未認証リモートコード実行です。多くのリバースエンジニアリングと初期 PoC モックアップを担当した、ここでの主力である @Deadjakk に大きな称賛を送ります。