Az - State Configuration RCE
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:
reverse_shell_config.ps1
: Un file di configurazione dello stato desiderato (DSC) che recupera ed esegue il payload. È ottenibile da GitHub.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.
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.
Passo 4 — Preparare Kali Box
Il server Kali scarica il payload RevPS.ps1 da un repository GitHub.
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.
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.
Last updated