Az - Azure Network

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Grundinformationen

Azure bietet virtuelle Netzwerke (VNet), die es Benutzern ermöglichen, isolierte Netzwerke innerhalb der Azure-Cloud zu erstellen. Innerhalb dieser VNets können Ressourcen wie virtuelle Maschinen, Anwendungen, Datenbanken... sicher gehostet und verwaltet werden. Die Netzwerktechnologie in Azure unterstützt sowohl die Kommunikation innerhalb der Cloud (zwischen Azure-Diensten) als auch die Verbindung zu externen Netzwerken und dem Internet. Darüber hinaus ist es möglich, VNets mit anderen VNets und mit lokalen Netzwerken zu verbinden.

Virtuelles Netzwerk (VNET) & Subnetze

Ein Azure Virtual Network (VNet) ist eine Darstellung Ihres eigenen Netzwerks in der Cloud, die logische Isolation innerhalb der Azure-Umgebung bietet, die Ihrer Abonnements zugeordnet ist. VNets ermöglichen es Ihnen, virtuelle private Netzwerke (VPNs) in Azure bereitzustellen und zu verwalten, die Ressourcen wie virtuelle Maschinen (VMs), Datenbanken und Anwendungsdienste hosten. Sie bieten vollständige Kontrolle über Netzwerkeinstellungen, einschließlich IP-Adressbereiche, Erstellung von Subnetzen, Routentabellen und Netzwerk-Gateways.

Subnetze sind Unterteilungen innerhalb eines VNet, die durch spezifische IP-Adressbereiche definiert sind. Durch die Segmentierung eines VNet in mehrere Subnetze können Sie Ressourcen gemäß Ihrer Netzwerkarchitektur organisieren und sichern. Standardmäßig können alle Subnetze innerhalb desselben Azure Virtual Network (VNet) miteinander kommunizieren, ohne dass Einschränkungen bestehen.

Beispiel:

  • MyVNet mit einem IP-Adressbereich von 10.0.0.0/16.

  • Subnetz-1: 10.0.0.0/24 für Webserver.

  • Subnetz-2: 10.0.1.0/24 für Datenbankserver.

Aufzählung

Um alle VNets und Subnetze in einem Azure-Konto aufzulisten, können Sie die Azure-Befehlszeilenschnittstelle (CLI) verwenden. Hier sind die Schritte:

# List VNets
az network vnet list --query "[].{name:name, location:location, addressSpace:addressSpace}"

# List subnets of a VNet
az network vnet subnet list --resource-group <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, addressPrefix:addressPrefix}" -o table

Netzwerk-Sicherheitsgruppen (NSG)

Eine Netzwerk-Sicherheitsgruppe (NSG) filtert den Netzwerkverkehr sowohl zu als auch von Azure-Ressourcen innerhalb eines Azure Virtual Network (VNet). Sie enthält eine Reihe von Sicherheitsregeln, die angeben können, welche Ports für eingehenden und ausgehenden Verkehr geöffnet werden sollen nach Quellport, Quell-IP, Zielport, und es ist möglich, eine Priorität zuzuweisen (je niedriger die Prioritätsnummer, desto höher die Priorität).

NSGs können mit Subnetzen und NICs verknüpft werden.

Regeln Beispiel:

  • Eine eingehende Regel, die HTTP-Verkehr (Port 80) von jeder Quelle zu Ihren Webservern erlaubt.

  • Eine ausgehende Regel, die nur SQL-Verkehr (Port 1433) zu einem bestimmten Ziel-IP-Adressbereich erlaubt.

Aufzählung

# List NSGs
az network nsg list --query "[].{name:name, location:location}" -o table
az network nsg show --name <nsg-name>

# Get NSG rules
az network nsg rule list --nsg-name <NSGName> --resource-group <ResourceGroupName> --query "[].{name:name, priority:priority, direction:direction, access:access, protocol:protocol, sourceAddressPrefix:sourceAddressPrefix, destinationAddressPrefix:destinationAddressPrefix, sourcePortRange:sourcePortRange, destinationPortRange:destinationPortRange}" -o table

