McAfee patcht Schwachstelle in Antivirus-Produkten

[English]McAfee musste in allen Editionen seiner Antivirensoftware für Windows eine Local Privlege Escalation-Schwachstelle (LPE) patchen, mit der potenzielle Angreifer SYSTEM-Berechtigungen erhalten konnten.


Anzeige

Betroffen vom Local Privlege Escalation-Bug sind McAfee Total Protection (MTP), McAfee Anti-Virus Plus (AVP) und McAfee Internet Security (MIS) bis einschließlich Version 16.0.R22.

CVE-2019-3648: DLL-Hijacking

Der LPE-Bug CVE-2019-3648 erfordert allerdings, dass Angreifer laut SafeBreach Labs-Sicherheitsforscher Peleg Hadar, der die Schwachstelle entdeckt hat, Administratorrechte für die Ausnutzung besitzen. Nur dann lassen sich die DLLs in die betreffenden Verzeichnisse speichern. Das werden viele Nutzer als unproblematisch abtun. Aber die Schwachstelle ermöglicht es Angreifern den Self-Defense-Mechanismus von McAfee zu umgehen, indem eine beliebige unsignierte DLL in mehrere Dienste geladen wird, die als NT AUTHORITY\SYSTEM laufen.

Das Problem ist mal wieder DLL-Hijacking, bei dem die DLL-Suchreihenfolge genutzt wird, um DLLs auf einer bereits infiltrierten Maschine durch Systemdienste laden zu lassen und so deren Berechtigungen zu erhalten. Im konkreten Fall fiel bei der Untersuchung der Produkte auf, dass mehrere, als signierte Prozesse und als NT AUTHORITY\SYSTEM laufende, McAfee-Dienste versuchen,

c:\Windows\System32\wbem\wbemcomn.dll

zu laden. Diese Datei wird aber nicht gefunden, da sie sich in System32 und nicht im Ordner System32\Wbem befindet. Die folgende Grafik zeigt die vergeblichen Versuche, die DLL zu laden.

wbemcomn.dll

Die Sicherheitsforscher vermuteten, dass dieser Fehler ausgenutzt werden kann, um eine  beliebige unsignierte DLL in diese Prozesse zu laden. Dies ermöglicht die Schutzmechanismen von McAfee zu umgehen und gleichzeitig mit der DLL NT AUTHORITY\SYSTEM-Berechtigungen zu erhalten.

Ein Proof of Concept

Im Rahmen eines Proof of Concept (PoC) haben die Sicherheitsforscher eine unsignierte Proxy-DLL, die die ursprünglichen wbemcomn.dll-Funktion aufruft, kompiliert. Diese DLL soll zusätzlich den Namen des ladenden Prozesses, den Benutzernamen, der die Datei aufgerufen hat und den Namen der DLL-Datei in eine txt-Datei schreiben.


Anzeige

Die Proxy-DLL wurde dann in C:\Windows\System32\Wbem abgelegt (was Administator-Berechtigungen erfordert) und der Computer neu gestartet. Es war den Sicherheitsforschern möglich, auf diese Weise eine beliebige DLL zu laden und eigenen Code im Kontext mehrerer McAfee-Prozesse auszuführen, die NT AUTHORITY\SYSTEM laufen. Das bedeutet, dass die Schutzmaßnahmen von McAfee ausgehebelt wurden. Die Schwachstelle gibt Angreifern die Möglichkeit, bösartigen Schadcode jedes Mal, wenn die Dienste geladen werden, dauerhaft mit zu laden und auszuführen. Betroffene Versionen sind:

  • McAfee Total Protection (MTP)
  • McAfee Anti-Virus Plus (AVP)
  • McAfee Internet Security (MIS)

bis einschließlich 16.0.R22. McAfee hat die Version 16.0.R22 Refresh 1 freigegeben, um das Problem zu beheben.

Die Schwachstelle wurde am 5. August 2019 an McAfee gemeldet. Am 21. August 2019 gab es eine erste Reaktion von HackerOne und am 3. September 2019 hat McAfee die Schwachstelle bestätigt. Nach mehreren Statusupdates hat McAfee am 23. Oktober 2019 ein Update für die betroffenen Produkte zur Verfügung gestellt. Am 31. Oktober 2019 wurde von McAfee eine CVE-2019-3648 für die Schwachstelle zugeteilt. Am 12. November 2019 veröffentlichte Mcafee einen Sicherheitshinweis (der vom SafeBreach Labs-Sicherheitsforscher angegebene Link funktioniert aber bei mir nicht). Wer McAfee einsetzt, sollte also umgehend ein Update einspielen. (via)


Cookies blockieren entzieht uns die Finanzierung: Cookie-Einstellungen

Dieser Beitrag wurde unter Sicherheit abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

3 Antworten zu McAfee patcht Schwachstelle in Antivirus-Produkten

  1. Bitte nicht den BLÖDSINN "unsignierte DLL laden" wiederkäuen!
    Eine digitale Signatur (bei Windows "Authenticode" genannt) ist KEIN Sicherheitsmerkmal, sondern dient nur zur Verifikation des Dateiinhalts und zur Authentifizierung des Erstellers/Signierers.
    Dem Windows Modullader (implementiert in NTDLL.dll, also UNTERHALB des Win32-API, das Signaturen prüft oder prüfen kann) ist es VÖLLIG wurscht, ob DLLs signiert sind oder nicht, und ob diese Signaturen (un)gültig sind.
    Nur wenn "Software Restriction Policies", d.h. SAFER oder AppLocker aktiv sind, dann werden diese vom Win32-API vor dem Aufruf des Modulladers befragt und KÖNNEN das Laden von DLLs mit nicht explizit als "erlaubt" eingetragenen Signaturen (oder Zertifikaten der Signierer) unterbinden.

  2. Punkt 2: es gibt keinen prinzipiellen Unterschied in der Mächtigkeit zwischen (Mitgliedern der Benutzergruppen) "Administratoren" und "NT AUTHORITY\SYSTEM"!
    Beide haben die gleichen Privilegien, nur sind bei "Administratoren" nach der Benutzeranmeldung weniger "aktiv" gesetzt. Die kann ein Administrator aber einfachst aktivieren… beispielsweise "Backup" und "Restore", und damit die Prüfung von (NTFS-)ACLs ausser Kraft setzen (analog zur UID 0 anderer Betrübssysteme).

  3. Da bin ich ja mal gespannt, wie lange es dauern wird, bis die Datev den Patch auch für Viwas (Mcafee) bereitstellen wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.