From 4265a8a4e7e88d1d83ac0cd1e8121b3e63335c50 Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 12 Feb 2025 13:50:32 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-services/az-automati --- .../az-services/az-automation-accounts.md | 28 ++++++++-------- .../az-services/az-container-instances.md | 8 ++--- .../az-services/az-container-registry.md | 32 +++++++++---------- theme/ht_searcher.js | 4 +-- 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md b/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md index 58ebd402c..b93b2af02 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md +++ b/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md @@ -1,10 +1,10 @@ # Az - Automatisierungskonten -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} ## Grundinformationen -Azure Automatisierungskonten sind cloudbasierte Dienste in Microsoft Azure, die helfen, **Aufgaben zu automatisieren** wie Ressourcenmanagement, Konfiguration und Updates in Azure und vor Ort. Sie bieten **Runbooks** (Skripte zur Automatisierung, die ausgeführt werden), **Zeitpläne** und **hybride Arbeitsgruppen**, um Automatisierungs-**Jobs** auszuführen, was Infrastruktur als Code (IaC) und Prozessautomatisierung für verbesserte Effizienz und Konsistenz beim Management von Cloud-Ressourcen ermöglicht. +Azure Automatisierungskonten sind cloudbasierte Dienste in Microsoft Azure, die helfen, **Aufgaben zu automatisieren**, wie z.B. Ressourcenmanagement, Konfiguration und Updates in Azure und vor Ort. Sie bieten **Runbooks** (Skripte zur Automatisierung, die ausgeführt werden), **Zeitpläne** und **hybride Arbeitsgruppen**, um Automatisierungs-**Jobs** auszuführen, was Infrastruktur als Code (IaC) und Prozessautomatisierung für verbesserte Effizienz und Konsistenz beim Management von Cloud-Ressourcen ermöglicht. ### Einstellungen @@ -38,13 +38,13 @@ Es gibt 3 Hauptmethoden, um ein Runbook auszuführen: ### Quellcodeverwaltung -Es ermöglicht das Importieren von Runbooks aus **Github, Azure Devops (Git) und Azure Devops (TFVC)**. Es ist möglich, anzugeben, dass die Runbooks des Repos im Azure Automatisierungskonto veröffentlicht werden sollen, und es ist auch möglich, anzugeben, dass die **Änderungen vom Repo** mit dem Azure Automatisierungskonto **synchronisiert** werden sollen. +Es ermöglicht das Importieren von Runbooks aus **Github, Azure Devops (Git) und Azure Devops (TFVC)**. Es ist möglich, anzugeben, dass die Runbooks des Repos in das Azure Automatisierungskonto veröffentlicht werden sollen, und es ist auch möglich, anzugeben, dass die **Änderungen vom Repo** in das Azure Automatisierungskonto **synchronisiert** werden sollen. -Wenn die Synchronisierung aktiviert ist, wird im **Github-Repository ein Webhook erstellt**, um die Synchronisierung jedes Mal auszulösen, wenn ein Push-Ereignis auftritt. Beispiel einer Webhook-URL: `https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=DRjQyFiOrUtz%2fw7o23XbDpOlTe1%2bUqPQm4pQH2WBfJg%3d` +Wenn die Synchronisierung aktiviert ist, wird im **Github-Repository ein Webhook erstellt**, um die Synchronisierung jedes Mal auszulösen, wenn ein Push-Ereignis auftritt. Beispiel für eine Webhook-URL: `https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=DRjQyFiOrUtz%2fw7o23XbDpOlTe1%2bUqPQm4pQH2WBfJg%3d` Beachten Sie, dass diese Webhooks **nicht sichtbar sein werden**, wenn Webhooks in den zugehörigen Runbooks zum Github-Repo aufgelistet werden. Beachten Sie auch, dass es **nicht möglich ist, die Repo-URL** einer Quellcodeverwaltung zu ändern, sobald sie erstellt wurde. -Damit die konfigurierte Quellcodeverwaltung funktioniert, muss das **Azure Automatisierungskonto** eine verwaltete Identität (System oder Benutzer) mit der Rolle **`Contributor`** haben. Darüber hinaus ist es erforderlich, die Client-ID der Benutzer-MI in der Variablen **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** anzugeben, um eine benutzerdefinierte verwaltete Identität dem Automatisierungskonto zuzuweisen. +Damit die konfigurierte Quellcodeverwaltung funktioniert, muss das **Azure Automatisierungskonto** eine verwaltete Identität (System oder Benutzer) mit der Rolle **`Contributor`** haben. Darüber hinaus muss zur Zuweisung einer benutzerdefinierten verwalteten Identität zum Automatisierungskonto die Client-ID der Benutzer-MI in der Variablen **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** angegeben werden. ### Laufzeitumgebungen @@ -61,26 +61,26 @@ Es ist jedoch auch möglich, **eigene Umgebungen zu erstellen**, indem eine dies ### Hybride Arbeitsgruppen -In Azure Automation ist die Standardausführungsumgebung für Runbooks die **Azure Sandbox**, eine cloudbasierte Plattform, die von Azure verwaltet wird und sich für Aufgaben mit Azure-Ressourcen eignet. Diese Sandbox hat jedoch Einschränkungen, wie eingeschränkten Zugriff auf lokale Ressourcen und Beschränkungen hinsichtlich der Ausführungszeit und Ressourcennutzung. Um diese Einschränkungen zu überwinden, werden hybride Arbeitsgruppen eingesetzt. Eine hybride Arbeitsgruppe besteht aus **einem oder mehreren Hybrid Runbook Workers, die auf Ihren eigenen Maschinen installiert sind**, sei es vor Ort, in anderen Cloud-Umgebungen oder Azure-VMs. Diese Konfiguration ermöglicht es Runbooks, direkt auf diesen Maschinen ausgeführt zu werden, was direkten Zugriff auf lokale Ressourcen, die Möglichkeit, längere und ressourcenintensive Aufgaben auszuführen, und die Flexibilität bietet, mit Umgebungen außerhalb von Azures unmittelbarem Zugriff zu interagieren. +In Azure Automation ist die Standardausführungsumgebung für Runbooks die **Azure Sandbox**, eine cloudbasierte Plattform, die von Azure verwaltet wird und sich für Aufgaben mit Azure-Ressourcen eignet. Diese Sandbox hat jedoch Einschränkungen, wie z.B. eingeschränkten Zugriff auf lokale Ressourcen und Beschränkungen hinsichtlich der Ausführungszeit und Ressourcennutzung. Um diese Einschränkungen zu überwinden, werden hybride Arbeitsgruppen eingesetzt. Eine hybride Arbeitsgruppe besteht aus **einem oder mehreren Hybrid Runbook Workers, die auf Ihren eigenen Maschinen installiert sind**, sei es vor Ort, in anderen Cloud-Umgebungen oder Azure-VMs. Diese Konfiguration ermöglicht es Runbooks, direkt auf diesen Maschinen ausgeführt zu werden, was direkten Zugriff auf lokale Ressourcen, die Möglichkeit, längere und ressourcenintensive Aufgaben auszuführen, und die Flexibilität bietet, mit Umgebungen über den unmittelbaren Zugriff von Azure hinaus zu interagieren. Wenn eine hybride Arbeitsgruppe erstellt wird, müssen die **Anmeldeinformationen** angegeben werden, die verwendet werden sollen. Es gibt 2 Optionen: - **Standardanmeldeinformationen**: Sie müssen die Anmeldeinformationen nicht angeben, und die Runbooks werden innerhalb der VMs als **System** ausgeführt. -- **Spezifische Anmeldeinformationen**: Sie müssen den Namen des Anmeldeinformationsobjekts im Automatisierungskonto angeben, das zur Ausführung der **Runbooks innerhalb der VMs** verwendet wird. Daher könnte es in diesem Fall möglich sein, **gültige Anmeldeinformationen** für die VMs zu **stehlen**. +- **Spezifische Anmeldeinformationen**: Sie müssen den Namen des Anmeldeinformationsobjekts im Automatisierungskonto angeben, das verwendet wird, um die **Runbooks innerhalb der VMs** auszuführen. Daher könnte es in diesem Fall möglich sein, **gültige Anmeldeinformationen** für die VMs zu **stehlen**. -Wenn Sie also wählen können, ein **Runbook** in einem **Hybrid Worker** auszuführen, führen Sie **willkürliche Befehle** auf einer externen Maschine als **System** aus (schöne Pivot-Technik). +Wenn Sie also wählen können, ein **Runbook** in einem **hybriden Worker** auszuführen, führen Sie **willkürliche Befehle** auf einer externen Maschine als **System** aus (schöne Pivot-Technik). Darüber hinaus, wenn der hybride Worker in Azure mit anderen verwalteten Identitäten ausgeführt wird, hat das Runbook Zugriff auf die **verwaltete Identität des Runbooks und alle verwalteten Identitäten der VM aus dem Metadatenservice**. > [!TIP] -> Denken Sie daran, dass der **Metadatenservice** eine andere URL hat (**`http://169.254.169.254`**) als der Dienst, von dem das Token der verwalteten Identitäten des Automatisierungskontos abgerufen wird (**`IDENTITY_ENDPOINT`**). +> Denken Sie daran, dass der **Metadatenservice** eine andere URL hat (**`http://169.254.169.254`**) als der Dienst, von dem das Token der verwalteten Identität des Automatisierungskontos abgerufen wird (**`IDENTITY_ENDPOINT`**). ### Statuskonfiguration (SC) ->[!WARNING] -> Wie in [den Dokumenten](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview) angegeben, wird Azure Automation State Configuration am 30. September 2027 eingestellt und durch [Azure Machine Configuration](https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview) ersetzt. +> [!WARNING] +> Wie in [den Dokumenten](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview) angegeben, wird die Azure Automation Statuskonfiguration am 30. September 2027 eingestellt und durch [Azure Machine Configuration](https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview) ersetzt. -Automatisierungskonten unterstützen auch **Statuskonfiguration (SC)**, eine Funktion, die hilft, den **Zustand** Ihrer VMs zu **konfigurieren** und **aufrechtzuerhalten**. Es ist möglich, DSC-Konfigurationen für **Windows**- und **Linux**-Maschinen zu **erstellen** und **anzuwenden**. +Automatisierungskonten unterstützen auch **Statuskonfiguration (SC)**, eine Funktion, die hilft, den **Zustand** Ihrer VMs zu **konfigurieren** und **aufrechtzuerhalten**. Es ist möglich, DSC-Konfigurationen für **Windows** und **Linux**-Maschinen zu **erstellen** und **anzuwenden**. Aus der Perspektive eines Angreifers war dies interessant, da es ermöglichte, **willkürlichen PS-Code in allen konfigurierten VMs auszuführen**, was eine Eskalation der Berechtigungen zu den verwalteten Identitäten dieser VMs ermöglichte, was potenziell zu neuen Netzwerken führen könnte... Außerdem könnten die Konfigurationen **sensible Informationen** enthalten. @@ -226,7 +226,7 @@ Get-AzAutomationAccount | Get-AzAutomationPython3Package # List hybrid workers Get-AzAutomationHybridWorkerGroup -AutomationAccountName -ResourceGroupName ``` -## Privilegieneskalation & Nach der Ausnutzung +## Privilegienerweiterung & Nachausnutzung {{#ref}} ../az-privilege-escalation/az-automation-accounts-privesc.md @@ -238,4 +238,4 @@ Get-AzAutomationHybridWorkerGroup -AutomationAccountName -R - [https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview) - [https://github.com/rootsecdev/Azure-Red-Team#runbook-automation](https://github.com/rootsecdev/Azure-Red-Team#runbook-automation) -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-services/az-container-instances.md b/src/pentesting-cloud/azure-security/az-services/az-container-instances.md index c285dcff6..6646682eb 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-container-instances.md +++ b/src/pentesting-cloud/azure-security/az-services/az-container-instances.md @@ -1,12 +1,12 @@ # Az - Container Instances -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} ## Grundinformationen Azure Container Instances (ACI) bieten eine **serverlose, bedarfsorientierte Möglichkeit**, **Container** in der Azure-Cloud auszuführen. Sie können **einzelne oder mehrere Container** in einer Gruppe mit **skalierbarer Rechenleistung**, **Netzwerkoptionen** und der Flexibilität, sich mit **anderen Azure-Diensten** (wie Storage, Virtuellen Netzwerken oder Container-Registrierungen) zu verbinden, **bereitstellen**. -Da es sich um **ephemere** Workloads handelt, müssen Sie die zugrunde liegende VM-Infrastruktur nicht verwalten — Azure kümmert sich darum für Sie. Aus einer **offensiven Sicherheits-Perspektive** ist es jedoch entscheidend zu verstehen, wie **Berechtigungen**, **Identitäten**, **Netzwerkkonfigurationen** und **Protokolle** Angriffsflächen und potenzielle Fehlkonfigurationen aufdecken können. +Da es sich um **ephemere** Workloads handelt, müssen Sie die zugrunde liegende VM-Infrastruktur nicht verwalten — Azure kümmert sich darum für Sie. Aus einer **offensiven Sicherheits-Perspektive** ist es jedoch entscheidend zu verstehen, wie **Berechtigungen**, **Identitäten**, **Netzwerkkonfigurationen** und **Protokolle** Angriffsflächen und potenzielle Fehlkonfigurationen offenbaren können. ### Konfigurationen @@ -22,10 +22,10 @@ Da es sich um **ephemere** Workloads handelt, müssen Sie die zugrunde liegende - **Befehlszeile zum Ausführen** - ... -## Aufzählung +## Enumeration > [!WARNING] -> Bei der Aufzählung von ACI können Sie sensible Konfigurationen wie **Umgebungsvariablen**, **Netzwerkdetails** oder **verwaltete Identitäten** aufdecken. Seien Sie vorsichtig beim Protokollieren oder Anzeigen dieser. +> Bei der Enumeration von ACI können Sie sensible Konfigurationen wie **Umgebungsvariablen**, **Netzwerkdetails** oder **verwaltete Identitäten** offenbaren. Seien Sie vorsichtig beim Protokollieren oder Anzeigen dieser. ```bash # List all container instances in the subscription az container list diff --git a/src/pentesting-cloud/azure-security/az-services/az-container-registry.md b/src/pentesting-cloud/azure-security/az-services/az-container-registry.md index 2fbf73485..ee06cef77 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-container-registry.md +++ b/src/pentesting-cloud/azure-security/az-services/az-container-registry.md @@ -1,6 +1,6 @@ # Az - Container Registry -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} ## Grundinformationen @@ -12,27 +12,27 @@ Dies sind die **verschiedenen Berechtigungen** [laut den Dokumenten](https://lea - Zugriff auf den Resource Manager - Erstellen/Löschen von Registries -- Bild hochladen -- Bild herunterladen +- Image pushen +- Image pullen - Bilddaten löschen - Richtlinien ändern -- Bilder signieren +- Images signieren Es gibt auch einige **vordefinierte Rollen**, die zugewiesen werden können, und es ist auch möglich, **benutzerdefinierte Rollen** zu erstellen. -![]() +![](/images/registry_roles.png) ### Authentifizierung > [!WARNING] -> Es ist sehr wichtig, dass Sie, auch wenn der Registrierungsname einige Großbuchstaben enthält, immer **Kleinbuchstaben** verwenden, um sich anzumelden, Bilder hochzuladen und herunterzuladen. +> Es ist sehr wichtig, dass Sie, auch wenn der Registrierungsname einige Großbuchstaben enthält, immer **Kleinbuchstaben** verwenden, um sich anzumelden, Images zu pushen und zu pullen. Es gibt 4 Möglichkeiten, sich bei einem ACR zu authentifizieren: -- **Mit Entra ID**: Dies ist die **Standard**-Methode zur Authentifizierung bei einem ACR. Es verwendet den Befehl **`az acr login`**, um sich beim ACR zu authentifizieren. Dieser Befehl **speichert die Anmeldeinformationen** in der **`~/.docker/config.json`**-Datei. Darüber hinaus, wenn Sie diesen Befehl aus einer Umgebung ohne Zugriff auf einen Docker-Socket wie in einer **Cloud-Shell** ausführen, ist es möglich, das **`--expose-token`**-Flag zu verwenden, um das **Token** zur Authentifizierung beim ACR zu erhalten. Um sich zu authentifizieren, müssen Sie als Benutzernamen `00000000-0000-0000-0000-000000000000` verwenden, wie: `docker login myregistry.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password-stdin <<< $TOKEN` +- **Mit Entra ID**: Dies ist die **Standard**-Methode zur Authentifizierung bei einem ACR. Es verwendet den **`az acr login`** Befehl, um sich beim ACR zu authentifizieren. Dieser Befehl **speichert die Anmeldeinformationen** in der **`~/.docker/config.json`** Datei. Darüber hinaus, wenn Sie diesen Befehl aus einer Umgebung ohne Zugriff auf einen Docker-Socket wie in einer **Cloud-Shell** ausführen, ist es möglich, das **`--expose-token`** Flag zu verwenden, um das **Token** zur Authentifizierung beim ACR zu erhalten. Um sich zu authentifizieren, müssen Sie als Benutzernamen `00000000-0000-0000-0000-000000000000` verwenden, wie: `docker login myregistry.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password-stdin <<< $TOKEN` - **Mit einem Administratorkonto**: Der Administratorkonto ist standardmäßig deaktiviert, kann jedoch aktiviert werden, und dann ist es möglich, auf die Registry mit dem **Benutzernamen** und **Passwort** des Administratorkontos mit vollständigen Berechtigungen für die Registry zuzugreifen. Dies wird weiterhin unterstützt, da einige Azure-Dienste es verwenden. Beachten Sie, dass für diesen Benutzer **2 Passwörter** erstellt werden und beide gültig sind. Sie können es mit `az acr update -n --admin-enabled true` aktivieren. Beachten Sie, dass der Benutzername normalerweise der Registrierungsname ist (und nicht `admin`). - **Mit einem Token**: Es ist möglich, ein **Token** mit einem **spezifischen `scope map`** (Berechtigungen) zu erstellen, um auf die Registry zuzugreifen. Dann ist es möglich, diesen Token-Namen als Benutzernamen und eines der generierten Passwörter zur Authentifizierung bei der Registry mit `docker login -u -p aregistry-url>` zu verwenden. -- **Mit einem Dienstprinzipal**: Es ist möglich, einen **Dienstprinzipal** zu erstellen und eine Rolle wie **`AcrPull`** zuzuweisen, um Bilder herunterzuladen. Dann ist es möglich, sich mit der SP-App-ID als Benutzernamen und einem generierten Geheimnis als Passwort bei der Registry anzumelden. +- **Mit einem Dienstprinzipal**: Es ist möglich, einen **Dienstprinzipal** zu erstellen und eine Rolle wie **`AcrPull`** zuzuweisen, um Images zu pullen. Dann ist es möglich, sich mit der SP appId als Benutzernamen und einem generierten Geheimnis als Passwort bei der Registry anzumelden. Beispielskript aus den [Dokumenten](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-auth-service-principal) zur Erstellung eines SP mit Zugriff auf eine Registry: ```bash @@ -67,21 +67,21 @@ Die Funktion **Soft-Delete** ermöglicht es Ihnen, ein **gelöschtes Registry** ### Webhooks -Es ist möglich, **Webhooks** innerhalb von Registries zu **erstellen**. In diesem Webhook muss die URL angegeben werden, an die eine **Anfrage gesendet wird, wann immer eine Push- oder Löschaktion durchgeführt wird**. Darüber hinaus können Webhooks einen Geltungsbereich angeben, um die Repositories (Images) zu kennzeichnen, die betroffen sein werden. Zum Beispiel bedeutet 'foo:*', dass Ereignisse im Repository 'foo' stattfinden. +Es ist möglich, **Webhooks** innerhalb von Registries zu **erstellen**. In diesem Webhook muss die URL angegeben werden, an die eine **Anfrage gesendet wird, wann immer eine Push- oder Löschaktion durchgeführt wird**. Darüber hinaus können Webhooks einen Geltungsbereich angeben, um die Repositories (Images) zu kennzeichnen, die betroffen sind. Zum Beispiel bedeutet 'foo:\*', dass Ereignisse unter dem Repository 'foo' stattfinden. Aus der Perspektive eines Angreifers ist es interessant, dies **vor der Durchführung einer Aktion** im Registry zu überprüfen und es vorübergehend zu entfernen, wenn nötig, um eine Entdeckung zu vermeiden. ### Verbundene Registries -Dies ermöglicht im Wesentlichen, die **Images** von einem Registry zu einem anderen, normalerweise lokal, zu **spiegeln**. +Dies ermöglicht im Wesentlichen, die **Images** von einem Registry zu einem anderen zu **spiegeln**, der sich normalerweise vor Ort befindet. -Es hat 2 Modi: **ReadOnly** und **ReadWrite**. Im ersten Modus werden die Images nur **von** dem Quell-Registry **abgerufen**, und im zweiten Modus können Images auch **in** das Quell-Registry **hochgeladen** werden. +Es hat 2 Modi: **ReadOnly** und **ReadWrite**. Im ersten Modus werden die Images nur **von** dem Quell-Registry **gezogen**, und im zweiten Modus können Images auch **zum** Quell-Registry **geschoben** werden. Damit Clients auf das Registry von Azure aus zugreifen können, wird ein **Token** generiert, wenn das verbundene Registry verwendet wird. ### Ausführungen & Aufgaben -Ausführungen & Aufgaben ermöglichen es, in Azure containerbezogene Aktionen auszuführen, die Sie normalerweise lokal oder in einer CI/CD-Pipeline durchführen mussten. Zum Beispiel können Sie **Images im Registry erstellen, hochladen und ausführen**. +Ausführungen & Aufgaben ermöglichen es, in Azure containerbezogene Aktionen auszuführen, die Sie normalerweise lokal oder in einer CI/CD-Pipeline durchführen mussten. Zum Beispiel können Sie **Images im Registry erstellen, pushen und ausführen**. Der einfachste Weg, einen Container zu erstellen und auszuführen, ist die Verwendung einer regulären Ausführung: ```bash @@ -94,13 +94,13 @@ az acr run --registry mycontainerregistry008 --cmd '$Registry/sample/hello-world ``` Allerdings wird dies Ausführungen auslösen, die aus der Perspektive eines Angreifers nicht besonders interessant sind, da ihnen keine verwaltete Identität zugeordnet ist. -Allerdings können **Tasks** eine **system- und benutzerverwaltete Identität** zugeordnet haben. Diese Tasks sind die nützlichsten, um **Privilegien zu eskalieren** im Container. Im Abschnitt zur Eskalation von Privilegien ist es möglich zu sehen, wie man Tasks zur Eskalation von Privilegien verwendet. +Allerdings können **Tasks** eine **system- und benutzerverwaltete Identität** zugeordnet haben. Diese Tasks sind die nützlichsten, um **Privilegien zu eskalieren** im Container. Im Abschnitt zur Eskalation von Privilegien ist zu sehen, wie man Tasks zur Eskalation von Privilegien nutzen kann. ### Cache Die Cache-Funktion ermöglicht es, **Bilder aus einem externen Repository herunterzuladen** und die neuen Versionen im Registry zu speichern. Es erfordert, dass einige **Anmeldeinformationen konfiguriert** werden, indem die Anmeldeinformationen aus einem Azure Vault ausgewählt werden. -Dies ist aus der Perspektive eines Angreifers sehr interessant, da es ermöglicht, **zu einer externen Plattform zu pivotieren**, wenn der Angreifer über ausreichende Berechtigungen verfügt, um auf die Anmeldeinformationen zuzugreifen. **Bilder aus einem externen Repository herunterzuladen** und einen Cache zu konfigurieren, könnte auch als **Persistenzmechanismus** verwendet werden. +Dies ist aus der Perspektive eines Angreifers sehr interessant, da es ermöglicht, zu einer **externen Plattform zu pivotieren**, wenn der Angreifer genügend Berechtigungen hat, um auf die Anmeldeinformationen zuzugreifen. **Bilder aus einem externen Repository herunterzuladen** und einen Cache zu konfigurieren, könnte auch als **Persistenzmechanismus** verwendet werden. ## Enumeration @@ -143,7 +143,7 @@ az acr cache list --registry # Get cache details az acr cache show --name --registry ``` -## Privilegieneskalation & Nachausnutzung +## Privilegienerweiterung & Nachausnutzung {{#ref}} ../az-privilege-escalation/az-automation-accounts-privesc.md @@ -154,4 +154,4 @@ az acr cache show --name --registry - [https://learn.microsoft.com/en-us/azure/container-registry/container-registry-authentication?tabs=azure-cli](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-authentication?tabs=azure-cli) - [https://learn.microsoft.com/en-us/azure/container-registry/container-registry-roles?tabs=azure-cli#access-resource-manager](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-roles?tabs=azure-cli#access-resource-manager) -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} diff --git a/theme/ht_searcher.js b/theme/ht_searcher.js index 1cee01a8c..276bbfe6a 100644 --- a/theme/ht_searcher.js +++ b/theme/ht_searcher.js @@ -471,12 +471,12 @@ window.search = window.search || {}; showResults(true); } - fetch(path_to_root + 'searchindex.json') + fetch('https://raw.githubusercontent.com/HackTricks-wiki/hacktricks-cloud/refs/heads/master/searchindex.json') .then(response => response.json()) .then(json => init(json)) .catch(error => { // Try to load searchindex.js if fetch failed var script = document.createElement('script'); - script.src = path_to_root + 'searchindex.js'; + script.src = 'https://raw.githubusercontent.com/HackTricks-wiki/hacktricks-cloud/refs/heads/master/searchindex.js'; script.onload = () => init(window.search); document.head.appendChild(script); });