Active Directory Kill Chain Angriff & Verteidigung
Zusammenfassung
Dieses Dokument wurde als nützliche, informative Ressource für diejenigen konzipiert, die die spezifischen Taktiken, Techniken und Verfahren (TTPs) verstehen möchten, die Angreifer einsetzen, um Active Directory zu kompromittieren, sowie Anleitungen zur Abschwächung, Erkennung und Prävention. Und um die Active Directory Kill Chain Attack und moderne Post-Exploitation-Adversary-Tradecraft-Aktivitäten zu verstehen.
BadSuccessor - Dieses Repository enthält Werkzeuge im Zusammenhang mit dem BadSuccessor-Angriff – einer neuartigen Active Directory-Privilege-Escalation-Technik, die eine Sicherheitslücke in einer mit Windows Server 2025 eingeführten Funktion ausnutzt.
AD_Miner - AD Miner ist ein Active Directory-Audit-Tool, das Cypher-Abfragen nutzt, um Daten aus der Bloodhound-Graphdatenbank zu verarbeiten und Sicherheitslücken aufzudecken.
Certify - Certify ist ein C#-Tool zur Aufzählung und Ausnutzung von Fehlkonfigurationen in Active Directory Certificate Services (AD CS).
PSPKIAudit - PowerShell-Toolkit zur Überwachung von Active Directory Certificate Services (AD CS).
Impacket - Impacket ist eine Sammlung von Python-Klassen für die Arbeit mit Netzwerkprotokollen
aclpwn.py - Active Directory ACL-Ausnutzung mit BloodHound
CrackMapExec - Ein Schweizer Taschenmesser für das Pentesting von Netzwerken
ADACLScanner - Ein Tool mit GUI oder Kommandozeile zur Erstellung von Berichten über Zugriffskontrolllisten (DACLs) und Systemzugriffskontrolllisten (SACLs) in Active Directory
zBang - zBang ist ein Risikobewertungstool, das potenzielle privilegierte Kontobedrohungen erkennt
SafetyKatz - SafetyKatz ist eine Kombination aus einer leicht modifizierten Version von @gentilkiwis Mimikatz-Projekt und @subTees .NET PE Loader.
SharpDump - SharpDump ist ein C#-Port der Out-Minidump.ps1-Funktionalität von PowerSploit.
PowerUpSQL - Ein PowerShell-Toolkit zum Angriff auf SQL Server
Rubeus - Rubeus ist ein C#-Werkzeugsatz für rohe Kerberos-Interaktion und -Missbrauch
ADRecon - Ein Tool, das Informationen über Active Directory sammelt und einen Bericht erstellt, der ein ganzheitliches Bild des aktuellen Zustands der Ziel-AD-Umgebung liefern kann
Mimikatz - Dienstprogramm zum Extrahieren von Klartext-Passwörtern, Hashes, PIN-Codes und Kerberos-Tickets aus dem Speicher, aber auch zur Durchführung von Pass-the-Hash, Pass-the-Ticket oder zum Erstellen von Golden Tickets
Grouper - Ein PowerShell-Skript zur Identifizierung anfälliger Einstellungen in AD-Gruppenrichtlinien.
Powermad - PowerShell-Tools für MachineAccountQuota und DNS-Ausnutzung
RACE - RACE ist ein PowerShell-Modul zur Durchführung von ACL-Angriffen auf Windows-Ziele.
DomainPasswordSpray - DomainPasswordSpray ist ein in PowerShell geschriebenes Tool zur Durchführung eines Password-Spray-Angriffs gegen Benutzer einer Domäne.
MailSniper - MailSniper ist ein Penetrationstest-Tool zum Durchsuchen von E-Mails in einer Microsoft Exchange-Umgebung nach bestimmten Begriffen (Passwörter, Insider-Informationen, Netzwerkarchitekturinformationen usw.)
LAPSToolkit - Tool zur Überwachung und zum Angriff auf LAPS-Umgebungen.
CredDefense - Credential- und Red-Teaming-Verteidigung für Windows-Umgebungen
ldapdomaindump - Active Directory-Informations-Dumper über LDAP
SpoolSample - PoC-Tool zum Zwingen von Windows-Hosts, sich über die MS-RPRN-RPC-Schnittstelle bei anderen Maschinen zu authentifizieren
adconnectdump - Azure AD Connect-Passwort-Extraktion
o365recon - Skript zum Abrufen von Informationen über O365 mit gültigen Anmeldeinformationen
ROADtools - ROADtools ist ein Framework zur Interaktion mit Azure AD.
Stormspotter - Stormspotter erstellt einen „Angriffsgraphen“ der Ressourcen in einem Azure-Abonnement.
AADInternals - AADInternals ist ein PowerShell-Modul zur Verwaltung von Azure AD und Office 365
MicroBurst: Ein PowerShell-Toolkit zum Angriff auf Azure - MicroBurst enthält Funktionen und Skripte, die die Erkennung von Azure-Diensten, die Überprüfung schwacher Konfigurationen und Post-Exploitation-Aktionen wie Credential Dumping unterstützen.
sam-the-admin - Ausnutzung von CVE-2021-42278 und CVE-2021-42287, um sich als DA von einem normalen Domänenbenutzer auszugeben
Invoke-TrimarcADChecks - Das PowerShell-Skript Invoke-TrimarcADChecks.ps1 ist dafür ausgelegt, Daten aus einer einzelnen AD-Domänenstruktur zu sammeln, um eine Active Directory-Sicherheitsbewertung (ADSA) durchzuführen.
Create-Tiers in AD - Projekttitel: Automatische Bereitstellung von Active Directory-Tiers in jeder Umgebung
SAMRi10 – Härtung des Remote-Zugriffs auf SAM in Windows 10/Server 2016
PingCastle - Ein Tool zur schnellen Bewertung der Active Directory-Sicherheitsstufe mit einer auf Risikobewertung und einem Reifegradmodell basierenden Methodik
Zurücksetzen des krbtgt-Kontokennworts/-schlüssels – Mit diesem Skript können Sie das Kennwort des krbtgt-Kontos und die zugehörigen Schlüssel zurücksetzen, während die Wahrscheinlichkeit von Kerberos-Authentifizierungsproblemen durch den Vorgang minimiert wird
RiskySPN – RiskySPNs ist eine Sammlung von PowerShell-Skripten, die sich auf die Erkennung und den Missbrauch von Konten mit SPNs (Service Principal Name) konzentrieren.
Deploy-Deception – Ein PowerShell-Modul zur Bereitstellung von Active Directory-Täuschungsobjekten
SpoolerScanner – Überprüft, ob MS-RPRN mit PowerShell/C# remote verfügbar ist
dcept – Ein Tool zur Bereitstellung und Erkennung der Nutzung von Active Directory-Honig-Tokens
LogonTracer – Untersucht bösartige Windows-Anmeldungen durch Visualisierung und Analyse des Windows-Ereignisprotokolls
DCSYNCMonitor – Überwacht auf DCSYNC- und DCSHADOW-Angriffe und erstellt benutzerdefinierte Windows-Ereignisse für diese Vorfälle
Sigma – Generisches Signaturformat für SIEM-Systeme
Sysmon – System Monitor (Sysmon) ist ein Windows-Systemdienst und Gerätetreiber, der nach der Installation auf einem System über Systemneustarts hinweg resident bleibt, um Systemaktivitäten zu überwachen und im Windows-Ereignisprotokoll zu protokollieren.
SysmonSearch – Untersucht verdächtige Aktivitäten durch Visualisierung des Sysmon-Ereignisprotokolls
ClrGuard – ClrGuard ist ein Proof-of-Concept-Projekt zur Erforschung der Instrumentierung der Common Language Runtime (CLR) zu Sicherheitszwecken.
Get-InjectedThread – Get-InjectedThread untersucht jeden laufenden Thread, um festzustellen, ob er aus einer Speicherinjektion resultiert.
SilkETW – SilkETW & SilkService sind flexible C#-Wrapper für ETW, die die Komplexität von ETW abstrahieren und eine einfache Schnittstelle für Forschung und Introspection bieten sollen.
Sparrow – Sparrow.ps1 wurde vom CISA Cloud Forensics Team erstellt, um bei der Erkennung möglicherweise kompromittierter Konten und Anwendungen in der Azure/m365-Umgebung zu helfen.
DFIR-O365RC – Das PowerShell-Modul DFIR-O365RC ist eine Sammlung von Funktionen, die es dem DFIR-Analysten ermöglichen, für Untersuchungen zu Business Email Compromise in Office 365 relevante Logs zu sammeln.
ADTimeline – Das Skript ADTimeline generiert eine Zeitleiste basierend auf Active Directory-Replikationsmetadaten für Objekte, die als interessant gelten.
Locksmith – Ein kleines Tool zur Suche und Behebung häufiger Fehlkonfigurationen in Active Directory Certificate Services.
FalconHound – FalconHound ist ein Blue-Team-Multitool. Es ermöglicht die automatisierte Nutzung und Verstärkung der Möglichkeiten von BloodHound. Es ist für den Einsatz in Verbindung mit einem SIEM oder einem anderen Log-Aggregationstool konzipiert.
sysmon-modular – Ein Sysmon-Konfigurationsrepository zur individuellen Anpassung
sysmon-dfir – Quellen, Konfiguration und Anleitung zur Erkennung bösartiger Aktivitäten unter Verwendung von Microsoft Sysmon.
sysmon-config – Sysmon-Konfigurationsdatei-Vorlage mit standardmäßig hochwertiger Ereignisverfolgung
Active Directory-Sicherheitschecks (von Sean Metcalf - @Pyrotek3)
Allgemeine Empfehlungen
Verwalten Sie lokale Administratorpasswörter (LAPS).
Implementieren Sie den RDP Restricted Admin-Modus (nach Bedarf).
Entfernen Sie nicht unterstützte Betriebssysteme aus dem Netzwerk.
Überwachen Sie geplante Aufgaben auf sensiblen Systemen (DCs usw.).
Stellen Sie sicher, dass OOB-Verwaltungskennwörter (DSRM) regelmäßig geändert und sicher gespeichert werden.
Verwenden Sie SMB v2/v3+
Das Standard-Domain-Administrator- und KRBTGT-Kennwort sollten jedes Jahr und beim Ausscheiden eines AD-Administrators geändert werden.
Entfernen Sie nicht mehr benötigte Vertrauensstellungen und aktivieren Sie nach Bedarf die SID-Filterung.
Alle Domain-Authentifizierungen sollten (wenn möglich) auf „Nur NTLMv2-Antwort senden, LM und NTLM ablehnen“ gesetzt werden.
Blockieren Sie den Internetzugriff für DCs, Server und alle Verwaltungssysteme.
Schützen von Administrationsanmeldedaten
Keine „Benutzer“- oder Computerkonten in Admin-Gruppen.
Stellen Sie sicher, dass alle Admin-Konten „sensibel und nicht delegierbar“ sind.
Fügen Sie Admin-Konten zur Gruppe „Geschützte Benutzer“ hinzu (erfordert Windows Server 2012 R2-Domänencontroller, 2012R2 DFL für Domain-Schutz).
Deaktivieren Sie alle inaktiven Admin-Konten und entfernen Sie sie aus privilegierten Gruppen.
Schützen von AD-Admin-Anmeldedaten
Beschränken Sie die AD-Admin-Mitgliedschaft (DA, EA, Schema-Admins usw.) und verwenden Sie nur benutzerdefinierte Delegationsgruppen.
Abgestufte („Tiered“) Administration zur Abschwächung der Auswirkungen von Anmeldedatendiebstahl.
Stellen Sie sicher, dass Administratoren sich nur an genehmigten Admin-Workstations und -Servern anmelden.
Nutzen Sie zeitlich begrenzte, temporäre Gruppenmitgliedschaften für alle Admin-Konten.
Schützen von Dienstkonten-Anmeldedaten
Beschränken Sie die Konten auf Systeme derselben Sicherheitsstufe.
Nutzen Sie (Gruppen-)Verwaltete Dienstkonten (oder PW >20 Zeichen), um Anmeldedatendiebstahl (Kerberoast) zu erschweren.
Implementieren Sie FGPP (DFL =>2008), um die PW-Anforderungen für Dienstkonten und Administratoren zu erhöhen.
Anmeldebeschränkungen – verhindern Sie interaktive Anmeldungen und beschränken Sie die Anmeldefähigkeit auf bestimmte Computer.
Deaktivieren Sie inaktive Dienstkonten und entfernen Sie sie aus privilegierten Gruppen.
Schützen von Ressourcen
Segmentieren Sie das Netzwerk, um Admin- und kritische Systeme zu schützen.
Setzen Sie ein IDS zur Überwachung des internen Unternehmensnetzwerks ein.
Netzwerkgeräte und OOB-Verwaltung in einem separaten Netzwerk.
Schützen von Domänencontrollern
Führen Sie nur Software und Dienste aus, die AD unterstützen.
Minimale Gruppen (und Benutzer) mit DC-Admin-/Anmelderechten.
Stellen Sie sicher, dass Patches angewendet werden, bevor Sie DCPromo ausführen (insbesondere MS14-068 und andere kritische Patches).
Überprüfen Sie geplante Aufgaben und Skripte.
Schützen von Workstations (und Servern)
Schnelles Patchen, insbesondere von Privilege-Escalation-Schwachstellen.
Bereitstellen des Sicherheits-Backport-Patches (KB2871997).
Wdigest-Registrierungsschlüssel auf 0 setzen (KB2871997/Windows 8.1/2012R2+): HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersWdigest
Bereitstellen von Workstation-Whitelisting (Microsoft AppLocker), um Codeausführung in Benutzerordnern zu blockieren – Home-Verzeichnis und Profilpfad.
Bereitstellen von Workstation-App-Sandboxing-Technologie (EMET) zur Abschwächung von Speicher-Exploits in Anwendungen (0-Days).
Protokollierung
Erweiterte Überwachung aktivieren
„Überwachung: Erzwinge, dass Überwachungsrichtlinien-Unterkategorieeinstellungen (Windows Vista oder später) die Einstellungen der Überwachungsrichtlinienkategorie überschreiben“
PowerShell-Modulprotokollierung aktivieren („*“) und Logs an zentralen Protokollserver weiterleiten (WEF oder andere Methode).
CMD-Prozessprotokollierung und Erweiterung aktivieren (KB3004375) und Logs an zentralen Protokollserver weiterleiten.
SIEM oder Äquivalent zur Zentralisierung möglichst vieler Protokolldaten.
System zur Verhaltensanalyse von Benutzern für verbesserte Kenntnisse über Benutzeraktivitäten (wie Microsoft ATA).
Sicherheitsprüfungen für Profis
Identifizieren Sie, wer AD-Adminrechte hat (Domain/Forest).
Identifizieren Sie, wer sich an Domänencontrollern anmelden kann (und Adminrechte für die virtuelle Umgebung, die virtuelle DCs hostet).
Scannen Sie Active Directory-Domänen, OUs, AdminSDHolder und GPOs auf unangemessene benutzerdefinierte Berechtigungen.
Stellen Sie sicher, dass AD-Administratoren (aka Domain-Admins) ihre Anmeldedaten schützen, indem sie sich nicht bei nicht vertrauenswürdigen Systemen (Workstations) anmelden.
Beschränken Sie die Rechte von Dienstkonten, die derzeit DA (oder gleichwertig) sind.
Wichtige Sicherheitsupdates
CVE
Titel
Beschreibung
Link
CVE-2020-1472
Netlogon-Schwachstelle bezüglich Erhöhung von Berechtigungen
Eine Sicherheitsanfälligkeit bezüglich der Erhöhung von Berechtigungen besteht, wenn ein Angreifer eine anfällige Netlogon-Sicherheitskanalverbindung zu einem Domänencontroller unter Verwendung des Netlogon Remote Protocol (MS-NRPC) herstellt. Ein Angreifer, der die Sicherheitsanfälligkeit erfolgreich ausnutzt, könnte eine speziell gestaltete Anwendung auf einem Gerät im Netzwerk ausführen.
Eine Sicherheitsanfälligkeit bezüglich Manipulation besteht in Microsoft Windows, wenn ein Man-in-the-Middle-Angreifer in der Lage ist, den NTLM-MIC-Schutz (Message Integrity Check) erfolgreich zu umgehen. Dies wird als „Windows NTLM Tampering Vulnerability“ bezeichnet.
Active Directory-Sicherheitsanfälligkeit bezüglich Erhöhung von Berechtigungen
Eine Sicherheitsanfälligkeit bezüglich Erhöhung von Berechtigungen besteht in Active Directory-Forest-Vertrauensstellungen aufgrund einer Standardeinstellung, die es einem Angreifer im vertrauenden Forest erlaubt, die Delegation eines TGT für eine Identität aus dem vertrauenswürdigen Forest anzufordern. Dies wird als „Active Directory Elevation of Privilege Vulnerability“ bezeichnet.
Eine Sicherheitsanfälligkeit bezüglich Remotecodeausführung besteht in den Remotedesktopdiensten (ehemals Terminaldienste), wenn ein nicht authentifizierter Angreifer unter Verwendung von RDP eine Verbindung zum Zielsystem herstellt und speziell gestaltete Anforderungen sendet. Dies wird als „Remote Desktop Services Remote Code Execution Vulnerability“ bezeichnet.
Microsoft Exchange Server-Sicherheitsanfälligkeit bezüglich Erhöhung von Berechtigungen
Eine Sicherheitsanfälligkeit bezüglich Erhöhung von Berechtigungen besteht in Microsoft Exchange Server. Dies betrifft Microsoft Exchange Server.
Erkennung
Angriff
Ereignis-ID
Konto- und Gruppenaufzählung
4798: Die lokale Gruppenmitgliedschaft eines Benutzers wurde aufgelistet. 4799: Die lokale Gruppenmitgliedschaft einer sicherheitsaktivierten lokalen Gruppe wurde aufgelistet.
AdminSDHolder
4780: Die ACL wurde für Konten festgelegt, die Mitglieder von Administratorengruppen sind.
4742: Ein Computerkonto wurde geändert 5137: Ein Verzeichnisdienstobjekt wurde erstellt 5141: Ein Verzeichnisdienstobjekt wurde gelöscht 4929: Ein Active Directory-Replikationsquell-Namenskontext wurde entfernt
Skeleton Keys
4673: Ein privilegierter Dienst wurde aufgerufen 4611: Ein vertrauenswürdiger Anmeldevorgang wurde bei der lokalen Sicherheitsbehörde registriert 4688: Ein neuer Prozess wurde erstellt 4689: Ein neuer Prozess wurde beendet
4688: Ein neuer Prozess wurde erstellt 4689: Ein Prozess wurde beendet 4624: Ein Konto wurde erfolgreich angemeldet 4625: Ein Konto konnte nicht angemeldet werden
DNSAdmin
770: DNS-Server-Plug-in-DLL wurde geladen 541: Die Einstellung serverlevelplugindll für Bereich . wurde auf <dll-Pfad> gesetzt 150: Der DNS-Server konnte die Plug-in-DLL nicht laden oder initialisieren
DCSync
4662: Ein Vorgang wurde an einem Objekt durchgeführt
Passwort-Spraying
4625: Ein Konto konnte nicht angemeldet werden 4771: Kerberos-Vorauthentifizierung fehlgeschlagen 4648: Es wurde versucht, eine Anmeldung mit expliziten Anmeldeinformationen durchzuführen
Windows SMB-Sicherheitsanfälligkeit bezüglich Remotecodeausführung
Der SMBv1-Server in Microsoft Windows Vista SP2; Windows Server 2008 SP2 und R2 SP1; Windows 7 SP1; Windows 8.1; Windows Server 2012 Gold und R2; Windows RT 8.1; und Windows 10 Gold, 1511 und 1607; und Windows Server 2016 ermöglicht es entfernten Angreifern, über speziell gestaltete Pakete beliebigen Code auszuführen. Diese Sicherheitsanfälligkeit unterscheidet sich von den in CVE-2017-0144, CVE-2017-0145, CVE-2017-0146 und CVE-2017-0148 beschriebenen.
Windows SAM- und LSAD- Herabstufungssicherheitslücke
Die SAM- und LSAD-Protokollimplementierungen in Microsoft Windows Vista SP2, Windows Server 2008 SP2 und R2 SP1, Windows 7 SP1, Windows 8.1, Windows Server 2012 Gold und R2, Windows RT 8.1 und Windows 10 Gold und 1511 stellen keinen ordnungsgemäßen RPC-Kanal her, was es Man-in-the-Middle-Angreifern ermöglicht, Protokollherabstufungsangriffe durchzuführen und Benutzer durch Ändern des Client-Server-Datenstroms zu impersonalisieren. Dies wird als „Windows SAM and LSAD Downgrade Vulnerability“ oder „BADLOCK“ bezeichnet.
Sicherheitsanfälligkeit in Kerberos könnte Erhöhung von Berechtigungen ermöglichen (3011780)
Das Kerberos Key Distribution Center (KDC) in Microsoft Windows Server 2003 SP2, Windows Vista SP2, Windows Server 2008 SP2 und R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1 und Windows Server 2012 Gold und R2 ermöglicht es remote authentifizierten Domänenbenutzern, über eine gefälschte Signatur in einem Ticket Domain-Administratorrechte zu erlangen. Dies wurde im November 2014 in freier Wildbahn ausgenutzt. Die Sicherheitsanfälligkeit wird als „Kerberos Checksum Vulnerability“ bezeichnet.
Sicherheitsanfälligkeit in Gruppenrichtlinieneinstellungen könnte Erhöhung von Berechtigungen ermöglichen
Die Gruppenrichtlinienimplementierung in Microsoft Windows Vista SP2, Windows Server 2008 SP2 und R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1 und Windows Server 2012 Gold und R2 verarbeitet die Verteilung von Kennwörtern nicht ordnungsgemäß. Dies ermöglicht es remote authentifizierten Benutzern, vertrauliche Anmeldeinformationen zu erhalten und dadurch Berechtigungen zu erlangen, indem sie Zugriff auf die SYSVOL-Freigabe nutzen. Dies wurde im Mai 2014 in freier Wildbahn ausgenutzt. Die Sicherheitsanfälligkeit wird als „Group Policy Preferences Password Elevation of Privilege Vulnerability“ bezeichnet.