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

This commit is contained in:
Translator
2025-02-22 16:15:54 +00:00
parent 72f7d78f61
commit 9fa05ed167
3 changed files with 26 additions and 25 deletions
@@ -92,7 +92,7 @@ curl --request POST \
--data '{"exampleKey": "exampleValue"}'
```
### (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/basicPublishingCredentialsPolicies/read`, `Microsoft.Web/sites/write`, `Microsoft.Web/sites/config/list/action`) && (`Microsoft.Web/sites/start/action`)
Dzięki tym uprawnieniom możesz wdrażać przepływy pracy Logic App za pomocą wdrożeń plików ZIP. Te uprawnienia umożliwiają działania takie jak odczyt szczegółów aplikacji, dostęp do poświadczeń publikacji, wprowadzanie zmian oraz wyświetlanie konfiguracji aplikacji. Wraz z uprawnieniami do uruchamiania możesz zaktualizować i wdrożyć nową Logic App z pożądanym zawartością.
Dzięki tym uprawnieniom możesz wdrażać przepływy pracy Logic App za pomocą wdrożeń plików ZIP. Te uprawnienia umożliwiają działania takie jak odczyt szczegółów aplikacji, dostęp do poświadczeń publikacji, wprowadzanie zmian i wyświetlanie konfiguracji aplikacji. Wraz z uprawnieniami do uruchamiania możesz zaktualizować i wdrożyć nową Logic App z pożądanym zawartością.
```bash
az logicapp deployment source config-zip \
--name <logic_app_name> \
@@ -18,7 +18,7 @@ API NoSQL Azure Cosmos DB to API oparte na dokumentach, które używa JSON jako
https://<Account-Name>.documents.azure.com:443/
```
#### Bazy danych
W ramach konta możesz utworzyć jedną lub więcej baz danych, które służą jako logiczne grupowania kontenerów. Baza danych działa jako granica dla zarządzania zasobami i uprawnieniami użytkowników. Bazy danych mogą pozwalać wielu kontenerom na korzystanie ze wspólnej puli wydajności lub przydzielać każdemu kontenerowi własną dedykowaną moc.
W ramach konta możesz utworzyć jedną lub więcej baz danych, które służą jako logiczne grupy kontenerów. Baza danych działa jako granica dla zarządzania zasobami i uprawnieniami użytkowników. Bazy danych mogą pozwalać wielu kontenerom na korzystanie ze wspólnej puli wydajności lub przydzielać każdemu kontenerowi własną dedykowaną moc.
#### Kontenery
Podstawową jednostką przechowywania danych jest kontener, który przechowuje dokumenty JSON i jest automatycznie indeksowany w celu efektywnego zapytania. Kontenery są elastycznie skalowalne i rozproszone w obrębie partycji, które są określane przez klucz partycji zdefiniowany przez użytkownika. Klucz partycji jest kluczowy dla zapewnienia optymalnej wydajności i równomiernego rozkładu danych. Na przykład, kontener może przechowywać dane klientów, z "customerId" jako kluczem partycji.
@@ -131,7 +131,8 @@ Get-AzCosmosDBSqlUserDefinedFunction -ResourceGroupName "<ResourceGroupName>" -A
#### Połączenie
Ma 2 typy kluczy: do odczytu i zapisu (pełny) oraz tylko do odczytu. Dają one wskazany dostęp do wszystkich baz danych, kolekcji i danych wewnątrz konta Cosmos DB. Aby połączyć się, potrzebna jest biblioteka azure-cosmosDB (pip install azure-cosmos). Dodatkowo punkt końcowy i klucz są kluczowymi komponentami do nawiązania połączenia.
Ma 2 typy kluczy: Read-write (pełny) i Read-only. Dają one wskazany dostęp do wszystkich baz danych, kolekcji i danych wewnątrz konta Cosmos DB.
Aby połączyć się, potrzebna jest biblioteka azure-cosmosDB (pip install azure-cosmos). Dodatkowo, punkt końcowy i klucz są kluczowymi komponentami do nawiązania połączenia.
```python
from azure.cosmos import CosmosClient, PartitionKey
@@ -170,7 +171,7 @@ print("All items in the container:")
for item in all_items:
print(item)
```
Innym sposobem na nawiązanie połączenia jest użycie **DefaultAzureCredential()**. Wystarczy zalogować się (az login) na konto, które ma odpowiednie uprawnienia i je wykonać. W tym przypadku należy wykonać przypisanie roli, przyznając niezbędne uprawnienia (zobacz więcej).
Innym sposobem na nawiązanie połączenia jest użycie **DefaultAzureCredential()**. Wystarczy zalogować się (az login) za pomocą konta, które ma odpowiednie uprawnienia i je wykonać. W tym przypadku należy przypisać rolę, nadając niezbędne uprawnienia (zobacz więcej).
```python
from azure.identity import DefaultAzureCredential
from azure.cosmos import CosmosClient
@@ -196,15 +197,15 @@ container.create_item(item)
print("Document inserted.")
```
### MongoDB
API NoSQL MongoDB to API oparty na dokumentach, który używa formatu danych BSON (Binary JSON) podobnego do JSON. Oferuje język zapytań z możliwościami agregacji, co czyni go odpowiednim do pracy z danymi strukturalnymi, półstrukturalnymi i niestrukturalnymi. Punkt końcowy usługi zazwyczaj ma następujący format:
API NoSQL MongoDB to API oparty na dokumentach, który używa formatu danych BSON (Binary JSON) podobnego do JSON. Oferuje język zapytań z możliwościami agregacji, co czyni go odpowiednim do pracy z danymi strukturalnymi, półstrukturalnymi i niestrukturalnymi. Punkt końcowy usługi zazwyczaj ma ten format:
```bash
mongodb://<hostname>:<port>/<database>
```
#### Bazy danych
W MongoDB możesz tworzyć jedną lub więcej baz danych w ramach instancji. Każda baza danych służy jako logiczna grupa kolekcji i zapewnia granicę dla organizacji i zarządzania zasobami. Bazy danych pomagają oddziel i zarządzać danymi logicznie, na przykład dla różnych aplikacji lub projektów.
W MongoDB możesz tworzyć jedną lub więcej baz danych w ramach instancji. Każda baza danych służy jako logiczna grupa kolekcji i zapewnia granicę dla organizacji i zarządzania zasobami. Bazy danych pomagają w logicznym oddzieleniu i zarządzaniu danymi, na przykład dla różnych aplikacji lub projektów.
#### Kolekcje
Podstawową jednostką przechowywania danych w MongoDB jest kolekcja, która zawiera dokumenty i jest zaprojektowana do efektywnego zapytywania oraz elastycznego projektowania schematu. Kolekcje są elastycznie skalowalne i mogą obsługiwać operacje o wysokiej przepustowości w rozproszonym środowisku.
Podstawową jednostką przechowywania danych w MongoDB jest kolekcja, która zawiera dokumenty i jest zaprojektowana do efektywnego zapytywania oraz elastycznego projektowania schematów. Kolekcje są elastycznie skalowalne i mogą obsługiwać operacje o wysokiej przepustowości w rozproszonym środowisku.
#### Kluczowe cechy typu jednostki żądania (RU)
**Globalna dystrybucja**: Włącz lub wyłącz Geo-Redundancy dla replikacji międzyregionowej i Multi-region Writes dla poprawy dostępności.
@@ -213,7 +214,7 @@ Podstawową jednostką przechowywania danych w MongoDB jest kolekcja, która zaw
**Szyfrowanie danych**: Domyślne klucze zarządzane przez usługę lub klucze zarządzane przez klienta (CMK) do szyfrowania (wybór CMK jest nieodwracalny).
#### Kluczowe cechy typu klastra vCore
**Globalna dystrybucja**: Włącz replikę do odczytu w innym regionie Azure dla wysokiej dostępności i wsparcia awaryjnego. Skonfiguruj nazwę repliki, region i pamięć dla każdego fragmentu.
**Globalna dystrybucja**: Włącz replikę do odczytu w innym regionie Azure dla wysokiej dostępności i wsparcia w przypadku awarii. Skonfiguruj nazwę repliki, region i pamięć na shard.
**Sieć i bezpieczeństwo**: Obsługuje dostęp publiczny z przypisanymi publicznymi adresami IP oraz dostęp prywatny. Ogranicz połączenia za pomocą reguł zapory—domyślnie nie są dozwolone żadne publiczne adresy IP.
**Szyfrowane połączenia**: Wymusza szyfrowanie TLS dla bezpiecznej transmisji danych.
@@ -21,9 +21,9 @@ Możliwe jest wyświetlenie LogicApp w formie graficznej:
<figure><img src="../../../images/image (197).png" alt=""><figcaption></figcaption></figure>
lub sprawdzenie kodu w sekcji "**Widok kodu aplikacji Logic**".
lub sprawdzenie kodu w sekcji "**Widok kodu aplikacji logicznej**".
### Ochrona SSRF
### Ochrona przed SSRF
Nawet jeśli znajdziesz **Logic App podatny na SSRF**, nie będziesz w stanie uzyskać dostępu do poświadczeń z metadanych, ponieważ Logic Apps na to nie pozwala.
@@ -37,21 +37,21 @@ curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e9741
Istnieje kilka opcji hostingu:
* **Konsumpcja**
- **Wielu najemców**: zapewnia współdzielone zasoby obliczeniowe, działa w chmurze publicznej i stosuje model cenowy płatności za operację. Jest to idealne dla lekkich i opłacalnych obciążeń. Wdraża "Jednolity Przepływ".
- **Wielu najemców**: zapewnia współdzielone zasoby obliczeniowe, działa w chmurze publicznej i stosuje model cenowy płatności za operację. Jest to idealne dla lekkich i opłacalnych obciążeń. Wdraża "Jedno Przepływ".
* **Standard**
- **Plan usługi przepływu pracy**: dedykowane zasoby obliczeniowe z integracją VNET dla sieci i opłatami za instancję planu usługi przepływu pracy. Nadaje się do bardziej wymagających obciążeń, które wymagają większej kontroli.
- **Środowisko usługi aplikacji V3**: dedykowane zasoby obliczeniowe z pełną izolacją i skalowalnością. Integruje się również z VNET dla sieci i stosuje model cenowy oparty na instancjach usługi aplikacji w środowisku.
- **Hybrydowe**: zaprojektowane do przetwarzania lokalnego i wsparcia dla wielu chmur. Umożliwia zarządzane przez klienta zasoby obliczeniowe z dostępem do lokalnej sieci i wykorzystuje Kubernetes Event-Driven Autoscaling (KEDA). Opiera się na połączonym środowisku aplikacji kontenerowych.
### Kluczowe cechy
### Kluczowe funkcje
- **Przechowywanie**: Logic Apps wymagają zewnętrznego konta Azure Storage do przechowywania stanu przepływu pracy, historii uruchomień… i muszą znajdować się w tej samej grupie zasobów co Logic App.
- **Sieć i bezpieczeństwo**: Logic Apps mogą być konfigurowane z dostępem publicznym lub prywatnym. Domyślnie aplikacja jest otwarta na internet, ale może być zintegrowana z Azure Virtual Network dla izolowanej łączności.
- **Insights aplikacji**: Zarządzanie wydajnością aplikacji (APM) za pośrednictwem Azure Monitor Application Insights może być włączone, aby śledzić wydajność, wykrywać anomalie i dostarczać analizy.
- **Kontrola dostępu**: Logic Apps wspierają tożsamości zarządzane przez system i tożsamości zarządzane przez użytkownika.
- **Kontrola dostępu**: Logic Apps obsługują tożsamości zarządzane przez system i tożsamości zarządzane przez użytkownika.
### "Jednolity" przepływ pracy
### "Jedno" Przepływy Pracy
**Przepływ pracy** to uporządkowana sekwencja zautomatyzowanych kroków lub zadań, które wykonują określony proces lub cel. Definiuje, jak różne działania, warunki i decyzje współdziałają, aby osiągnąć pożądany wynik, usprawniając operacje i redukując wysiłek manualny. Przepływy pracy mogą integrować wiele systemów, wyzwalać zdarzenia i reguły, zapewniając spójność i efektywność procesów.
**Przepływ pracy** to uporządkowana sekwencja zautomatyzowanych kroków lub zadań, które wykonują określony proces lub cel. Definiuje, jak różne działania, warunki i decyzje współdziałają, aby osiągnąć pożądany wynik, usprawniając operacje i redukując wysiłek manualny. Przepływy pracy mogą integrować wiele systemów, wyzwalać zdarzenia i zasady, zapewniając spójność i efektywność w procesach.
Azure Logic Apps daje funkcjonalność **tworzenia jednego przepływu pracy bez potrzeby posiadania samej Logic App**.
@@ -70,21 +70,21 @@ Wyzwalacze mają również różne ustawienia:
Przepływ pracy ma różne ustawienia, takie jak:
- Dozwolone adresy IP przychodzące: To ustawienie pozwala ograniczyć, kto może uruchomić lub rozpocząć Twoją Logic App. Opcje to Dowolny IP, Tylko inne Logic Apps i Konkretne zakresy IP.
- Konto integracyjne: Tutaj możesz połączyć swoją Logic App z kontem integracyjnym.
- Konto integracyjne: Tutaj możesz połączyć swoją Logic App z Kontem Integracyjnym.
- Wysoka przepustowość: To ustawienie umożliwia Twojej Logic App obsługę większej liczby żądań szybko.
- Retencja historii uruchomień: przez jaki czas historia wykonania Twojej Logic App jest przechowywana.
- Retencja historii uruchomień: przez jaki czas historia uruchomień Twojej Logic App jest przechowywana.
Możesz zobaczyć różne połączenia API, które ma przepływ pracy. Wewnątrz każdego z tych połączeń mają różne właściwości i możliwość edytowania połączenia API, gdzie typ uwierzytelnienia może być zmieniony.
**Historia i wersje:**
Ma opcję dostępu do **historii** różnych wykonania, pokazuje Ustawienia, Wyjście, Parametry i Kod.
Ma opcję dostępu do **historii** różnych uruchomień, pokazuje Ustawienia, Wyjście, Parametry i Kod.
Ma również opcję dostępu do różnych **wersji** przepływu pracy, gdzie możesz sprawdzić kod i zmienić obecny przepływ pracy na starszą wersję.
Ma również opcję dostępu do różnych **wersji** przepływu pracy, gdzie możesz sprawdzić kod i zmienić bieżący przepływ pracy na starszą wersję.
**Autoryzacja:**
Azure Logic Apps wspiera**polityki autoryzacji** z Entra ID, aby zabezpieczyć wyzwalacze oparte na żądaniach, wymagając ważnego tokena dostępu. Ten token musi zawierać konkretne roszczenia:
Azure Logic Apps obsługu**polityki autoryzacji** z Entra ID, aby zabezpieczyć wyzwalacze oparte na żądaniach, wymagając ważnego tokena dostępu. Ten token musi zawierać określone roszczenia:
- Wydawca (iss) do weryfikacji dostawcy tożsamości
- Odbiorca (aud) aby upewnić się, że token jest przeznaczony dla Logic App
- Odbiorca (aud) do zapewnienia, że token jest przeznaczony dla Logic App
- Temat (sub) do identyfikacji wywołującego
- ID JWT (identyfikator tokena JSON Web)
- Niestandardowe roszczenie
@@ -204,11 +204,11 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
{{#endtabs }}
### Konta integracyjne
**Konta integracyjne** to funkcja Azure Logic Apps. Konta integracyjne są używane do ułatwienia integracji na poziomie przedsiębiorstwa, umożliwiając zaawansowane możliwości B2B, takie jak EDI, AS2 i zarządzanie schematami XML. Konta integracyjne to kontenery w Azure, które przechowują następujące artefakty używane w Logic Apps:
**Konta integracyjne** to funkcja Azure Logic Apps. Konta integracyjne są używane do ułatwienia integracji na poziomie przedsiębiorstwa, umożliwiając zaawansowane możliwości B2B, takie jak EDI, AS2 i zarządzanie schematami XML. Konta integracyjne kontenerem w Azure, który przechowuje następujące artefakty używane w Logic Apps:
* Schematy: Zarządzaj schematami XML do walidacji i przetwarzania wiadomości w swoim koncie integracyjnym.
* Mapy: Konfiguruj transformacje oparte na XSLT, aby konwertować formaty danych w ramach swoich przepływów integracyjnych.
* Zbiory: Zarządzaj zbiorami konta integracyjnego, aby uprościć logikę i przetwarzanie danych.
* Mapy: Konfiguruj transformacje oparte na XSLT, aby konwertować formaty danych w ramach swoich przepływów pracy integracyjnych.
* Zestawy: Zarządzaj zestawami konta integracyjnego, aby uprościć logikę i przetwarzanie danych.
* Certyfikaty: Obsługuj certyfikaty do szyfrowania i podpisywania wiadomości, zapewniając bezpieczną komunikację.
* Partnerzy: Zarządzaj informacjami o partnerach handlowych dla transakcji B2B, umożliwiając płynne integracje.
* Umowy: Konfiguruj zasady i ustawienia dotyczące wymiany danych z partnerami handlowymi (np. EDI, AS2).
@@ -281,7 +281,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