Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/

This commit is contained in:
Translator
2025-01-05 22:58:40 +00:00
parent 04e84d915a
commit 38d4b0c6cc
5 changed files with 290 additions and 19 deletions

View File

@@ -0,0 +1,109 @@
# Az - Static Web Apps
{{#include ../../../banners/hacktricks-training.md}}
## Static Web Apps Basic Information
Azure Static Web Apps - це хмарний сервіс для хостингу **статичних веб-додатків з автоматичним CI/CD з репозиторіїв, таких як GitHub**. Він пропонує глобальну доставку контенту, безсерверні бекенди та вбудований HTTPS, що робить його безпечним і масштабованим. Однак ризики включають неправильно налаштований CORS, недостатню аутентифікацію та підробку контенту, що може піддати додатки атакам, таким як XSS та витік даних, якщо їх не управляти належним чином.
> [!TIP]
> Коли створюється статичний додаток, ви можете вибрати **політику авторизації розгортання** між **токеном розгортання** та **робочим процесом GitHub Actions**.
### Web App Authentication
Можливо **налаштувати пароль** для доступу до веб-додатку. Веб-консоль дозволяє налаштувати його для захисту лише тестових середовищ або обох - тестового та виробничого.
Ось як на момент написання виглядає веб-додаток з паролем:
<figure><img src="../../../images/azure_static_password.png" alt=""><figcaption></figcaption></figure>
Можливо побачити **чи використовується якийсь пароль** і які середовища захищені за допомогою:
```bash
az rest --method GET \
--url "/subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.Web/staticSites/<app-name>/config/basicAuth?api-version=2024-04-01"
```
Однак це **не покаже пароль у відкритому вигляді**, лише щось на кшталт: `"password": "**********************"`.
### Маршрути
Маршрути визначають **як обробляються вхідні HTTP запити** в статичному веб-додатку. Налаштовані у файлі **`staticwebapp.config.json`**, вони контролюють переписування URL, перенаправлення, обмеження доступу та авторизацію на основі ролей, забезпечуючи належну обробку ресурсів та безпеку.
Декілька прикладів:
```json
{
"routes": [
{
"route": "/",
"rewrite": "/index.html"
},
{
"route": "/about",
"rewrite": "/about.html"
},
{
"route": "/api/*",
"allowedRoles": ["authenticated"]
},
{
"route": "/admin",
"redirect": "/login",
"statusCode": 302
}
],
"navigationFallback": {
"rewrite": "/index.html",
"exclude": ["/api/*", "/assets/*"]
}
}
```
## Перерахування
```bash
# List Static Webapps
az staticwebapp list --output table
# Get Static Webapp details
az staticwebapp show --name <name> --resource-group <res-group> --output table
# Get appsettings
az staticwebapp appsettings list --name <name>
# Get env information
az staticwebapp environment list --name <name>
az staticwebapp environment functions --name <name>
# Get API key
az staticwebapp secrets list --name <name>
# Get invited users
az staticwebapp users list --name <name>
# Get database connections
az rest --method GET \
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Web/staticSites/<app-name>/databaseConnections?api-version=2021-03-01"
## 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/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Web/staticSites/<app-name>/databaseConnections/default/show?api-version=2021-03-01"
```
## Приклади для створення веб-додатків
Ви можете знайти гарний приклад для створення веб-додатку за наступним посиланням: [https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github](https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github)
1. Зробіть форк репозиторію https://github.com/staticwebdev/react-basic/generate у вашому обліковому записі GitHub і назвіть його `my-first-static-web-app`
2. У порталі Azure створіть Static Web App, налаштувавши доступ до Github і вибравши раніше форкнутий новий репозиторій
3. Створіть його, почекайте кілька хвилин і перевірте вашу нову сторінку!
## Постексплуатація
{{#ref}}
../az-privilege-escalation/az-static-web-apps-post-exploitation.md
{{#endref}}
## Посилання
- [https://learn.microsoft.com/en-in/azure/app-service/overview](https://learn.microsoft.com/en-in/azure/app-service/overview)
- [https://learn.microsoft.com/en-us/azure/app-service/overview-hosting-plans](https://learn.microsoft.com/en-us/azure/app-service/overview-hosting-plans)
{{#include ../../../banners/hacktricks-training.md}}