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

This commit is contained in:
Translator
2025-02-22 16:15:47 +00:00
parent 27b26c470e
commit a840edc8c2
4 changed files with 22 additions and 22 deletions

View File

@@ -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>"
```
Zusätzlich können Sie mit `Microsoft.Logic/workflows/write` einige Konfigurationen ändern, wie z.B. erlaubte eingehende IP-Adressen oder die Aufbewahrungsdauer der Ausführungsprotokolle:
Zusätzlich können Sie mit `Microsoft.Logic/workflows/write` einige Konfigurationen ändern, wie z.B. erlaubte eingehende IP-Adressen oder die Aufbewahrungsdauer der Ausführungsverläufe:
```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" \
@@ -82,7 +82,7 @@ az logicapp config appsettings set \
--settings "<key>=<value>"
```
### `Microsoft.Logic/integrationAccounts/write`
Mit dieser Berechtigung können Sie Azure Logic Apps-Integrationskonten erstellen, aktualisieren oder löschen. Dies umfasst die Verwaltung von Integrationskontenebene-Konfigurationen wie Maps, Schemata, Partner, Vereinbarungen und mehr.
Mit dieser Berechtigung können Sie Azure Logic Apps-Integrationskonten erstellen, aktualisieren oder löschen. Dazu gehört die Verwaltung von Integrationskonten-spezifischen Konfigurationen wie Maps, Schemata, Partner, Vereinbarungen und mehr.
```bash
az logic integration-account create \
--resource-group <resource_group_name> \
@@ -162,7 +162,7 @@ az rest --method POST \
```
### "*/delete"
Mit diesen Berechtigungen können Sie Ressourcen im Zusammenhang mit Azure Logic Apps löschen
Mit diesen Berechtigungen können Sie Ressourcen im Zusammenhang mit Azure Logic Apps löschen.

View File

@@ -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`)
Mit diesen Berechtigungen können Sie Logic App-Workflows mithilfe von ZIP-Datei-Bereitstellungen bereitstellen. Diese Berechtigungen ermöglichen Aktionen wie das Lesen von Anwendungsdetails, den Zugriff auf Veröffentlichungsanmeldeinformationen, das Schreiben von Änderungen und das Auflisten von Anwendungs-Konfigurationen. Neben den Startberechtigungen können Sie eine neue Logic App mit dem gewünschten Inhalt aktualisieren und bereitstellen.
Mit diesen Berechtigungen können Sie Logic App-Workflows mit ZIP-Datei-Bereitstellungen bereitstellen. Diese Berechtigungen ermöglichen Aktionen wie das Lesen von App-Details, den Zugriff auf Veröffentlichungsanmeldeinformationen, das Schreiben von Änderungen und das Auflisten von App-Konfigurationen. Neben den Startberechtigungen können Sie eine neue Logic App mit dem gewünschten Inhalt aktualisieren und bereitstellen.
```bash
az logicapp deployment source config-zip \
--name <logic_app_name> \

View File

@@ -10,7 +10,7 @@ Azure Cosmos DB bietet mehrere Datenbank-APIs, um reale Daten mit Dokumenten, re
Ein wichtiger Aspekt von CosmosDB ist das Azure Cosmos-Konto. **Azure Cosmos-Konto** fungiert als Einstiegspunkt zu den Datenbanken. Das Konto bestimmt wichtige Einstellungen wie globale Verteilung, Konsistenzstufen und die spezifische API, die verwendet werden soll, wie z.B. NoSQL. Über das Konto können Sie die globale Replikation konfigurieren, um sicherzustellen, dass Daten in mehreren Regionen für einen latenzarmen Zugriff verfügbar sind. Darüber hinaus können Sie eine Konsistenzstufe wählen, die zwischen Leistung und Datenakkuratheit balanciert, mit Optionen von starker bis eventualer Konsistenz.
Azure Cosmos DB unterstützt **benutzerzugewiesene Identitäten** und **systemzugewiesene verwaltete Identitäten**, die automatisch erstellt und an den Lebenszyklus der Ressource gebunden sind. Cosmos DB hat jedoch keinen integrierten Mechanismus, um direkt externe Datenquellen wie Azure Blob Storage abzufragen. Im Gegensatz zu den externen Tabellenfunktionen von SQL Server erfordert Cosmos DB, dass Daten mit externen Tools wie Azure Data Factory, dem Data Migration Tool oder benutzerdefinierten Skripten in seine Container aufgenommen werden, bevor sie mit seinen nativen Abfragefähigkeiten abgefragt werden können.
Azure Cosmos DB unterstützt **benutzerzugewiesene Identitäten** und **systemzugewiesene verwaltete Identitäten**, die automatisch erstellt und an den Lebenszyklus der Ressource gebunden sind. Cosmos DB hat jedoch keinen integrierten Mechanismus, um direkt externe Datenquellen wie Azure Blob Storage abzufragen. Im Gegensatz zu den externen Tabellenfunktionen von SQL Server erfordert Cosmos DB, dass Daten mit externen Tools wie Azure Data Factory, dem Data Migration Tool oder benutzerdefinierten Skripten in seine Container aufgenommen werden, bevor sie mit den nativen Abfragefähigkeiten abgefragt werden können.
### NoSQL
Die Azure Cosmos DB NoSQL-API ist eine dokumentenbasierte API, die JSON als Datenformat verwendet. Sie bietet eine SQL-ähnliche Abfragesyntax zum Abfragen von JSON-Objekten, was sie geeignet macht, um mit strukturierten und semi-strukturierten Daten zu arbeiten. Der Endpunkt des Dienstes ist:
@@ -27,7 +27,7 @@ Die zentrale Einheit der Datenspeicherung ist der Container, der JSON-Dokumente
- **Globale Verteilung**: Aktivieren oder Deaktivieren von Geo-Redundanz für die Replikation über Regionen hinweg und Multi-Regionen-Schreibvorgänge für verbesserte Verfügbarkeit.
- **Netzwerk & Sicherheit**: zwischen öffentlichen (alle/ausgewählte Netzwerke) oder privaten Endpunkten für die Konnektivität. Sichere Verbindungen mit TLS 1.2-Verschlüsselung. Unterstützt CORS (Cross-Origin Resource Sharing) für kontrollierten Zugriff auf Ressourcen. Microsoft Defender für Cloud kann aktiviert werden. Um die Verbindung herzustellen, können Sie Schlüssel verwenden.
- **Backup & Wiederherstellung**: von periodischen, kontinuierlichen (7 Tage) oder kontinuierlichen (30 Tage) Backup-Richtlinien mit konfigurierbaren Intervallen und Aufbewahrung.
- **Datenverschlüsselung**: Standardmäßig verwaltete Dienstschlüssel oder vom Kunden verwaltete Schlüssel (CMK) zur Verschlüsselung (Die Auswahl von CMK ist irreversibel).
- **Datenverschlüsselung**: Standarddienstverwaltete Schlüssel oder kundenverwaltete Schlüssel (CMK) zur Verschlüsselung (CMK-Auswahl ist irreversibel).
#### Aufzählung
@@ -131,7 +131,7 @@ Get-AzCosmosDBSqlUserDefinedFunction -ResourceGroupName "<ResourceGroupName>" -A
#### Verbindung
Es gibt 2 Schlüsseltypen, Lese-Schreib (voll) und Nur-Lesen. Sie gewähren den angegebenen Zugriff auf alle Datenbanken, Sammlungen und Daten innerhalb des Cosmos DB-Kontos. Um eine Verbindung herzustellen, wird die azure-cosmosDB-Bibliothek (pip install azure-cosmos) benötigt. Darüber hinaus sind der Endpunkt und der Schlüssel entscheidende Komponenten, um die Verbindung herzustellen.
Es gibt 2 Schlüsseltypen, Lese-Schreib (voll) und Nur-Lesen. Sie gewähren den angegebenen Zugriff auf alle Datenbanken, Sammlungen und Daten innerhalb des Cosmos DB-Kontos. Um sich zu verbinden, wird die azure-cosmosDB-Bibliothek (pip install azure-cosmos) benötigt. Darüber hinaus sind der Endpunkt und der Schlüssel entscheidende Komponenten, um die Verbindung herzustellen.
```python
from azure.cosmos import CosmosClient, PartitionKey
@@ -196,7 +196,7 @@ container.create_item(item)
print("Document inserted.")
```
### MongoDB
Die MongoDB NoSQL API ist eine dokumentenbasierte API, die JSON-ähnliches BSON (Binary JSON) als Datenformat verwendet. Sie bietet eine Abfragesprache mit Aggregationsfähigkeiten, die sie für die Arbeit mit strukturierten, semi-strukturierten und unstrukturierten Daten geeignet macht. Der Endpunkt des Dienstes folgt typischerweise diesem Format:
Die MongoDB NoSQL-API ist eine dokumentenbasierte API, die JSON-ähnliches BSON (Binary JSON) als Datenformat verwendet. Sie bietet eine Abfragesprache mit Aggregationsfähigkeiten, die sie für die Arbeit mit strukturierten, semi-strukturierten und unstrukturierten Daten geeignet macht. Der Endpunkt des Dienstes folgt typischerweise diesem Format:
```bash
mongodb://<hostname>:<port>/<database>
```
@@ -210,7 +210,7 @@ Die zentrale Einheit der Datenspeicherung in MongoDB ist die Sammlung, die Dokum
**Globale Verteilung**: Aktivieren oder Deaktivieren von Geo-Redundanz für die Replikation über Regionen hinweg und Multi-Region-Schreibvorgänge für verbesserte Verfügbarkeit.
**Netzwerk & Sicherheit**: zwischen öffentlichen (alle/ausgewählte Netzwerke) oder privaten Endpunkten für die Konnektivität. Sichere Verbindungen mit TLS 1.2-Verschlüsselung. Unterstützt CORS (Cross-Origin Resource Sharing) für kontrollierten Zugriff auf Ressourcen. Um die Verbindung herzustellen, können Sie Schlüssel verwenden.
**Backup & Wiederherstellung**: von periodischen, kontinuierlichen (7 Tage, kostenlos) oder kontinuierlichen (30 Tage, kostenpflichtig) Backup-Richtlinien mit konfigurierbaren Intervallen und Aufbewahrung.
**Datenverschlüsselung**: Standardmäßig verwaltete Dienstschlüssel oder vom Kunden verwaltete Schlüssel (CMK) zur Verschlüsselung (die Auswahl von CMK ist irreversibel).
**Datenverschlüsselung**: Standardmäßig verwaltete Dienstschlüssel oder vom Kunden verwaltete Schlüssel (CMK) zur Verschlüsselung (CMK-Auswahl ist irreversibel).
#### Hauptmerkmale des vCore-Cluster-Typs
**Globale Verteilung**: Aktivieren Sie ein Lese-Replica in einer anderen Azure-Region für hohe Verfügbarkeit und Failover-Unterstützung. Konfigurieren Sie den Replikatnamen, die Region und den Speicher pro Shard.

View File

@@ -12,7 +12,7 @@ Beim Erstellen einer Logic App müssen Sie entweder ein externes Speicherkonto e
### Beispiele
- **Automatisierung von Datenpipelines**: Logic Apps können **Datenübertragungs- und Transformationsprozesse** in Kombination mit Azure Data Factory automatisieren. Dies ist nützlich, um skalierbare und zuverlässige Datenpipelines zu erstellen, die Daten zwischen verschiedenen Datenspeichern, wie Azure SQL Database und Azure Blob Storage, bewegen und transformieren, was Analysen und Geschäftsintelligenzoperationen unterstützt.
- **Automatisierung von Datenpipelines**: Logic Apps können **Datenübertragungs- und Transformationsprozesse** in Kombination mit Azure Data Factory automatisieren. Dies ist nützlich, um skalierbare und zuverlässige Datenpipelines zu erstellen, die Daten zwischen verschiedenen Datenspeichern wie Azure SQL Database und Azure Blob Storage bewegen und transformieren, was Analysen und Geschäftsintelligenzoperationen unterstützt.
- **Integration mit Azure Functions**: Logic Apps können zusammen mit Azure Functions verwendet werden, um **anspruchsvolle, ereignisgesteuerte Anwendungen zu entwickeln, die nach Bedarf skalieren** und nahtlos mit anderen Azure-Diensten integriert werden. Ein Beispielanwendungsfall ist die Verwendung einer Logic App, um eine Azure Function als Reaktion auf bestimmte Ereignisse, wie Änderungen in einem Azure Storage-Konto, auszulösen, was eine dynamische Datenverarbeitung ermöglicht.
### Visualisieren einer LogicAPP
@@ -25,7 +25,7 @@ oder den Code im Abschnitt "**Logic app code view**" zu überprüfen.
### SSRF-Schutz
Selbst wenn Sie die **Logic App anfällig für SSRF** finden, können Sie die Anmeldeinformationen aus den Metadaten nicht abrufen, da Logic Apps dies nicht zulässt.
Selbst wenn Sie die **Logic App anfällig für SSRF** finden, können Sie nicht auf die Anmeldeinformationen aus den Metadaten zugreifen, da Logic Apps dies nicht zulässt.
Zum Beispiel wird etwas wie dies das Token nicht zurückgeben:
```bash
@@ -37,9 +37,9 @@ curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e9741
Es gibt mehrere Hosting-Optionen:
* **Consumption**
- **Multi-tenant**: bietet gemeinsame Rechenressourcen, arbeitet in der öffentlichen Cloud und folgt einem Preismodell nach Nutzung. Dies ist ideal für leichte und kosteneffiziente Workloads. Dies implementiert einen "Single Workflow".
- **Multi-tenant**: bietet gemeinsame Rechenressourcen, arbeitet in der öffentlichen Cloud und folgt einem Preismodell pro Operation. Dies ist ideal für leichte und kosteneffektive Workloads. Dies implementiert einen "Single Workflow".
* **Standard**
- **Workflow Service Plan**: dedizierte Rechenressourcen mit VNET-Integration für Netzwerke und berechnet pro Instanz des Workflow-Serviceplans. Es ist geeignet für anspruchsvollere Workloads, die mehr Kontrolle erfordern.
- **Workflow Service Plan**: dedizierte Rechenressourcen mit VNET-Integration für Netzwerke und berechnet pro Instanz des Workflow-Service-Plans. Es ist geeignet für anspruchsvollere Workloads, die mehr Kontrolle erfordern.
- **App Service Environment V3**: dedizierte Rechenressourcen mit vollständiger Isolation und Skalierbarkeit. Es integriert sich auch mit VNET für Netzwerke und verwendet ein Preismodell basierend auf App Service-Instanzen innerhalb der Umgebung.
- **Hybrid**: entworfen für lokale Verarbeitung und Multi-Cloud-Unterstützung. Es ermöglicht kundenverwaltete Rechenressourcen mit lokalem Netzwerkzugang und nutzt Kubernetes Event-Driven Autoscaling (KEDA). Es basiert auf einer Container App Connected Environment.
@@ -51,9 +51,9 @@ Es gibt mehrere Hosting-Optionen:
### "Single" Workflows
Ein **Workflow** ist eine strukturierte Abfolge automatisierter Schritte oder Aufgaben, die einen bestimmten Prozess oder ein Ziel ausführen. Er definiert, wie verschiedene Aktionen, Bedingungen und Entscheidungen interagieren, um ein gewünschtes Ergebnis zu erzielen, wodurch die Abläufe optimiert und der manuelle Aufwand reduziert wird. Workflows können mehrere Systeme integrieren, Ereignisse und Regeln auslösen und gewährleisten Konsistenz und Effizienz in Prozessen.
Ein **Workflow** ist eine strukturierte Abfolge automatisierter Schritte oder Aufgaben, die einen bestimmten Prozess oder ein Ziel ausführen. Er definiert, wie verschiedene Aktionen, Bedingungen und Entscheidungen interagieren, um ein gewünschtes Ergebnis zu erzielen, wodurch die Abläufe optimiert und der manuelle Aufwand reduziert wird. Workflows können mehrere Systeme integrieren, Ereignisse und Regeln auslösen und gewährleisten Konsistenz und Effizienz in den Prozessen.
Azure Logic Apps bietet die Funktionalität, **einen einzelnen Workflow zu erstellen, ohne dass eine Logic App** selbst erforderlich ist.
Azure Logic Apps bietet die Funktionalität, **einen einzelnen Workflow ohne die Notwendigkeit einer Logic App** selbst zu erstellen.
Jeder Workflow hat unterschiedliche **Trigger**. Diese Trigger sind die Schritte, die der Workflow befolgt. Jeder Trigger hat seine Parameter, die je nach Art des Triggers variieren können:
- Verbindungsname
@@ -64,12 +64,12 @@ Trigger haben auch verschiedene Einstellungen:
- Parallelitätskontrolle: Begrenzung der Anzahl paralleler Ausführungen.
- Triggerbedingungen: Bedingungen, die erfüllt sein müssen, bevor der Trigger ausgelöst wird.
- Netzwerk: Konfiguriert die Chunk-Größe für den Datentransfer und ermöglicht das Unterdrücken von Workflow-Headern in Antworten.
- **Sicherheit**: Ermöglicht **sichere Eingaben/Ausgaben, um** sensible Daten in Protokollen und Ausgaben zu verbergen.
- **Sicherheit**: Aktiviert **sichere Eingaben/Ausgaben, um** sensible Daten in Protokollen und Ausgaben zu verbergen.
**Einstellungen & API-Verbindungen:**
Ein Workflow hat verschiedene Einstellungen wie:
- Erlaubte eingehende IP-Adressen: Diese Einstellung ermöglicht es Ihnen, einzuschränken, wer Ihre Logic App auslösen oder starten kann. Die Optionen sind Jede IP, Nur andere Logic Apps und Bestimmte IP-Bereiche.
- Erlaubte eingehende IP-Adressen: Diese Einstellung ermöglicht es Ihnen, einzuschränken, wer Ihre Logic App auslösen oder starten kann. Die Optionen sind Any IP, nur andere Logic Apps und spezifische IP-Bereiche.
- Integrationskonto: Hier können Sie Ihre Logic App mit einem Integrationskonto verknüpfen.
- Hohe Durchsatzrate: Diese Einstellung ermöglicht es Ihrer Logic App, mehr Anfragen schnell zu bearbeiten.
- Aufbewahrung der Ausführungshistorie: wie lange die Historie der Ausführungen Ihrer Logic App aufbewahrt wird.
@@ -82,7 +82,7 @@ Es gibt die Option, auf die **Historie** der verschiedenen Ausführungen zuzugre
Es gibt auch die Option, auf verschiedene **Versionen** des Workflows zuzugreifen, wo Sie den Code überprüfen und den aktuellen Workflow mit einer älteren Version davon ändern können.
**Autorisierung:**
Azure Logic Apps unterstützen **Autorisierungsrichtlinien** mit Entra ID, um anforderungsbasierte Trigger zu sichern, indem ein gültiges Zugriffstoken erforderlich ist. Dieses Token muss bestimmte Ansprüche enthalten:
Azure Logic Apps unterstützen **Autorisierungsrichtlinien** mit Entra ID, um anforderungsbasierte Trigger zu sichern, indem ein gültiges Zugriffstoken erforderlich ist. Dieses Token muss spezifische Ansprüche enthalten:
- Aussteller (iss), um den Identitätsanbieter zu überprüfen
- Zielgruppe (aud), um sicherzustellen, dass das Token für die Logic App bestimmt ist
- Subjekt (sub), um den Anrufer zu identifizieren
@@ -92,7 +92,7 @@ Azure Logic Apps unterstützen **Autorisierungsrichtlinien** mit Entra ID, um an
Wenn eine Anfrage empfangen wird, validiert Logic Apps das Token anhand dieser Ansprüche und erlaubt die Ausführung nur, wenn sie mit der konfigurierten Richtlinie übereinstimmen. Dies kann verwendet werden, um einem anderen Mandanten zu erlauben, den Workflow auszulösen, oder um Trigger von anderen Quellen abzulehnen, zum Beispiel nur den Trigger zuzulassen, wenn er von https://login.microsoftonline.com/ kommt.
**Zugriffsschlüssel:**
Wenn Sie einen anforderungsbasierten Trigger zum ersten Mal speichern, erstellt Logic Apps automatisch einen eindeutigen Endpunkt mit einer SAS-Signatur (erstellt aus dem Zugriffsschlüssel), die die Berechtigung zum Aufrufen des Workflows gewährt. Diese SAS-Signatur ist in der URL des Triggers eingebettet. Dieser Schlüssel kann regeneriert werden und gibt eine neue SAS-Signatur, aber die Schlüssel können nicht aufgelistet werden.
Wenn Sie einen anforderungsbasierten Trigger zum ersten Mal speichern, erstellt Logic Apps automatisch einen eindeutigen Endpunkt mit einer SAS-Signatur (erstellt aus dem Zugriffsschlüssel), die die Berechtigung zum Aufrufen des Workflows gewährt. Diese SAS-Signatur ist in der URL des Triggers eingebettet. Dieser Schlüssel kann regeneriert werden und es wird eine neue SAS-Signatur erstellt, aber die Schlüssel können nicht aufgelistet werden.
Die URL, um ihn mit dem Zugriffsschlüssel aufzurufen:
@@ -211,7 +211,7 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
* Assemblies: Verwaltet Integrationskonten-Assemblies, um Logik und Datenverarbeitung zu optimieren.
* Zertifikate: Verwaltet Zertifikate zur Verschlüsselung und Signierung von Nachrichten, um eine sichere Kommunikation zu gewährleisten.
* Partner: Verwaltet Informationen über Handelspartner für B2B-Transaktionen und ermöglicht nahtlose Integrationen.
* Vereinbarungen: Konfigurieren Sie Regeln und Einstellungen für den Datenaustausch mit Handelspartnern (z. B. EDI, AS2).
* Vereinbarungen: Konfigurieren Sie Regeln und Einstellungen für den Austausch von Daten mit Handelspartnern (z. B. EDI, AS2).
* Batch-Konfigurationen: Verwaltet Batch-Verarbeitungs-Konfigurationen, um Nachrichten effizient zu gruppieren und zu verarbeiten.
* RosettaNet PIP: Konfigurieren Sie RosettaNet Partner Interface Processes (PIPs), um die B2B-Kommunikation zu standardisieren.
@@ -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
@@ -315,7 +315,7 @@ Get-AzIntegrationAccountSchema -ResourceGroupName <resource-group-name> -Integra
{{#endtabs }}
## Privilegienerhöhung
## Privilegienerweiterung
Gleich wie bei Logic Apps Privesc: