Az - State Configuration RCE
Consulta la publicación completa en: https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe
Resumen de la Preparación de la Infraestructura del Servidor Remoto (C2) y Pasos
Visión general
El proceso implica configurar una infraestructura de servidor remoto para alojar un payload modificado Invoke-PowerShellTcp.ps1
de Nishang, llamado RevPS.ps1
, diseñado para evadir Windows Defender. El payload se sirve desde una máquina Kali Linux con IP 40.84.7.74
utilizando un servidor HTTP Python simple. La operación se ejecuta a través de varios pasos:
Paso 1 — Crear Archivos
Archivos Requeridos: Se necesitan dos scripts de PowerShell:
reverse_shell_config.ps1
: Un archivo de Configuración de Estado Deseado (DSC) que obtiene y ejecuta el payload. Se puede obtener en GitHub.push_reverse_shell_config.ps1
: Un script para publicar la configuración en la VM, disponible en GitHub.
Personalización: Las variables y parámetros en estos archivos deben adaptarse al entorno específico del usuario, incluidos nombres de recursos, rutas de archivos e identificadores de servidor/payload.
Paso 2 — Comprimir Archivo de Configuración
El archivo
reverse_shell_config.ps1
se comprime en un archivo.zip
, preparándolo para transferirlo a la Cuenta de Almacenamiento de Azure.
Paso 3 — Establecer Contexto de Almacenamiento y Subir
El archivo de configuración comprimido se carga en un contenedor de almacenamiento de Azure predefinido, azure-pentest, utilizando el cmdlet Set-AzStorageBlobContent de Azure.
Paso 4 — Preparar Kali Box
El servidor Kali descarga el payload RevPS.ps1 desde un repositorio de GitHub.
El script se edita para especificar la VM de Windows objetivo y el puerto para el shell inverso.
Paso 5 — Publicar Archivo de Configuración
Se ejecuta el archivo de configuración, lo que resulta en que el script de shell inverso se implemente en la ubicación especificada en la VM de Windows.
Paso 6 — Alojar Carga Útil y Configurar Escucha
Se inicia un SimpleHTTPServer de Python para alojar la carga útil, junto con un escuchador de Netcat para capturar las conexiones entrantes.
La tarea programada ejecuta la carga útil, logrando privilegios a nivel de SISTEMA.
Conclusión
La ejecución exitosa de este proceso abre numerosas posibilidades para acciones adicionales, como la extracción de credenciales o la expansión del ataque a múltiples VM. La guía fomenta el aprendizaje continuo y la creatividad en el ámbito de la Configuración de Estado de Azure Automation DSC.
Last updated