Az - Virtual Machines & Network

Lernen Sie das Hacken von AWS von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Grundlegende Informationen

Aus den Dokumenten: Azure Virtual Machines sind eine von mehreren Arten von auf Abruf verfügbaren, skalierbaren Rechenressourcen, die Azure anbietet. In der Regel wählen Sie eine virtuelle Maschine, wenn Sie mehr Kontrolle über die Rechenumgebung benötigen als die anderen Optionen bieten. Dieser Artikel gibt Ihnen Informationen darüber, was Sie beachten sollten, bevor Sie eine virtuelle Maschine erstellen, wie Sie sie erstellen und wie Sie sie verwalten.

Azure Netzwerkinformationen

Azure-Netzwerke enthalten verschiedene Entitäten und Möglichkeiten zu deren Konfiguration. Sie finden eine kurze Beschreibung, Beispiele und Auflistungsbefehle der verschiedenen Azure-Netzwerkentitäten in:

pageAz - Azure Network

Azure Bastion

Azure Bastion bietet eine sichere, vollständig verwaltete RDP (Remote Desktop Protocol) und SSH (Secure Shell) Zugriffslösung über SSL über das Azure-Portal. Es ist in ein Azure Virtual Network integriert, was RDP- und SSH-Konnektivität zu VMs über private IPs ermöglicht und die Notwendigkeit öffentlicher IPs vermeidet. Dies macht es zu einer sichereren und bequemeren Alternative zu traditionellen Methoden, die öffentliche IP-Zuweisungen und NSG-Regelkonfigurationen für den VM-Zugriff erfordern. Entwickler und IT-Personal können sicher auf VMs aus dem Azure-Portal mit ihren Webbrowsern zugreifen und den Prozess für Entwicklungs- und Testumgebungen optimieren.

Um alle Azure Bastion-Hosts in Ihrem Abonnement aufzulisten, können Sie den folgenden Befehl verwenden:

az network bastion list --query "[].{name:name, resourceGroup:resourceGrou, location:location}" -o table

Einfach folgen Sie diesen Anweisungen, gehen Sie zu https://microsoft.com/devicelogin und geben Sie den Code ein, verwenden Sie die E-Mail und das Passwort als Anmeldeinformationen und Sie können sich über SSH verbinden (wenn dieser Benutzer über ausreichende Berechtigungen verfügt: Rolle Virtual Machine Administrator Login oder Virtual Machine User Login).

Befehl ausführen

# The permission allowing this is Microsoft.Compute/virtualMachines/runCommand/action
Invoke-AzVMRunCommand -ScriptPath .\adduser.ps1 -CommandId 'RunPowerShellScript' -VMName 'juastavm' -ResourceGroupName 'Research' –Verbose
## Another way
Invoke-AzureRmVMRunCommand -ScriptPath .\adduser.ps1 -CommandId 'RunPowerShellScript' -VMName 'juastavm' -ResourceGroupName 'Research' –Verbose

# Content of the script
$passwd = ConvertTo-SecureString "Welcome2022!" -AsPlainText -Force
New-LocalUser -Name new_user -Password $passwd
Add-LocalGroupMember -Group Administrators -Member new_user
# Try to run in every machine
Import-module MicroBurst.psm1
Invoke-AzureRmVMBulkCMD -Script Mimikatz.ps1 -Verbose -output Output.txt

Ausführen der benutzerdefinierten Skripterweiterung

Azure Virtual Machine (VM)-Erweiterungen sind kleine Anwendungen, die nach der Bereitstellung Konfigurations- und Automatisierungsaufgaben auf Azure VMs bereitstellen. Wenn beispielsweise eine virtuelle Maschine eine Softwareinstallation, Virenschutz oder die Möglichkeit zum Ausführen eines Skripts darin erfordert, können Sie eine VM-Erweiterung verwenden.

Daher können Sie bei Zugriff auf das Schreiben beliebigen Code ausführen:

# Microsoft.Compute/virtualMachines/extensions/write
Set-AzVMExtension -ResourceGroupName "Research" -ExtensionName "ExecCmd" -VMName "infradminsrv" -Location "Germany West Central" -Publisher Microsoft.Compute -ExtensionType CustomScriptExtension -TypeHandlerVersion 1.8 -SettingString '{"commandToExecute":"powershell net users new_user Welcome2022. /add /Y; net localgroup administrators new_user /add"}'

Gewünschter Konfigurationszustand (DSC)

