Az - Azure Network

Reading time: 19 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Basic Information

Azure inatoa virtual networks (VNet) ambazo zinawaruhusu watumiaji kuunda isolated networks ndani ya wingu la Azure. Ndani ya hizi VNets, rasilimali kama vile mashine za virtual, programu, hifadhidata... zinaweza kuhifadhiwa na kusimamiwa kwa usalama. Mtandao katika Azure unasaidia mawasiliano ndani ya wingu (kati ya huduma za Azure) na muunganisho na mitandao ya nje na intaneti.
Zaidi ya hayo, inawezekana connect VNets na VNets nyingine na mitandao ya ndani.

Virtual Network (VNET) & Subnets

Azure Virtual Network (VNet) ni uwakilishi wa mtandao wako mwenyewe katika wingu, ukitoa logical isolation ndani ya mazingira ya Azure yaliyotengwa kwa ajili ya usajili wako. VNets zinakuruhusu kuandaa na kusimamia mitandao ya kibinafsi ya virtual (VPNs) katika Azure, zikihifadhi rasilimali kama Mashine za Virtual (VMs), hifadhidata, na huduma za programu. Zinatoa full control over network settings, ikiwa ni pamoja na anuwai za anwani za IP, uundaji wa subnets, meza za njia, na lango za mtandao.

Subnets ni sehemu ndogo ndani ya VNet, zilizofafanuliwa na IP address ranges maalum. Kwa kugawanya VNet katika subnets nyingi, unaweza kuandaa na kulinda rasilimali kulingana na usanifu wa mtandao wako.
Kwa kawaida, subnets zote ndani ya Azure Virtual Network (VNet) zinaweza kuwasiliana na kila mmoja bila vizuizi vyovyote.

Example:

  • MyVNet yenye anuwai ya anwani za IP 10.0.0.0/16.
  • Subnet-1: 10.0.0.0/24 kwa ajili ya seva za wavuti.
  • Subnet-2: 10.0.1.0/24 kwa ajili ya seva za hifadhidata.

Enumeration

Ili kuorodhesha VNets na subnets zote katika akaunti ya Azure, unaweza kutumia Azure Command-Line Interface (CLI). Hapa kuna hatua:

bash
# 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

Makundi ya Usalama wa Mtandao (NSG)

Makundi ya Usalama wa Mtandao (NSG) yanachuja trafiki ya mtandao kuingia na kutoka kwa rasilimali za Azure ndani ya Mtandao wa Kijadi wa Azure (VNet). Yanashikilia seti ya kanuni za usalama ambazo zinaweza kuonyesha ni bandari zipi za kufungua kwa trafiki ya kuingia na kutoka kwa bandari ya chanzo, IP ya chanzo, marudio ya bandari na inawezekana kuweka kipaumbele (nambari ya kipaumbele ya chini, kipaumbele cha juu).

NSGs zinaweza kuunganishwa na subnets na NICs.

Mfano wa kanuni:

  • Kanuni ya kuingia inayoruhusu trafiki ya HTTP (bandari 80) kutoka chanzo chochote kwa seva zako za wavuti.
  • Kanuni ya kutoka inayoruhusu tu trafiki ya SQL (bandari 1433) kwa anwani maalum ya IP.

Uhesabuji

bash
# 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 ni huduma ya usalama wa mtandao inayosimamiwa katika Azure inayolinda rasilimali za wingu kwa kukagua na kudhibiti trafiki. Ni firewall yenye hali inayochuja trafiki kulingana na sheria za Tabaka 3 hadi 7, ikisaidia mawasiliano ndani ya Azure (trafiki ya mashariki-magharibi) na kuja/kutoka kwa mitandao ya nje (trafiki ya kaskazini-south). Imewekwa katika ngazi ya Mtandao wa Kijadi (VNet), inatoa ulinzi wa kati kwa subnets zote katika VNet. Azure Firewall inajipanga kiotomatiki ili kushughulikia mahitaji ya trafiki na kuhakikisha upatikanaji wa juu bila kuhitaji mipangilio ya mikono.

