You are currently viewing Microsoft Active Directory Sicherheitslücken bekämpfen

Microsoft Active Directory Sicherheitslücken bekämpfen

Active Directory Netzwerke, weisen einige Sicherheitslücken bei der Standardkonfiguration auf, wenn man sie nicht aktiv schließt. Im folgenden Blog Eintrag werde ich über diese Sicherheitslücken sprechen und wie man diese Erfolgreich schließt.

Welche Sicherheitslücken gibt es in Active Directory?

Leider existieren in vielen Windows Netzwerken einige Schwachstellen, da diese von Haus aus schon mitgeliefert werden und oftmals das Bewusstsein für die Existenz dieser Schwachstellen fehlt. Deshalb zeige ich heute die häufigsten Sicherheitslücken in Windows Netzwerken.

LLMNR, NBT-NS und mDNS poisoning

Eine der am häufigsten vorkommenden Schwachstellen sind die veralteten DNS Protokolle LLMNR, NBT-NS und mDNS. Diese sind standardmäßig auf Windows Hosts aktiviert und dienen dazu DNS Namen aufzulösen, wenn der konfigurierte DNS Server die DNS Anfragen nicht beantworten kann. 

Wenn beispielsweise ein Benutzer auf einen Fileshare im Netzwerk zugreifen will, und er sich beim Namen des Hostname vertippt, so kennt der DNS Server den Host nicht. Der PC vom Benutzer sendet automatisch eine Anfrage ins Netzwerk an alle Systeme mit der Anfrage, ob den jemand diesen Host kennt. 

Ein Angreifer kann diese Anfrage abfangen und diesem damit antworten, dass er der gesuchte Host ist. Jetzt sendet der PC vom Benutzer automatisch seinen NTLM Hash an den PC vom Angreifer, dies macht er, um sich am Host zu Authentifizieren. Der NTLM Hash ist eine verschlüsselte Form vom Benutzer Passwort. Na gut aber wo ist den jetzt der Haken?

Diesen Hash kann ein Angreifer verwenden und probieren diesen zu knacken. Hat der Benutzer ein einfach Passwort verwendet wie z.B. Passwort123 so kann der Angreifer das Passwort binnen Sekunden knacken und er hat nun valide Zugangsdaten und kann sich nun weiter im Netzwerk ausbreiten. Sollte es dem Angreifer nicht Möglich sein das Passwort zu knacken, da der Benutzer ein sehr sicheres Passwort verwendet hat, so heißt das nicht, dass er nicht erfolgreich war. Der Angreifer hat jetzt noch die Möglichkeit mittels einem Pass-the-Hash Angriff im Netzwerk auszubreiten. Bei diesem Angriff kann sich der Angreifer ganz einfach mithilfe des Hashs an einem Fileshare authentifizieren und auf die Daten vom Share zugreifen. Was ein Pass-the-Hash Angriff ist sehen wir uns im nächsten Punkt an

Abfangen eines Benutzerhashes

Wie behebt man LLMNR, NBT-NS und mDNS poisoning?

Das beheben der Schwachstellen ist eigentlich relativ einfach, sofern man Active Directory im Einsatz hat. Über das Active Directory können diese Protokolle zentral deaktiviert werden. In den Gruppenrichtlinien unter Computerkonfiguration > Administrative Vorlagen > Netzwerk > DNS-Client kann die Einstellung „Multicastnamensauflösung deaktivieren“ aktiviert werden. Somit wird das Protokoll LLMNR deaktiviert. 

Stellen Sie sicher das der Rot markierte Punkt auf aktiviert steht

Das NBT-NS Protokoll kann über die Netzwerkkarteneinstellungen am PC selbst oder wenn ein Windows DHCP Server verwendet wird, über diesen deaktiviert werden. Gehen Sie hierzu beim Windows DHCP Server bei allen Scopes auf Bereichsoptionen > Erweitert und dann stellen Sie unter Herstellerklasse „Microsoft Windows 2000-Optionen“ ein. Fügen Sie unter Punkt „001 Microsoft NetBIOS-Deaktivierungsoption“ den Wert „0x2“ unter „Lang:“ ein.

Um NetBIOS an Ihrem lokalen PC zu deaktivieren gehen Sie hierzu auf die Eigenschaften Ihrer Netzwerkkarten. Gehen Sie dann auf Internetprotokoll, Version 4 (TCP/IPv4), auf Erweitert und dann im Reiter auf WINS. Anschließend aktivieren Sie die Option „NetBIOS über TCP/IP deaktivieren“. Ich empfehle generell diese Option zusätzlich bei jedem PC zu aktivieren, da die Einstellungen standardmäßig vom DHCP Server bezogen werden bzw. wenn kein DHCP Server verwendet wird NetBIOS aktiv ist. Mit dieser Einstellung verhindern Sie, dass wenn sich ein Host einmal in einem anderen Netzwerk befindet, NetBIOS nicht plötzlich aktiv ist. Stellen Sie sicher, dass diese Einstellungen auf allen Netzwerkkarten am Host gesetzt sind. 

NetBIOS auf der Netzwerkkarte am Host deaktivieren

Das mDNS Protokoll lässt sich über die Windows Registry deaktivieren. Hierzu muss in der Registry unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters ein neuer REG_DWORD Wert mit der Bezeichnung „EnableMDNS“ erstellt werden. Diesem muss dann der Wert 0 zugewiesen werden, was normalerweise schon der Fall ist.

Windows Registry Editor