# Get NICs and subnets using this NSG
az network nsg show --name MyLowCostVM-nsg --resource-group Resource_Group_1 --query "{subnets: subnets, networkInterfaces: networkInterfaces}"

Azure Firewall

Azure Firewall ist ein verwalteter Netzwerk-Sicherheitsdienst in Azure, der Cloud-Ressourcen schützt, indem er den Datenverkehr inspiziert und kontrolliert. Es handelt sich um eine zustandsbehaftete Firewall, die den Datenverkehr basierend auf Regeln für die Schichten 3 bis 7 filtert und die Kommunikation sowohl innerhalb von Azure (East-West-Datenverkehr) als auch zu/von externen Netzwerken (North-South-Datenverkehr) unterstützt. Bereitgestellt auf der Virtual Network (VNet)-Ebene, bietet es zentralen Schutz für alle Subnetze im VNet. Azure Firewall skaliert automatisch, um den Anforderungen des Datenverkehrs gerecht zu werden, und gewährleistet hohe Verfügbarkeit, ohne dass eine manuelle Einrichtung erforderlich ist.

Es ist in drei SKUs verfügbar—Basic, Standard und Premium, die jeweils auf spezifische Kundenbedürfnisse zugeschnitten sind:

Empfohlener Anwendungsfall

Kleine/Mittlere Unternehmen (KMUs) mit begrenztem Bedarf

Allgemeine Unternehmensnutzung, Layer 3–7 Filtering

Hochsensible Umgebungen (z. B. Zahlungsabwicklung)

Leistung

Bis zu 250 Mbps Durchsatz

Bis zu 30 Gbps Durchsatz

Bis zu 100 Gbps Durchsatz

Bedrohungsintelligenz

Nur Warnungen

Warnungen und Blockierung (bösartige IPs/Domains)

Warnungen und Blockierung (erweiterte Bedrohungsintelligenz)

L3–L7 Filtering

Grundlegendes Filtern

Zustandsbehaftetes Filtern über Protokolle

Zustandsbehaftetes Filtern mit erweiterter Inspektion

Erweiterter Bedrohungsschutz

Nicht verfügbar

Bedrohungsintelligenz-basiertes Filtern

Beinhaltet Intrusion Detection and Prevention System (IDPS)

TLS-Inspektion

Nicht verfügbar

Nicht verfügbar

Unterstützt eingehende/ausgehende TLS-Terminierung

Verfügbarkeit

Fester Backend (2 VMs)

Autoskalierung

Autoskalierung

Verwaltungsaufwand

Grundlegende Steuerung

Verwaltet über Firewall Manager

Verwaltet über Firewall Manager

Enumeration

# List Azure Firewalls
az network firewall list --query "[].{name:name, location:location, subnet:subnet, publicIp:publicIp}" -o table

# Get network rules of a firewall
az network firewall network-rule collection list --firewall-name <FirewallName> --resource-group <ResourceGroupName> --query "[].{name:name, rules:rules}" -o table

# Get application rules of a firewall
az network firewall application-rule collection list --firewall-name <FirewallName> --resource-group <ResourceGroupName> --query "[].{name:name, rules:rules}" -o table

# Get nat rules of a firewall
az network firewall nat-rule collection list --firewall-name <FirewallName> --resource-group <ResourceGroupName> --query "[].{name:name, rules:rules}" -o table

Azure Routen-Tabellen

Azure Routen-Tabellen werden verwendet, um das Routing des Netzwerkverkehrs innerhalb eines Subnetzes zu steuern. Sie definieren Regeln, die angeben, wie Pakete weitergeleitet werden sollen, entweder zu Azure-Ressourcen, dem Internet oder einem bestimmten nächsten Hop wie einem Virtuellen Gerät oder der Azure-Firewall. Sie können eine Routentabelle mit einem Subnetz verknüpfen, und alle Ressourcen innerhalb dieses Subnetzes folgen den Routen in der Tabelle.