Inapatikana katika SKUs tatuβ€”Msingi, Kawaida, na Kitaalamu, kila moja imeandaliwa kwa mahitaji maalum ya wateja:

Kigezo/FeatureChaguo 1Chaguo 2Chaguo 3
Matumizi YanayopendekezwaBiashara Ndogo/Kati (SMBs) zenye mahitaji madogoMatumizi ya kawaida ya biashara, uchujaji wa Tabaka 3–7Mazingira yenye nyeti sana (mfano, usindikaji wa malipo)
UtendajiHadi 250 Mbps kupitiaHadi 30 Gbps kupitiaHadi 100 Gbps kupitia
Intelligence ya HatariArifa pekeeArifa na kuzuia (IP/domeni mbaya)Arifa na kuzuia (intelligence ya hatari ya juu)
Uchujaji wa L3–L7Uchujaji wa msingiUchujaji wenye hali kati ya protokaliUchujaji wenye hali na ukaguzi wa juu
Ulinzi wa Hatari wa JuuHaipatikaniUchujaji unaotegemea intelligence ya hatariInajumuisha Mfumo wa Kugundua na Kuzuia Uvamizi (IDPS)
Ukaguzi wa TLSHaipatikaniHaipatikaniInasaidia kumaliza TLS ya kuingia/kuondoka
UpatikanajiBackend iliyowekwa (VM 2)AutoscalingAutoscaling
Urahisi wa UsimamiziMifumo ya msingiInasimamiwa kupitia Meneja wa FirewallInasimamiwa kupitia Meneja wa Firewall

Enumeration

bash
# 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 Route Tables

Azure Route Tables zinatumika kudhibiti mwelekeo wa trafiki ya mtandao ndani ya subnet. Zinabainisha sheria ambazo zinaeleza jinsi pakiti zinapaswa kupelekwa, iwe kwa rasilimali za Azure, mtandao, au hatua maalum kama vile Kifaa cha Virtual au Azure Firewall. Unaweza kuunganisha meza ya mwelekeo na subnet, na rasilimali zote ndani ya subnet hiyo zitafuata mwelekeo katika meza.

Mfano: Ikiwa subnet ina rasilimali ambazo zinahitaji kuelekeza trafiki ya nje kupitia Kifaa cha Virtual cha Mtandao (NVA) kwa ukaguzi, unaweza kuunda mwelekeo katika meza ya mwelekeo ili kuelekeza trafiki yote (e.g., 0.0.0.0/0) kwa anwani ya IP ya kibinafsi ya NVA kama hatua inayofuata.

Enumeration

bash
# 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 ni huduma katika Azure ambayo inawezesha ufikiaji wa kibinafsi kwa huduma za Azure kwa kuhakikisha kwamba trafiki kati ya mtandao wako wa Azure wa virtual (VNet) na huduma inasafiri kabisa ndani ya mtandao wa msingi wa Microsoft Azure. Inaleta huduma hiyo moja kwa moja ndani ya VNet yako. Mpangilio huu unaboresha usalama kwa kutokuweka data wazi kwa mtandao wa umma.

Private Link inaweza kutumika na huduma mbalimbali za Azure, kama Azure Storage, Azure SQL Database, na huduma za kawaida zinazoshirikiwa kupitia Private Link. Inatoa njia salama ya kutumia huduma kutoka ndani ya VNet yako mwenyewe au hata kutoka kwa usajili tofauti wa Azure.

caution

NSGs hazihusiki na mwisho wa kibinafsi, ambayo ina maana wazi kwamba kuunganisha NSG na subnet ambayo ina Private Link hakutakuwa na athari yoyote.

Mfano:

