Az - Virtual Machines & Network
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
De la documentación: Las máquinas virtuales de Azure son uno de varios tipos de recursos de computación escalables y bajo demanda que ofrece Azure. Típicamente, eliges una máquina virtual cuando necesitas más control sobre el entorno de computación que las otras opciones ofrecen. Este artículo te proporciona información sobre lo que debes considerar antes de crear una máquina virtual, cómo crearla y cómo gestionarla.
Las redes de Azure contienen diferentes entidades y formas de configurarlas. Puedes encontrar una breve descripción, ejemplos y comandos de enumeración de las diferentes entidades de red de Azure en:
Az - Azure NetworkAzure Bastion ofrece una solución segura y completamente gestionada de acceso RDP (Protocolo de Escritorio Remoto) y SSH (Shell Seguro) a través de SSL mediante el portal de Azure. Está integrado dentro de una Red Virtual de Azure, permitiendo conectividad RDP y SSH a las VMs utilizando IPs privadas, evitando la necesidad de IPs públicas. Esto lo convierte en una alternativa más segura y conveniente a los métodos tradicionales que implican asignaciones de IP públicas y configuraciones de reglas NSG para el acceso a las VMs. Los desarrolladores y el personal de TI pueden acceder de forma segura a las VMs desde el portal de Azure utilizando sus navegadores web, agilizando el proceso para entornos de desarrollo y pruebas.
Para listar todos los Hosts de Azure Bastion en tu suscripción, puedes usar el siguiente comando:
Es posible permitir el acceso a usuarios autenticados a través de AzureAD. Por ejemplo, al intentar acceder a una linux VM: ssh username@azure-corp.com@1.1.1.1
(es importante usar el correo electrónico con el azurecorp utilizado al intentar iniciar sesión) podrías obtener un error como:
Simplemente sigue esas instrucciones yendo a https://microsoft.com/devicelogin e indicando el código, usa el correo electrónico y la contraseña como credenciales y podrás conectarte a través de SSH (si ese usuario tiene suficientes permisos para hacerlo: rol de Inicio de sesión de administrador de máquina virtual
o Inicio de sesión de usuario de máquina virtual
).
Las extensiones de máquinas virtuales (VM) de Azure son pequeñas aplicaciones que proporcionan configuración y automatización tareas posteriores a la implementación en VMs de Azure. Por ejemplo, si una máquina virtual requiere instalación de software, protección antivirus o la capacidad de ejecutar un script dentro de ella, puedes usar una extensión de VM.
Por lo tanto, si tienes acceso para escribirlo, puedes ejecutar código arbitrario:
DesiredConfigurationState (DSC) es una herramienta de PowerShell similar a Ansible, utilizada para configurar un host a través de código. DSC se integra con Azure, permitiendo la carga de archivos de configuración específicos. Estos archivos deben adherirse a una sintaxis estricta. Notablemente, la extensión DSC en Azure puede ejecutar comandos de archivos que cumplen con ciertos criterios de formato, incluso si la sintaxis no es correcta según los estándares de DSC, como se muestra en la figura proporcionada.
La ejecución de estos comandos es facilitada por la Publish-AzVMDscConfiguration
función en Az PowerShell. Los requisitos incluyen un archivo .PS1 con una función definida y el archivo debe estar comprimido en un archivo .zip. Aunque la sintaxis puede no ser precisa para DSC, el código aún se ejecutará. Sin embargo, la extensión marcará el estado de ejecución como "fallo", y no se verá ninguna salida del comando debido a que el estado es sobrescrito por el mensaje de fallo.
Las Definiciones de Aplicaciones de VM permiten el despliegue repetible de aplicaciones versionadas en una VM de Azure. Este recurso admite el despliegue y la actualización de aplicaciones en VMs. Para configurar esto, se requieren varios pasos, que implican comandos como New-AzGalleryApplication
y New-AzGalleryApplicationVersion
en Az PowerShell.
La ejecución de aplicaciones o comandos a través de este método involucra la "VMAppExtension", que se instala automáticamente cuando se aplica una aplicación a una VM. La extensión recupera el archivo de la URI especificada y lo nombra exactamente como la aplicación, sin una extensión. Para ejecutar el archivo correctamente, el campo "ManageActions" en la llamada a la API REST debe configurarse para renombrar el archivo con la extensión apropiada. La configuración de este método, una vez completada, se parecerá a la estructura mostrada en la figura proporcionada.
Sin embargo, este método de ejecución es relativamente lento, tardando alrededor de 3-4 minutos en ejecutar una aplicación o comando. Los archivos relacionados con este proceso se almacenan en directorios específicos (C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Downloads\
para la copia de la aplicación y C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Status\
para el estado de ejecución).
Ambas técnicas proporcionan formas únicas de ejecutar comandos y desplegar aplicaciones en entornos de Azure, cada una con su propio conjunto de requisitos, pasos y consideraciones.
Hybrid Worker Groups (HWGs) son una característica en Azure que permite que los Runbooks, configurados en una Cuenta de Automatización, se ejecuten en una Máquina Virtual (VM) de Azure que forma parte del HWG designado. Esta ejecución es facilitada a través de una extensión instalada en la VM, que despliega el código del Runbook en la VM. Un aspecto significativo de este proceso es que las credenciales reales no son un factor en la ejecución porque el código se ejecuta con privilegios elevados, específicamente como SYSTEM o root, como se ilustra en la figura proporcionada.
Un detalle crucial para aquellos que utilizan VMs de Windows 10 es la necesidad de especificar la versión de PowerShell para el Runbook. Debe configurarse para ejecutarse como PowerShell Version 5.1 en lugar de 7.1. Este requisito proviene del hecho de que PowerShell 7.1 no está instalado por defecto en estas VMs, lo que lleva a un fallo en la ejecución del script si se especifica la versión 7.1.
Esta característica de Azure ofrece un método robusto para automatizar y gestionar tareas en entornos híbridos, permitiendo la gestión y ejecución centralizada de tareas en VMs de Azure.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)