Beispiel: Wenn ein Subnetz Ressourcen hostet, die ausgehenden Verkehr über ein Netzwerk-Virtual-Appliance (NVA) zur Inspektion leiten müssen, können Sie eine Route in einer Routentabelle erstellen, um den gesamten Verkehr (z. B. 0.0.0.0/0) an die private IP-Adresse der NVA als nächsten Hop umzuleiten.

Enumeration

# List Route Tables
az network route-table list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table

# List routes for a table
az network route-table route list --route-table-name <RouteTableName> --resource-group <ResourceGroupName> --query "[].{name:name, addressPrefix:addressPrefix, nextHopType:nextHopType, nextHopIpAddress:nextHopIpAddress}" -o table

Azure Private Link ist ein Dienst in Azure, der privaten Zugriff auf Azure-Dienste ermöglicht, indem sichergestellt wird, dass der Datenverkehr zwischen Ihrem Azure-virtuellen Netzwerk (VNet) und dem Dienst vollständig innerhalb des Backbone-Netzwerks von Microsoft Azure verläuft. Es bringt den Dienst effektiv in Ihr VNet. Diese Konfiguration erhöht die Sicherheit, indem die Daten nicht dem öffentlichen Internet ausgesetzt werden.

Private Link kann mit verschiedenen Azure-Diensten verwendet werden, wie Azure Storage, Azure SQL Database und benutzerdefinierten Diensten, die über Private Link geteilt werden. Es bietet eine sichere Möglichkeit, Dienste von innerhalb Ihres eigenen VNet oder sogar von verschiedenen Azure-Abonnements zu konsumieren.

NSGs gelten nicht für private Endpunkte, was eindeutig bedeutet, dass die Zuordnung eines NSG zu einem Subnetz, das den Private Link enthält, keine Auswirkungen hat.

Beispiel:

Betrachten Sie ein Szenario, in dem Sie eine Azure SQL-Datenbank haben, auf die Sie sicher von Ihrem VNet aus zugreifen möchten. Normalerweise könnte dies den Zugriff über das öffentliche Internet erfordern. Mit Private Link können Sie einen privaten Endpunkt in Ihrem VNet erstellen, der direkt mit dem Azure SQL-Datenbankdienst verbunden ist. Dieser Endpunkt lässt die Datenbank so erscheinen, als wäre sie Teil Ihres eigenen VNet, zugänglich über eine private IP-Adresse, und gewährleistet so sicheren und privaten Zugriff.

Enumeration

# List Private Link Services
az network private-link-service list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table

# List Private Endpoints
az network private-endpoint list --query "[].{name:name, location:location, resourceGroup:resourceGroup, privateLinkServiceConnections:privateLinkServiceConnections}" -o table

Azure Service Endpoints

Azure Service Endpoints erweitern den privaten Adressraum Ihres virtuellen Netzwerks und die Identität Ihres VNets zu Azure-Diensten über eine direkte Verbindung. Durch die Aktivierung von Service-Endpunkten können Ressourcen in Ihrem VNet sicher mit Azure-Diensten wie Azure Storage und Azure SQL Database über das Backbone-Netzwerk von Azure verbunden werden. Dies stellt sicher, dass der Verkehr vom VNet zum Azure-Dienst innerhalb des Azure-Netzwerks bleibt, was einen sichereren und zuverlässigeren Pfad bietet.

Beispiel:

Ein Azure Storage-Konto ist standardmäßig über das öffentliche Internet zugänglich. Durch die Aktivierung eines Service-Endpunkts für Azure Storage innerhalb Ihres VNets können Sie sicherstellen, dass nur der Verkehr von Ihrem VNet auf das Speicherkonto zugreifen kann. Die Firewall des Speicherkontos kann dann so konfiguriert werden, dass sie nur Verkehr von Ihrem VNet akzeptiert.

Enumeration