Fikiria hali ambapo una Azure SQL Database ambayo unataka kufikia kwa usalama kutoka VNet yako. Kawaida, hii inaweza kuhusisha kupita kwenye mtandao wa umma. Kwa kutumia Private Link, unaweza kuunda mwanzo wa kibinafsi katika VNet yako ambao unahusisha moja kwa moja na huduma ya Azure SQL Database. Mwanzo huu unafanya database ionekane kana kwamba ni sehemu ya VNet yako mwenyewe, inayopatikana kupitia anwani ya IP ya kibinafsi, hivyo kuhakikisha ufikiaji salama na wa kibinafsi.

Enumeration

bash
# 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 huongeza nafasi ya anwani ya faragha ya mtandao wako wa virtual na utambulisho wa VNet yako kwa huduma za Azure kupitia muunganisho wa moja kwa moja. Kwa kuwezesha service endpoints, rasilimali katika VNet yako zinaweza kuungana kwa usalama na huduma za Azure, kama Azure Storage na Azure SQL Database, kwa kutumia mtandao wa msingi wa Azure. Hii inahakikisha kwamba trafiki kutoka VNet hadi huduma ya Azure inabaki ndani ya mtandao wa Azure, ikitoa njia salama na ya kuaminika zaidi.

Mfano:

Kwa mfano, akaunti ya Azure Storage kwa kawaida inapatikana kupitia intaneti ya umma. Kwa kuwezesha service endpoint kwa Azure Storage ndani ya VNet yako, unaweza kuhakikisha kwamba ni trafiki pekee kutoka VNet yako inayoweza kufikia akaunti ya uhifadhi. Kisha, moto wa akaunti ya uhifadhi unaweza kuwekewa mipangilio ili kukubali trafiki tu kutoka VNet yako.

Enumeration

bash
# 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 inapendekeza kutumia Private Links katika docs:

Service Endpoints:

  • Trafiki kutoka kwa VNet yako hadi huduma ya Azure inasafiri kupitia mtandao wa Microsoft Azure backbone, ikiepuka intaneti ya umma.
  • Endpoint ni muunganisho wa moja kwa moja na huduma ya Azure na haipatii IP ya kibinafsi kwa huduma ndani ya VNet.
  • Huduma yenyewe bado inapatikana kupitia endpoint yake ya umma kutoka nje ya VNet yako isipokuwa uwekeze moto wa huduma kuzuia trafiki kama hiyo.
  • Ni uhusiano wa moja kwa moja kati ya subnet na huduma ya Azure.
  • Ni ya gharama nafuu zaidi kuliko Private Links.

Private Links:

  • Private Link inachora huduma za Azure ndani ya VNet yako kupitia endpoint ya kibinafsi, ambayo ni kiunganishi cha mtandao chenye anwani ya IP ya kibinafsi ndani ya VNet yako.
  • Huduma ya Azure inafikiwa kwa kutumia anwani hii ya IP ya kibinafsi, ikifanya ionekane kana kwamba ni sehemu ya mtandao wako.
  • Huduma zilizounganishwa kupitia Private Link zinaweza kufikiwa tu kutoka kwa VNet yako au mitandao iliyounganishwa; hakuna ufikiaji wa intaneti ya umma kwa huduma hiyo.
  • Inaruhusu muunganisho salama kwa huduma za Azure au huduma zako binafsi zinazohifadhiwa katika Azure, pamoja na muunganisho kwa huduma zinazoshirikiwa na wengine.
  • Inatoa udhibiti wa ufikiaji wa kina kupitia endpoint ya kibinafsi katika VNet yako, tofauti na udhibiti mpana wa ufikiaji katika kiwango cha subnet na service endpoints.

Kwa muhtasari, ingawa Service Endpoints na Private Links zote zinatoa muunganisho salama kwa huduma za Azure, Private Links hutoa kiwango cha juu cha kutengwa na usalama kwa kuhakikisha kwamba huduma zinapatikana kwa siri bila kuzifichua kwa intaneti ya umma. Service Endpoints, kwa upande mwingine, ni rahisi kuanzisha kwa kesi za jumla ambapo ufikiaji rahisi na salama kwa huduma za Azure unahitajika bila haja ya IP ya kibinafsi katika VNet.

