Von einem Kommentar zu Habré bis zu einer Schwachstelle im Dr. Netz

Vor relativ kurzer Zeit erschien auf Habré ein Artikel "Password Styler in Avira Free Antivirus" des BenutzersVeliant. Der Autor stellte fest, dass in der Standardauslieferung des genannten Antivirenprogramms eine Komponente enthalten ist, mit der Sie Kennwörter einfach aus dem Chrome-Browserspeicher extrahieren können.



In den Kommentaren wurde diskutiert, ob dies als Sicherheitslücke angesehen werden kann. Aber ich war begeistert von einem Kommentar des Autors:
Könnte dies beispielsweise in Form einer DLL implementiert werden, die beim Aufruf durch ihre API die digitale Signatur des aufrufenden Programms überprüft?


Tatsache ist, dass ich kurz zuvor mehrere Programme recherchiert habe, die sich auf die gleiche Weise auf die Überprüfung der digitalen Signatur stützten. Und dieser Scheck war sehr einfach zu umgehen.





Die digitale Signatur einer Datei stimmt nur mit der ausführbaren Datei selbst überein, aber ein laufendes Programm ist nicht nur eine ausführbare Datei. Es gibt verschiedene Möglichkeiten, den Betrieb des Programms zu beeinflussen, ohne die ausführbare Datei zu ändern: Sie können geladene Bibliotheken ersetzen oder Code direkt in den Speicher einfügen.



Ich habe mir das Profil des Autors angesehen: "Works in: Doctor Web". Aber was ist, wenn Sie prüfen, ob die Produkte dieses Unternehmens den Scheck verwenden, über den der Autor spricht? Ich habe mich entschlossen zu suchen und, Spoiler, eine Sicherheitslücke gefunden, mit der Sie Ihre Berechtigungen auf den Systembenutzer Dr.Web Security Space für Windows erhöhen können.



Nachrichtendienst



Ich verstehe Doctor Web-Produkte nicht, daher habe ich das erste genommen, das ich auf der Website herunterladen konnte - es war Dr.Web Security Space 12 für Windows. In den Standardeinstellungen sucht dieses Produkt jede halbe Stunde nach Updates. Im Update-Mechanismus wurde eine Sicherheitslücke gefunden.



Im Folgenden biete ich ein Operationsvideo an, das beschreibt, was in dem Video unter Bezugnahme auf die Zeit passiert. Es wird auch eine Beschreibung der genauen Sicherheitsanfälligkeit geben.



Betriebsvideo





Die Demo wird unter Windows 10 x64 von einem Benutzer ohne Administratorrechte ausgeführt.

0: 00-0: 12 Zeigen Sie über die Windows-Konsole an, dass der aktuelle Benutzer kein Administrator ist.

0: 12-0: 24 Zeigen Sie die installierte Version der

Datei Dr.Web Security Space an. 0: 24-0: 29 Die Datei drweb_eop_upd_dll.dll befindet sich im Ordner auf dem Desktop (Quellcodes und die Datei sind dem Ticket beigefügt.)

0: 29-0: 34 Ich zeige, dass sich 3 Dateien im

Ordner C: \ ProgramData \ Doctor Web \ Updater \ etc befinden. 0: 34-0: 47 Ich kopiere die Bibliothek drweb_eop_upd_dll.dll in den Ordner auf Desktop und eine Kopie rufe ich version.dll auf, eine andere - cryptui.dll

0: 47-0: 56 Ich kopiere die Datei C: \ Programme \ Gemeinsame Dateien \ Doctor Web \ Updater \ drwupsrv.exe in den Ordner auf dem Desktop neben dll ...

0: 56-1: 00 Führen Sie die kopierte Datei aus



Die ausführbare Datei drwupsrv.exe aus dem Ordner auf dem Desktop lädt die version.dll in der Nähe. Diese Bibliothek erstellt die Datei C: \ ProgramData \ Doctor Web \ Updater \ etc \ drwupsrv.xml.new. Der Benutzer hat das Recht, Dateien im Ordner C: \ ProgramData und tief im Inneren zu erstellen. Dies ist also eine legale Operation. Wenn Sie versuchen, eine solche Datei manuell zu erstellen, ist es wahrscheinlich, dass die Sicherheitsmechanismen von Dr.Web einen solchen Vorgang verhindern. Im Betrieb wird die Datei jedoch im Auftrag von drwupsrv.exe erstellt, wodurch wahrscheinlich interne Überprüfungen umgangen werden und die Datei erstellt wird. Tatsächlich ist dies eine Umgehung der Signaturüberprüfung, die am Anfang des Artikels erläutert wird.



1: 00-1: 22 Uhr Demonstration der erstellten Datei und ihres Inhalts. Im Allgemeinen entspricht die Datei dem Inhalt der Datei C: \ ProgramData \ Doctor Web \ Updater \ etc \ drwupsrv.xml, aber alle Pfade verweisen auf den Ordner auf dem Desktop (C: \ Users \ User \ Desktop \ dwtest)

1: 22-2 : 00 nichts passiert (in diesem Stadium warte ich auf den Software-Update-Prozess, der standardmäßig jede halbe Stunde stattfindet und die erwartete Zeit in den Protokollen zu finden ist)

2: 00-2: 14 Anscheinend nimmt der Updater die erstellte Konfigurationsdatei Im Ordner C: \ Users \ User \ Desktop \ dwtest befinden sich keine Dr.Web-Softwaredateien. Dort werden die Softwaredateien kopiert.



Die kopierten Dateien enthalten die Datei dwservice.exe, die zum Zeitpunkt des Updates als Benutzer NT AUTHORITY \ SYSTEM gestartet wird. Diese Datei lädt die Bibliothek cryptui.dll, die sich im Ordner C: \ Users \ User \ Desktop \ dwtest befand. Der Bibliothekscode startet einfach die interaktive Konsole, die auf dem Bildschirm angezeigt wird. Verwenden Sie den Befehl whoami, um sicherzustellen, dass die Systemrechte erhalten werden.



Ergebnis



Der Schwachstellenbericht wurde an Doctor Web gesendet, und anscheinend haben die Entwickler alles behoben.



Zeitleiste:



15.05.2020 - Kontaktaufnahme mit dem technischen Support mit der Bitte um Bereitstellung eines Sicherheitskontakts.

20.05.2020 - Ich erhalte die Antwort, dass es möglich ist, einen Bericht in diesem Anruf zu senden.

20.05.2020 - Ich sende einen Bericht

14.06.2020 - Ich erhalte die Antwort, dass die Sicherheitsanfälligkeit für Version 12 behoben wurde. Warten auf Portierung für Version 11.

07/07/2020 - Die Entwickler bestätigen, dass die Fixes veröffentlicht wurden.



Dieser Artikel in Englisch.



All Articles