# List Virtual Networks with Service Endpoints
az network vnet list --query "[].{name:name, location:location, serviceEndpoints:serviceEndpoints}" -o table

# List Subnets with Service Endpoints
az network vnet subnet list --resource-group <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, serviceEndpoints:serviceEndpoints}" -o table

Microsoft empfiehlt die Verwendung von privaten Links in den docs:

Service-Endpunkte:

  • Der Datenverkehr von Ihrem VNet zum Azure-Dienst verläuft über das Microsoft Azure Backbone-Netzwerk und umgeht das öffentliche Internet.

  • Der Endpunkt ist eine direkte Verbindung zum Azure-Dienst und bietet keine private IP für den Dienst innerhalb des VNet.

  • Der Dienst selbst ist weiterhin über seinen öffentlichen Endpunkt von außerhalb Ihres VNet zugänglich, es sei denn, Sie konfigurieren die Dienstfirewall, um solchen Datenverkehr zu blockieren.

  • Es besteht eine Eins-zu-eins-Beziehung zwischen dem Subnetz und dem Azure-Dienst.

  • Günstiger als private Links.

Private Links:

  • Private Link mappt Azure-Dienste in Ihr VNet über einen privaten Endpunkt, der eine Netzwerkschnittstelle mit einer privaten IP-Adresse innerhalb Ihres VNet ist.

  • Der Azure-Dienst wird über diese private IP-Adresse aufgerufen, wodurch es so aussieht, als wäre er Teil Ihres Netzwerks.

  • Dienste, die über Private Link verbunden sind, können nur von Ihrem VNet oder verbundenen Netzwerken aus aufgerufen werden; es gibt keinen öffentlichen Internetzugang zum Dienst.

  • Es ermöglicht eine sichere Verbindung zu Azure-Diensten oder Ihren eigenen in Azure gehosteten Diensten sowie eine Verbindung zu von anderen geteilten Diensten.

  • Es bietet eine granularere Zugriffskontrolle über einen privaten Endpunkt in Ihrem VNet, im Gegensatz zu einer breiteren Zugriffskontrolle auf Subnetzebene mit Service-Endpunkten.

Zusammenfassend lässt sich sagen, dass sowohl Service-Endpunkte als auch private Links eine sichere Konnektivität zu Azure-Diensten bieten, aber private Links ein höheres Maß an Isolation und Sicherheit bieten, indem sie sicherstellen, dass Dienste privat ohne Exposition gegenüber dem öffentlichen Internet aufgerufen werden. Service-Endpunkte hingegen sind einfacher einzurichten für allgemeine Fälle, in denen ein einfacher, sicherer Zugriff auf Azure-Dienste erforderlich ist, ohne dass eine private IP im VNet benötigt wird.

Azure Front Door (AFD) & AFD WAF

Azure Front Door ist ein skalierbarer und sicherer Einstiegspunkt für die schnelle Bereitstellung Ihrer globalen Webanwendungen. Es kombiniert verschiedene Dienste wie globale Lastverteilung, Standortbeschleunigung, SSL-Offloading und Web Application Firewall (WAF)-Funktionen in einem einzigen Dienst. Azure Front Door bietet intelligentes Routing basierend auf dem nächsten Edge-Standort zum Benutzer, um optimale Leistung und Zuverlässigkeit zu gewährleisten. Darüber hinaus bietet es URL-basiertes Routing, Hosting mehrerer Standorte, Sitzungsaffinität und Sicherheit auf Anwendungsebene.

Azure Front Door WAF ist darauf ausgelegt, Webanwendungen vor web-basierten Angriffen zu schützen, ohne dass Änderungen am Backend-Code erforderlich sind. Es umfasst benutzerdefinierte Regeln und verwaltete Regelsets, um vor Bedrohungen wie SQL-Injection, Cross-Site-Scripting und anderen gängigen Angriffen zu schützen.

Beispiel:

