Translated ['src/pentesting-cloud/azure-security/az-persistence/az-cloud

This commit is contained in:
Translator
2025-01-26 18:01:32 +00:00
parent 72f2508445
commit f40c401d43
13 changed files with 90 additions and 88 deletions

View File

@@ -20,7 +20,7 @@ Leer & oefen GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1).png"
Azure Cloud Shell bied opdraglyn toegang om Azure hulpbronne te bestuur met volhoubare stoorplek en outomatiese verifikasie. Aanvallers kan dit benut deur agterdeure in die volhoubare huisgids te plaas:
* **Volhoubare Stoorplek**: Azure Cloud Shell se huisgids is op 'n Azure lêer deel gemonteer en bly ongeskonde selfs nadat die sessie eindig.
* **Opstart Skripte**: Lêers soos .bashrc voer outomaties uit aan die begin van elke sessie, wat volhoubare uitvoering toelaat wanneer die cloud shell begin.
* **Opstart Skripte**: Lêers soos .bashrc voer outomaties uit aan die begin van elke sessie, wat volhoubare uitvoering moontlik maak wanneer die cloud shell begin.
Voorbeeld agterdeur in .bashrc:

View File

@@ -1,29 +1,29 @@
# Az - Logic Apps Post Exploitation
# Az - Logika Apps Post Exploitatie
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="../../../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1).png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/image (2) (1).png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Leer & oefen AWS Hacking:<img src="../../../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/image (1) (1) (1) (1).png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1).png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/image (2) (1).png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Ondersteun HackTricks</summary>
* Kyk na die [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) of die [**telegram group**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## Logic Apps Database Post Exploitation
Vir meer inligting oor logic apps, kyk:
## Logika Apps Databasis Post Exploitatie
Vir meer inligting oor logika apps, kyk:
{% content-ref url="../az-services/az-logic-apps.md" %}
[az-logic-apps.md](../az-services/az-logic-apps.md)
{% endcontent-ref %}
### "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 autentiseer en toegang tot ander Azure hulpbronne te verkry sonder eksplisiete akrediteer.
Met hierdie toestemmings kan jy Logika App werksvloeie wysig en hul identiteite bestuur. Spesifiek kan jy stelsels toegewyde en gebruikers toegewyde bestuurde identiteite aan werksvloeie toewys of verwyder, wat die Logika App in staat stel om te verifieer en toegang tot ander Azure hulpbronne te verkry sonder eksplisiete akrediteer.
{% code overflow="wrap" %}
```bash
@@ -36,7 +36,7 @@ az logic workflow identity remove/assign \
{% endcode %}
### "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 word. 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 is. Dit sluit die aanpassing van instellings in, soos om HTTPS-afdwinging in of uit te skakel.
{% code overflow="wrap" %}
```bash
@@ -48,7 +48,7 @@ az logicapp update \
{% endcode %}
### "Microsoft.Web/sites/stop/action", "Microsoft.Web/sites/start/action" || "Microsoft.Web/sites/restart/action"
Met hierdie toestemming kan jy 'n webtoepassing begin/stop/restart, insluitend Logic Apps wat op 'n App Service Plan gehosteer word. Hierdie aksie verseker dat 'n voorheen gestopte toepassing aanlyn gebring word en sy funksionaliteit hervat. Dit kan werksvloei ontwrig, onbedoelde operasies ontketen, of stilstand veroorsaak deur Logic Apps onverwagte te begin, stop of herbegin.
Met hierdie toestemming kan jy 'n webtoepassing begin/stop/restart, insluitend Logic Apps wat op 'n App Service Plan gehos is. Hierdie aksie verseker dat 'n voorheen gestopte toepassing aanlyn gebring word en sy funksionaliteit hervat. Dit kan werksvloei ontwrig, onbedoelde operasies ontketen, of stilstand veroorsaak deur Logic Apps onverwagte te begin, stop of herbegin.
{% code overflow="wrap" %}
```bash
@@ -88,7 +88,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 integrasiekonto skep of wysig. Batchkonfigurasies definieer hoe Logic Apps inkomende boodskappe verwerk en groepeer vir batchverwerking.
{% code overflow="wrap" %}
```bash
@@ -104,7 +104,7 @@ az logic integration-account batch-configuration create \
{% endcode %}
### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/maps/write"
Met hierdie toestemming kan jy kaarte binne 'n Azure Logic Apps integrasiekonto skep of wysig. Kaarte word gebruik om data van een formaat na 'n ander te transformeer, wat naatlose integrasie tussen verskillende stelsels en toepassings moontlik maak.
Met hierdie toestemming kan jy kaarte binne 'n Azure Logic Apps integrasie rekening skep of wysig. Kaarte word gebruik om data van een formaat na 'n ander te transformeer, wat naatlose integrasie tussen verskillende stelsels en toepassings moontlik maak.
{% code overflow="wrap" %}
```bash
@@ -119,7 +119,7 @@ az logic integration-account map create \
{% endcode %}
### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/partners/write"
Met hierdie toestemming kan jy vennote in 'n Azure Logic Apps integrasiekonto aanmaak of wysig. Vennote verteenwoordig entiteite of stelsels wat deelneem aan besigheid-tot-besigheid (B2B) werksvloei.
Met hierdie toestemming kan jy vennote in 'n Azure Logic Apps integrasiekontoer skep of wysig. Vennote verteenwoordig entiteite of stelsels wat deelneem aan besigheid-tot-besigheid (B2B) werksvloeie.
{% code overflow="wrap" %}
```bash

View File

@@ -6,10 +6,10 @@ Leer & oefen GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1).png"
<details>
<summary>Ondersteun HackTricks</summary>
<summary>Support HackTricks</summary>
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
* Kyk na die [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) of die [**telegram group**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
@@ -50,7 +50,7 @@ az rest \
--headers "Content-Type=application/json"
```
### ("Microsoft.Web/sites/read", "Microsoft.Web/sites/basicPublishingCredentialsPolicies/read", "Microsoft.Web/sites/write", "Microsoft.Web/sites/config/list/action") && ("Microsoft.Web/sites/start/action")
Met hierdie toestemmings kan jy Logic App werkvloei ontplooi deur ZIP-lêer ontplooiing. Hierdie toestemmings stel aksies in staat soos om app besonderhede te lees, toegang tot publikasie geloofsbriewe te verkry, veranderinge te skryf, en app konfigurasies te lys. Saam met die begin toestemmings kan jy 'n nuwe Logic App opdateer en ontplooi met die gewenste inhoud
Met hierdie toestemmings kan jy Logic App werkvloei ontplooi deur ZIP-lêer ontplooiings. Hierdie toestemmings stel aksies in staat soos om app besonderhede te lees, toegang te verkry tot publikasie geloofsbriewe, veranderinge te skryf, en app konfigurasies te lys. Saam met die begin toestemmings kan jy 'n nuwe Logic App opdateer en ontplooi met die verlangde inhoud
{% code overflow="wrap" %}
```bash

View File

@@ -17,34 +17,34 @@ Elke toepassing loop binne 'n sandbox, maar isolasie hang af van App Service pla
Toepassings het 'n paar interessante konfigurasies:
- **Always On**: Verseker dat die toepassing altyd loop. As dit nie geaktiveer is nie, sal die toepassing stop loop na 20 minute van inaktiwiteit en sal dit weer begin wanneer 'n versoek ontvang word.
- **Always On**: Verseker dat die toepassing altyd loop. As dit nie geaktiveer is nie, sal die toepassing stop loop na 20 minute van inaktiwiteit en sal weer begin wanneer 'n versoek ontvang word.
- Dit is noodsaaklik as jy 'n webjob het wat deurlopend moet loop, aangesien die webjob sal stop as die toepassing stop.
- **SSH**: As geaktiveer, kan 'n gebruiker met genoeg toestemming aan die toepassing koppel met SSH.
- **Debugging**: As geaktiveer, kan 'n gebruiker met genoeg toestemming die toepassing debugeer. Dit word egter outomaties elke 48 uur gedeaktiveer.
- **Web App + Databasis**: Die webkonsol laat jou toe om 'n Toepassing met 'n databasis te skep. In hierdie geval is dit moontlik om die databasis te kies (SQLAzure, PostgreSQL, MySQL, MongoDB) en dit laat jou ook toe om 'n Azure Cache vir Redis te skep.
- Die URL wat die geloofsbriewe vir die databasis en Redis bevat, sal in die **appsettings** gestoor word.
- **Container**: Dit is moontlik om 'n houer na die App Service te ontplooi deur die URL van die houer en die geloofsbriewe om toegang te verkry aan te dui.
- **Mounts**: Dit is moontlik om 5 mounts van Stoor rekeninge te skep, wat Azure Blob (Slegs Lees) of Azure Files is. Die konfigurasie sal die toegangsleutel oor die Stoor Rekening stoor.
- **Mounts**: Dit is moontlik om 5 mounts van Stoor rekeninge te skep, wat Azure Blob (Lees-Alleen) of Azure Files is. Die konfigurasie sal die toegangsleutel oor die Stoor Rekening stoor.
## Basiese Verifikasie
Wanneer 'n webtoepassing (en 'n Azure funksie gewoonlik) geskep word, is dit moontlik om aan te dui of jy wil hê **Basiese Verifikasie moet geaktiveer wees** (standaard gedeaktiveer). Dit **aktiveer SCM (Source Control Manager) en FTP (File Transfer Protocol)** vir die toepassing sodat dit moontlik sal wees om die toepassing met behulp van daardie tegnologieë te ontplooi.
Wanneer 'n webtoepassing (en 'n Azure funksie gewoonlik) geskep word, is dit moontlik om aan te dui of jy wil hê **Basiese Verifikasie moet geaktiveer wees** (standaard gedeaktiveer). Dit **aktiveer SCM (Source Control Manager) en FTP (File Transfer Protocol)** vir die toepassing sodat dit moontlik sal wees om die toepassing met hierdie tegnologieë te ontplooi.
Om toegang tot die SCM en die FTP bedieners te verkry, is 'n **gebruikersnaam en wagwoord** nodig. Daarom bied Azure 'n paar **API's om die URL's** na hierdie platforms en die geloofsbriewe te verkry.
Die **FTP bediener het geen spesiale magie nie**, net met die geldige URL, gebruikersnaam en wagwoord is dit moontlik om te koppel en lees- en skryfrechten oor die App omgewing te verkry.
Die **FTP bediener het geen spesiale magie nie**, net met die geldige URL, gebruikersnaam en wagwoord is dit moontlik om te koppel en lees- en skrywe toestemming oor die App omgewing te verkry.
Die SCM
Dit is moontlik om met 'n webblaaier aan die SCM te koppel by `https://<SMC-URL>/BasicAuth` en al die lêers en ontplooiings daar te kontroleer.
Dit is moontlik om aan die SCM te koppel met 'n webblaaier in `https://<SMC-URL>/BasicAuth` en al die lêers en ontplooiings daar te kontroleer.
### Kudu
Kudu is die platform wat **both die SCM en 'n web- en API-koppelvlak bestuur** om 'n App Service te bestuur, en bied Git-gebaseerde ontplooiings, afstandsdebuginstrumente, en lêerbestuursfunksies. Dit is toeganklik deur die SCM URL wat in die webtoepassing gedefinieer is.
Kudu is die platform wat **sowel die SCM as 'n web- en API-koppelvlak bestuur** om 'n App Service te bestuur, en bied Git-gebaseerde ontplooiings, afstandsdebuginstrumente, en lêerbestuursfunksies. Dit is toeganklik deur die SCM URL wat in die webtoepassing gedefinieer is.
Let daarop dat die Kudu weergawes wat deur App Services en deur Funksie Apps gebruik word, verskillend is, met die weergawe van die Funksie apps baie meer beperk.
Sommige interessante eindpunte wat jy in Kudu kan vind, is:
- `/BasicAuth`: Jy moet toegang tot hierdie pad om **binne Kudu aan te meld**.
- `/BasicAuth`: Jy moet hierdie pad toegang om **binne Kudu aan te meld**.
- `/DebugConsole`: 'n Konsol wat jou toelaat om opdragte in die omgewing waar Kudu loop, uit te voer.
- Let daarop dat hierdie omgewing **nie toegang het** tot die metadata diens om tokens te verkry nie.
- `/webssh/host`: 'n Web-gebaseerde SSH-kliënt wat jou toelaat om binne die houer waar die toepassing loop, te koppel.
@@ -56,7 +56,7 @@ Boonop was Kudu eens opensource in [https://github.com/projectkudu/kudu](https:/
## Bronne
App Services laat toe om die kode as 'n zip-lêer op te laai, maar dit laat ook toe om met 'n derdeparty diens te verbind en die kode daar te verkry.
App Services laat toe om die kode as 'n zip-lêer standaard op te laai, maar dit laat ook toe om met 'n derdeparty diens te verbind en die kode daar te verkry.
- Die tans ondersteunde derdeparty bronne is **Github** en **Bitbucket**.
- Jy kan die verifikasietokens verkry deur `az rest --url "https://management.azure.com/providers/Microsoft.Web/sourcecontrols?api-version=2024-04-01"` te loop.
@@ -283,22 +283,22 @@ cd msdocs-python-flask-webapp-quickstart
# Create webapp from this code
az webapp up --runtime PYTHON:3.9 --sku B1 --logs
```
Logging in by the SCM-portaal of deur FTP is dit moontlik om in `/wwwroot` die gecomprimeerde lêer `output.tar.gz` te sien wat die kode van die webapp bevat.
Inlog in die SCM-portaal of inlog via FTP, dit is moontlik om in `/wwwroot` die gecomprimeerde lêer `output.tar.gz` te sien wat die kode van die webapp bevat.
> [!TIP]
> Net deur via FTP te verbind en die lêer `output.tar.gz` te wysig, is nie genoeg om die kode wat deur die webapp uitgevoer word, te verander nie.
**'n Aanvaller kan hierdie lêer aflaai, dit wysig en dit weer oplaai om arbitrêre kode in die webapp uit te voer.**
**'n Aanvaller kan hierdie lêer aflaai, dit wysig en weer oplaai om arbitrêre kode in die webapp uit te voer.**
### Python van Github
Hierdie tutoriaal is gebaseer op die vorige een, maar gebruik 'n Github-bewaarplek.
Hierdie tutoriaal is gebaseer op die vorige een, maar gebruik 'n Github-repo.
1. Fork die repo msdocs-python-flask-webapp-quickstart in jou Github-rekening.
2. Skep 'n nuwe python Web App in Azure.
3. In `Deployment Center` verander die bron, teken in met Github, kies die geforkte repo en klik `Save`.
3. In `Deployment Center` verander die bron, log in met Github, kies die geforkte repo en klik `Save`.
Soos in die vorige geval, deur in die SCM-portaal in te teken of deur FTP te verbind, is dit moontlik om in `/wwwroot` die gecomprimeerde lêer `output.tar.gz` te sien wat die kode van die webapp bevat.
Soos in die vorige geval, inlog in die SCM-portaal of inlog via FTP, dit is moontlik om in `/wwwroot` die gecomprimeerde lêer `output.tar.gz` te sien wat die kode van die webapp bevat.
> [!TIP]
> Net deur via FTP te verbind en die lêer `output.tar.gz` te wysig en 'n implementering weer te aktiveer, is nie genoeg om die kode wat deur die webapp uitgevoer word, te verander nie.

View File

@@ -17,17 +17,17 @@ Leer & oefen GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1).png"
## Azure Cloud Shell
**Azure Cloud Shell** is 'n interaktiewe, geverifieerde, blaartoegang terminal wat ontwerp is om Azure hulpbronne te bestuur, wat die buigsaamheid bied om met ofwel Bash of PowerShell te werk. Dit loop op 'n tydelike, sessie-gebaseerde gasheer wat na 20 minute van inaktiwiteit tydelik word, terwyl dit lêers in die $HOME ligging behou met behulp van 'n 5-GB lêerdeel. Cloud Shell kan deur verskeie punte toeganklik gemaak word, insluitend die Azure portaal, shell.azure.com, Azure CLI en PowerShell dokumentasie, die Azure mobiele app, en die Visual Studio Code Azure Account uitbreiding.
**Azure Cloud Shell** is 'n interaktiewe, geverifieerde, blaartoegang terminal wat ontwerp is om Azure hulpbronne te bestuur, wat die buigsaamheid bied om met ofwel Bash of PowerShell te werk. Dit loop op 'n tydelike, sessie-gebaseerde gasheer wat na 20 minute van inaktiwiteit tydelik word, terwyl dit lêers in die $HOME ligging behou met behulp van 'n 5-GB lêer deel. Cloud Shell kan deur verskeie punte verkry word, insluitend die Azure portaal, shell.azure.com, Azure CLI en PowerShell dokumentasie, die Azure mobiele app, en die Visual Studio Code Azure Account uitbreiding.
Daar is geen toestemmings aan hierdie diens toegeken nie, daarom is daar geen voorregverhoging tegnieke nie. Ook is daar geen soort van enumerasie nie.
Daar is geen toestemmings aan hierdie diens toegeken nie, daarom is daar geen voorreg verhoging tegnieke nie. Ook is daar geen soort van enumerasie nie.
### Sleutelkenmerke
**Omgewing**: Azure Cloud Shell bied 'n veilige omgewing deur op Azure Linux te loop, Microsoft se eie Linux verspreiding wat ontwerp is vir wolkinfrastruktuur. Alle pakkette ingesluit in die Azure Linux repository is intern deur Microsoft gecompileer om teen voorsieningskettingaanvalle te beskerm.
**Omgewing**: Azure Cloud Shell bied 'n veilige omgewing deur op Azure Linux te loop, Microsoft se eie Linux verspreiding wat ontwerp is vir wolkinfrastruktuur. Alle pakkette ingesluit in die Azure Linux repository is intern saamgestel deur Microsoft om teen voorsieningsketting aanvalle te beskerm.
**Vooraf geïnstalleerde Gereedskap**: Cloud Shell sluit 'n omvattende stel van vooraf geïnstalleerde gereedskap in soos Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git, en teksredigeerders soos vim, nano, en emacs. Hierdie gereedskap is gereed om te gebruik. Om die geïnstalleerde pakkette en modules te lys kan jy "Get-Module -ListAvailable", "tdnf list" en "pip3 list" gebruik.
**$HOME volharding**: Wanneer jy Azure Cloud Shell vir die eerste keer begin, kan jy dit met of sonder 'n aangehegte stoorrekening gebruik. Om nie stoor aan te heg nie, skep 'n ephemerale sessie waar lêers verwyder word wanneer die sessie eindig. Om lêers oor sessies te behou, monteer 'n stoorrekening, wat outomaties as **$HOME\clouddrive** aangeheg word, met jou **$HOME** gids wat as 'n **.img** lêer in Azure File Share gestoor word. Lêers buite $HOME en masjienstate word egter nie behou nie. Vir die veilige stoor van geheime soos SSH sleutels, gebruik Azure Key Vault.
**Azure dryf (Azure:)**: PowerShell in Azure Cloud Shell sluit die Azure dryf (Azure:) in, wat maklike navigasie van Azure hulpbronne soos Compute, Network, en Storage met behulp van lêerstelsels soos opdragte toelaat. Wissel na die Azure dryf met cd Azure: en keer terug na jou tuisgids met cd ~. Jy kan steeds Azure PowerShell cmdlets gebruik om hulpbronne van enige dryf te bestuur.
**Aangepaste Gereedskap Installasie**: Gebruikers wat Cloud Shell met 'n stoorrekening konfigureer, kan addisionele gereedskap installeer wat nie worteltoestemmings vereis nie. Hierdie kenmerk stel gebruikers in staat om die Cloud Shell omgewing verder aan te pas, wat hulle in staat stel om hul opstelling aan hul spesifieke behoeftes aan te pas.
**$HOME volharding**: Wanneer jy Azure Cloud Shell vir die eerste keer begin, kan jy dit met of sonder 'n aangehegte stoorrekening gebruik. Om nie stoor aan te heg nie, skep 'n ephemerale sessie waar lêers verwyder word wanneer die sessie eindig. Om lêers oor sessies te behou, monteer 'n stoorrekening, wat outomaties as **$HOME\clouddrive** aangeheg word, met jou **$HOME** gids wat as 'n **.img** lêer in Azure File Share gestoor word. egter, lêers buite $HOME en masjien toestande word nie behou nie. Vir die veilige stoor van geheime soos SSH sleutels, gebruik Azure Key Vault.
**Azure dryf (Azure:)**: PowerShell in Azure Cloud Shell sluit die Azure dryf (Azure:) in, wat maklike navigasie van Azure hulpbronne soos Compute, Network, en Storage met behulp van lêerstelsel-agtige opdragte toelaat. Wissel na die Azure dryf met cd Azure: en keer terug na jou tuisgids met cd ~. Jy kan steeds Azure PowerShell cmdlets gebruik om hulpbronne van enige dryf te bestuur.
**Pasgemaakte Gereedskap Installasie**: Gebruikers wat Cloud Shell met 'n stoorrekening konfigureer, kan addisionele gereedskap installeer wat nie worteltoestemmings vereis nie. Hierdie kenmerk stel gebruikers in staat om die Cloud Shell omgewing verder aan te pas, wat gebruikers in staat stel om hul opstelling aan hul spesifieke behoeftes aan te pas.
## Verwysings

View File

@@ -17,11 +17,11 @@ Leer & oefen GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1).png"
## Azure CosmosDB
**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** 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.
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, 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 Uiteindelike konsekwentheid.
### NoSQL (sql)
Die Azure Cosmos DB NoSQL API is 'n dokument-gebaseerde API wat JSON as sy dataformaat gebruik. Dit bied 'n SQL-agtige vraagsintaksis vir die ondervraging van JSON-objekte, wat dit geskik maak vir die werk met gestruktureerde en semi-gestruktureerde data. Die eindpunt van die diens is:
@@ -33,10 +33,10 @@ https://<Account-Name>.documents.azure.com:443/
{% endcode %}
#### Databasies
Binne 'n rekening kan jy een of meer databasies skep, wat dien as logiese groepe van houers. 'n Databasis dien as 'n grense vir hulpbronbestuur en gebruikersregte. Databasies kan of die toegewyde deurset oor hul houers deel of toegewyde deurset aan individuele houers toewys.
Binne 'n rekening kan jy een of meer databasies skep, wat dien as logiese groepe van houers. 'n Databasis dien as 'n grense vir hulpbronbestuur en gebruikersregte. Databasies kan of die toegewyde deurvoer oor hul houers deel of toegewyde deurvoer aan individuele houers toewys.
#### Houers
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 deur 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.
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 deur gebruiker gedefinieerde partisie sleutel. Die partisie sleutel is krities vir die verseker van optimale prestasie en gelyke data verspreiding. Byvoorbeeld, 'n houer kan klantdata stoor, met "customerId" as die partisie sleutel.
#### Enumerasie
@@ -131,7 +131,7 @@ Get-AzCosmosDBSqlUserDefinedFunction -ResourceGroupName "<ResourceGroupName>" -A
#### Verbinding
Om die azure-cosmosDB (pip install azure-cosmos) biblioteek te verbind, is dit nodig. Boonop is die eindpunt en die sleutel belangrike komponente om die verbinding te maak.
Om die azure-cosmosDB (pip install azure-cosmos) biblioteek te verbind, is dit nodig. Boonop is die eindpunt en die sleutel kritieke komponente om die verbinding te maak.
{% code overflow="wrap" %}
```python
from azure.cosmos import CosmosClient, PartitionKey
@@ -173,7 +173,7 @@ print(item)
```
{% endcode %}
'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 regte het en dit uitvoer. Vir hierdie geval moet 'n roltoewysing gedoen word, wat die nodige regte 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 regte het en dit uitvoer. In hierdie geval moet 'n roltoewysing gedoen word, wat die nodige regte gee (sien vir meer)
{% code overflow="wrap" %}
```python
@@ -215,7 +215,7 @@ mongodb://<hostname>:<port>/<database>
In MongoDB kan jy een of meer databasas binne 'n instansie skep. Elke databasis dien as 'n logiese groep van versamelings en bied 'n grense vir hulpbronorganisasie en -bestuur. Databasas help om data logies te skei en te bestuur, soos vir verskillende toepassings of projekte.
#### Versamelings
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.
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.
#### Enumerasie
@@ -347,7 +347,7 @@ print(f"Inserted document with ID: {result.inserted_id}")
## ToDo
* Die res van die DB hier, tafels, cassandra, gremlin...
* 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

View File

@@ -11,11 +11,11 @@
### Verskillende Planne
- **Flex Consumption Plan**: Bied **dinamiese, gebeurtenis-gedrewe skaalvergroting** met 'n betaal-vir-wat-jy-gebruik prysmodel, wat funksie-instanties byvoeg of verwyder op grond van vraag. Dit ondersteun **virtuele netwerke** en **vooraf-geprovisioneerde instansies** om koue begin te verminder, wat dit geskik maak vir **veranderlike werklas** wat nie hou van houerondersteuning vereis nie.
- **Flex Consumption Plan**: Bied **dinamiese, gebeurtenis-gedrewe skaalvergroting** met 'n betaal-vir-wat-jy-gebruik prysmodel, wat funksie-instanties byvoeg of verwyder op grond van vraag. Dit ondersteun **virtuele netwerke** en **vooraf-geprovisioneerde instansies** om koue begin te verminder, wat dit geskik maak vir **veranderlike werklas** wat nie houerondersteuning vereis nie.
- **Traditional Consumption Plan**: Die standaard serverless opsie, waar jy **net betaal vir rekenaarbronne wanneer funksies loop**. Dit skaal outomaties op grond van inkomende gebeurtenisse en sluit **kouestart-optimalisering** in, maar ondersteun nie houerontplooiings nie. Ideaal vir **intermitterende werklas** wat outomatiese skaalvergroting vereis.
- **Premium Plan**: Ontwerp vir **konstante prestasie**, met **voorverhitte werkers** om koue begin te elimineer. Dit bied **verlengde uitvoertye, virtuele netwerke**, en ondersteun **aangepaste Linux beelde**, wat dit perfek maak vir **missie-kritieke toepassings** wat hoë prestasie en gevorderde funksies benodig.
- **Premium Plan**: Ontwerp vir **konstante prestasie**, met **voorverhitte werkers** om koue begin te elimineer. Dit bied **verlengde uitvoertye, virtuele netwerke**, en ondersteun **pasgemaakte Linux beelde**, wat dit perfek maak vir **missie-kritieke toepassings** wat hoë prestasie en gevorderde funksies benodig.
- **Dedicated Plan**: Loop op toegewyde virtuele masjiene met **voorspelbare fakturering** en ondersteun handmatige of outomatiese skaalvergroting. Dit laat toe om verskeie toepassings op dieselfde plan te loop, bied **rekenaarisolering**, en verseker **veilige netwerktoegang** via App Service Omgewings, wat dit ideaal maak vir **lanklopende toepassings** wat konstante hulpbron toewysing benodig.
- **Container Apps**: Maak dit moontlik om **gecontaineriseerde funksie-apps** in 'n bestuurde omgewing te ontplooi, langs mikro-dienste en API's. Dit ondersteun aangepaste biblioteke, erflike app migrasie, en **GPU verwerking**, wat die bestuur van Kubernetes klusters elimineer. Ideaal vir **gebeurtenis-gedrewe, skaalbare gecontaineriseerde toepassings**.
- **Container Apps**: Maak dit moontlik om **gecontaineriseerde funksie-apps** in 'n bestuurde omgewing te ontplooi, langs mikrodiens en API's. Dit ondersteun pasgemaakte biblioteke, erfenis app migrasie, en **GPU verwerking**, wat die bestuur van Kubernetes klusters elimineer. Ideaal vir **gebeurtenis-gedrewe, skaalbare gecontaineriseerde toepassings**.
### **Stoor Emmers**
@@ -24,29 +24,29 @@ Wanneer 'n nuwe Function App geskep word wat nie gecontaineriseerd is nie (maar
Boonop, deur die kode binne die emmer te wysig (in die verskillende formate waarin dit gestoor kan word), sal die **kode van die app gewysig word na die nuwe een en uitgevoer** word die volgende keer dat die Funksie genoem word.
> [!CAUTION]
> Dit is baie interessant vanuit 'n aanvallers perspektief aangesien **skrywe toegang oor hierdie emmer** 'n aanvaller sal toelaat om die **kode te kompromitteer en bevoegdhede te verhoog** na die bestuurde identiteite binne die Function App.
> Dit is baie interessant vanuit 'n aanvaller se perspektief aangesien **skrywe toegang oor hierdie emmer** 'n aanvaller sal toelaat om die **kode te kompromitteer en bevoegdhede te verhoog** na die bestuurde identiteite binne die Function App.
>
> Meer hieroor in die **bevoegdheid verhoging afdeling**.
Dit is ook moontlik om die **master en funksies sleutels** wat in die stoor rekening gestoor is, in die houer **`azure-webjobs-secrets`** binne die gids **`<app-name>`** in die JSON-lêers wat jy daarbinne kan vind.
Dit is ook moontlik om die **master en funksiesleutels** wat in die stoor rekening gestoor is, in die houer **`azure-webjobs-secrets`** binne die gids **`<app-name>`** in die JSON-lêers wat jy daarbinne kan vind.
Let daarop dat Funksies ook toelaat om die kode in 'n afgeleë plek te stoor deur net die URL daarna te dui.
Let daarop dat Funksies ook toelaat om die kode in 'n afgeleë ligging te stoor deur net die URL daarna te dui.
### Netwerk
Met 'n HTTP-trigger:
- Dit is moontlik om **toegang tot 'n funksie van die hele Internet** te gee sonder om enige verifikasie te vereis of toegang op IAM-basis te gee. Alhoewel dit ook moontlik is om hierdie toegang te beperk.
- Dit is ook moontlik om **toegang te gee of te beperk** tot 'n Function App van **'n interne netwerk (VPC)**.
- Dit is moontlik om **toegang tot 'n funksie van die hele Internet** te gee sonder om enige verifikasie te vereis of om toegang op IAM-basis te gee. Alhoewel dit ook moontlik is om hierdie toegang te beperk.
- Dit is ook moontlik om **toegang te gee of te beperk** tot 'n Function App vanaf **'n interne netwerk (VPC)**.
> [!CAUTION]
> Dit is baie interessant vanuit 'n aanvallers perspektief aangesien dit moontlik mag wees om **te pivot na interne netwerke** vanaf 'n kwesbare Funksie wat aan die Internet blootgestel is.
> Dit is baie interessant vanuit 'n aanvaller se perspektief aangesien dit moontlik mag wees om **te pivot na interne netwerke** vanaf 'n kwesbare Funksie wat aan die Internet blootgestel is.
### **Function App Instellings & Omgewing Veranderlikes**
Dit is moontlik om omgewing veranderlikes binne 'n app te konfigureer, wat sensitiewe inligting kan bevat. Boonop, standaard word die omgewing veranderlikes **`AzureWebJobsStorage`** en **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** (onder andere) geskep. Hierdie is spesiaal interessant omdat hulle **die rekening sleutel bevat om met VOLLE toestemmings die stoor rekening wat die data van die toepassing bevat, te beheer**. Hierdie instellings is ook nodig om die kode van die Stoor Rekening uit te voer.
Hierdie omgewing veranderlikes of konfigurasie parameters beheer ook hoe die Funksie die kode uitvoer, byvoorbeeld as **`WEBSITE_RUN_FROM_PACKAGE`** bestaan, sal dit die URL aandui waar die kode van die toepassing geleë is.
Hierdie omgewing veranderlikes of konfigurasieparameters beheer ook hoe die Funksie die kode uitvoer, byvoorbeeld as **`WEBSITE_RUN_FROM_PACKAGE`** bestaan, sal dit die URL aandui waar die kode van die toepassing geleë is.
### **Function Sandbox**
@@ -69,23 +69,23 @@ Dit is moontlik om die [**PEASS skripte**](https://github.com/peass-ng/PEASS-ng)
{% embed url="https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#azure-vm" %}
Let daarop dat jy 'n manier moet vind om **alle Bestuurde Identiteite wat 'n funksie het, te kontroleer** aangesien as jy dit nie aandui nie, die metadata eindpunt **net die standaard een sal gebruik** (kyk na die vorige skakel vir meer inligting).
Let daarop dat jy 'n manier moet vind om **al die Bestuurde Identiteite wat 'n funksie het, te kontroleer** aangesien as jy dit nie aandui nie, die metadata eindpunt **net die standaard een sal gebruik** (kyk die vorige skakel vir meer inligting).
## Toegang Sleutels
> [!NOTE]
> Let daarop dat daar geen RBAC toestemmings is om toegang aan gebruikers te gee om die funksies aan te roep nie. Die **funksie aanroep hang af van die trigger** wat gekies is toe dit geskep is en as 'n HTTP Trigger gekies is, mag dit nodig wees om 'n **toegang sleutel** te gebruik.
> Let daarop dat daar nie RBAC toestemmings is om toegang aan gebruikers te gee om die funksies aan te roep nie. Die **funksie-aanroep hang af van die trigger** wat gekies is toe dit geskep is en as 'n HTTP Trigger gekies is, mag dit nodig wees om 'n **toegang sleutel** te gebruik.
Wanneer 'n eindpunt binne 'n funksie geskep word met 'n **HTTP trigger** is dit moontlik om die **toegang sleutel outorisatienvlak** aan te dui wat nodig is om die funksie te trigger. Drie opsies is beskikbaar:
Wanneer 'n eindpunt binne 'n funksie geskep word met 'n **HTTP trigger** is dit moontlik om die **toegang sleutel outorisatienvlak** aan te dui wat nodig is om die funksie te aktiveer. Drie opsies is beskikbaar:
- **ANONYMOUS**: **Enigiemand** kan toegang tot die funksie verkry deur die URL.
- **ANONYMOUS**: **Enigeen** kan toegang tot die funksie verkry deur die URL.
- **FUNCTION**: Eindpunt is slegs toeganklik vir gebruikers wat 'n **funksie, gasheer of meester sleutel** gebruik.
- **ADMIN**: Eindpunt is slegs toeganklik vir gebruikers met 'n **meester sleutel**.
**Tipe sleutels:**
- **Funksie Sleutels:** Funksie sleutels kan of standaard of gebruiker-gedefinieerd wees en is ontwerp om toegang eksklusief tot **spesifieke funksie eindpunte** binne 'n Function App te verleen wat 'n meer fyngekorreleerde toegang oor die eindpunte toelaat.
- **Gasheer Sleutels:** Gasheer sleutels, wat ook standaard of gebruiker-gedefinieerd kan wees, bied toegang tot **alle funksie eindpunte binne 'n Function App met FUNKSIE toegang vlak**.
- **Funksie Sleutels:** Funksie sleutels kan of standaard of gebruiker-gedefinieer wees en is ontwerp om toegang eksklusief te verleen tot **spesifieke funksie eindpunte** binne 'n Function App wat 'n meer fyn-gegradeerde toegang oor die eindpunte toelaat.
- **Gasheer Sleutels:** Gasheer sleutels, wat ook standaard of gebruiker-gedefinieer kan wees, bied toegang tot **alle funksie eindpunte binne 'n Function App met FUNKSIE toegang vlak**.
- **Meester Sleutel:** Die meester sleutel (`_master`) dien as 'n administratiewe sleutel wat verhoogde toestemmings bied, insluitend toegang tot alle funksie eindpunte (ADMIN toegang vlak ingesluit). Hierdie **sleutel kan nie herroep word nie.**
- **Stelsel Sleutels:** Stelsel sleutels word **bestuur deur spesifieke uitbreidings** en is nodig vir toegang tot webhook eindpunte wat deur interne komponente gebruik word. Voorbeelde sluit die Event Grid trigger en Durable Functions in, wat stelsel sleutels gebruik om veilig met hul onderskeie API's te kommunikeer.
@@ -104,7 +104,7 @@ az-app-services.md
### Github Gebaseerde Ontplooiings
Wanneer 'n funksie gegenereer word uit 'n Github repo, laat die Azure webkonsol toe om **automaties 'n Github Workflow in 'n spesifieke repository te skep** sodat wanneer hierdie repository opgedateer word, die kode van die funksie opgedateer word. Trouens, die Github Action yaml vir 'n python funksie lyk soos volg:
Wanneer 'n funksie gegenereer word vanaf 'n Github repo, laat die Azure webkonsol toe om **automaties 'n Github Workflow in 'n spesifieke repository te skep** sodat wanneer hierdie repository opgedateer word, die kode van die funksie opgedateer word. Trouens, die Github Action yaml vir 'n python funksie lyk soos volg:
<details>
@@ -199,7 +199,7 @@ Boonop, 'n **Gemanagte Identiteit** word ook geskep sodat die Github Aksie van d
### Hou gebaseerde Ontplooiings
Nie al die planne laat toe om houers te ontplooi nie, maar vir diegene wat dit doen, sal die konfigurasie die URL van die houer bevat. In die API sal die **`linuxFxVersion`** instelling iets soos hê: `DOCKER|mcr.microsoft.com/...`, terwyl die webkonsol die **beeldinstellings** sal wys.
Nie al die planne laat toe om houers te ontplooi nie, maar vir diegene wat dit doen, sal die konfigurasie die URL van die houer bevat. In die API sal die **`linuxFxVersion`** instelling iets soos hê: `DOCKER|mcr.microsoft.com/...`, terwyl die webkonsol, die konfigurasie die **beeldinstellings** sal wys.
Boonop sal **geen bronkode in die stoor** rekening wat met die funksie verband hou, gestoor word nie, aangesien dit nie nodig is nie.

View File

@@ -4,14 +4,14 @@
## Basiese Inligting
Azure Logic Apps is 'n wolk-gebaseerde diens wat deur Microsoft Azure verskaf word wat ontwikkelaars in staat stel om **werkvloei te skep en te bestuur wat verskeie dienste**, databronne en toepassings integreer. Hierdie werkvloei is ontwerp om **besigheidsprosesse te outomatiseer**, take te orkestreer en dataintegrasies oor verskillende platforms uit te voer.
Azure Logic Apps is 'n wolk-gebaseerde diens wat deur Microsoft Azure verskaf word wat ontwikkelaars in staat stel om **werkvloei te skep en te bestuur wat verskeie dienste**, databronne en toepassings integreer. Hierdie werkvloei is ontwerp om **besigheidsprosesse te outomatiseer**, take te orkestreer en data-integrasies oor verskillende platforms uit te voer.
Logic Apps bied 'n visuele ontwerper om werkvloei te skep met 'n **wye verskeidenheid voorafgeboude koppelvlakke**, wat dit maklik maak om met verskeie dienste te verbind en te kommunikeer, soos Office 365, Dynamics CRM, Salesforce, en vele ander. Jy kan ook pasgemaakte koppelvlakke vir jou spesifieke behoeftes skep.
Logic Apps bied 'n visuele ontwerper om werkvloei te skep met 'n **wye verskeidenheid voorafgeboude koppelvlakke**, wat dit maklik maak om te verbind met en te interaksie met verskeie dienste, soos Office 365, Dynamics CRM, Salesforce, en vele ander. U kan ook pasgemaakte koppelvlakke vir u spesifieke behoeftes skep.
### 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 beweeg en transformeer, soos Azure SQL Database en Azure Blob Storage, 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 **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 beweeg en transformeer, soos Azure SQL Database en Azure Blob Storage, 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 skaal soos nodig** en naatloos integreer met ander Azure-dienste. '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 Storage-rekening, wat dinamiese dataverwerking moontlik maak.
### Visualiseer 'n LogicAPP
@@ -19,11 +19,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 kyk.
of om die kode in die "**Logic app kode weergawe**" afdeling te kontroleer.
### SSRF Beskerming
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.
Selfs al vind u die **Logic App kwesbaar vir SSRF**, sal u 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
@@ -39,7 +39,7 @@ Daar is verskeie hosting opsies:
* **Standaard**
- **Workflow Service Plan**: toegewyde rekenaarbronne met VNET-integrasie vir netwerk en hef per workflow service plan instansie. Dit is geskik vir meer veeleisende werklas wat groter beheer vereis.
- **App Service Omgewing V3** toegewyde rekenaarbronne met volle isolasie en skaalbaarheid. Dit integreer ook met VNET vir netwerk en gebruik 'n prysmodel gebaseer op App Service instansies binne die omgewing. Dit is ideaal vir ondernemingskaal toepassings wat hoë isolasie benodig.
- **Hibriede** ontwerp vir plaaslike verwerking en multi-wolk ondersteuning. Dit laat kliënt-bestuurde rekenaarbronne met plaaslike netwerktoegang toe en gebruik Kubernetes Event-Driven Autoscaling (KEDA).
- **Hibriede** ontwerp vir plaaslike verwerking en multi-wolk ondersteuning. Dit laat kliënt-bestuurde rekenaarbronne met plaaslike netwerktoegang toe en benut Kubernetes Event-Driven Autoscaling (KEDA).
### Enumerasie
@@ -147,15 +147,15 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
**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:
* Skemas: Bestuur XML skemas vir die validering en verwerking van boodskappe in jou integrasie rekening.
* Kaarte: Konfigureer XSLT-gebaseerde transformasies om dataformate binne jou integrasie werksvloei te omskep.
* Versamelings: Bestuur integrasie rekening versamelings om logika en dataverwerking te stroomlyn.
* Kaarte: Konfigureer XSLT-gebaseerde transformasies om data formate binne jou integrasie werksvloei te omskep.
* Versamelings: Bestuur integrasie rekening versamelings om logika en data verwerking te stroomlyn.
* Sertifikate: Hanteer sertifikate vir die enkripsie en ondertekening van boodskappe, wat veilige kommunikasie verseker.
* Vennootskappe: Bestuur handelsvennoot inligting vir B2B transaksies, wat naatlose integrasies moontlik maak.
* Ooreenkomste: Konfigureer reëls en instellings vir die uitruil van data met handelsvennote (bv. EDI, AS2).
* 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.
#### Enumerasie
#### Opsomming
{% tabs %}
{% tab title="az cli" %}

View File

@@ -16,7 +16,7 @@ Azure Service Bus is 'n wolk-gebaseerde **boodskapdiens** wat ontwerp is om betr
- Meerdere onafhanklike intekeninge ontvang kopieë van boodskappe.
- Intekeninge kan reëls/filters hê om aflewering te beheer of metadata by te voeg.
- Ondersteun baie-tot-baie kommunikasie.
3. **Namespaces:** 'n Houer vir alle boodskapkomponente, queues en topics, is soos jou eie skyfie van 'n kragtige Azure-kluster, wat toegewyde kapasiteit bied en opsioneel oor drie beskikbaarheidsone strek.
3. **Namespaces:** 'n Houer vir alle boodskapkomponente, queues en topics, is soos jou eie skyfie van 'n kragtige Azure-kluster, wat toegewyde kapasiteit bied en opsioneel oor drie beskikbaarheidsgebiede strek.
### Gevorderde Kenmerke
@@ -33,7 +33,7 @@ Sommige gevorderde kenmerke is:
- **Dubbele Opsporing**: Verwyder dubbele boodskappe tydens herstuur.
- **Batch Verwydering**: Grootskaalse verwydering van vervalde of onnodige boodskappe.
### Magtiging-Reël / SAS Beleid
### Magtiging-reël / SAS Beleid
SAS Beleide definieer die toegangstoestemmings vir Azure Service Bus entiteite namespace (Die Belangrikste Een), queues en topics. Elke beleid het die volgende komponente:
@@ -41,8 +41,8 @@ SAS Beleide definieer die toegangstoestemmings vir Azure Service Bus entiteite n
- Bestuur: Gee volle beheer oor die entiteit, insluitend konfigurasie en toestemmingbestuur.
- Stuur: Laat toe om boodskappe na die entiteit te stuur.
- Luister: Laat toe om boodskappe van die entiteit te ontvang.
- **Primêre en Sekondêre Sleutels**: Dit is kriptografiese sleutels wat gebruik word om veilige tokens te genereer vir die outentisering van toegang.
- **Primêre en Sekondêre Verbindingstrings**: Vooraf-gekonfigureerde verbindingstrings wat die eindpunt en sleutel insluit vir maklike gebruik in toepassings.
- **Primêre en Sekondêre Sleutels**: Dit is kriptografiese sleutels wat gebruik word om veilige tokens te genereer vir die verifikasie van toegang.
- **Primêre en Sekondêre Verbindingstrings**: Vooraf geconfigureerde verbindingstrings wat die eindpunt en sleutel insluit vir maklike gebruik in toepassings.
- **SAS Beleid ARM ID**: Die Azure Resource Manager (ARM) pad na die beleid vir programmatiese identifikasie.
### Naamruimte

View File

@@ -4,15 +4,15 @@
## Statiese Web Apps Basiese Inligting
Azure Statiese Web Apps is 'n wolkdienste vir die aanbied van **statiese web apps met outomatiese CI/CD vanaf repositories soos GitHub**. Dit bied globale inhoudsaflewering, serverless agtergronde, en ingeboude HTTPS, wat dit veilig en skaalbaar maak. Tog, selfs al word die diens "staties" genoem, beteken dit nie dat dit heeltemal veilig is nie. Risiko's sluit verkeerd geconfigureerde CORS, onvoldoende verifikasie, en inhoudsmanipulasie in, wat apps aan aanvalle soos XSS en datalekke kan blootstel as dit nie behoorlik bestuur word nie.
Azure Static Web Apps is 'n wolkdienste vir die aanbied van **statiese web apps met outomatiese CI/CD vanaf repositories soos GitHub**. Dit bied globale inhoudsaflewering, serverless agtergronde, en ingeboude HTTPS, wat dit veilig en skaalbaar maak. Tog, selfs al word die diens "staties" genoem, beteken dit nie dat dit heeltemal veilig is nie. Risiko's sluit verkeerd geconfigureerde CORS, onvoldoende verifikasie, en inhoudsmanipulasie in, wat apps aan aanvalle soos XSS en datalekke kan blootstel as dit nie behoorlik bestuur word nie.
### Ontplooiing Verifikasie
> [!TIP]
> Wanneer 'n Statiese App geskep word, kan jy die **ontplooiing magtiging beleid** tussen **Ontplooiingstoken** en **GitHub Actions werksvloei** kies.
- **Ontplooiingstoken**: 'n Token word gegenereer en gebruik om die ontplooiingsproses te verifieer. Enigeen met **hierdie token is genoeg om 'n nuwe weergawe van die app te ontplooi**. 'n **Github Action word outomaties ontplooi** in die repo met die token in 'n geheim om 'n nuwe weergawe van die app te ontplooi elke keer wanneer die repo opgedateer word.
- **GitHub Actions werksvloei**: In hierdie geval word 'n baie soortgelyke Github Action ook in die repo ontplooi en die **token word ook in 'n geheim gestoor**. egter, hierdie Github Action het 'n verskil, dit gebruik die **`actions/github-script@v6`** aksie om die IDToken van die repository te verkry en dit te gebruik om die app te ontplooi.
- **Ontplooiingstoken**: 'n Token word gegenereer en gebruik om die ontplooiingsproses te verifieer. Enigeen met **hierdie token is genoeg om 'n nuwe weergawe van die app te ontplooi**. 'n **Github Action word outomaties ontplooi** in die repo met die token in 'n geheim om 'n nuwe weergawe van die app te ontplooi elke keer as die repo opgedateer word.
- **GitHub Actions werksvloei**: In hierdie geval word 'n baie soortgelyke Github Action ook in die repo ontplooi en die **token word ook in 'n geheim gestoor**. egter, hierdie Github Action het 'n verskil, dit gebruik die **`actions/github-script@v6`** aksie om die IDToken van die repository te kry en dit te gebruik om die app te ontplooi.
- Selfs al word in albei gevalle die aksie **`Azure/static-web-apps-deploy@v1`** met 'n token in die `azure_static_web_apps_api_token` param gebruik, is 'n willekeurige token met 'n geldige formaat soos `12345cbb198a77a092ff885781a62a15d51ef5e3654ca11234509ab54547270704-4140ccee-e04f-424f-b4ca-3d4dd123459c00f0702071d12345` net genoeg om die app te ontplooi aangesien die magtiging met die IDToken in die `github_id_token` param gedoen word.
### Web App Basiese Verifikasie
@@ -71,9 +71,9 @@ Die staging URL het hierdie formaat: `https://<app-subdomain>-<PR-num>.<region>.
### Gemanagte Identiteite
Azure Static Web Apps kan geconfigureer word om **gemanagte identiteite** te gebruik, egter, soos genoem in [hierdie FAQ](https://learn.microsoft.com/en-gb/azure/static-web-apps/faq#does-static-web-apps-support-managed-identity-), word hulle slegs ondersteun om **geheime uit Azure Key Vault vir autentisering doeleindes te onttrek, nie om toegang tot ander Azure hulpbronne te verkry nie**.
Azure Static Web Apps kan gekonfigureer word om **gemanagte identiteite** te gebruik, egter, soos genoem in [hierdie FAQ](https://learn.microsoft.com/en-gb/azure/static-web-apps/faq#does-static-web-apps-support-managed-identity-), word hulle slegs ondersteun om **geheime uit Azure Key Vault vir autentisering doeleindes te onttrek, nie om toegang tot ander Azure hulpbronne te verkry nie**.
Vir meer inligting kan jy 'n Azure-gids vind oor hoe om 'n kluisgeheim in 'n statiese app te gebruik by https://learn.microsoft.com/en-us/azure/static-web-apps/key-vault-secrets.
Vir meer inligting kan jy 'n Azure-gids vind oor hoe om 'n kluis geheim in 'n statiese app te gebruik by https://learn.microsoft.com/en-us/azure/static-web-apps/key-vault-secrets.
## Enumerasie

View File

@@ -12,7 +12,7 @@ Daar **is nie 'n ingeboude rugsteunmeganisme** vir tabel stoor nie.
#### **PartitionKey**
- Die **PartitionKey groepeer entiteite in logiese partisie**. Entiteite met dieselfde PartitionKey word saam gestoor, wat navraagprestasie en skaalbaarheid verbeter.
- Die **PartitionKey groepeer entiteite in logiese partisie**. Entiteite met dieselfde PartitionKey word saam gestoor, wat die navraagprestasie en skaalbaarheid verbeter.
- Voorbeeld: In 'n tabel wat werknemerdata stoor, kan `PartitionKey` 'n departement verteenwoordig, bv. `"HR"` of `"IT"`.
#### **RowKey**
@@ -22,7 +22,7 @@ Daar **is nie 'n ingeboude rugsteunmeganisme** vir tabel stoor nie.
#### **Ander Eienskappe (Pasgemaakte Eienskappe)**
- Benewens die PartitionKey en RowKey, kan 'n entiteit addisionele **pasgemaakte eienskappe hê om data te stoor**. Hierdie is gebruikersgedefinieerde en funksioneer soos kolomme in 'n tradisionele databasis.
- Benewens die PartitionKey en RowKey, kan 'n entiteit addisionele **pasgemaakte eienskappe hê om data te stoor**. Hierdie is gebruikersgedefinieer en funksioneer soos kolomme in 'n tradisionele databasis.
- Eienskappe word gestoor as **sleutel-waarde pare**.
- Voorbeeld: `Name`, `Age`, `Title` kan pasgemaakte eienskappe vir 'n werknemer wees.
@@ -76,7 +76,7 @@ Get-AzStorageTableStoredAccessPolicy -Table <Table> -Context (Get-AzStorageAccou
{{#endtabs}}
> [!NOTE]
> Standaard sal `az` cli 'n rekeningsleutel gebruik om 'n sleutel te teken en die aksie uit te voer. Om die Entra ID hoofstukprivileges te gebruik, gebruik die parameters `--auth-mode login`.
> Standaard sal `az` cli 'n rekeningsleutel gebruik om 'n sleutel te teken en die aksie uit te voer. Om die Entra ID-prinsipaal bevoegdhede te gebruik, gebruik die parameters `--auth-mode login`.
> [!TIP]
> Gebruik die parameter `--account-key` om die rekeningsleutel aan te dui wat gebruik moet word\