Wenn ein Angreifer die Anmeldeinformationen für ein Benutzerkonto in Ihrem Netzwerk kennt, kann er damit erheblichen Schaden anrichten. Nach der Anmeldung als legitimer Benutzer kann er sich lateral auf anderen Systemen ausbreiten und die Berechtigungen für diese Systeme ausweiten, um beispielsweise Ransomware zu installieren, wichtige Daten abzugreifen und geschäftskritische Prozesse lahmzulegen.
Die meisten Unternehmen sind sich dieser Tatsache bewusst und haben Maßnahmen zum Schutz der Anmeldeinformationen ihrer Benutzer ergriffen. Insbesondere nutzen sie die Active Directory-Kennwortrichtlinie, um Anforderungen an die Länge und Komplexität von Kennwörtern sowie an den Kennwortverlauf durchzusetzen. Durch Definition einer Richtlinie stellen sie außerdem sicher, dass ein Konto nach einer bestimmten Anzahl fehlgeschlagener Anmeldeversuche gesperrt wird. Damit dürften sie auf der sicheren Seite sein, oder?
Leider nein. Selbst mit diesen Sicherheitsvorkehrungen kommt es häufig vor, dass Benutzer einfach zu erratende Kennwörter wie Winter2017 oder Passwort!@# wählen, weil diese den Standards des Unternehmens entsprechen und man sie sich dennoch leicht merken kann. Mit diesen unsicheren Kennwörtern kann das Unternehmen schnell Opfer einer der einfachsten Angriffsmethoden werden: das Erraten dieser Kennwörter.
Es mag überraschen, wie gut diese Strategie funktioniert. Das folgende Beispiel zeigt Schritt für Schritt einen Angriff, bei dem versucht wird, das Kennwort zu erraten. Anschließend wird aufgezeigt, wie Sie das Risiko solcher Angriffe für Ihr Unternehmen analysieren und Ihre Cybersicherheitsmaßnahmen verbessern können.
Funktionsweise eines Kennwort-Spray-Angriffs
Bei einem Kennwort-Spray-Angriff versucht der Angreifer, sich mit einem häufig verwendeten Kennwort bei jedem einzelnen Konto des Unternehmens anzumelden. Die meisten Versuche schlagen natürlich fehl, doch ein einzelner fehlerhafter Anmeldeversuch bei einem Konto führt noch nicht zur Sperrung des Kontos. Gelingt die Anmeldung bei keinem Konto nicht, versucht der Angreifer es einfach mit dem nächsten Kennwort in seiner Liste. Findet er auf diese Weise ein Kennwort, das nur von einem einzigen Benutzer in Ihrem Unternehmen verwendet wird, erhält er Zugriff auf das Netzwerk und kann großen Schaden anrichten.
Für einen Kennwort-Spray-Angriff kann unter anderem das Dienstprogramm CrackMapExec genutzt werden, das über GitHub kostenlos heruntergeladen werden kann. CrackMapExec enthält ein (über PowerSploit) ausgeführtes Mimikatz-Modul, das das Abgreifen von Anmeldeinformationen ermöglicht. Und so funktioniert ein Kennwort-Spray-Angriff:
-
Schritt: Überprüfen der Active Directory-Kennwortrichtlinie und der Richtlinie für die Kontosperrung
Um Kontosperrungen zu vermeiden, müssen Angreifer wissen, wie häufig nacheinander ein falsches Kennwort eingegeben werden darf. Und um für ihre Anmeldeversuche die wahrscheinlichsten Kennwörter auszuwählen, müssen sie sich Einblick in die Active Directory-Kennwortrichtlinie des Unternehmens verschaffen. CrackMapExec liefert ihnen beide Informationen. Die Ausgabe kann wie folgt aussehen:
Der Angreifer weiß nun, dass er in dieser Umgebung neun Versuche hat, das Kennwort eines einzelnen Benutzers zu erraten, ohne eine Kontosperrung auszulösen. Er kann außerdem sehen, dass Kennwörter mindestens fünf Zeichen lang und komplex sein müssen. Anhand dieser Informationen kann er ein Wörterbuch möglicher Kennwörter erstellen, ohne seine Angriffsversuche mit Kennwörtern durchzuführen, die der Richtlinie nicht entsprechen. (Alternativ kann er eine der zahlreichen Kennwortlisten verwenden, die aus Sammlungen mit geleakten Kennwörtern aus Datenlecks erstellt wurden und ebenfalls einfach über GitHub heruntergeladen werden können.)
-
Schritt: Auflisten aller Benutzerkonten
Als Nächstes benötigt der Angreifer eine Liste der Konten, die für seine Zugriffsversuche infrage kommen. Eine Liste aller Benutzerkonten lässt sich ganz einfach mit einer LDAP-Abfrage oder mit der Funktion rid-brute von CrackMapExec abrufen:
-
Schritt: Ausprobieren jedes Kennworts für alle Benutzerkonten
Hat der Angreifer eine Liste aller Active Directory-Benutzerkonten (users.txt) und eine Liste aller infrage kommenden Kennwörter (passwords.txt), muss er lediglich den folgenden Befehl ausführen:
Mit diesem Befehl wird mit den einzelnen Kennwörtern eine Anmeldung bei jedem Konto versucht, bis es eine Übereinstimmung gibt:
Ermitteln unsicherer Kennwörter
Wie Sie sehen konnten, steht Angreifern ohne Zugriffsrechte in Ihrer Umgebung eine sehr effektive Methode zur Verfügung, mit der sie Ihre Active Directory-Konten kompromittieren können: das einfache Erraten von Klartext-Kennwörtern. Nun fragen Sie sich vielleicht, wie anfällig Ihr Unternehmen für solche Angriffe ist.
Das können Sie mithilfe des DSInternals-Befehls Test-PasswordQuality feststellen. Der Befehl extrahiert die Kennwort-Hashes für alle Benutzerkonten und gleicht diese mit den Kennwort-Hashes für unsichere Kennwörter ab, die in einem Wörterbuch gespeichert sind.
Mit dem folgenden Befehl können Sie die Analyse durchführen. Er kann per Fernzugriff ausgeführt werden und extrahiert Kennwort-Hashes mittels DC-Replikation, ähnlich wie bei einem DCSync Mimikatz-Angriff.
Oben in der Ausgabe wird eine Liste der Konten angezeigt, die mit reversibler Verschlüsselung gespeichert sind. Dieses Thema wurde im letzten Blog-Artikel behandelt.
Der Bericht führt außerdem alle Konten auf, deren Kennwörter im Wörterbuch gefunden wurden:
Wie Sie sich mit Netwrix vor unsicheren Kennwörtern schützen können
Zwar können Sie mit den Kennwortrichtlinien von Microsoft gewisse Einschränkungen festlegen, doch reichen diese nicht aus, um Ihre Benutzer an der Verwendung von Kennwörtern zu hindern, die von Angreifern leicht erraten werden können. Netwrix stellt eine Lösung für die Sicherheit von Active Directory bereit, mit der Sie sichere Kennwörter durchsetzen können. Besser noch: Sie können damit Ihr Active Directory durchgängig sichern. Mit der Lösung profitieren Sie von diesen Möglichkeiten:
- Identifizieren und Mindern von Sicherheitsrisiken in Ihrem Active Directory, d. h. nicht nur von unsicheren Kennwörtern, sondern auch von zu weit gefassten Berechtigungen, Schatten-Administratoren, nicht mehr genutzten Konten usw.
- Durchsetzen von Richtlinien für sichere Kennwörter sowie Kontrolle von Active Directory-Konfigurationen und -Berechtigungen, um den Diebstahl von Anmeldeinformationen zu verhindern
- Erkennen von komplexen Bedrohungen, um Angreifer rechtzeitig abzuwehren
- Sofortiges Eindämmen von Sicherheitsverletzungen mit automatisierten Abwehrmaßnahmen, um den Schaden für Ihr Unternehmen möglichst gering zu halten
- Rollback schädlicher oder unzulässiger Änderungen bzw. Wiederherstellung nach solchen Änderungen bei minimalen Ausfallzeiten