Stellen Sie sich vor, Sie haben eine global verteilte Anwendung mit Benutzern auf der ganzen Welt. Sie können Azure Front Door verwenden, um Benutzeranfragen an das nächstgelegene regionale Rechenzentrum weiterzuleiten, das Ihre Anwendung hostet, wodurch die Latenz verringert, die Benutzererfahrung verbessert und es vor Webangriffen mit den WAF-Funktionen geschützt wird. Wenn eine bestimmte Region Ausfallzeiten hat, kann Azure Front Door den Datenverkehr automatisch an den nächstbesten Standort umleiten, um eine hohe Verfügbarkeit zu gewährleisten.

Aufzählung

# List Azure Front Door Instances
az network front-door list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table

# List Front Door WAF Policies
az network front-door waf-policy list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table

Azure Application Gateway und Azure Application Gateway WAF

Azure Application Gateway ist ein Lastenausgleich für Webverkehr, der es Ihnen ermöglicht, den Verkehr zu Ihren Web-Anwendungen zu verwalten. Es bietet Layer 7 Lastenausgleich, SSL-Terminierung und Webanwendungsfirewall (WAF) Funktionen im Application Delivery Controller (ADC) als Dienst. Zu den Hauptfunktionen gehören URL-basiertes Routing, cookie-basiertes Sitzungsaffinität und SSL-Offloading, die für Anwendungen, die komplexe Lastenausgleichsfunktionen wie globales Routing und pfadbasiertes Routing erfordern, entscheidend sind.

Beispiel:

Betrachten Sie ein Szenario, in dem Sie eine E-Commerce-Website haben, die mehrere Subdomains für verschiedene Funktionen umfasst, wie z. B. Benutzerkonten und Zahlungsabwicklung. Azure Application Gateway kann den Verkehr zu den entsprechenden Webservern basierend auf dem URL-Pfad leiten. Zum Beispiel könnte der Verkehr zu example.com/accounts an den Dienst für Benutzerkonten geleitet werden, und der Verkehr zu example.com/pay könnte an den Dienst für die Zahlungsabwicklung geleitet werden. Und schützen Sie Ihre Website vor Angriffen mit den WAF-Funktionen.

Enumeration

# List the Web Application Firewall configurations for your Application Gateways
az network application-gateway waf-config list --gateway-name <AppGatewayName> --resource-group <ResourceGroupName> --query "[].{name:name, firewallMode:firewallMode, ruleSetType:ruleSetType, ruleSetVersion:ruleSetVersion}" -o table

Azure Hub, Spoke & VNet Peering

VNet Peering ist eine Netzwerkfunktion in Azure, die es ermöglicht, verschiedene Virtuelle Netzwerke (VNets) direkt und nahtlos zu verbinden. Durch VNet Peering können Ressourcen in einem VNet mit Ressourcen in einem anderen VNet über private IP-Adressen kommunizieren, als ob sie sich im selben Netzwerk befänden. VNet Peering kann auch mit On-Premise-Netzwerken verwendet werden, indem ein Site-to-Site-VPN oder Azure ExpressRoute eingerichtet wird.

Azure Hub und Spoke ist eine Netzwerk-Topologie, die in Azure verwendet wird, um den Netzwerkverkehr zu verwalten und zu organisieren. Der "Hub" ist ein zentraler Punkt, der den Verkehr zwischen verschiedenen "Speichen" steuert und leitet. Der Hub enthält typischerweise gemeinsame Dienste wie Netzwerkvirtual Appliances (NVAs), Azure VPN Gateway, Azure Firewall oder Azure Bastion. Die "Speichen" sind VNets, die Workloads hosten und über VNet Peering mit dem Hub verbunden sind, wodurch sie die gemeinsamen Dienste innerhalb des Hubs nutzen können. Dieses Modell fördert eine saubere Netzwerkstruktur und reduziert die Komplexität, indem es gemeinsame Dienste zentralisiert, die von mehreren Workloads in verschiedenen VNets genutzt werden können.