Der gewünschte Konfigurationszustand (DSC) ist ein PowerShell-Tool ähnlich wie Ansible, das zur Einrichtung eines Hosts durch Code verwendet wird. DSC integriert sich mit Azure und ermöglicht das Hochladen spezifischer Konfigurationsdateien. Diese Dateien müssen einer strengen Syntax entsprechen. Beachtenswert ist, dass die DSC-Erweiterung in Azure Befehle aus Dateien ausführen kann, die bestimmte Formatierungskriterien erfüllen, auch wenn die Syntax nicht den DSC-Standards entspricht, wie in der bereitgestellten Abbildung gezeigt.

Die Ausführung dieser Befehle wird durch die Funktion Publish-AzVMDscConfiguration in Az PowerShell erleichtert. Die Anforderungen umfassen eine .PS1-Datei mit einer definierten Funktion, die in eine .zip-Datei gepackt werden muss. Auch wenn die Syntax für DSC möglicherweise nicht korrekt ist, wird der Code dennoch ausgeführt. Die Erweiterung markiert jedoch den Ausführungsstatus als "Fehler", und es wird keine Ausgabe des Befehls angezeigt, da der Status durch die Fehlermeldung überschrieben wird.

VM-Anwendungsdefinitionen

VM-Anwendungsdefinitionen ermöglichen die wiederholbare Bereitstellung versionierter Anwendungen auf einer Azure-VM. Diese Ressource unterstützt die Bereitstellung und Aktualisierung von Anwendungen auf VMs. Zur Einrichtung sind mehrere Schritte erforderlich, die Befehle wie New-AzGalleryApplication und New-AzGalleryApplicationVersion in Az PowerShell beinhalten.

Die Ausführung von Anwendungen oder Befehlen über diese Methode erfolgt über die "VMAppExtension", die automatisch installiert wird, wenn eine Anwendung auf eine VM angewendet wird. Die Erweiterung ruft die Datei von der angegebenen URI ab und benennt sie genau wie die Anwendung ohne Erweiterung. Um die Datei korrekt auszuführen, muss das Feld "ManageActions" im REST-API-Aufruf konfiguriert werden, um die Datei mit der entsprechenden Erweiterung umzubenennen. Die Einrichtung dieser Methode wird nach Abschluss der Struktur in der bereitgestellten Abbildung ähneln.

Diese Ausführungsmethode ist jedoch relativ langsam und benötigt etwa 3-4 Minuten, um eine Anwendung oder einen Befehl auszuführen. Die Dateien im Zusammenhang mit diesem Prozess werden in spezifischen Verzeichnissen gespeichert (C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Downloads\ für die Anwendungskopie und C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Status\ für den Ausführungsstatus).

Beide Techniken bieten einzigartige Möglichkeiten zur Ausführung von Befehlen und Bereitstellung von Anwendungen in Azure-Umgebungen, jeweils mit eigenen Anforderungen, Schritten und Überlegungen.

Hybrid Worker Groups (HWGs) in Azure

Hybrid Worker Groups (HWGs) sind eine Funktion in Azure, die es ermöglicht, Runbooks, die in einem Automatisierungskonto konfiguriert sind, auf einer Azure Virtual Machine (VM) auszuführen, die Teil der festgelegten HWG ist. Diese Ausführung wird durch eine Erweiterung auf der VM erleichtert, die den Runbook-Code auf die VM bereitstellt. Ein wesentlicher Aspekt dieses Prozesses ist, dass die tatsächlichen Anmeldeinformationen bei der Ausführung keine Rolle spielen, da der Code mit erhöhten Berechtigungen, speziell als SYSTEM oder root, ausgeführt wird, wie in der bereitgestellten Abbildung dargestellt.

Ein wichtiger Punkt für diejenigen, die Windows 10-VMs nutzen, ist die Notwendigkeit, die PowerShell-Version für das Runbook anzugeben. Es sollte so eingestellt sein, dass es als PowerShell-Version 5.1 anstelle von 7.1 ausgeführt wird. Diese Anforderung ergibt sich daraus, dass PowerShell 7.1 standardmäßig nicht auf diesen VMs installiert ist, was zu einem Fehler in der Skriptausführung führt, wenn Version 7.1 angegeben ist.

Diese Funktion von Azure bietet eine robuste Methode zur Automatisierung und Verwaltung von Aufgaben in hybriden Umgebungen und ermöglicht eine zentrale Verwaltung und Ausführung von Aufgaben auf Azure-VMs.

Referenzen

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated