Badlock

Was ist Badlock?

Badlock ist eine Sicherheitslücke aus dem Jahr 2016, die Anwender der Betriebssysteme Windows und Samba betroffen hat. Die Badlock-Sicherheitslücke ermöglicht Denial-of-Service-Angriffe und Man-in-the-Middle-Attacken. Die Lücke wurde im Local Security Authority Remote Protocol (MS-LSAD) und Security Account Manager Remote Protocol (MS-SAMR) gefunden. Die beiden Protokolle sind in Windows- und Samba-Servern im Einsatz. Badlock wurde teilweise als kritische Sicherheitslücke eingestuft. Zum Ausnutzen der Sicherheitslücke muss ein Angreifer allerdings erst in das lokale Netz eindringen und administrative Rechte erlangen. Dort eingedrungen, erlaubt Badlock die Datenmanipulation im Active Directory, der Angreifer könnte sich zum Domänen-Administator machen. Da das vorherige Eindringen ins lokale Netzwerk das Ausnutzen der Sicherheitslücke voraussetzt, hat Microsoft die Lücke nicht als kritisch eingestuft.

Was ist ein Badlock Bug?

Der Badlock Bug ist eine Sicherheitslücke, die Angreifern den administrativen Zugang auf die Domänen-Benutzerdatenbank des Active Directory (SAM) möglich macht. Dafür erfolgt der Angriff über Remote Procedure Calls (RPCs), die fälschlicherweise ungesicherte Verbindungen erlauben. Die ungeschützten RPC-Verbindungen per TCP sind die Ursache für den Bug. Unter bestimmten Umständen können die ungesicherten RPC-Aufrufe einen Man-in-the-Middle-Angriff provozieren. Die gesendeten Daten gelten dabei nicht als integritätsgeschützt und die Authentifizierungs-Tokens sind nicht mit der Verbindung assoziiert. Der Man-in-the-Middle kann eingreifen, wobei die Anfrage gültig bleibt. Über RPC exponiert das System Schnittstellen zur Verwaltung von Benutzerkonten über das Netzwerk. Zum Ausnutzen der RPC-Lücke belauscht der Angreifer also im lokalen Netz einen Administrator und verschafft sich darüber administrativen Zugriff auf die Domänen-Benutzerdatenbank des Active Directory (SAM).

Entsprechende Patches für Windows und Samba haben den Badlock-Bug beseitigt.

Wie könnte ein Badlock-Angriff ablaufen?

Ein Administrator meldet sich an einem Windows-Client an. In der Folge fragt das System per RPC den End Point Mapper nach den DRSUAPI-Port und will die Verbindung über eine weitere TCP-Verbindung herstellen. Der Man-in-the-Middle lenkt nun auf SAMR um und übergibt dem Server eine ungesicherte Verbindung. Das Ergebnis: Der Angreifer übernimmt die gesamte Kommunikation, der Client gibt keine Fehlermeldung aus und versucht erneut Kontakt mit dem Server aufzunehmen.