Az - State Configuration RCE
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:
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 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.
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.
Passo 4 — Preparare Kali Box
Il server Kali scarica il payload RevPS.ps1 da un repository GitHub.
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.
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.
Last updated