Az - Azure Network
Reading time: 18 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne Informacije
Azure pruža virtuelne mreže (VNet) koje omogućavaju korisnicima da kreiraju izolovane mreže unutar Azure oblaka. Unutar ovih VNets, resursi kao što su virtuelne mašine, aplikacije, baze podataka... mogu biti sigurno hostovani i upravljani. Mrežno povezivanje u Azure podržava kako komunikaciju unutar oblaka (između Azure usluga), tako i povezivanje sa spoljnim mrežama i internetom.
Pored toga, moguće je povezati VNets sa drugim VNets i sa lokalnim mrežama.
Virtuelna Mreža (VNET) i Podmreže
Azure Virtuelna Mreža (VNet) je reprezentacija vaše vlastite mreže u oblaku, koja pruža logičku izolaciju unutar Azure okruženja posvećenog vašoj pretplati. VNets vam omogućavaju da obezbedite i upravljate virtuelnim privatnim mrežama (VPN) u Azure, hostujući resurse kao što su Virtuelne Mašine (VM), baze podataka i usluge aplikacija. One nude potpunu kontrolu nad mrežnim podešavanjima, uključujući opsege IP adresa, kreiranje podmreža, tabele ruta i mrežne prolaze.
Podmreže su pododeljenja unutar VNet-a, definisana specifičnim opsegom IP adresa. Segmentacijom VNet-a u više podmreža, možete organizovati i osigurati resurse prema vašoj mrežnoj arhitekturi.
Po defaultu, sve podmreže unutar iste Azure Virtuelne Mreže (VNet) mogu komunicirati jedna sa drugom bez ikakvih ograničenja.
Primer:
MyVNet
sa opsegom IP adresa 10.0.0.0/16.- Podmreža-1: 10.0.0.0/24 za web servere.
- Podmreža-2: 10.0.1.0/24 za servere baza podataka.
Enumeracija
Da biste naveli sve VNets i podmreže u Azure nalogu, možete koristiti Azure Command-Line Interface (CLI). Evo koraka:
# 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
Grupa za bezbednost mreže (NSG)
Grupa za bezbednost mreže (NSG) filtrira mrežni saobraćaj kako prema tako i od Azure resursa unutar Azure Virtuelne Mreže (VNet). Sadrži skup pravila bezbednosti koja mogu da odrede koje portove otvoriti za dolazni i odlazni saobraćaj prema izvoru porta, izvornoj IP adresi, odredišnom portu i moguće je dodeliti prioritet (manji broj prioriteta, veći prioritet).
NSG-ovi se mogu povezati sa podmrežama i NIC-ovima.
Primer pravila:
- Pravilo za dolazni saobraćaj koje dozvoljava HTTP saobraćaj (port 80) iz bilo kog izvora ka vašim web serverima.
- Pravilo za odlazni saobraćaj koje dozvoljava samo SQL saobraćaj (port 1433) ka određenom opsegu odredišnih IP adresa.
Enumeracija
# 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 je upravljana mrežna sigurnosna usluga u Azure-u koja štiti cloud resurse inspekcijom i kontrolom saobraćaja. To je stanje svestan firewall koji filtrira saobraćaj na osnovu pravila za slojeve 3 do 7, podržavajući komunikaciju kako unutar Azure-a (east-west saobraćaj) tako i ka/od eksternih mreža (north-south saobraćaj). Postavljen na nivou Virtuelne Mreže (VNet), pruža centralizovanu zaštitu za sve podmreže u VNet-u. Azure Firewall automatski skalira kako bi zadovoljio zahteve saobraćaja i osigurava visoku dostupnost bez potrebe za ručnom konfiguracijom.
Dostupan je u tri SKU-a—Basic, Standard i Premium, svaki prilagođen specifičnim potrebama kupaca:
Kriterijum/Osobina | Opcija 1 | Opcija 2 | Opcija 3 |
---|---|---|---|
Preporučeni slučaj upotrebe | Mala/Srednja preduzeća (SMB) sa ograničenim potrebama | Opšta preduzeća, filtriranje slojeva 3–7 | Veoma osetljiva okruženja (npr. obrada plaćanja) |
Performanse | Do 250 Mbps propusnosti | Do 30 Gbps propusnosti | Do 100 Gbps propusnosti |
Obaveštavanje o pretnjama | Samo obaveštenja | Obaveštenja i blokiranje (maliciozni IP-ovi/domeni) | Obaveštenja i blokiranje (napredna obaveštajna inteligencija) |
L3–L7 filtriranje | Osnovno filtriranje | Stanje svestan filtriranje preko protokola | Stanje svestan filtriranje sa naprednom inspekcijom |
Napredna zaštita od pretnji | Nije dostupna | Filtriranje zasnovano na obaveštajnoj inteligenciji | Uključuje sistem za otkrivanje i prevenciju upada (IDPS) |
TLS inspekcija | Nije dostupna | Nije dostupna | Podržava ulaznu/izlaznu TLS terminaciju |
Dostupnost | Fiksni backend (2 VM-a) | Automatsko skaliranje | Automatsko skaliranje |
Jednostavnost upravljanja | Osnovne kontrole | Upravljano putem Firewall Manager-a | Upravljano putem Firewall Manager-a |
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 Tabele Rute
Azure Tabele Rute se koriste za kontrolu usmeravanja mrežnog saobraćaja unutar podmreže. One definišu pravila koja specificiraju kako paketi treba da se proslede, bilo ka Azure resursima, internetu, ili specifičnom sledećem skoku kao što su Virtual Appliance ili Azure Firewall. Možete povezati tabelu ruta sa podmrežom, i svi resursi unutar te podmreže će pratiti rute u tabeli.
Primer: Ako podmreža hostuje resurse koji treba da usmere izlazni saobraćaj kroz Network Virtual Appliance (NVA) na inspekciju, možete kreirati rutu u tabeli ruta da preusmerite sav saobraćaj (npr., 0.0.0.0/0
) na privatnu IP adresu NVA kao sledeći skok.
Enumeracija
# 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
Azure Private Link je usluga u Azure-u koja omogućava privatni pristup Azure uslugama osiguravajući da saobraćaj između vaše Azure virtuelne mreže (VNet) i usluge putuje isključivo unutar Microsoftove Azure backbone mreže. Efikasno dovodi uslugu u vašu VNet. Ova postavka poboljšava bezbednost ne izlažući podatke javnom internetu.
Private Link se može koristiti sa raznim Azure uslugama, kao što su Azure Storage, Azure SQL Database i prilagođene usluge deljene putem Private Link-a. Pruža siguran način za korišćenje usluga iz vaše vlastite VNet ili čak iz različitih Azure pretplata.
caution
NSG-ovi se ne primenjuju na privatne krajnje tačke, što jasno znači da povezivanje NSG-a sa podmrežom koja sadrži Private Link neće imati efekta.
Primer:
Razmotrite scenario u kojem imate Azure SQL Database koju želite da pristupite sigurno iz vaše VNet. Obično bi to moglo uključivati prolazak kroz javni internet. Sa Private Link-om, možete kreirati privatnu krajnju tačku u vašoj VNet koja se direktno povezuje sa Azure SQL Database uslugom. Ova krajnja tačka čini da baza podataka izgleda kao da je deo vaše vlastite VNet, dostupna putem privatne IP adrese, čime se osigurava siguran i privatni pristup.
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 proširuju privatni adresni prostor vaše virtuelne mreže i identitet vašeg VNet-a na Azure usluge preko direktne veze. Omogućavanjem servisnih krajnjih tačaka, resursi u vašem VNet-u mogu sigurno da se povežu sa Azure uslugama, kao što su Azure Storage i Azure SQL Database, koristeći Azure-ovu osnovnu mrežu. Ovo osigurava da saobraćaj iz VNet-a ka Azure usluzi ostaje unutar Azure mreže, pružajući sigurniju i pouzdaniju putanju.
Primer:
Na primer, Azure Storage nalog je po defaultu dostupan preko javnog interneta. Omogućavanjem servisne krajnje tačke za Azure Storage unutar vašeg VNet-a, možete osigurati da samo saobraćaj iz vašeg VNet-a može pristupiti nalogu za skladištenje. Zatim se vatrozid naloga za skladištenje može konfigurisati da prihvata saobraćaj samo iz vašeg VNet-a.
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
Razlike između Servisnih Krajnih Tačaka i Privatnih Linkova
Microsoft preporučuje korišćenje Privatnih Linkova u docs:
.png)
Servisne Krajne Tačke:
- Saobraćaj iz vašeg VNet-a do Azure servisa putuje preko Microsoft Azure backbone mreže, zaobilazeći javni internet.
- Krajna tačka je direktna veza sa Azure servisom i ne obezbeđuje privatnu IP adresu za servis unutar VNet-a.
- Sam servis je i dalje dostupan putem svoje javne krajna tačke sa spoljašnje strane vašeg VNet-a, osim ako ne konfigurišete vatrozid servisa da blokira takav saobraćaj.
- To je odnos jedan na jedan između podmreže i Azure servisa.
- Jeftinije je od Privatnih Linkova.
Privatni Linkovi:
- Privatni Link mapira Azure servise u vaš VNet putem privatne krajna tačke, koja je mrežni interfejs sa privatnom IP adresom unutar vašeg VNet-a.
- Azure servis se pristupa koristeći ovu privatnu IP adresu, čineći da izgleda kao da je deo vaše mreže.
- Servisi povezani putem Privatnog Linka mogu se pristupiti samo iz vašeg VNet-a ili povezanih mreža; nema javnog pristupa internetu do servisa.
- Omogućava sigurnu vezu sa Azure servisima ili vašim sopstvenim servisima hostovanim u Azure-u, kao i vezu sa servisima koje dele drugi.
- Pruža detaljniju kontrolu pristupa putem privatne krajna tačke u vašem VNet-u, za razliku od šire kontrole pristupa na nivou podmreže sa servisnim krajnih tačaka.
Ukratko, dok i Servisne Krajne Tačke i Privatni Linkovi pružaju sigurnu povezanost sa Azure servisima, Privatni Linkovi nude viši nivo izolacije i sigurnosti osiguravajući da se servisi pristupaju privatno bez izlaganja javnom internetu. Servisne Krajne Tačke, s druge strane, lakše se postavljaju za opšte slučajeve gde je potrebna jednostavna, sigurna povezanost sa Azure servisima bez potrebe za privatnom IP adresom u VNet-u.
Azure Front Door (AFD) & AFD WAF
Azure Front Door je skalabilna i sigurna ulazna tačka za brzu isporuku vaših globalnih web aplikacija. Kombinuje različite usluge kao što su globalno opterećenje balansiranje, ubrzanje sajta, SSL offloading i Web Application Firewall (WAF) mogućnosti u jedinstvenu uslugu. Azure Front Door pruža inteligentno usmeravanje na osnovu najbliže ivice lokacije korisniku, osiguravajući optimalne performanse i pouzdanost. Pored toga, nudi usmeravanje zasnovano na URL-u, višesajtno hostovanje, afinitet sesije i sigurnost na aplikacionom nivou.
Azure Front Door WAF je dizajniran da štiti web aplikacije od napada zasnovanih na web-u bez modifikacije pozadinskog koda. Uključuje prilagođena pravila i upravljane skupove pravila za zaštitu od pretnji kao što su SQL injekcija, cross-site scripting i drugih uobičajenih napada.
Primer:
Zamislite da imate globalno distribuiranu aplikaciju sa korisnicima širom sveta. Možete koristiti Azure Front Door da usmerite korisničke zahteve ka najbližem regionalnom data centru koji hostuje vašu aplikaciju, čime se smanjuje latencija, poboljšava korisničko iskustvo i brani je od web napada sa WAF mogućnostima. Ako određena regija doživi prekid rada, Azure Front Door može automatski preusmeriti saobraćaj na sledeću najbolju lokaciju, osiguravajući visoku dostupnost.
Enumeracija
# 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 i Azure Application Gateway WAF
Azure Application Gateway je balanser opterećenja web saobraćaja koji vam omogućava da upravljate saobraćajem ka vašim web aplikacijama. Pruža balansiranje opterećenja na Layer 7, SSL terminaciju i mogućnosti vatrozida za web aplikacije (WAF) u okviru Application Delivery Controller (ADC) kao usluge. Ključne karakteristike uključuju usmeravanje zasnovano na URL-u, afinitet sesije zasnovan na kolačićima i offloading sigurnih soketa (SSL), što je ključno za aplikacije koje zahtevaju složene mogućnosti balansiranja opterećenja kao što su globalno usmeravanje i usmeravanje zasnovano na putanji.
Primer:
Razmotrite scenario u kojem imate e-commerce veb sajt koji uključuje više poddomena za različite funkcije, kao što su korisnički nalozi i obrada plaćanja. Azure Application Gateway može usmeriti saobraćaj ka odgovarajućim web serverima na osnovu URL putanje. Na primer, saobraćaj ka example.com/accounts
može biti usmeren ka servisu za korisničke naloge, a saobraćaj ka example.com/pay
može biti usmeren ka servisu za obradu plaćanja.
I zaštitite svoj veb sajt od napada koristeći WAF mogućnosti.
Enumeracija
# 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 je mrežna funkcija u Azure koja omogućava različitim Virtuelnim Mrežama (VNets) da budu povezane direktno i neprimetno. Kroz VNet peering, resursi u jednoj VNet mogu komunicirati sa resursima u drugoj VNet koristeći privatne IP adrese, kao da su u istoj mreži.
VNet Peering se takođe može koristiti sa lokalnim mrežama postavljanjem site-to-site VPN-a ili Azure ExpressRoute.
Azure Hub i Spoke je mrežna topologija koja se koristi u Azure za upravljanje i organizovanje mrežnog saobraćaja. "Hub" je centralna tačka koja kontroliše i usmerava saobraćaj između različitih "spokes". Hub obično sadrži deljene usluge kao što su mrežni virtuelni uređaji (NVAs), Azure VPN Gateway, Azure Firewall ili Azure Bastion. "Spokes" su VNets koje hostuju radne opterećenja i povezuju se sa hub-om koristeći VNet peering, omogućavajući im da koriste deljene usluge unutar huba. Ovaj model promoviše čist raspored mreže, smanjujući složenost centralizovanjem zajedničkih usluga koje više radnih opterećenja iz različitih VNets mogu koristiti.
[!CAUTION] > VNET povezivanje nije tranzitivno u Azure, što znači da ako je spoke 1 povezan sa spoke 2, a spoke 2 je povezan sa spoke 3, tada spoke 1 ne može direktno komunicirati sa spoke 3.
Primer:
Zamislite kompaniju sa odvojenim odeljenjima kao što su Prodaja, Ljudski resursi i Razvoj, svako sa svojom VNet (spokes). Ove VNets zahtevaju pristup deljenim resursima kao što su centralna baza podataka, vatrozid i internet prolaz, koji se svi nalaze u drugoj VNet (hub). Korišćenjem modela Hub i Spoke, svako odeljenje može sigurno da se poveže sa deljenim resursima kroz hub VNet bez izlaganja tih resursa javnom internetu ili kreiranja složene mrežne strukture sa brojnim vezama.
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
Site-to-Site VPN u Azure-u omogućava vam da povežete vašu lokalnu mrežu sa vašom Azure Virtual Network (VNet), omogućavajući resursima kao što su VM-ovi unutar Azure-a da izgledaju kao da su na vašoj lokalnoj mreži. Ova veza se uspostavlja putem VPN gateway-a koji enkriptuje saobraćaj između dve mreže.
Primer:
Firma čija se glavna kancelarija nalazi u Njujorku ima lokalni data centar koji treba da se sigurno poveže sa svojom VNet u Azure-u, koja hostuje njene virtualizovane radne opterećenja. Postavljanjem Site-to-Site VPN-a, kompanija može osigurati enkriptovanu povezanost između lokalnih servera i Azure VM-ova, omogućavajući resursima da se sigurno pristupa kroz oba okruženja kao da su u istoj lokalnoj mreži.
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 je usluga koja pruža privatnu, posvećenu, visok brzu vezu između vaše lokalne infrastrukture i Azure data centara. Ova veza se uspostavlja putem provajdera konekcije, zaobilazeći javni internet i nudeći veću pouzdanost, brže brzine, niže latencije i veću sigurnost od tipičnih internet konekcija.
Primer:
Multinacionalna korporacija zahteva doslednu i pouzdanu vezu sa svojim Azure uslugama zbog velikog obima podataka i potrebe za visokim protokom. Kompanija se odlučuje za Azure ExpressRoute kako bi direktno povezala svoj lokalni data centar sa Azure-om, olakšavajući velike transfere podataka, kao što su dnevni backup-i i analitika podataka u realnom vremenu, uz poboljšanu privatnost i brzinu.
Enumeration
# List ExpressRoute Circuits
az network express-route list --query "[].{name:name, location:location, resourceGroup:resourceGroup, serviceProviderName:serviceProviderName, peeringLocation:peeringLocation}" -o table
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.