From d5b2d0eef01aa4c4d43612953d5ae0cdd33adeec Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 9 Jan 2025 08:16:58 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-services/az-static-w --- .../az-services/az-static-web-apps.md | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md b/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md index b4edbedfe..138c3b088 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md +++ b/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md @@ -4,21 +4,25 @@ ## Statiese Web Apps Basiese Inligting -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. egter, 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 outorisering beleid** tussen **Ontplooiingstoken** en **GitHub Actions werksvloei** kies. +> 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 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 Verifikasie +### Web App Basiese Verifikasie -Dit is moontlik om 'n **wagwoord te konfigureer** om toegang tot die Web App te verkry. Die webkonsol laat jou toe om dit te konfigureer om slegs staging omgewings of beide staging en die produksie omgewing te beskerm. +Dit is moontlik om 'n **wagwoord te configure** om toegang tot die Web App te verkry. Die webkonsol laat toe om dit te configure om slegs staging omgewings of beide staging en die produksie omgewing te beskerm. So lyk 'n wagwoord beskermde web app op die tyd van skryf:
- Dit is moontlik om te sien **of enige wagwoord gebruik word** en watter omgewings beskerm word met: ```bash az rest --method GET \ @@ -26,9 +30,9 @@ az rest --method GET \ ``` However, this **won't show the password in clear text**, just something like: `"password": "**********************"`. -### Routes +### Routes & Roles -Routes definieer **hoe inkomende HTTP versoeke hanteer word** binne 'n statiese webtoepassing. Geconfigureer in die **`staticwebapp.config.json`** lêer, beheer hulle URL herskrywing, herleidings, toegangbeperkings, en rolgebaseerde outorisering, wat behoorlike hulpbronhantering en sekuriteit verseker. +Routes define **hoe inkomende HTTP versoeke hanteer word** within a static web app. Configured in the **`staticwebapp.config.json`** file, they control URL rewriting, redirections, access restrictions, and role-based authorization, ensuring proper resource handling and security. Some example: ```json @@ -58,7 +62,20 @@ Some example: } } ``` -## Opname +Let op hoe dit moontlik is om 'n **pad met 'n rol te beskerm**, dan sal gebruikers moet autentiseer by die app en daardie rol toegeken moet word om toegang tot die pad te verkry. Dit is ook moontlik om **uitnodigings te skep** wat spesifieke rolle aan spesifieke gebruikers toeken wat via EntraID, Facebook, GitHub, Google, Twitter aanmeld, wat nuttig kan wees om bevoegdhede binne die app te verhoog. + +> [!TIP] +> Let daarop dat dit moontlik is om die App so te konfigureer dat **veranderings aan die `staticwebapp.config.json`** lêer nie aanvaar word nie. In hierdie geval mag dit nie genoeg wees om net die lêer van Github te verander nie, maar ook om **die instelling in die App te verander**. + +Die staging URL het hierdie formaat: `https://-..` soos: `https://ambitious-plant-0f764e00f-2.eastus2.4.azurestaticapps.net` + +### Geverifieerde Identiteite + +Azure Static Web Apps kan gekonfigureer word om **geverifieerde 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 om 'n kluisgeheim in 'n statiese app te gebruik in https://learn.microsoft.com/en-us/azure/static-web-apps/key-vault-secrets. + +## Enumerasie ```bash # List Static Webapps az staticwebapp list --output table @@ -86,6 +103,9 @@ az rest --method GET \ ## Once you have the database connection name ("default" by default) you can get the connection string with the credentials az rest --method POST \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/staticSites//databaseConnections/default/show?api-version=2021-03-01" + +# Check connected backends +az staticwebapp backends show --name --resource-group ``` ## Voorbeelde om Web Apps te genereer @@ -95,10 +115,12 @@ Jy kan 'n mooi voorbeeld vind om 'n web app te genereer in die volgende skakel: 2. Skep 'n Static Web App in die Azure-portaal deur die Github-toegang te konfigureer en die voorheen geforkte nuwe repository te kies 3. Skep dit, en wag 'n paar minute, en kyk na jou nuwe bladsy! -## Post Exploitation +## Privilege Escalation en Post Exploitation + +Alle inligting oor privilege escalation en post exploitation in Azure Static Web Apps kan in die volgende skakel gevind word: {{#ref}} -../az-privilege-escalation/az-static-web-apps-post-exploitation.md +../az-privilege-escalation/az-static-web-apps-privesc.md {{#endref}} ## Verwysings