
Active Directory ACL-Exploitation mit BloodHound
Aclpwn.py ist ein Tool, das mit BloodHound interagiert, um ACL-basierte Privilegieneskalationspfade zu identifizieren und auszunutzen. Es nimmt einen Start- und einen Endpunkt und verwendet Neo4j-Pfadfindungsalgorithmen, um den effizientesten ACL-basierten Privilegieneskalationspfad zu finden. Aclpwn.py ähnelt dem PowerShell-basierten Invoke-Aclpwn, über das Sie in unserem Blog lesen können.
Aclpwn.py ist sowohl mit Python 2.7 als auch 3.5+ kompatibel. Es benötigt die Bibliotheken neo4j-driver, impacket und ldap3. Sie können aclpwn.py über pip installieren: pip install aclpwn. Für Python 3 benötigen Sie den python36 Branch von impacket, da der Master-Branch (und die auf PyPI veröffentlichten Versionen) derzeit nur Python 2 unterstützen.
Für Verwendung und Dokumentation siehe das Wiki, zum Beispiel die Schnellstartseite.
aclpwn.py bietet derzeit die folgenden Funktionen:
aclpwn.py nutzt keine Schwachstellen aus, sondern basiert auf falsch konfigurierten (oft aufgrund delegierter Berechtigungen) oder unsicheren Standard-ACLs. Um diese Probleme zu lösen, ist es wichtig, potenziell gefährliche ACLs in Ihrer Active Directory-Umgebung mit BloodHound zu identifizieren. Zur Erkennung können Windows-Ereignisprotokolle verwendet werden. Die relevanten Ereignis-IDs werden in unserem Blog beschrieben.