
Automatisiert die Active Directory GPO-Ausnutzung mittels NTLM-Relaying, ermöglicht die Erstellung bösartiger GPO-Vorlagen, Standort-Spoofing und die Ausführung von Befehlen zur Privilegienausweitung und lateralen Bewegung.
Das GPOddity-Projekt zielt darauf ab, GPO-Angriffsvektoren durch NTLM-Relaying (und mehr) zu automatisieren.
Weitere Details zum Angriff und eine Demonstration zur Nutzung des Tools finden Sie im zugehörigen Artikel unter: https://www.synacktiv.com/publications/gpoddity-exploiting-active-directory-gpos-through-ntlm-relaying-and-more
Sie können GPOddity mit pipx über den folgenden Befehl installieren:
$ python3 -m pipx install git+https://github.com/synacktiv/GPOddity
Alternativ können Sie GPOddity manuell installieren, indem Sie das Repository klonen und die Abhängigkeiten installieren:
$ git clone https://github.com/synacktiv/GPOddity
$ python3 -m pip install -r requirements.txt
$ python3 gpoddity.py --help
Usage: gpoddity.py [OPTIONS]
╭─ Optionen ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --help Diese Nachricht anzeigen und beenden. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Allgemeine Optionen ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ * --domain TEXT Die Ziel-Domäne [default: None] [erforderlich] │
│ * --gpo-id TEXT Die GPO-Objekt-GUID ohne umschließende Klammern (z. B. '1328149E-EF37-4E07-AC9E-E35920AD2F59') [default: None] [erforderlich] │
│ * --username TEXT Der Benutzername des Benutzers mit Schreibberechtigung auf das GPO-AD-Objekt. Dies kann ein Maschinenkonto sein (z. B. 'SRV01$') [default: None] [erforderlich]│
│ --password TEXT Das Passwort des Benutzers mit Schreibberechtigung auf das GPO-AD-Objekt [default: None] │
│ --hash TEXT Der NTLM-Hash des Benutzers mit Schreibberechtigung auf das GPO-AD-Objekt, im Format 'LM:NT' [default: None] │
│ --dc-ip TEXT [Optional] Die IP des Domänencontrollers, falls der Domänenname nicht aufgelöst werden kann. [default: None] │
│ --ldaps [Optional] LDAPS auf Port 636 anstelle von LDAP verwenden │
│ --verbose [Optional] Ausführliche Ausgabe aktivieren │
│ --just-clean [Optional] Nur Bereinigungsaktionen ausführen, basierend auf den in der Datei des --clean-file-Flags angegebenen Werten. Nützlich zur Bereinigung bei │
│ unvollständiger Ausnutzung oder nicht ordnungsgemäßen Beenden │
│ --clean-file TEXT [Optional] Die Datei aus dem Ordner 'cleaning/', die die wiederherzustellenden Werte enthält, wenn das --just-clean-Flag verwendet wird. Relativer Pfad zum │
│ GPOddity-Installationsordner oder absoluter Pfad │
│ [default: None] │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Optionen zur Erzeugung einer schädlichen Gruppenrichtlinienvorlage ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --command TEXT Der Befehl, der durch die schädliche GPO ausgeführt werden soll [default: None] │
│ --powershell [Optional] Powershell anstelle von cmd für die Befehlsausführung verwenden │
│ --gpo-type [user|computer] [Optional] Der Typ der GPO, die wir anvisieren. Kann entweder 'user' oder 'computer' sein [default: computer] │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Optionen zum Spoofing des Speicherorts der Gruppenrichtlinienvorlage ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --rogue-smbserver-ip TEXT Die IP-Adresse oder der DNS-Name des Servers, der die gefälschte schädliche GPO hosten wird. Bei Verwendung des GPOddity-SMB-Servers sollte dies die │
│ IP-Adresse des aktuellen Hosts im internen Netzwerk sein (z. B. 192.168.58.101) │
│ [default: None] │
│ --rogue-smbserver-share TEXT Der Name der Freigabe, die die gefälschte schädliche GPO bereitstellt (z. B. 'synacktiv'). Wenn Sie den eingebetteten SMB-Server ausführen, geben Sie │
│ KEINE Namen an, die 'SYSVOL' oder 'NETLOGON' enthalten (standardmäßig durch UNC-Pfadhärtung geschützt) │
│ [default: None] │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ SMB-Server-Optionen ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --machine-name TEXT [Optional] Der Name eines gültigen Domänen-Maschinenkontos, das für die Netlogon-Authentifizierung verwendet wird (z. B. SRV01$). Wenn │
│ ausgelassen, wird der mit --username angegebene Benutzer verwendet, und es wird angenommen, dass es sich um ein gültiges Maschinenkonto │