Az - Virtual Machines & Network
Last updated
Last updated
Impara e pratica il Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Dal documento: Le macchine virtuali Azure sono uno dei diversi tipi di risorse di calcolo scalabili on-demand che Azure offre. Tipicamente, scegli una macchina virtuale quando hai bisogno di maggiore controllo sull'ambiente di calcolo rispetto ad altre opzioni. Questo articolo ti fornisce informazioni su cosa considerare prima di creare una macchina virtuale, come crearla e come gestirla.
Le reti Azure contengono diverse entità e modi per configurarla. Puoi trovare una breve descrizione, esempi e comandi di enumerazione delle diverse entità di rete Azure in:
Az - Azure NetworkAzure Bastion offre una soluzione sicura, completamente gestita per l'accesso RDP (Remote Desktop Protocol) e SSH (Secure Shell) tramite SSL attraverso il portale Azure. È integrato all'interno di una Rete Virtuale Azure, consentendo la connettività RDP e SSH alle VM utilizzando IP privati, evitando la necessità di IP pubblici. Questo lo rende un'alternativa più sicura e conveniente ai metodi tradizionali che coinvolgono assegnazioni di IP pubblici e configurazioni di regole NSG per l'accesso alle VM. Sviluppatori e personale IT possono accedere in modo sicuro alle VM dal portale Azure utilizzando i loro browser web, semplificando il processo per ambienti di sviluppo e test.
Per elencare tutti gli Azure Bastion Hosts nel tuo abbonamento, puoi utilizzare il seguente comando:
È possibile consentire l'accesso agli utenti autenticati tramite AzureAD. Ad esempio, tentando di accedere a una linux VM: ssh username@azure-corp.com@1.1.1.1
(è importante utilizzare l'email con l'azurecorp utilizzato durante il tentativo di accesso) potresti ricevere un errore come:
Basta seguire queste istruzioni andando su https://microsoft.com/devicelogin e indicando il codice, utilizzare l'email e la password come credenziali e sarai in grado di connetterti tramite SSH (se quell'utente ha abbastanza permessi per farlo: ruolo Virtual Machine Administrator Login
o Virtual Machine User Login
).
Le estensioni delle macchine virtuali (VM) di Azure sono piccole applicazioni che forniscono configurazione post-deployment e compiti di automazione su VM di Azure. Ad esempio, se una macchina virtuale richiede l'installazione di software, protezione antivirus o la possibilità di eseguire uno script al suo interno, puoi utilizzare un'estensione VM.
Pertanto, se hai accesso per scriverlo, puoi eseguire codice arbitrario:
DesiredConfigurationState (DSC) è uno strumento PowerShell simile ad Ansible, utilizzato per configurare un host tramite codice. DSC si integra con Azure, consentendo il caricamento di file di configurazione specifici. Questi file devono aderire a una sintassi rigorosa. In particolare, l'estensione DSC in Azure può eseguire comandi da file che soddisfano determinati criteri di formattazione, anche se la sintassi non è corretta secondo gli standard DSC, come mostrato nella figura fornita.
L'esecuzione di questi comandi è facilitata dalla funzione Publish-AzVMDscConfiguration
in Az PowerShell. I requisiti includono un file .PS1 con una funzione definita e il file deve essere compresso in un file .zip. Anche se la sintassi potrebbe non essere accurata per DSC, il codice verrà comunque eseguito. Tuttavia, l'estensione segnerà lo stato di esecuzione come "errore" e nessun output del comando sarà visibile a causa dello stato sovrascritto dal messaggio di errore.
Le definizioni delle applicazioni VM consentono il deployment ripetibile di applicazioni versionate su una VM Azure. Questa risorsa supporta il deployment e l'aggiornamento delle applicazioni su più VM. Per configurarlo, sono necessari diversi passaggi, che coinvolgono comandi come New-AzGalleryApplication
e New-AzGalleryApplicationVersion
in Az PowerShell.
L'esecuzione di applicazioni o comandi tramite questo metodo coinvolge l'"VMAppExtension", che viene installata automaticamente quando un'applicazione viene applicata a una VM. L'estensione recupera il file dall'URI specificato e lo nomina esattamente come l'applicazione, senza un'estensione. Per eseguire correttamente il file, il campo "ManageActions" nella chiamata API REST deve essere configurato per rinominare il file con l'estensione appropriata. La configurazione di questo metodo, una volta completata, assomiglierà alla struttura mostrata nella figura fornita.
Tuttavia, questo metodo di esecuzione è relativamente lento, impiegando circa 3-4 minuti per eseguire un'applicazione o un comando. I file relativi a questo processo sono memorizzati in directory specifiche (C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Downloads\
per la copia dell'applicazione e C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Status\
per lo stato di esecuzione).
Entrambe le tecniche forniscono modi unici per eseguire comandi e distribuire applicazioni negli ambienti Azure, ognuna con il proprio insieme di requisiti, passaggi e considerazioni.
Hybrid Worker Groups (HWGs) sono una funzionalità in Azure che consente l'esecuzione di Runbook, configurati in un'Automation Account, su una Macchina Virtuale (VM) Azure che fa parte del HWG designato. Questa esecuzione è facilitata tramite un'estensione installata sulla VM, che distribuisce il codice del Runbook sulla VM. Un aspetto significativo di questo processo è che le credenziali effettive non sono un fattore nell'esecuzione poiché il codice viene eseguito con privilegi elevati, specificamente come SYSTEM o root, come illustrato nella figura fornita.
Un dettaglio cruciale per coloro che utilizzano VM Windows 10 è la necessità di specificare la versione di PowerShell per il Runbook. Dovrebbe essere impostata per essere eseguita come PowerShell Version 5.1 invece di 7.1. Questo requisito deriva dal fatto che PowerShell 7.1 non è installato per impostazione predefinita su queste VM, portando a un errore nell'esecuzione dello script se viene specificata la versione 7.1.
Questa funzionalità di Azure offre un metodo robusto per automatizzare e gestire attività in ambienti ibridi, consentendo una gestione centralizzata e l'esecuzione di attività su VM Azure.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)