Azure Front Door (AFD) & AFD WAF

Azure Front Door ni kipengele kinachoweza kupanuka na salama kwa usambazaji wa haraka wa programu zako za wavuti za kimataifa. In changanya huduma mbalimbali kama usambazaji wa mzigo wa kimataifa, kuharakisha tovuti, SSL offloading, na uwezo wa Web Application Firewall (WAF) katika huduma moja. Azure Front Door inatoa usafirishaji wa akili kulingana na mahali pa karibu zaidi na mtumiaji, kuhakikisha utendaji bora na uaminifu. Zaidi ya hayo, inatoa usafirishaji wa URL, mwenyeji wa tovuti nyingi, upendeleo wa kikao, na usalama wa safu ya programu.

Azure Front Door WAF imeundwa ili kulinda programu za wavuti kutokana na mashambulizi ya mtandaoni bila kubadilisha msimbo wa nyuma. Inajumuisha sheria za kawaida na seti za sheria zinazodhibitiwa ili kulinda dhidi ya vitisho kama vile SQL injection, cross-site scripting, na mashambulizi mengine ya kawaida.

Mfano:

Fikiria una programu iliyosambazwa kimataifa yenye watumiaji kote ulimwenguni. Unaweza kutumia Azure Front Door ili kupeleka maombi ya watumiaji kwa kituo cha data cha kikanda kilicho karibu zaidi kinachohifadhi programu yako, hivyo kupunguza ucheleweshaji, kuboresha uzoefu wa mtumiaji na kuilinda kutokana na mashambulizi ya mtandaoni kwa uwezo wa WAF. Ikiwa eneo fulani linakabiliwa na kukatika, Azure Front Door inaweza kuhamasisha trafiki kiotomatiki kwa eneo linalofuata bora, kuhakikisha upatikanaji wa juu.

Enumeration

bash
# 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 na Azure Application Gateway WAF

Azure Application Gateway ni mshikamano wa mzigo wa trafiki wa wavuti unaokuwezesha kudhibiti trafiki kwa maombi yako ya wavuti. Inatoa mshikamano wa mzigo wa Tabaka la 7, kumaliza SSL, na uwezo wa moto wa wavuti (WAF) katika Msimamizi wa Usambazaji wa Maombi (ADC) kama huduma. Vipengele muhimu ni pamoja na upitishaji wa URL, uhusiano wa kikao kulingana na kuki, na kupunguza safu za soketi salama (SSL), ambavyo ni muhimu kwa maombi yanayohitaji uwezo tata wa usambazaji wa mzigo kama vile upitishaji wa kimataifa na upitishaji kulingana na njia.

Mfano:

Fikiria hali ambapo una tovuti ya biashara mtandaoni ambayo ina subdomain nyingi kwa ajili ya kazi tofauti, kama vile akaunti za watumiaji na usindikaji wa malipo. Azure Application Gateway inaweza kupeleka trafiki kwa seva za wavuti zinazofaa kulingana na njia ya URL. Kwa mfano, trafiki kwa example.com/accounts inaweza kuelekezwa kwa huduma za akaunti za watumiaji, na trafiki kwa example.com/pay inaweza kuelekezwa kwa huduma za usindikaji wa malipo.
Na kulinda tovuti yako kutokana na mashambulizi kwa kutumia uwezo wa WAF.

Uhesabuji

bash
# 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 ni kipengele cha mtandao katika Azure ambacho kinaruhusu Mitandao ya Kijadi (VNets) tofauti kuunganishwa moja kwa moja na bila mshono. Kupitia VNet peering, rasilimali katika VNet moja zinaweza kuwasiliana na rasilimali katika VNet nyingine kwa kutumia anwani za IP za kibinafsi, kama vile zilikuwa katika mtandao mmoja.
VNet Peering inaweza pia kutumika na mitandao ya ndani kwa kuweka VPN ya tovuti hadi tovuti au Azure ExpressRoute.

