
eScan Management Console バージョン 14.0.1400.2281 には、`GetUserCurrentPwd` 関数を介した権限昇格が含まれており、攻撃者が任意のユーザーのパスワードを平文で取得できるようになります。
重要度: クリティカル
CVE ID: CVE-2023-33730
公開日: 2023年5月30日
著者: Sahil Ojha
eScan Management Consoleは、Microworld Technologiesが開発した一元化されたセキュリティ管理ソリューションです。エンタープライズIT管理者は、単一のWebベースコンソールから、ネットワーク全体のeScanアンチウイルス/エンドポイント保護エージェントを展開、管理、監視できます。
このコンソールのバージョン14.0.1400.2281には、重大な特権昇格脆弱性が存在します。GetUserCurrentPwd APIエンドポイントに認可チェックが欠如しているため、権限レベルに関係なく、認証されたすべてのユーザーが、コンソールに登録されている全アカウント(管理者アカウントを含む)の平文パスワードを取得できます。これにより、管理コンソールの完全な乗っ取り、ひいてはネットワーク上のすべての管理対象エンドポイントの乗っ取りが即座に可能になります。
| フィールド | 値 |
|---|---|
| CVE ID | CVE-2023-33730 |
| 製品 | Microworld Technologies eScan Management Console |
| 脆弱性のあるバージョン | 14.0.1400.2281 |
| 脆弱性の種類 | 特権昇格 / 壊れたオブジェクトレベル認可 (BOLA / IDOR) |
| 攻撃ベクトル | ネットワーク(認証済み低権限ユーザー) |
| 認証 | 必要(任意の有効なユーザーアカウント) |
| CVSSスコア | クリティカル |
| 公開日 | 2023年5月30日 |
| 研究者 | Sahil Ojha |
| ベンダーホームページ | https://www.escanav.com |
| 影響を受けるソフトウェア | https://cl.escanav.com/ewconsole.dll |
| テスト環境 | Windows |
この脆弱性は、現実世界でクリティカルな影響を及ぼします。
UsrId)を操作することで、同じ低権限ユーザーが管理者アカウントの平文パスワードを取得でき、eScan Management Consoleに対する完全な管理制御を獲得できます。この脆弱性は、eScan Management ConsoleのWebインターフェースが公開するGetUserCurrentPwd関数に存在します。このエンドポイントは、ユーザーがプロファイル編集のために自身のパスワードを取得できるようにすることを意図しています。しかし、実装は壊れたオブジェクトレベル認可 (BOLA / IDOR) の欠陥に悩まされています。
UsrIdパラメータを受け入れますが、要求元ユーザーがそのIDに対応するアカウントの所有者であることを検証しません。UsrId値に対してこのエンドポイントを呼び出すことを許可します。脆弱なリクエストパターン:
GET /eScanWebConsole/webpages/...?action=GetUserCurrentPwd&UsrId=<TARGET_USER_ID> HTTP/1.1
Host: <escan-console-host>
Cookie: <valid-session-cookie>
攻撃者は連続したUsrId値を列挙することで、システム内の全ユーザーの認証情報を1回の自動スイープでダンプできます。
注記: 以下の手順は、管理されたラボ環境における脆弱性の実証です。所有していない、またはテストに対する明示的な書面による許可を得ていないシステムに対して、これを再現しようとしないでください。
管理者の有効な認証情報を使用してeScan Management Consoleにログインし、通常(低)権限レベルのアクセスを持つ新しいユーザーアカウントを作成します。

管理者セッションからログアウトし、新しく作成した通常ユーザーの認証情報を使用してログインします。

通常ユーザーとしてログインした状態で、プロファイル編集 / パスワード変更セクションに移動します。Burp Suite(または同等のHTTPプロキシ)を使用して、送信されるHTTPトラフィックを傍受します。以下に示すGetUserCurrentPwdのGETリクエストを特定しキャプチャします。

キャプチャしたリクエストをBurp Suite Repeaterに送信し、転送します。サーバー応答に、現在認証されている通常ユーザーの平文パスワードが含まれていることを確認します。これを取得するために管理者権限は必要ありません。

UsrIdを変更して管理者に昇格Burp Suite Repeaterで、UsrIdパラメータを管理者アカウント(または任意の他のアカウント)のIDに変更します。変更したリクエストを転送します。サーバーは、供給されたUsrIdに対応する管理者の平文パスワード、およびその他のユーザーのパスワードを応答します。

取得した管理者パスワードを使用して管理者としてコンソールにログインし、eScan Management Consoleおよびネットワーク上のすべての管理対象エンドポイントに対する完全な管理権限を獲得します。
Microworld Technologiesは以下の緩和策を適用する必要があります。
UsrIdがセッション所有者のIDと一致することを検証する必要があります。他のユーザーのデータに対するリクエストは、HTTP 403 Forbiddenで拒否されなければなりません。GetUserCurrentPwdエンドポイントがセッションごとに呼び出せるレートを制限し、列挙型のアクセスパターンに対してアラートを発報します。このリポジトリとその内容は、教育および研究目的のみで提供されています。脆弱性の詳細と概念実証の手順は、防御側が問題を理解し修正するための責任ある開示の原則に従って開示されています。
この情報を使用して、システムを攻撃、侵害、または不正アクセスすることは行わないでください。所有していない、またはテストに対する明示的な書面による許可を得ていないシステムに対する不正なテストは違法であり非倫理的です。
著者および貢献者は、このリポジトリに含まれる情報の誤用に対して一切の責任を負いません。