VNET-Peering ist in Azure nicht transitiv, was bedeutet, dass, wenn Speiche 1 mit Speiche 2 verbunden ist und Speiche 2 mit Speiche 3 verbunden ist, Speiche 1 nicht direkt mit Speiche 3 kommunizieren kann.

Beispiel:

Stellen Sie sich ein Unternehmen mit separaten Abteilungen wie Vertrieb, Personalwesen und Entwicklung vor, jede mit ihrem eigenen VNet (den Speichen). Diese VNets benötigen Zugriff auf gemeinsame Ressourcen wie eine zentrale Datenbank, eine Firewall und ein Internet-Gateway, die sich alle in einem anderen VNet (dem Hub) befinden. Durch die Verwendung des Hub- und Spoke-Modells kann jede Abteilung sicher auf die gemeinsamen Ressourcen über das Hub-VNet zugreifen, ohne diese Ressourcen dem öffentlichen Internet auszusetzen oder eine komplexe Netzwerkstruktur mit zahlreichen Verbindungen zu schaffen.

Enumeration

# List all VNets in your subscription
az network vnet list --query "[].{name:name, location:location, addressSpace:addressSpace}" -o table

# List VNet peering connections for a given VNet
az network vnet peering list --resource-group <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, peeringState:peeringState, remoteVnetId:remoteVnetId}" -o table

# List Shared Resources (e.g., Azure Firewall) in the Hub
az network firewall list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table

Site-to-Site VPN

Ein Site-to-Site VPN in Azure ermöglicht es Ihnen, Ihr lokales Netzwerk mit Ihrem Azure Virtual Network (VNet) zu verbinden, sodass Ressourcen wie VMs innerhalb von Azure so erscheinen, als wären sie in Ihrem lokalen Netzwerk. Diese Verbindung wird über ein VPN-Gateway hergestellt, das den Datenverkehr zwischen den beiden Netzwerken verschlüsselt.

Beispiel:

Ein Unternehmen mit seinem Hauptbüro in New York hat ein lokales Rechenzentrum, das sicher mit seinem VNet in Azure verbunden werden muss, das seine virtualisierten Workloads hostet. Durch die Einrichtung eines Site-to-Site VPN kann das Unternehmen eine verschlüsselte Verbindung zwischen den lokalen Servern und den Azure VMs sicherstellen, sodass Ressourcen sicher über beide Umgebungen hinweg zugegriffen werden kann, als wären sie im selben lokalen Netzwerk.

Enumeration

# List VPN Gateways
az network vnet-gateway list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table

# List VPN Connections
az network vpn-connection list --gateway-name <VpnGatewayName> --resource-group <ResourceGroupName> --query "[].{name:name, connectionType:connectionType, connectionStatus:connectionStatus}" -o table

Azure ExpressRoute

Azure ExpressRoute ist ein Dienst, der eine private, dedizierte, hochgeschwindigkeits Verbindung zwischen Ihrer lokalen Infrastruktur und den Azure-Rechenzentren bereitstellt. Diese Verbindung erfolgt über einen Konnektivitätsanbieter, umgeht das öffentliche Internet und bietet mehr Zuverlässigkeit, schnellere Geschwindigkeiten, geringere Latenzen und höhere Sicherheit als typische Internetverbindungen.

Beispiel:

Ein multinationales Unternehmen benötigt eine konstante und zuverlässige Verbindung zu seinen Azure-Diensten aufgrund des hohen Datenvolumens und des Bedarfs an hoher Durchsatzrate. Das Unternehmen entscheidet sich für Azure ExpressRoute, um sein lokales Rechenzentrum direkt mit Azure zu verbinden, was großangelegte Datenübertragungen, wie tägliche Backups und Echtzeitanalysen, mit verbesserter Privatsphäre und Geschwindigkeit erleichtert.

Enumeration

# List ExpressRoute Circuits
az network express-route list --query "[].{name:name, location:location, resourceGroup:resourceGroup, serviceProviderName:serviceProviderName, peeringLocation:peeringLocation}" -o table

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks

Last updated