Windows Security Controls
Verwenden Sie Trickest, um mühelos Workflows zu erstellen und zu automatisieren, die von den weltweit fortschrittlichsten Community-Tools unterstützt werden. Heute Zugriff erhalten:
AppLocker-Richtlinie
Eine Anwendungs-Whitelist ist eine Liste genehmigter Softwareanwendungen oder ausführbarer Dateien, die auf einem System vorhanden sein und ausgeführt werden dürfen. Das Ziel besteht darin, die Umgebung vor schädlicher Malware und nicht genehmigter Software zu schützen, die nicht den spezifischen Geschäftsanforderungen einer Organisation entspricht.
AppLocker ist Microsofts Anwendungs-Whitelisting-Lösung und gibt Systemadministratoren die Kontrolle darüber, welche Anwendungen und Dateien Benutzer ausführen können. Es bietet feine Kontrolle über ausführbare Dateien, Skripte, Windows-Installationsdateien, DLLs, verpackte Apps und verpackte App-Installationsprogramme. Es ist üblich, dass Organisationen cmd.exe und PowerShell.exe blockieren und den Schreibzugriff auf bestimmte Verzeichnisse beschränken, aber all dies kann umgangen werden.
Überprüfung
Überprüfen Sie, welche Dateien/Erweiterungen auf der Blacklist/Whitelist stehen:
Diese Registrierungspfad enthält die Konfigurationen und Richtlinien, die von AppLocker angewendet werden, und bietet eine Möglichkeit, den aktuellen Satz von Regeln zu überprüfen, die auf dem System durchgesetzt werden:
HKLM\Software\Policies\Microsoft\Windows\SrpV2
Umgehen
Nützliche Schreibgeschützte Ordner, um die AppLocker-Richtlinie zu umgehen: Wenn AppLocker das Ausführen von allem innerhalb von
C:\Windows\System32
oderC:\Windows
zulässt, gibt es schreibgeschützte Ordner, die Sie verwenden können, um dies zu umgehen.
Häufig vertraute "LOLBAS's" Binärdateien können auch nützlich sein, um AppLocker zu umgehen.
Schlecht geschriebene Regeln könnten ebenfalls umgangen werden
Zum Beispiel,
<FilePathCondition Path="%OSDRIVE%*\allowed*"/>
, können Sie einen Ordner namensallowed
überall erstellen und er wird erlaubt sein.Organisationen konzentrieren sich oft darauf, die Ausführung der
%System32%\WindowsPowerShell\v1.0\powershell.exe
-Datei zu blockieren, vergessen jedoch die anderen PowerShell-Ausführungsorte wie%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
oderPowerShell_ISE.exe
.DLL-Durchsetzung sehr selten aktiviert aufgrund der zusätzlichen Belastung, die sie auf ein System legen kann, und der Menge an erforderlichen Tests, um sicherzustellen, dass nichts kaputt geht. Daher wird die Verwendung von DLLs als Hintertüren helfen, AppLocker zu umgehen.
Sie können ReflectivePick oder SharpPick verwenden, um PowerShell-Code in jedem Prozess auszuführen und AppLocker zu umgehen. Weitere Informationen finden Sie unter: https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode.
Speicherung von Anmeldeinformationen
Sicherheitskonten-Manager (SAM)
Lokale Anmeldeinformationen sind in dieser Datei vorhanden, die Passwörter sind gehasht.
Lokale Sicherheitsbehörde (LSA) - LSASS
Die Anmeldeinformationen (gehasht) werden im Speicher dieses Subsystems aus Single Sign-On-Gründen gespeichert. LSA verwaltet die lokale Sicherheitsrichtlinie (Passwortrichtlinie, Benutzerberechtigungen...), Authentifizierung, Zugriffstoken... LSA wird überprüfen, ob die bereitgestellten Anmeldeinformationen in der SAM-Datei vorhanden sind (für eine lokale Anmeldung) und mit dem Domänencontroller sprechen, um einen Domänenbenutzer zu authentifizieren.
Die Anmeldeinformationen werden im Prozess LSASS gespeichert: Kerberos-Tickets, Hashes NT und LM, leicht entschlüsselbare Passwörter.
LSA-Secrets
LSA könnte einige Anmeldeinformationen auf der Festplatte speichern:
Passwort des Computerkontos des Active Directory (nicht erreichbarer Domänencontroller).
Passwörter der Konten von Windows-Diensten
Passwörter für geplante Aufgaben
Weitere (Passwort von IIS-Anwendungen...)
NTDS.dit
Es ist die Datenbank des Active Directory. Es ist nur auf Domänencontrollern vorhanden.
Defender
Microsoft Defender ist ein Antivirus, der in Windows 10 und Windows 11 sowie in Versionen von Windows Server verfügbar ist. Er blockiert gängige Pentesting-Tools wie WinPEAS
. Es gibt jedoch Möglichkeiten, diese Schutzmaßnahmen zu umgehen.
Überprüfen
Um den Status des Defenders zu überprüfen, können Sie das PS-Cmdlet Get-MpComputerStatus
ausführen (überprüfen Sie den Wert von RealTimeProtectionEnabled
, um zu wissen, ob es aktiv ist):
Zur Enumeration könnten Sie auch ausführen:
Verschlüsseltes Dateisystem (EFS)
EFS sichert Dateien durch Verschlüsselung unter Verwendung eines symmetrischen Schlüssels namens File Encryption Key (FEK). Dieser Schlüssel wird mit dem öffentlichen Schlüssel des Benutzers verschlüsselt und innerhalb des verschlüsselten Dateis $EFS alternativen Datenstroms gespeichert. Bei Bedarf zur Entschlüsselung wird der entsprechende private Schlüssel des digitalen Zertifikats des Benutzers verwendet, um den FEK aus dem $EFS-Strom zu entschlüsseln. Weitere Details finden Sie hier.
Entschlüsselungsszenarien ohne Benutzerinitiierung umfassen:
Wenn Dateien oder Ordner auf ein nicht-EFS-Dateisystem wie FAT32 verschoben werden, werden sie automatisch entschlüsselt.
Verschlüsselte Dateien, die über das Netzwerk über das SMB/CIFS-Protokoll gesendet werden, werden vor der Übertragung entschlüsselt.
Diese Verschlüsselungsmethode ermöglicht einen transparenten Zugriff auf verschlüsselte Dateien für den Besitzer. Das einfache Ändern des Passworts des Besitzers und das Einloggen erlauben jedoch keine Entschlüsselung.
Haupterkenntnisse:
EFS verwendet einen symmetrischen FEK, der mit dem öffentlichen Schlüssel des Benutzers verschlüsselt ist.
Zur Entschlüsselung wird der private Schlüssel des Benutzers verwendet, um auf den FEK zuzugreifen.
Die automatische Entschlüsselung erfolgt unter bestimmten Bedingungen, z. B. beim Kopieren auf FAT32 oder bei der Netzwerkübertragung.
Verschlüsselte Dateien sind für den Besitzer ohne zusätzliche Schritte zugänglich.
EFS-Informationen überprüfen
Überprüfen Sie, ob ein Benutzer diesen Dienst verwendet, indem Sie überprüfen, ob dieser Pfad existiert: C:\users\<benutzername>\appdata\roaming\Microsoft\Protect
Überprüfen Sie, wer Zugriff auf die Datei hat, indem Sie cipher /c \<datei>
verwenden. Sie können auch cipher /e
und cipher /d
innerhalb eines Ordners verwenden, um alle Dateien zu verschlüsseln und entschlüsseln.
Entschlüsselung von EFS-Dateien
Als Autoritätssystem
In diesem Fall muss der Opferbenutzer einen Prozess im Host ausführen. In diesem Fall können Sie mit einer meterpreter
-Sitzung das Token des Prozesses des Benutzers übernehmen (impersonate_token
von incognito
). Oder Sie könnten einfach zu einem Prozess des Benutzers migrieren
.
Kenntnis des Benutzerpassworts
Gruppenverwaltete Dienstkonten (gMSA)
Microsoft hat Gruppenverwaltete Dienstkonten (gMSA) entwickelt, um die Verwaltung von Dienstkonten in IT-Infrastrukturen zu vereinfachen. Im Gegensatz zu herkömmlichen Dienstkonten, bei denen häufig die Einstellung "Kennwort läuft nie ab" aktiviert ist, bieten gMSAs eine sicherere und verwaltbarere Lösung:
Automatisches Kennwortmanagement: gMSAs verwenden ein komplexes, 240-Zeichen langes Kennwort, das automatisch gemäß der Domänen- oder Computerrichtlinie geändert wird. Dieser Prozess wird vom Key Distribution Service (KDC) von Microsoft verwaltet, was manuelle Kennwortaktualisierungen überflüssig macht.
Erhöhte Sicherheit: Diese Konten sind immun gegen Sperren und können nicht für interaktive Anmeldungen verwendet werden, was ihre Sicherheit erhöht.
Unterstützung mehrerer Hosts: gMSAs können auf mehreren Hosts gemeinsam genutzt werden, was sie ideal für Dienste macht, die auf mehreren Servern ausgeführt werden.
Fähigkeit zur Ausführung geplanter Aufgaben: Im Gegensatz zu verwalteten Dienstkonten unterstützen gMSAs die Ausführung geplanter Aufgaben.
Vereinfachtes SPN-Management: Das System aktualisiert automatisch den Service Principal Name (SPN), wenn es Änderungen an den sAMaccount-Details oder dem DNS-Namen des Computers gibt, was das SPN-Management vereinfacht.
Die Kennwörter für gMSAs werden in der LDAP-Eigenschaft msDS-ManagedPassword gespeichert und alle 30 Tage automatisch von den Domänencontrollern (DCs) zurückgesetzt. Dieses Kennwort, ein verschlüsseltes Datenblob namens MSDS-MANAGEDPASSWORD_BLOB, kann nur von autorisierten Administratoren und den Servern, auf denen die gMSAs installiert sind, abgerufen werden, was eine sichere Umgebung gewährleistet. Um auf diese Informationen zuzugreifen, ist eine gesicherte Verbindung wie LDAPS erforderlich oder die Verbindung muss mit 'Sealing & Secure' authentifiziert sein.
Sie können dieses Kennwort mit GMSAPasswordReader:
Weitere Informationen finden Sie in diesem Beitrag
Überprüfen Sie auch diese Webseite darüber, wie man einen NTLM-Relay-Angriff durchführt, um das Passwort von gMSA zu lesen.
LAPS
Die Local Administrator Password Solution (LAPS), die zum Download von Microsoft zur Verfügung steht, ermöglicht das Management von lokalen Administratorpasswörtern. Diese Passwörter, die zufällig generiert, einzigartig und regelmäßig geändert werden, werden zentral im Active Directory gespeichert. Der Zugriff auf diese Passwörter ist durch ACLs auf autorisierte Benutzer beschränkt. Bei ausreichenden Berechtigungen besteht die Möglichkeit, lokale Administratorpasswörter zu lesen.
pageLAPSPS Constrained Language Mode
PowerShell Constrained Language Mode sperrt viele der Funktionen, die benötigt werden, um PowerShell effektiv zu nutzen, wie das Blockieren von COM-Objekten, das Zulassen nur genehmigter .NET-Typen, XAML-basierter Workflows, PowerShell-Klassen und mehr.
Überprüfen
Umgehen
In der aktuellen Windows-Version funktioniert dieser Bypass nicht, aber Sie können PSByPassCLM verwenden.
Um es zu kompilieren, benötigen Sie möglicherweise eine Referenz hinzufügen -> Durchsuchen -> Durchsuchen -> fügen Sie C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0\31bf3856ad364e35\System.Management.Automation.dll
hinzu und ändern Sie das Projekt auf .Net4.5.
Direkter Bypass:
Umgekehrte Shell:
Sie können ReflectivePick oder SharpPick verwenden, um PowerShell-Code in jedem Prozess auszuführen und den eingeschränkten Modus zu umgehen. Weitere Informationen finden Sie unter: https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode.
PS-Ausführungsrichtlinie
Standardmäßig ist sie auf restricted gesetzt. Hauptwege, um diese Richtlinie zu umgehen:
Mehr Informationen finden Sie hier
Sicherheitsunterstützungsschnittstelle (SSPI)
Ist die API, die zur Authentifizierung von Benutzern verwendet werden kann.
Die SSPI ist dafür zuständig, das geeignete Protokoll für zwei Maschinen zu finden, die kommunizieren möchten. Die bevorzugte Methode hierfür ist Kerberos. Anschließend verhandelt die SSPI, welches Authentifizierungsprotokoll verwendet wird. Diese Authentifizierungsprotokolle werden als Security Support Provider (SSP) bezeichnet, befinden sich in Form einer DLL in jeder Windows-Maschine und beide Maschinen müssen dasselbe unterstützen, um kommunizieren zu können.
Haupt-SSPs
Kerberos: Der bevorzugte
%windir%\Windows\System32\kerberos.dll
NTLMv1 und NTLMv2: Aus Gründen der Kompatibilität
%windir%\Windows\System32\msv1_0.dll
Digest: Webserver und LDAP, Passwort in Form eines MD5-Hashes
%windir%\Windows\System32\Wdigest.dll
Schannel: SSL und TLS
%windir%\Windows\System32\Schannel.dll
Negotiate: Wird verwendet, um das zu verwendende Protokoll zu verhandeln (Kerberos oder NTLM, wobei Kerberos das Standardprotokoll ist)
%windir%\Windows\System32\lsasrv.dll
Die Verhandlung könnte mehrere Methoden oder nur eine anbieten.
UAC - Benutzerkontensteuerung
Benutzerkontensteuerung (UAC) ist eine Funktion, die eine Zustimmungsaufforderung für erhöhte Aktivitäten ermöglicht.
pageUAC - User Account ControlVerwenden Sie Trickest, um mühelos Workflows zu erstellen und zu automatisieren, unterstützt von den weltweit fortschrittlichsten Community-Tools. Heute noch Zugriff erhalten:
Last updated