
La version 14.0.1400.2281 de eScan Management Console contient une élévation de privilèges via la fonction `GetUserCurrentPwd` qui permet aux attaquants de récupérer le mot de passe de n'importe quel utilisateur en texte clair.
Sévérité : Critique
Identifiant CVE : CVE-2023-33730
Divulgué : 30 mai 2023
Auteur : Sahil Ojha
eScan Management Console est une solution centralisée de gestion de la sécurité développée par Microworld Technologies. Elle permet aux administrateurs informatiques d'entreprise de déployer, gérer et superviser les agents eScan antivirus/protection des points de terminaison sur l'ensemble d'un réseau à partir d'une console Web unique.
La version 14.0.1400.2281 de cette console contient une vulnérabilité critique d'élévation de privilèges. En raison d'un contrôle d'autorisation manquant dans le point de terminaison API GetUserCurrentPwd, tout utilisateur authentifié — quel que soit son niveau de privilège — peut récupérer les mots de passe en clair de les comptes enregistrés dans la console, y compris les comptes administrateur. Cela permet immédiatement une prise de contrôle totale de la console de gestion et, par extension, de tous les points de terminaison gérés sur le réseau.
| Champ | Valeur |
|---|---|
| Identifiant CVE | CVE-2023-33730 |
| Produit | Microworld Technologies eScan Management Console |
| Version vulnérable | 14.0.1400.2281 |
| Type de vulnérabilité | Élévation de privilèges / Autorisation au niveau objet cassée (BOLA / IDOR) |
| Vecteur d'attaque | Réseau (utilisateur authentifié à faibles privilèges) |
| Authentification | Requise (tout compte utilisateur valide) |
| Score CVSS | Critique |
| Date de divulgation | 30 mai 2023 |
| Chercheur | Sahil Ojha |
| Page d'accueil du fournisseur | https://www.escanav.com |
| Logiciel concerné | https://cl.escanav.com/ewconsole.dll |
| Testé sur | Windows |
Cette vulnérabilité a un impact critique en conditions réelles :
UsrId), ce même utilisateur à faibles privilèges peut récupérer le mot de passe en clair du compte administrateur, ce qui accorde un contrôle administratif total sur l'eScan Management Console.La vulnérabilité réside dans la fonction GetUserCurrentPwd exposée par l'interface Web de l'eScan Management Console. Ce point de terminaison est conçu pour permettre à un utilisateur de récupérer son propre mot de passe afin de modifier son profil. Cependant, l'implémentation souffre d'un défaut d'autorisation cassée au niveau objet (BOLA / IDOR) :
UsrId mais ne vérifie pas que l'utilisateur demandeur possède le compte correspondant à cet identifiant.UsrId.Modèle de requête vulnérable :
GET /eScanWebConsole/webpages/...?action=GetUserCurrentPwd&UsrId=<TARGET_USER_ID> HTTP/1.1
Host: <escan-console-host>
Cookie: <valid-session-cookie>
En itérant sur des valeurs séquentielles de UsrId, un attaquant peut extraire les identifiants de chaque utilisateur du système en une seule opération automatisée.
Remarque : Les étapes suivantes démontrent la vulnérabilité dans un environnement de laboratoire contrôlé. Ne pas tenter de reproduire cette attaque contre un système dont vous n'êtes pas propriétaire ou pour lequel vous ne disposez pas d'une autorisation écrite explicite de test.
Connectez-vous à l'eScan Management Console avec des identifiants administrateur valides et créez un nouveau compte utilisateur avec un niveau d'accès normal (faibles privilèges).

Déconnectez-vous de la session administrateur et connectez-vous en utilisant les identifiants du nouvel utilisateur normal créé.

Tout en étant connecté en tant qu'utilisateur normal, accédez à la section Modifier le profil / Changer le mot de passe. Interceptez le trafic HTTP sortant à l'aide de Burp Suite (ou d'un proxy HTTP équivalent). Identifiez et capturez la requête GET GetUserCurrentPwd comme indiqué ci-dessous.

Envoyez la requête capturée à Burp Suite Repeater et transmettez-la. Observez que la réponse du serveur contient le mot de passe en clair de l'utilisateur normal actuellement authentifié — aucun privilège administrateur n'est requis pour le récupérer.

UsrIdDans Burp Suite Repeater, modifiez le paramètre UsrId pour y mettre l'identifiant du compte administrateur (ou de tout autre compte). Transmettez la requête modifiée. Le serveur répond avec le mot de passe en clair de l'administrateur, ainsi que les mots de passe de tout autre utilisateur dont le UsrId est fourni.

Utilisez le mot de passe administrateur récupéré pour vous connecter à la console en tant qu'administrateur, obtenant ainsi tous les privilèges administratifs sur l'eScan Management Console et sur tous les points de terminaison gérés du réseau.
Microworld Technologies devrait appliquer les mesures d'atténuation suivantes :
UsrId de la requête correspond à l'identifiant du propriétaire de la session. Les requêtes concernant les données d'autres utilisateurs doivent être rejetées avec une réponse HTTP 403 Forbidden.GetUserCurrentPwd peut être appelé par session, et alertez sur les schémas d'accès de type énumération.Ce dépôt et son contenu sont fournis strictement à des fins éducatives et de recherche. Les détails de la vulnérabilité et les étapes de la preuve de concept sont divulgués conformément aux principes de divulgation responsable afin d'aider les défenseurs à comprendre et à corriger le problème.
N'utilisez pas ces informations pour attaquer, compromettre ou obtenir un accès non autorisé à un système. Tester sans autorisation des systèmes dont vous n'êtes pas propriétaire ou pour lesquels vous ne disposez pas d'une autorisation écrite explicite est illégal et contraire à l'éthique.
L'auteur et les contributeurs déclinent toute responsabilité en cas d'utilisation abusive des informations contenues dans ce dépôt.