Dies lässt sich natürlich auch über eine Gruppenrichtlinie im Active Directory realisieren. Die Schritte sind dieselben, wie in der lokalen Registry. Es besteht auch noch die Möglichkeit den Registry Wert mit Hilfe von Powershell oder CMD zu erstellen.

 

Powershell Befehl
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\" -Name EnableMDNS -Value 0 -Type DWord
CMD Befehl
REG ADD  "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v " EnableMDNS" /t REG_DWORD /d "0" /f

Welche Nachteile gibt es beim deaktivieren dieser Protokolle?

Hat man seinen DNS-Server richtig konfiguriert, so sollte es in einem Unternehmensnetzwerk keine Probleme geben, da diese Protokolle sehr veraltet sind. Man sollte trotzdem vor der Implementierung dieser Maßnahmen testen ob es nicht zu Problemen in der eigenen Infrastruktur bekommt. Es kann sein, dass sehr alte Systeme diese Protokolle noch verwenden und es zu Problemen kommen kann. Microsoft gibt auch an, dass beim deaktivieren von mDNS Wireless screen sharing sowie das erreichen von Druckern nicht mehr funktionieren kann. Ich habe beides getestet und konnte bisher keine Probleme feststellen. Den Blog Eintrag von Microsoft findet man hier.

 

Pass-The-Hash Angriff

Bei einem Pass-The-Hash Angriff, fängt ein Angreifer einen Hash mittels Man-in-the-middle Attacke ab und leitet ihn an ein Zielsystem weiter, um sich dort zu Authentifizieren. Bei dieser Methode muss der Angreifer nicht den Hash knacken, sondern es reicht lediglich das Abfangen des Hashes aus. Damit der Angriff erfolgreich ist, muss der Benutzer, von dem der Hash abgefangen wird, Administrator auf dem Zielsystem sein, sowie die SMB Signierung muss deaktiviert sein.

Die SMB Signierung ist auf diesem Host nicht aktiv

Wie schützt man sich vor Pass-The-Hash Angriffen?

Um diese Sicherheitslücke zu schließen, muss man sicherstellen, dass keine Domänen-Benutzer Admin-Rechte auf anderen Hosts im Netzwerk haben. Außerdem ist es wichtig die SMB Signierung auf den einzelnen Hosts zu aktivieren. Dies kann entweder mit einer lokalen Gruppenrichtlinie oder mit einer globalen Gruppenrichtlinie im Active Directory geschehen. Beide Konfigurationen sind jeweils dieselben. 

Unter Computerkonfiguration > Windows-Einstellungen > Sicherheitseinstellungen > Lokale Richtlinien > Sicherheitsoptionen findet man 4 Richtlinien zur Aktivierung der SMB Signierung.

 

  • Microsoft-Netzwerk (Client): Kommunikation digital signieren (immer)
  • Microsoft-Netzwerk (Client): Kommunikation digital signieren (wenn Server zustimmt)
  • Microsoft-Netzwerk (Server): Kommunikation digital signieren (immer)
  • Microsoft-Netzwerk (Server): Kommunikation digital signieren (wenn Client zustimmt)
Richtlinien für die SMB Signierung

Stellen Sie sicher dass, die Richtlinien Microsoft-Netzwerk (Client): Kommunikation digital signieren (immer) und Microsoft-Netzwerk (Server): Kommunikation digital signieren (immer) aktiviert sind. Nachdem diese zwei Richtlinien auf allen Hosts aktiviert worden ist, ist es einem Angreifer nicht mehr möglich einen Pass-The-Hash Angriff durchzuführen.

Eine Kommunikation ohne SMB Signierung ist jetzt nicht mehr möglich

Welche Nachteile gibt es beim aktivieren der SMB Signierung?

Es besteht die Möglichkeit, dass es zu Performance Problemen bei der Aktivierung der SMB Signierung kommen kann. Ich empfehle daher, das ganze erst einmal zu testen, bevor man es auf alle Clients im Netzwerk ausrollt. Am besten aktivieren Sie die SMB Signierung auf einzelnen Servern sowie Clients und holen nach 2 Wochen Feedback ein, ob es den zu Performance Einbrüchen gekommen ist oder nicht.

IPv6 Angriff

Bisher ist IPv6 noch nicht sehr verbreitet und trotzdem gibt es hier bereits Sicherheitslücken in Windows Netzwerken. Wenn man sich mal seine Netzwerkkarte genauer anschaut, dann stellt man fest, dass standardmäßig IPv6 aktiviert ist. Das Problem hierbei ist, dass die wenigstens IPv6 im Unternehmensnetzwerk im Einsatz haben. Wenn ein Client eine DNS Anfrage macht, macht er das über IPv4 als auch über IPv6. Hat das Unternehmen keinen DNS Server für IPv6 konfiguriert, landet hierfür die DNS-Anfrage im Nirvana.

Ein Angreifer kann dies nutzen, um seinen eigenen DNS-Server für IPv6 bereitzustellen. Mit speziellen Tools ist es dann Möglich Informationen über die Domäne herauszufinden wie z.B. Domänen-Gruppen, Domänen-User, Gruppenrichtlinien, etc. Sollte sich ein Domain-Admin im Netzwerk an einem Client anmelden, ist es für den Angreifer sogar möglich, seinen eigenen Domänen-Benutzer zu erstellen. Dies ermöglicht ihm im Netzwerk weiter fortzuschreiten und an mehr Informationen über das Netzwerk zu gelangen.

 

Schreibe einen Kommentar