Azure Hub na Spoke ni muundo wa mtandao unaotumika katika Azure kusimamia na kuandaa trafiki ya mtandao. "hub" ni sehemu ya kati inayodhibiti na kuelekeza trafiki kati ya "spokes" tofauti. Hub kwa kawaida ina huduma za pamoja kama vile vifaa vya mtandao vya virtual (NVAs), Azure VPN Gateway, Azure Firewall, au Azure Bastion. "spokes" ni VNets ambazo zinaweka kazi na kuungana na hub kwa kutumia VNet peering, na kuwapa uwezo wa kutumia huduma za pamoja ndani ya hub. Mfano huu unakuza mpangilio safi wa mtandao, ukipunguza ugumu kwa kuunganisha huduma za kawaida ambazo kazi nyingi katika VNets tofauti zinaweza kutumia.

[!CAUTION] > VNET pairing si ya kupitisha katika Azure, ambayo inamaanisha kwamba ikiwa spoke 1 imeunganishwa na spoke 2 na spoke 2 imeunganishwa na spoke 3 basi spoke 1 haiwezi kuzungumza moja kwa moja na spoke 3.

Mfano:

Fikiria kampuni yenye idara tofauti kama Mauzo, HR, na Maendeleo, kila moja ikiwa na VNet yake (spokes). VNets hizi zinahitaji ufikiaji wa rasilimali za pamoja kama vile hifadhidata ya kati, firewall, na lango la intaneti, ambazo zote ziko katika VNet nyingine (hub). Kwa kutumia mfano wa Hub na Spoke, kila idara inaweza kuungana kwa usalama na rasilimali za pamoja kupitia VNet ya hub bila kufichua rasilimali hizo kwa intaneti ya umma au kuunda muundo mgumu wa mtandao wenye uhusiano mwingi.

Enumeration

bash
# 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

VPN ya Tovuti hadi Tovuti

VPN ya Tovuti hadi Tovuti katika Azure inakuwezesha kuunganisha mtandao wako wa ndani na Mtandao wa Kijadi wa Azure (VNet), ikiruhusu rasilimali kama VMs ndani ya Azure kuonekana kana kwamba ziko kwenye mtandao wako wa ndani. Muunganisho huu unafanywa kupitia gateway ya VPN inayoshughulikia usimbuaji wa trafiki kati ya mitandao miwili.

Mfano:

Biashara yenye ofisi yake kuu iliyoko New York ina kituo cha data cha ndani ambacho kinahitaji kuunganishwa kwa usalama na VNet yake katika Azure, ambayo inahifadhi kazi zake za virtualized. Kwa kuweka VPN ya Tovuti hadi Tovuti, kampuni inaweza kuhakikisha muunganisho wa usimbuaji kati ya seva za ndani na VMs za Azure, ikiruhusu rasilimali kufikiwa kwa usalama katika mazingira yote mawili kana kwamba ziko kwenye mtandao mmoja wa ndani.

Uhesabu

bash
# 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 ni huduma inayotoa kiunganishi cha kibinafsi, maalum, cha kasi ya juu kati ya miundombinu yako ya ndani na vituo vya data vya Azure. Kiunganishi hiki kinapatikana kupitia mtoa huduma wa muunganisho, kinapita kwenye mtandao wa umma na kinatoa uaminifu zaidi, kasi za haraka, latencies za chini, na usalama wa juu kuliko viunganishi vya kawaida vya mtandao.

Mfano:

Kampuni ya kimataifa inahitaji kiunganishi thabiti na cha kuaminika kwa huduma zake za Azure kutokana na kiasi kikubwa cha data na hitaji la throughput ya juu. Kampuni inachagua Azure ExpressRoute kuunganisha moja kwa moja kituo chake cha data cha ndani na Azure, ikirahisisha uhamasishaji wa data kwa kiwango kikubwa, kama vile nakala za kila siku na uchambuzi wa data wa wakati halisi, kwa faragha na kasi iliyoongezeka.

Enumeration

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

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks