Translated ['src/pentesting-cloud/azure-security/az-post-exploitation/az

This commit is contained in:
Translator
2025-02-22 16:16:18 +00:00
parent 51b47f833f
commit 7a4946f96c
3 changed files with 31 additions and 27 deletions

View File

@@ -10,7 +10,7 @@ Vir meer inligting oor logika-apps, kyk:
{{#endref}}
### `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
Met hierdie toestemmings kan jy Logic App workflows wysig en hul identiteite bestuur. Spesifiek kan jy stelsels toegewyde en gebruikers toegewyde bestuurde identiteite aan workflows toewys of verwyder, wat die Logic App in staat stel om te verifieer en toegang tot ander Azure hulpbronne te verkry sonder eksplisiete akrediteer.
Met hierdie toestemmings kan jy Logic App werkvloei verander en hul identiteite bestuur. Spesifiek kan jy stelsels toegewyde en gebruikers toegewyde bestuurde identiteite aan werkvloei toewys of verwyder, wat die Logic App in staat stel om te verifieer en toegang tot ander Azure hulpbronne te verkry sonder eksplisiete akrediteer.
```bash
az logic workflow identity remove/assign \
--name <workflow_name> \
@@ -18,7 +18,7 @@ az logic workflow identity remove/assign \
--system-assigned true \
--user-assigned "/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity_name>"
```
Boonop kan jy met net `Microsoft.Logic/workflows/write` sommige konfigurasies verander soos Toegelate inkomende IP adresse of Loop geskiedenis behou dae:
Boonop kan jy met net `Microsoft.Logic/workflows/write` sommige konfigurasies verander soos Toegelate inkomende IP adresse of Hardloopgeskiedenis behou dae:
```bash
az rest --method PUT \
--uri "https://management.azure.com/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Logic/workflows/<workflow_name>?api-version=2019-05-01" \
@@ -58,7 +58,7 @@ az rest --method PUT \
}'
```
### `Microsoft.Web/sites/read`, `Microsoft.Web/sites/write`
Met hierdie toestemmings kan jy Logic Apps skep of opdateer wat op 'n App Service Plan gehosteer is. Dit sluit die aanpassing van instellings in, soos om HTTPS-afdwinging in of uit te skakel.
Met hierdie toestemmings kan jy Logic Apps skep of opdateer wat op 'n App Service Plan gehosteer word. Dit sluit die aanpassing van instellings in, soos om HTTPS-afdwinging in of uit te skakel.
```bash
az logicapp update \
--resource-group <resource_group_name> \
@@ -74,7 +74,7 @@ az webapp start/stop/restart \
```
### `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/read` && `Microsoft.Web/sites/config/write`
Met hierdie toestemming kan jy instellings vir webtoepassings konfigureer of wysig, insluitend Logic Apps wat op 'n App Service Plan gehos is. Dit stel veranderinge aan toepassingsinstellings, verbindsels, outentikasie-konfigurasies, en meer in staat.
Met hierdie toestemming kan jy instellings vir webtoepassings konfigureer of wysig, insluitend Logic Apps wat op 'n App Service Plan gehos is. Dit stel veranderinge aan toepassingsinstellings, verbindsstrings, outentikasie-konfigurasies, en meer in staat.
```bash
az logicapp config appsettings set \
--name <logic_app_name> \
@@ -93,7 +93,7 @@ az logic integration-account create \
```
### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/batchConfigurations/write`
Met hierdie toestemming kan jy batchkonfigurasies binne 'n Azure Logic Apps-integrasietekenrekening skep of wysig. Batchkonfigurasies definieer hoe Logic Apps inkomende boodskappe verwerk en groepeer vir batchverwerking.
Met hierdie toestemming kan jy batchkonfigurasies binne 'n Azure Logic Apps-integrasiesrekening skep of wysig. Batchkonfigurasies definieer hoe Logic Apps inkomende boodskappe verwerk en groepeer vir batchverwerking.
```bash
az logic integration-account batch-configuration create \
--resource-group <resource_group_name> \
@@ -116,7 +116,7 @@ az logic integration-account map create \
--map-content map-content.xslt
```
### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/partners/write`
Met hierdie toestemming kan jy vennote in 'n Azure Logic Apps integrasiewerkingrekening skep of wysig. Vennote verteenwoordig entiteite of stelsels wat deelneem aan besigheid-tot-besigheid (B2B) werksvloeie.
Met hierdie toestemming kan jy vennote in 'n Azure Logic Apps integrasiewerkrekening skep of wysig. Vennote verteenwoordig entiteite of stelsels wat deelneem aan besigheid-tot-besigheid (B2B) werksvloei.
```bash
az logic integration-account partner create \
--resource-group <resource_group_name> \

View File

@@ -6,9 +6,9 @@
**Azure Cosmos DB** is 'n volledig **bestuurde NoSQL, relationele, en vektordatabasis** wat enkel-digit millisekonde reaksietye, outomatiese skaalbaarheid, en SLA-ondersteunde beskikbaarheid met ondernemingsgraad sekuriteit bied. Dit stel vinniger app-ontwikkeling in staat deur kant-en-klaar multi-streek data verspreiding, oopbron API's, SDK's vir gewilde tale, en KI-databasis funksies soos geïntegreerde vektorondersteuning en naatlose Azure KI-integrasie.
Azure Cosmos DB bied verskeie databasis API's om werklike data te modelleer met behulp van dokumente, relationele, sleutel-waarde, grafiek, en kolom-familie datamodelles, wat hierdie API's NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin en Tabel is.
Azure Cosmos DB bied verskeie databasis API's om werklike data te modelleer met behulp van dokumente, relationeel, sleutel-waarde, grafiek, en kolom-familie datamodelles, wat hierdie API's NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin en Tabel is.
Een sleutel aspek van CosmosDB is Azure Cosmos Account. **Azure Cosmos Account** dien as die toegangspunt tot die databasisse. Die rekening bepaal sleutelinstellings soos globale verspreiding, konsekwentievlakke, en die spesifieke API wat gebruik moet word, soos NoSQL. Deur die rekening kan jy globale replikaasies konfigureer om te verseker dat data beskikbaar is oor verskeie streke vir lae-latensie toegang. Boonop kan jy 'n konsekwentievlak kies wat 'n balans tussen prestasie en datanauwkeurigheid handhaaf, met opsies wat wissel van Sterk tot Geleidelike konsekwentheid.
Een sleutel aspek van CosmosDB is Azure Cosmos Account. **Azure Cosmos Account** dien as die toegangspunt tot die databasisse. Die rekening bepaal sleutelinstellings soos globale verspreiding, konsekwentheidsvlakke, en die spesifieke API wat gebruik moet word, soos NoSQL. Deur die rekening kan jy globale replikaasies konfigureer om te verseker dat data beskikbaar is oor verskeie streke vir lae-latensie toegang. Boonop kan jy 'n konsekwentheidsvlak kies wat 'n balans tussen prestasie en datanauwkeurigheid handhaaf, met opsies wat wissel van Sterk tot Geleidelike konsekwentheid.
Azure Cosmos DB ondersteun **gebruikers-toegewyde identiteite** en **sisteem-toegewyde bestuurde identiteite** wat outomaties geskep en aan die hulpbron se lewensiklus gekoppel is. egter, Cosmos DB het nie 'n ingeboude meganisme om direk eksterne databasisse soos Azure Blob Storage te ondervra nie. Anders as SQL Server se eksterne tabel funksies, vereis Cosmos DB dat data in sy houers ingeneem word met behulp van eksterne gereedskap soos Azure Data Factory, die Data Migrasie Gereedskap, of pasgemaakte skripte voordat dit met sy inheemse ondervragingsvermoëns ondervra kan word.
@@ -24,7 +24,7 @@ Binne 'n rekening kan jy een of meer databasas skep, wat dien as logiese groepe
Die kern eenheid van data-opberging is die houer, wat JSON-dokumente bevat en outomaties geindexeer word vir doeltreffende navraag. Houers is elasties skaalbaar en versprei oor partisie, wat bepaal word deur 'n gebruiker-gedefinieerde partisie sleutel. Die partisie sleutel is krities vir die verseker van optimale prestasie en eweredige data verspreiding. Byvoorbeeld, 'n houer kan klantdata stoor, met "customerId" as die partisie sleutel.
#### Sleutelkenmerke
- **Globale Verspreiding**: Aktiveer of deaktiveer Geo-Retundansie vir kruis-streek replika en Multi-streek Skrywe vir verbeterde beskikbaarheid.
- **Globale Verspreiding**: Aktiveer of deaktiveer Geo-Retensie vir kruis-streek replika en Multi-streek Skrywe vir verbeterde beskikbaarheid.
- **Netwerk & Sekuriteit**: tussen openbare (alle/selekteer netwerke) of private eindpunte vir konnektiwiteit. Veilige verbindings met TLS 1.2 versleuteling. Ondersteun CORS (Cross-Origin Resource Sharing) vir beheerde toegang tot hulpbronne. Microsoft Defender vir Cloud kan geaktiveer word. Om die verbinding te maak, kan jy sleutels gebruik.
- **Rugsteun & Herstel**: van Periodieke, Kontinuïteit (7 dae), of Kontinuïteit (30 dae) rugsteunbeleide met konfigureerbare tydsintervalle en behoud.
- **Data Versleuteling**: Standaard diens-beheerde sleutels of klant-beheerde sleutels (CMK) vir versleuteling (CMK keuse is onomkeerbaar).
@@ -131,7 +131,7 @@ Get-AzCosmosDBSqlUserDefinedFunction -ResourceGroupName "<ResourceGroupName>" -A
#### Verbinding
Dit het 2 sleutel tipes, Lees-skrif (vol) en Lees-alleen. Hulle gee die aangeduide toegang tot alle databasisse, versamelings, en data binne die Cosmos DB rekening.
Dit het 2 sleutel tipes, Lees-skryf (vol) en Lees-alleen. Hulle gee die aangeduide toegang tot alle databasisse, versamelings, en data binne die Cosmos DB rekening.
Om te verbind is die azure-cosmosDB (pip install azure-cosmos) biblioteek nodig. Boonop is die eindpunt en die sleutel kritieke komponente om die verbinding te maak.
```python
from azure.cosmos import CosmosClient, PartitionKey
@@ -171,7 +171,7 @@ print("All items in the container:")
for item in all_items:
print(item)
```
'n Ander manier om 'n verbinding te vestig, is om die **DefaultAzureCredential()** te gebruik. Jy moet net aanmeld (az login) met die rekening wat die toestemmings het en dit uitvoer. Vir hierdie geval moet 'n roltoewysing gedoen word, wat die nodige toestemmings gee (sien vir meer).
'n Ander manier om 'n verbinding te vestig, is om die **DefaultAzureCredential()** te gebruik. Jy moet net aanmeld (az login) met die rekening wat die toestemmings het en dit uitvoer. Vir hierdie geval moet 'n roltoewysing gedoen word, wat die nodige toestemmings gee (sien vir meer)
```python
from azure.identity import DefaultAzureCredential
from azure.cosmos import CosmosClient
@@ -197,7 +197,7 @@ container.create_item(item)
print("Document inserted.")
```
### MongoDB
Die MongoDB NoSQL API is 'n dokument-gebaseerde API wat JSON-agtige BSON (Binary JSON) as sy dataformaat gebruik. Dit bied 'n navraagtaal met aggregasievermoëns, wat dit geskik maak om met gestruktureerde, semi-gestruktureerde en ongestruktureerde data te werk. Die eindpunt van die diens volg tipies hierdie formaat:
Die MongoDB NoSQL API is 'n dokument-gebaseerde API wat JSON-agtige BSON (Binary JSON) as sy dataformaat gebruik. Dit bied 'n navraagtaal met aggregasie vermoëns, wat dit geskik maak om met gestruktureerde, semi-gestruktureerde en ongestruktureerde data te werk. Die eindpunt van die diens volg tipies hierdie formaat:
```bash
mongodb://<hostname>:<port>/<database>
```
@@ -205,7 +205,7 @@ mongodb://<hostname>:<port>/<database>
In MongoDB kan jy een of meer databasisse binne 'n instansie skep. Elke databasis dien as 'n logiese groep van versamelings en bied 'n grense vir hulpbronorganisasie en -bestuur. Databasisse help om data logies te skei en te bestuur, soos vir verskillende toepassings of projekte.
#### Collections
Die kern eenheid van data-opberging in MongoDB is die versameling, wat dokumente hou en ontwerp is vir doeltreffende navraag en buigsame skema-ontwerp. Versamelings is elasties skaalbaar en kan hoë-deurvoer operasies oor verskeie nodes in 'n verspreide opstelling ondersteun.
Die kern eenheid van data-opberging in MongoDB is die versameling, wat dokumente hou en ontwerp is vir doeltreffende navraag en buigsame skema-ontwerp. Versamelings is elasties skaalbaar en kan hoë-deurset operasies oor verskeie nodes in 'n verspreide opstelling ondersteun.
#### Key Features of Request unit (RU) type
**Global Distribution**: Aktiveer of deaktiveer Geo-Redundancy vir kruisgebied replikasie en Multi-region Writes vir verbeterde beskikbaarheid.
@@ -215,7 +215,7 @@ Die kern eenheid van data-opberging in MongoDB is die versameling, wat dokumente
#### Key Features of vCore cluster type
**Global Distribution**: Aktiveer 'n lees replika in 'n ander Azure streek vir hoë beskikbaarheid en failover ondersteuning. Konfigureer die replika naam, streek, en stoor per shard.
**Networking & Security**: Ondersteun openbare toegang met toegewyde openbare IP's en private toegang. Beperk verbindings met firewall-reëls—per standaard is geen openbare IP's toegelaat nie.
**Networking & Security**: Ondersteun openbare toegang met toegewyde openbare IP's en private toegang. Beperk verbindings met firewall-reëls—per standaard, geen openbare IP's is toegelaat.
**Encrypted Connections**: Handhaaf TLS-enkripsie vir veilige datatransmissie.
#### Enumeration
@@ -362,6 +362,8 @@ mongosh "mongodb://<myUser>:<mySecurePassword>@<account_name>.mongo.cosmos.azure
* Die res van die DB hier, tabelle, cassandra, gremlin...
* Kyk na die post exploitation "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read" en rol definisies want hier mag daar 'n privesc wees
* Kyk na herstel
* Kyk na herstelwerk
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -12,8 +12,8 @@ Wanneer jy 'n Logic App skep, moet jy óf 'n eksterne stoorrekening skep of kopp
### Voorbeelde
- **Outomatisering van Data Pype**: Logic Apps kan **data-oordrag en transformasieprosesse** outomatiseer in kombinasie met Azure Data Factory. Dit is nuttig om skaalbare en betroubare datapipes te skep wat data tussen verskeie datastores, soos Azure SQL Database en Azure Blob Storage, beweeg en transformeer, wat help met analise en besigheidsintelligensie-operasies.
- **Integrasie met Azure Functions**: Logic Apps kan saam met Azure Functions werk om **gesofistikeerde, gebeurtenisgedrewe toepassings te ontwikkel wat soos nodig skaal** en naatloos met ander Azure-dienste integreer. 'n Voorbeeld gebruiksgeval is om 'n Logic App te gebruik om 'n Azure Function te aktiveer in reaksie op sekere gebeurtenisse, soos veranderinge in 'n Azure Storage-rekening, wat dinamiese dataverwerking moontlik maak.
- **Outomatisering van Data-pype**: Logic Apps kan **dataverskuiwing en -transformasieprosesse** outomatiseer in kombinasie met Azure Data Factory. Dit is nuttig om skaalbare en betroubare datapipes te skep wat data tussen verskeie datastores, soos Azure SQL Database en Azure Blob Storage, beweeg en transformeer, wat help met analise en besigheidsintelligensie-operasies.
- **Integrasie met Azure Functions**: Logic Apps kan saam met Azure Functions werk om **gesofistikeerde, gebeurtenisgedrewe toepassings te ontwikkel wat soos nodig skaal** en naatloos met ander Azure-dienste integreer. 'n Voorbeeld van 'n gebruiksgeval is om 'n Logic App te gebruik om 'n Azure Function te aktiveer in reaksie op sekere gebeurtenisse, soos veranderinge in 'n Azure-stoorrekening, wat dinamiese dataverwerking moontlik maak.
### Visualiseer 'n LogicAPP
@@ -21,11 +21,11 @@ Dit is moontlik om 'n LogicApp met grafika te sien:
<figure><img src="../../../images/image (197).png" alt=""><figcaption></figcaption></figure>
of om die kode in die "**Logic app kode weergawe**" afdeling te kontroleer.
of om die kode in die "**Logic app kodeweergave**" afdeling te kontroleer.
### SSRF Beskerming
### SSRF-beskerming
Selfs al vind jy die **Logic App kwesbaar vir SSRF**, sal jy nie in staat wees om die akrediteer te bekom uit die metadata nie, aangesien Logic Apps dit nie toelaat nie.
Selfs al vind jy die **Logic App kwesbaar vir SSRF**, sal jy nie in staat wees om die akrediteerbare inligting van die metadata te bekom nie, aangesien Logic Apps dit nie toelaat nie.
Byvoorbeeld, iets soos dit sal nie die token teruggee:
```bash
@@ -63,18 +63,18 @@ Triggers het ook verskeie instellings:
- Schema Validasie: Verseker dat inkomende data 'n vooraf gedefinieerde struktuur volg.
- Gelyktydigheidsbeheer: Beperk die aantal parallelle uitvoerings.
- Trigger Voorwaardes: voorwaardes wat nagekom moet word voordat die trigger afgevuur word.
- Networking: Konfigureer blokgrootte vir datatransfer en laat toe om workflow koptekste in antwoorde te onderdruk.
- Networking: Konfigureer stukgrootte vir datatransfer en laat toe om workflow koptekste in antwoorde te onderdruk.
- **Security**: Maak **Veilige Insette/Uitsette moontlik om** sensitiewe data in logs en die uitsette te verberg.
**Settings & API Conections:**
'n workflow het verskillende instellings soos:
- Toegelate inkomende IP adresse: Hierdie instelling laat jou toe om te beperk wie jou Logic App kan ontketen of begin. Die opsies is Enige IP, Slegs ander Logic Apps en Spesifieke IP reeks.
- Toegelate inkomende IP adresse: Hierdie instelling laat jou toe om te beperk wie jou Logic App kan trigger of begin. Die opsies is Enige IP, Slegs ander Logic Apps en Spesifieke IP reeks.
- Integrasie rekening: Hier kan jy jou Logic App aan 'n Integrasie Rekening koppel.
- Hoë deurset: Hierdie instelling stel jou Logic App in staat om meer versoeke vinnig te hanteer.
- Uitvoering geskiedenis behoud: vir hoe lank die geskiedenis van jou Logic App se uitvoerings gehou word.
Jy kan die verskillende API verbindings sien wat die workflow het. Binne elkeen van hierdie verbindings het hulle verskillende eienskappe en die moontlikheid om die API verbinding te wysig waar die Verifikasietipe verander kan word.
Jy kan die verskillende API verbindings wat die workflow het, sien. Binne elkeen van hierdie verbindings het hulle verskillende eienskappe en die moontlikheid om die API verbinding te wysig waar die Verifikasietipe verander kan word.
**History & Versions:**
Dit het die opsie om toegang te verkry tot die **geskiedenis** van die verskillende uitvoerings, dit wys, Instellings, Uitset, Parameters en die Kode.
@@ -89,10 +89,10 @@ Azure Logic Apps ondersteun **autorisering beleid** met Entra ID om versoek-geba
- JWT ID (JSON Web Token identifiseerder)
- Aangepaste Aanspraak
Wanneer 'n versoek ontvang word, valideer Logic Apps die token teen hierdie aansprake en laat uitvoering toe slegs as hulle ooreenstem met die geconfigureerde beleid. Dit kan gebruik word om 'n ander huurder toe te laat om die workflow te ontketen of om die ontketening van ander bronne te ontken, byvoorbeeld net die ontketening toe te laat as dit van https://login.microsoftonline.com/ kom.
Wanneer 'n versoek ontvang word, valideer Logic Apps die token teen hierdie aansprake en laat uitvoering toe slegs as hulle ooreenstem met die geconfigureerde beleid. Dit kan gebruik word om 'n ander tenant toe te laat om die workflow te trigger of om die trigger van ander bronne te weier, byvoorbeeld net die trigger toe te laat as dit van https://login.microsoftonline.com/ kom.
**Access Keys:**
Wanneer jy 'n versoek-gebaseerde trigger vir die eerste keer stoor, skep Logic Apps outomaties 'n unieke eindpunt met 'n SAS-handtekening (gecreëer vanaf die Toegang Sleutel) wat toestemming gee om die workflow aan te roep. Hierdie SAS-handtekening is ingebed in die trigger se URL. Hierdie sleutel kan weer gegenereer word en dit sal 'n nuwe SAS-handtekening gee, maar die sleutels kan nie gelys word nie.
Wanneer jy 'n versoek-gebaseerde trigger vir die eerste keer stoor, skep Logic Apps outomaties 'n unieke eindpunt met 'n SAS-handtekening (gecreëer van die Toegang Sleutel) wat toestemming gee om die workflow aan te roep. Hierdie SAS-handtekening is ingebed in die trigger se URL. Hierdie sleutel kan weer gegenereer word en dit sal 'n nuwe SAS-handtekening gee, maar die sleutels kan nie gelys word nie.
Die URL om dit met die Toegang Sleutel aan te roep:
@@ -203,6 +203,8 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
{{#endtab }}
{{#endtabs }}
### Integrasie Rekeninge
**Integrasie Rekeninge** is 'n kenmerk van Azure Logic Apps. Integrasie Rekeninge word gebruik om ondernemingsvlak integrasies te fasiliteer deur gevorderde B2B vermoëns, soos EDI, AS2, en XML skema bestuur, moontlik te maak. Integrasie Rekeninge is 'n houer in Azure wat die volgende artefakte stoor wat vir Logic Apps gebruik word:
@@ -215,7 +217,7 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
* Batch Konfigurasies: Bestuur batch verwerking konfigurasies om boodskappe doeltreffend te groepeer en te verwerk.
* RosettaNet PIP: Konfigureer RosettaNet Vennoot Koppelvlak Prosesse (PIPs) om B2B kommunikasie te standaardiseer.
#### Opsomming
#### Enumerasie
{{#tabs }}
{{#tab name="az cli" }}
@@ -281,7 +283,7 @@ az logic integration-account assembly show \
{{#endtab }}
{{#tab name="Az Powershell" }}
```powershell
```bash
Get-Command -Module Az.LogicApp
# Retrieve details of an integration account