
CVE-2020-11881: nicht authentifizierter entfernter DoS für den MikroTik SMB-Dienst.
Dieser Bericht beschreibt CVE-2020-11881, einen nicht authentifizierten Remote-DoS für den SMB-Dienst von MikroTik, der auf RouterOs läuft. Die Schwachstelle ermöglicht es einem Angreifer, den laufenden SMB-Dienst zum Absturz zu bringen und wurde am 06.04.2020 verantwortungsvoll an security<@>mikrotik.com gemeldet.
Das Server Message Block (SMB)-Protokoll wurde von Microsoft eingeführt und von mehreren Herstellern neu implementiert, um die Dateiaustauschkompatibilität mit Windows-Systemen und -Diensten zu gewährleisten. Das Protokoll wird allgemein für den Dateiaustausch zwischen Windows-Systemen verwendet.
6.41.3 (Langzeitfreigabe)
6.45.8 (Langzeitfreigabe)
6.45.9 (Langzeitfreigabe)
6.46.4 (stabile Freigabe)
6.47.2 (stabil)
6.47.3 (stabil)
7.0beta5 (Beta)
7.1beta2 und niedriger
Wahrscheinlich sind mehr Versionen, die vor dem 12.09.2020 veröffentlicht wurden, betroffen. Mit Ausnahme von Version 6.47.0, die für einen Veröffentlichungszyklus als Reaktion auf den ersten verantwortungsvollen Offenlegungsprozess behoben zu sein scheint.
Der SMB-Server stürzt ab, nachdem er ein negotiation-request-Paket gefolgt von einem modifizierten setup-request-Paket empfängt.
Um die Schwachstelle auszulösen, muss das setup-request-Paket das MessageID-Feld auf 1 und das
SessionID-Feld auf 0 gesetzt haben. Der Dienst stürzt ab, da er anscheinend das SessionID-Feld nicht verarbeiten kann.
Um den Fehler zuverlässig zu reproduzieren, bitte die in diesem Repository bereitgestellte Testumgebung neu aufbauen.
Laden Sie die RouterOs-Umgebung herunter und starten Sie sie.
Bitte führen Sie das folgende Skript auf einer frisch installierten Version von Ubuntu 18.04 aus, da das Skript alle erforderliche Software installiert. Das Skript endet mit der Angabe der IP der RouterOs-VM.
sudo ./setupMikroTikEnvironment.sh
SMB auf RouterOs aktivieren
Führen Sie die folgenden Befehle aus, um den SMB-Dienst zu aktivieren.
telnet <RouterOs IP>
(user: admin, <no password>)
ip smb set enabled=yes
ip smb print
Der Dienst kann manuell vom Hostsystem mit dem folgenden Befehl überprüft werden und sollte
mit Anonymous login successful antworten, solange der Dienst läuft.
smbclient -N -L \\\\<RouterOs IP>
Der Denial-of-Service-Angriff
Das Python3-Skript cve-2020-11881.py überprüft die Verfügbarkeit des SMB-Dienstes vor und nach dem
Ausnutzungsprozess. Eine erfolgreiche Ausführung führt zur Nichtverfügbarkeit des SMB-Dienstes.
Bitte führen Sie das Skript wie unten gezeigt aus.
python3 cve-2020-11881.py --ip <RouterOs Ip>
Das Testen des SMB-Dienstes mit dem folgenden Befehl wird fehlschlagen.
smbclient -N -L \\\\<RouterOs IP>
VM entfernen
Um die VM zu entfernen, führen Sie das Skript einfach erneut aus.
Der Fehler wurde am 06.04.2020 gemeldet und war am 12.09.2020 selbst nach mehreren Anfragen nicht behoben.
Diskussion über die CVE: https://forum.mikrotik.com/viewtopic.php?f=2&t=166137
Derzeit hat nur der Langzeit-Versionskanal (v6.46.7) alle notwendigen Korrekturen für diese CVE. Wir arbeiten daran, sie auch in den stabilen und Testkanälen zu veröffentlichen. Wir entschuldigen uns für etwaige Unannehmlichkeiten.
sudo ./setupMikroTikEnvironment.sh