Impacket für Pentester: Seitliche Netzwerkbewegungen und Red Teaming
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Der Artikel erklärt, wie das impacket-net Dienstprogramm für die Active Directory-Aufzählung und administrative Manipulation verwendet werden kann. Es zeigt, wie Angreifer NTLM-Hashes, Kerberos-Tickets und AES-Schlüssel ausnutzen können, um Domänenbenutzer, Gruppen und Computerkonten zu verwalten. Das Tool unterstützt unauffällige Aufklärung und kann die Privilegieneskalation in einer Domänenumgebung beschleunigen.
Untersuchung
Der Bericht verwendet eine kontrollierte Laborumgebung, ignite.local, um verschiedene Authentifizierungswege und Methoden zur Befehlsausführung zu demonstrieren. Es wird veranschaulicht, wie ein Angreifer von einer niederen Privilegierung zur vollständigen administrativen Kontrolle übergehen kann, indem er Verzeichnisobjekte ändert. Die Untersuchung hebt außerdem hervor, wie diese Aktionen in Windows-Ereignisprotokollen sichtbar bleiben.
Minderung
Empfohlene Minderungsmaßnahmen umfassen das Festlegen von ms-DS-MachineAccountQuota to 0 , um die unbefugte Erstellung von Computerkonten zu blockieren. Organisationen sollten auch LDAP-Signierung durchsetzen, Kanalbindung aktivieren und schwächere Verschlüsselungstypen wie RC4 deaktivieren. Darüber hinaus kann das Platzieren von hochprivilegierten Konten in der Sicherheitsgruppe „Geschützte Benutzer“ helfen, NTLM-Missbrauch und Missbrauch von langfristigen TGTs zu verhindern.
Reaktion
Wenn diese Aktivität erkannt wird, sollten Verteidiger Schlüssel-Windows-Ereignis-IDs zentralisieren und überwachen, die mit Änderungen im Kontenlebenszyklus und Gruppenmitgliedschaftsänderungen verbunden sind. Automatisierte Reaktionspläne sollten vorhanden sein, um unbefugte Verzeichnisänderungen schnell rückgängig zu machen. Der Einsatz von Honigkonten in überwachten Organisationseinheiten kann auch hochvertrauliche Alarme für sofortige Vorfallreaktionen liefern.
Angriffsfluss
Wir aktualisieren diesen Teil noch. Melden Sie sich an, um benachrichtigt zu werden
Benachrichtige michErkennungen
Wahrscheinlicher Einsatz von Windows-Hackbarbeiten [Teil1] (über cmdline)
Anzeigen
Wahrscheinlicher Einsatz von Windows-Hackbarbeiten [Teil3] (über file_event)
Anzeigen
Erkennung des Impacket-Net-Dienstprogramms mit Kontomodifikationen [Linux-Prozesserstellung]
Anzeigen
Erkennung von Privilegien-Eskalation und Kontoaktivitäten in Active Directory [Microsoft Windows-Sicherheitsereignisprotokoll]
Anzeigen
Simulation Ausführung
Voraussetzung: Der Telemetrie- & Ausgangsbasis-Pre-flight-Check muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die präzise Ausführung der Gegnertechnik (TTP), die dazu ausgelegt ist, die Erkennungsregel auszulösen. Die Befehle und die Erzählung MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungserwartung erwartet wird. Abstrakte oder nicht zusammenhängende Beispiele führen zu Fehldiagnosen.
-
Angriffserzählung & Befehle: Ein Gegner hat einen Fuß auf einem Linux-Server gefasst. Um die Persistenz zu gewährleisten und ein Aussperren zu verhindern, beabsichtigen sie, ein inaktives Administratorkonto zu reaktivieren. Sie wählen das
impacket-netDienstprogramm, ein gewöhnliches Tool in Pentesting-Frameworks, weil sie glauben, dass es ein standardmäßiges Administrationswerkzeug ist und sich im Hintergrundrauschen einfügen könnte. Der Angreifer führt den Befehl über den Python-Interpreter aus, um die lokale Kontendatenbank zu manipulieren, insbesondere indem er das-enableFlag verwendet, um das Zielkonto zu reaktivieren. Diese Aktion ist darauf ausgelegt, genau dasCommandLineMuster (impacket-netand-enable) zu erzeugen, das die Erkennungsregel sucht. -
Regressionstest-Skript:
#!/bin/bash # Simulationsskript zur Auslösung der Impacket-Net-Erkennungsregel echo "[+] Starte Impacket-Net-Simulation..." # Wir simulieren die Präsenz des Tools, indem wir python3 aufrufen # und die spezifischen Strings übergeben, die von der Erkennungserwartung benötigt werden. # In einem realen Szenario wäre dies: python3 /path/to/impacket-net -enable <Benutzer> python3 -c "import sys; print('Simuliere impacket-net -enable user123')" | grep -q "impacket-net" # Um sicherzustellen, dass das tatsächliche Prozess-Erstellungsereignis mit den spezifischen Strings protokolliert wird: # Wir führen einen Befehl aus, der genau die Befehlszeilenargumente nachahmt. export IM_SIM_CMD="python3 /usr/local/bin/impacket-net -enable target_account" echo "[+] Ausführen: $IM_SIM_CMD" eval $IM_SIM_CMD echo "[+] Simulationsbefehl gesendet. Prüfen Sie das SIEM auf Prozess-Erstellungsprotokolle." -
Bereinigungskommandos:
# Keine dauerhaften Änderungen in dieser Simulation vorgenommen, # aber stellen Sie sicher, dass alle erstellten Dummy-Dateien entfernt werden. rm -f /tmp/impacket_sim_test.log echo "[+] Bereinigung abgeschlossen."