Translated ['.github/pull_request_template.md', 'src/pentesting-cloud/az

This commit is contained in:
Translator
2024-12-31 18:57:14 +00:00
parent 7770a50092
commit 77a009d308
244 changed files with 8632 additions and 11470 deletions

View File

@@ -1,6 +1 @@
# Az - Post Exploitation

View File

@@ -4,7 +4,7 @@
## Storage Privesc
For more information about storage check:
Für weitere Informationen über Storage siehe:
{{#ref}}
../az-services/az-storage.md
@@ -12,38 +12,30 @@ For more information about storage check:
### Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
A principal with this permission will be able to **list** the blobs (files) inside a container and **download** the files which might contain **sensitive information**.
Ein Principal mit dieser Berechtigung kann die **Blobs** (Dateien) innerhalb eines Containers **auflisten** und die Dateien **herunterladen**, die möglicherweise **sensible Informationen** enthalten.
```bash
# e.g. Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
az storage blob list \
--account-name <acc-name> \
--container-name <container-name> --auth-mode login
--account-name <acc-name> \
--container-name <container-name> --auth-mode login
az storage blob download \
--account-name <acc-name> \
--container-name <container-name> \
-n file.txt --auth-mode login
--account-name <acc-name> \
--container-name <container-name> \
-n file.txt --auth-mode login
```
### Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
A principal with this permission will be able to **write and overwrite files in containers** which might allow him to cause some damage or even escalate privileges (e.g. overwrite some code stored in a blob):
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):
```bash
# e.g. Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
az storage blob upload \
--account-name <acc-name> \
--container-name <container-name> \
--file /tmp/up.txt --auth-mode login --overwrite
--account-name <acc-name> \
--container-name <container-name> \
--file /tmp/up.txt --auth-mode login --overwrite
```
### \*/delete
This would allow to delete objects inside the storage account which might **interrupt some services** or make the client **lose valuable information**.
Dies würde es ermöglichen, Objekte im Speicheraccount zu löschen, was **einige Dienste unterbrechen** oder den Kunden **wertvolle Informationen verlieren** lassen könnte.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,9 +2,9 @@
{{#include ../../../banners/hacktricks-training.md}}
File Share Post Exploitation
Dateifreigabe Post-Exploitation
For more information about file shares check:
Für weitere Informationen zu Dateifreigaben siehe:
{{#ref}}
../az-services/az-file-shares.md
@@ -12,41 +12,33 @@ For more information about file shares check:
### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read
A principal with this permission will be able to **list** the files inside a file share and **download** the files which might contain **sensitive information**.
Ein Principal mit dieser Berechtigung kann die Dateien innerhalb einer Dateifreigabe **auflisten** und die Dateien **herunterladen**, die möglicherweise **sensible Informationen** enthalten.
```bash
# List files inside an azure file share
az storage file list \
--account-name <name> \
--share-name <share-name> \
--auth-mode login --enable-file-backup-request-intent
--account-name <name> \
--share-name <share-name> \
--auth-mode login --enable-file-backup-request-intent
# Download an specific file
az storage file download \
--account-name <name> \
--share-name <share-name> \
--path <filename-to-download> \
--dest /path/to/down \
--auth-mode login --enable-file-backup-request-intent
--account-name <name> \
--share-name <share-name> \
--path <filename-to-download> \
--dest /path/to/down \
--auth-mode login --enable-file-backup-request-intent
```
### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write, Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action
A principal with this permission will be able to **write and overwrite files in file shares** which might allow him to cause some damage or even escalate privileges (e.g. overwrite some code stored in a file share):
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):
```bash
az storage blob upload \
--account-name <acc-name> \
--container-name <container-name> \
--file /tmp/up.txt --auth-mode login --overwrite
--account-name <acc-name> \
--container-name <container-name> \
--file /tmp/up.txt --auth-mode login --overwrite
```
### \*/delete
This would allow to delete file inside the shared filesystem which might **interrupt some services** or make the client **lose valuable information**.
Dies würde es ermöglichen, Dateien im gemeinsamen Dateisystem zu löschen, was **einige Dienste unterbrechen** oder den Client **wertvolle Informationen verlieren** lassen könnte.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,18 +4,14 @@
## Funciton Apps Post Exploitaiton
For more information about function apps check:
Für weitere Informationen zu Function Apps siehe:
{{#ref}}
../az-services/az-function-apps.md
{{#endref}}
> [!CAUTION] > **Function Apps post exploitation tricks are very related to the privilege escalation tricks** so you can find all of them there:
> [!CAUTION] > **Die Tricks zur Post-Exploitation von Function Apps sind sehr eng mit den Tricks zur Privilegieneskalation verbunden**, daher finden Sie dort alle:
{{#ref}}
../az-privilege-escalation/az-functions-app-privesc.md
{{#endref}}

View File

@@ -4,7 +4,7 @@
## Azure Key Vault
For more information about this service check:
Für weitere Informationen zu diesem Dienst siehe:
{{#ref}}
../az-services/keyvault.md
@@ -12,27 +12,22 @@ For more information about this service check:
### Microsoft.KeyVault/vaults/secrets/getSecret/action
This permission will allow a principal to read the secret value of secrets:
Diese Berechtigung ermöglicht es einem Principal, den geheimen Wert von Geheimnissen zu lesen:
```bash
az keyvault secret show --vault-name <vault name> --name <secret name>
# Get old version secret value
az keyvault secret show --id https://<KeyVaultName>.vault.azure.net/secrets/<KeyVaultName>/<idOldVersion>
```
### **Microsoft.KeyVault/vaults/certificates/purge/action**
This permission allows a principal to permanently delete a certificate from the vault.
Diese Berechtigung ermöglicht es einem Principal, ein Zertifikat dauerhaft aus dem Tresor zu löschen.
```bash
az keyvault certificate purge --vault-name <vault name> --name <certificate name>
```
### **Microsoft.KeyVault/vaults/keys/encrypt/action**
This permission allows a principal to encrypt data using a key stored in the vault.
Diese Berechtigung ermöglicht es einem Principal, Daten mit einem im Tresor gespeicherten Schlüssel zu verschlüsseln.
```bash
az keyvault key encrypt --vault-name <vault name> --name <key name> --algorithm <algorithm> --value <value>
@@ -40,76 +35,55 @@ az keyvault key encrypt --vault-name <vault name> --name <key name> --algorithm
echo "HackTricks" | base64 # SGFja1RyaWNrcwo=
az keyvault key encrypt --vault-name testing-1231234 --name testing --algorithm RSA-OAEP-256 --value SGFja1RyaWNrcwo=
```
### **Microsoft.KeyVault/vaults/keys/decrypt/action**
This permission allows a principal to decrypt data using a key stored in the vault.
Diese Berechtigung ermöglicht es einem Principal, Daten mit einem im Tresor gespeicherten Schlüssel zu entschlüsseln.
```bash
az keyvault key decrypt --vault-name <vault name> --name <key name> --algorithm <algorithm> --value <value>
# Example
az keyvault key decrypt --vault-name testing-1231234 --name testing --algorithm RSA-OAEP-256 --value "ISZ+7dNcDJXLPR5MkdjNvGbtYK3a6Rg0ph/+3g1IoUrCwXnF791xSF0O4rcdVyyBnKRu0cbucqQ/+0fk2QyAZP/aWo/gaxUH55pubS8Zjyw/tBhC5BRJiCtFX4tzUtgTjg8lv3S4SXpYUPxev9t/9UwUixUlJoqu0BgQoXQhyhP7PfgAGsxayyqxQ8EMdkx9DIR/t9jSjv+6q8GW9NFQjOh70FCjEOpYKy9pEGdLtPTrirp3fZXgkYfIIV77TXuHHdR9Z9GG/6ge7xc9XT6X9ciE7nIXNMQGGVCcu3JAn9BZolb3uL7PBCEq+k2rH4tY0jwkxinM45tg38Re2D6CEA==" # This is the result from the previous encryption
```
### **Microsoft.KeyVault/vaults/keys/purge/action**
This permission allows a principal to permanently delete a key from the vault.
Diese Berechtigung ermöglicht es einem Principal, einen Schlüssel dauerhaft aus dem Tresor zu löschen.
```bash
az keyvault key purge --vault-name <vault name> --name <key name>
```
### **Microsoft.KeyVault/vaults/secrets/purge/action**
This permission allows a principal to permanently delete a secret from the vault.
Diese Berechtigung ermöglicht es einem Principal, ein Geheimnis dauerhaft aus dem Tresor zu löschen.
```bash
az keyvault secret purge --vault-name <vault name> --name <secret name>
```
### **Microsoft.KeyVault/vaults/secrets/setSecret/action**
This permission allows a principal to create or update a secret in the vault.
Diese Berechtigung ermöglicht es einem Principal, ein Geheimnis im Tresor zu erstellen oder zu aktualisieren.
```bash
az keyvault secret set --vault-name <vault name> --name <secret name> --value <secret value>
```
### **Microsoft.KeyVault/vaults/certificates/delete**
This permission allows a principal to delete a certificate from the vault. The certificate is moved to the "soft-delete" state, where it can be recovered unless purged.
Diese Berechtigung ermöglicht es einem Principal, ein Zertifikat aus dem Tresor zu löschen. Das Zertifikat wird in den "Soft-Delete"-Zustand versetzt, wo es wiederhergestellt werden kann, es sei denn, es wird gelöscht.
```bash
az keyvault certificate delete --vault-name <vault name> --name <certificate name>
```
### **Microsoft.KeyVault/vaults/keys/delete**
This permission allows a principal to delete a key from the vault. The key is moved to the "soft-delete" state, where it can be recovered unless purged.
Diese Berechtigung ermöglicht es einem Principal, einen Schlüssel aus dem Tresor zu löschen. Der Schlüssel wird in den Zustand "Soft-Delete" verschoben, wo er wiederhergestellt werden kann, es sei denn, er wird gelöscht.
```bash
az keyvault key delete --vault-name <vault name> --name <key name>
```
### **Microsoft.KeyVault/vaults/secrets/delete**
This permission allows a principal to delete a secret from the vault. The secret is moved to the "soft-delete" state, where it can be recovered unless purged.
Diese Berechtigung ermöglicht es einem Principal, ein Geheimnis aus dem Tresor zu löschen. Das Geheimnis wird in den Zustand "Soft-Delete" verschoben, wo es wiederhergestellt werden kann, es sei denn, es wird gelöscht.
```bash
az keyvault secret delete --vault-name <vault name> --name <secret name>
```
### Microsoft.KeyVault/vaults/secrets/restore/action
This permission allows a principal to restore a secret from a backup.
Diese Berechtigung ermöglicht es einem Principal, ein Geheimnis aus einem Backup wiederherzustellen.
```bash
az keyvault secret restore --vault-name <vault-name> --file <backup-file-path>
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,7 +4,7 @@
## Queue
For more information check:
Für weitere Informationen siehe:
{{#ref}}
../az-services/az-queue-enum.md
@@ -12,66 +12,53 @@ For more information check:
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
An attacker with this permission can peek messages from an Azure Storage Queue. This allows the attacker to view the content of messages without marking them as processed or altering their state. This could lead to unauthorized access to sensitive information, enabling data exfiltration or gathering intelligence for further attacks.
Ein Angreifer mit dieser Berechtigung kann Nachrichten aus einer Azure Storage Queue einsehen. Dies ermöglicht es dem Angreifer, den Inhalt von Nachrichten zu sehen, ohne sie als verarbeitet zu kennzeichnen oder ihren Status zu ändern. Dies könnte zu unbefugtem Zugriff auf sensible Informationen führen, was Datenexfiltration oder das Sammeln von Informationen für weitere Angriffe ermöglicht.
```bash
az storage message peek --queue-name <queue_name> --account-name <storage_account>
```
**Potential Impact**: Unauthorized access to the queue, message exposure, or queue manipulation by unauthorized users or services.
**Potenzielle Auswirkungen**: Unbefugter Zugriff auf die Warteschlange, Nachrichtenexposition oder Warteschlangenmanipulation durch unbefugte Benutzer oder Dienste.
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action`
With this permission, an attacker can retrieve and process messages from an Azure Storage Queue. This means they can read the message content and mark it as processed, effectively hiding it from legitimate systems. This could lead to sensitive data being exposed, disruptions in how messages are handled, or even stopping important workflows by making messages unavailable to their intended users.
Mit dieser Berechtigung kann ein Angreifer Nachrichten aus einer Azure Storage Queue abrufen und verarbeiten. Das bedeutet, dass sie den Nachrichteninhalt lesen und als verarbeitet markieren können, wodurch er effektiv vor legitimen Systemen verborgen wird. Dies könnte dazu führen, dass sensible Daten offengelegt werden, Störungen in der Nachrichtenverarbeitung auftreten oder sogar wichtige Arbeitsabläufe gestoppt werden, indem Nachrichten für die vorgesehenen Benutzer unzugänglich gemacht werden.
```bash
az storage message get --queue-name <queue_name> --account-name <storage_account>
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action`
With this permission, an attacker can add new messages to an Azure Storage Queue. This allows them to inject malicious or unauthorized data into the queue, potentially triggering unintended actions or disrupting downstream services that process the messages.
Mit dieser Berechtigung kann ein Angreifer neue Nachrichten zu einer Azure Storage Queue hinzufügen. Dies ermöglicht es ihnen, bösartige oder unautorisierte Daten in die Warteschlange einzufügen, was potenziell unbeabsichtigte Aktionen auslösen oder nachgelagerte Dienste stören kann, die die Nachrichten verarbeiten.
```bash
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write`
This permission allows an attacker to add new messages or update existing ones in an Azure Storage Queue. By using this, they could insert harmful content or alter existing messages, potentially misleading applications or causing undesired behaviors in systems that rely on the queue.
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.
```bash
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>
#Update the message
az storage message update --queue-name <queue-name> \
--id <message-id> \
--pop-receipt <pop-receipt> \
--content "Updated message content" \
--visibility-timeout <timeout-in-seconds> \
--account-name <storage-account>
--id <message-id> \
--pop-receipt <pop-receipt> \
--content "Updated message content" \
--visibility-timeout <timeout-in-seconds> \
--account-name <storage-account>
```
### Aktionen: `Microsoft.Storage/storageAccounts/queueServices/queues/delete`
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/delete`
This permission allows an attacker to delete queues within the storage account. By leveraging this capability, an attacker can permanently remove queues and all their associated messages, causing significant disruption to workflows and resulting in critical data loss for applications that rely on the affected queues. This action can also be used to sabotage services by removing essential components of the system.
Diese Berechtigung ermöglicht es einem Angreifer, Warteschlangen innerhalb des Speicherkontos zu löschen. Durch die Nutzung dieser Fähigkeit kann ein Angreifer Warteschlangen und alle damit verbundenen Nachrichten dauerhaft entfernen, was zu erheblichen Störungen der Arbeitsabläufe führt und zu kritischem Datenverlust für Anwendungen, die auf die betroffenen Warteschlangen angewiesen sind. Diese Aktion kann auch verwendet werden, um Dienste zu sabotieren, indem wesentliche Komponenten des Systems entfernt werden.
```bash
az storage queue delete --name <queue-name> --account-name <storage-account>
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/delete`
With this permission, an attacker can clear all messages from an Azure Storage Queue. This action removes all messages, disrupting workflows and causing data loss for systems dependent on the queue.
Mit dieser Berechtigung kann ein Angreifer alle Nachrichten aus einer Azure Storage Queue löschen. Diese Aktion entfernt alle Nachrichten, stört Arbeitsabläufe und verursacht Datenverlust für Systeme, die von der Queue abhängig sind.
```bash
az storage message clear --queue-name <queue-name> --account-name <storage-account>
```
### Aktionen: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
This permission allows an attacker to create or modify queues and their properties within the storage account. It can be used to create unauthorized queues, modify metadata, or change access control lists (ACLs) to grant or restrict access. This capability could disrupt workflows, inject malicious data, exfiltrate sensitive information, or manipulate queue settings to enable further attacks.
Diese Berechtigung ermöglicht es einem Angreifer, Warteschlangen und deren Eigenschaften innerhalb des Speicherkontos zu erstellen oder zu ändern. Sie kann verwendet werden, um unbefugte Warteschlangen zu erstellen, Metadaten zu ändern oder Zugriffssteuerungslisten (ACLs) zu ändern, um den Zugriff zu gewähren oder einzuschränken. Diese Fähigkeit könnte Arbeitsabläufe stören, bösartige Daten injizieren, sensible Informationen exfiltrieren oder Warteschlangeneinstellungen manipulieren, um weitere Angriffe zu ermöglichen.
```bash
az storage queue create --name <new-queue-name> --account-name <storage-account>
@@ -79,15 +66,10 @@ az storage queue metadata update --name <queue-name> --metadata key1=value1 key2
az storage queue policy set --name <queue-name> --permissions rwd --expiry 2024-12-31T23:59:59Z --account-name <storage-account>
```
## References
## Referenzen
- https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues
- https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api
- https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,89 +4,73 @@
## Service Bus
For more information check:
Für weitere Informationen siehe:
{{#ref}}
../az-services/az-servicebus-enum.md
{{#endref}}
### Actions: `Microsoft.ServiceBus/namespaces/Delete`
An attacker with this permission can delete an entire Azure Service Bus namespace. This action removes the namespace and all associated resources, including queues, topics, subscriptions, and their messages, causing widespread disruption and permanent data loss across all dependent systems and workflows.
### Aktionen: `Microsoft.ServiceBus/namespaces/Delete`
Ein Angreifer mit dieser Berechtigung kann einen gesamten Azure Service Bus-Namespace löschen. Diese Aktion entfernt den Namespace und alle zugehörigen Ressourcen, einschließlich Warteschlangen, Themen, Abonnements und deren Nachrichten, was zu weitreichenden Störungen und permanentem Datenverlust in allen abhängigen Systemen und Workflows führt.
```bash
az servicebus namespace delete --resource-group <ResourceGroupName> --name <NamespaceName>
```
### Aktionen: `Microsoft.ServiceBus/namespaces/topics/Delete`
### Actions: `Microsoft.ServiceBus/namespaces/topics/Delete`
An attacker with this permission can delete an Azure Service Bus topic. This action removes the topic and all its associated subscriptions and messages, potentially causing loss of critical data and disrupting systems and workflows relying on the topic.
Ein Angreifer mit dieser Berechtigung kann ein Azure Service Bus-Thema löschen. Diese Aktion entfernt das Thema sowie alle zugehörigen Abonnements und Nachrichten, was potenziell zu einem Verlust kritischer Daten führen und Systeme sowie Arbeitsabläufe, die auf das Thema angewiesen sind, stören kann.
```bash
az servicebus topic delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
```
### Aktionen: `Microsoft.ServiceBus/namespaces/queues/Delete`
### Actions: `Microsoft.ServiceBus/namespaces/queues/Delete`
An attacker with this permission can delete an Azure Service Bus queue. This action removes the queue and all the messages within it, potentially causing loss of critical data and disrupting systems and workflows dependent on the queue.
Ein Angreifer mit dieser Berechtigung kann eine Azure Service Bus-Warteschlange löschen. Diese Aktion entfernt die Warteschlange und alle darin enthaltenen Nachrichten, was möglicherweise zu einem Verlust kritischer Daten führt und Systeme sowie Arbeitsabläufe, die von der Warteschlange abhängen, stört.
```bash
az servicebus queue delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
```
### Aktionen: `Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete`
### Actions: `Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete`
An attacker with this permission can delete an Azure Service Bus subscription. This action removes the subscription and all its associated messages, potentially disrupting workflows, data processing, and system operations relying on the subscription.
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.
```bash
az servicebus topic subscription delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
```
### Aktionen: `Microsoft.ServiceBus/namespaces/write` & `Microsoft.ServiceBus/namespaces/read`
### Actions: `Microsoft.ServiceBus/namespaces/write` & `Microsoft.ServiceBus/namespaces/read`
An attacker with permissions to create or modify Azure Service Bus namespaces can exploit this to disrupt operations, deploy unauthorized resources, or expose sensitive data. They can alter critical configurations such as enabling public network access, downgrading encryption settings, or changing SKUs to degrade performance or increase costs. Additionally, they could disable local authentication, manipulate replica locations, or adjust TLS versions to weaken security controls, making namespace misconfiguration a significant post-exploitation risk.
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.
```bash
az servicebus namespace create --resource-group <ResourceGroupName> --name <NamespaceName> --location <Location>
az servicebus namespace update --resource-group <ResourceGroupName> --name <NamespaceName> --tags <Key=Value>
```
### Aktionen: `Microsoft.ServiceBus/namespaces/queues/write` (`Microsoft.ServiceBus/namespaces/queues/read`)
### Actions: `Microsoft.ServiceBus/namespaces/queues/write` (`Microsoft.ServiceBus/namespaces/queues/read`)
An attacker with permissions to create or modify Azure Service Bus queues (to modiffy the queue you will also need the Action:`Microsoft.ServiceBus/namespaces/queues/read`) can exploit this to intercept data, disrupt workflows, or enable unauthorized access. They can alter critical configurations such as forwarding messages to malicious endpoints, adjusting message TTL to retain or delete data improperly, or enabling dead-lettering to interfere with error handling. Additionally, they could manipulate queue sizes, lock durations, or statuses to disrupt service functionality or evade detection, making this a significant post-exploitation risk.
Ein Angreifer mit Berechtigungen zum Erstellen oder Ändern von Azure Service Bus-Warteschlangen (um die Warteschlange zu ändern, benötigen Sie auch die Aktion: `Microsoft.ServiceBus/namespaces/queues/read`) kann dies ausnutzen, um Daten abzufangen, Arbeitsabläufe zu stören oder unbefugten Zugriff zu ermöglichen. Sie können kritische Konfigurationen ändern, wie das Weiterleiten von Nachrichten an bösartige Endpunkte, das Anpassen der Nachrichten-TTL, um Daten unangemessen zu behalten oder zu löschen, oder das Aktivieren von Dead-Lettering, um die Fehlerbehandlung zu stören. Darüber hinaus könnten sie Warteschlangen Größen, Sperrdauern oder Status manipulieren, um die Funktionalität des Dienstes zu stören oder der Erkennung zu entkommen, was dies zu einem erheblichen Risiko nach der Ausnutzung macht.
```bash
az servicebus queue create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
az servicebus queue update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
```
### Aktionen: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`)
### Actions: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`)
An attacker with permissions to create or modify topics (to modiffy the topic you will also need the Action:`Microsoft.ServiceBus/namespaces/topics/read`) within an Azure Service Bus namespace can exploit this to disrupt message workflows, expose sensitive data, or enable unauthorized actions. Using commands like az servicebus topic update, they can manipulate configurations such as enabling partitioning for scalability misuse, altering TTL settings to retain or discard messages improperly, or disabling duplicate detection to bypass controls. Additionally, they could adjust topic size limits, change status to disrupt availability, or configure express topics to temporarily store intercepted messages, making topic management a critical focus for post-exploitation mitigation.
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.
```bash
az servicebus topic create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
az servicebus topic update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
```
### Aktionen: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`)
### Actions: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`)
An attacker with permissions to create or modify subscriptions (to modiffy the subscription you will also need the Action: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) within an Azure Service Bus topic can exploit this to intercept, reroute, or disrupt message workflows. Using commands like az servicebus topic subscription update, they can manipulate configurations such as enabling dead lettering to divert messages, forwarding messages to unauthorized endpoints, or modifying TTL and lock duration to retain or interfere with message delivery. Additionally, they can alter status or max delivery count settings to disrupt operations or evade detection, making subscription control a critical aspect of post-exploitation scenarios.
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.
```bash
az servicebus topic subscription create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
az servicebus topic subscription update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
```
### Aktionen: `AuthorizationRules` Nachrichten senden & empfangen
### Actions: `AuthorizationRules` Send & Recive Messages
Take a look here:
Schau dir das hier an:
{{#ref}}
../az-privilege-escalation/az-queue-privesc.md
{{#endref}}
## References
## Referenzen
- https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues
- https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api
@@ -97,7 +81,3 @@ Take a look here:
- https://learn.microsoft.com/en-us/cli/azure/servicebus/queue?view=azure-cli-latest
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,10 +1,10 @@
# Az - SQL Database Post Exploitation
# Az - SQL-Datenbank Post-Exploitation
{{#include ../../../banners/hacktricks-training.md}}
## SQL Database Post Exploitation
## SQL-Datenbank Post-Exploitation
For more information about SQL Database check:
Für weitere Informationen zur SQL-Datenbank siehe:
{{#ref}}
../az-services/az-sql.md
@@ -12,8 +12,7 @@ For more information about SQL Database check:
### "Microsoft.Sql/servers/databases/read", "Microsoft.Sql/servers/read" && "Microsoft.Sql/servers/databases/write"
With these permissions, an attacker can create and update databases within the compromised environment. This post-exploitation activity could allow an attacker to add malicious data, modify database configurations, or insert backdoors for further persistence, potentially disrupting operations or enabling additional malicious actions.
Mit diesen Berechtigungen kann ein Angreifer Datenbanken innerhalb der kompromittierten Umgebung erstellen und aktualisieren. Diese Post-Exploitation-Aktivität könnte es einem Angreifer ermöglichen, bösartige Daten hinzuzufügen, Datenbankkonfigurationen zu ändern oder Hintertüren für weitere Persistenz einzufügen, was potenziell den Betrieb stören oder zusätzliche bösartige Aktionen ermöglichen könnte.
```bash
# Create Database
az sql db create --resource-group <resource-group> --server <server-name> --name <new-database-name>
@@ -21,73 +20,63 @@ az sql db create --resource-group <resource-group> --server <server-name> --name
# Update Database
az sql db update --resource-group <resource-group> --server <server-name> --name <database-name> --max-size <max-size-in-bytes>
```
### "Microsoft.Sql/servers/elasticPools/write" && "Microsoft.Sql/servers/elasticPools/read"
With these permissions, an attacker can create and update elasticPools within the compromised environment. This post-exploitation activity could allow an attacker to add malicious data, modify database configurations, or insert backdoors for further persistence, potentially disrupting operations or enabling additional malicious actions.
Mit diesen Berechtigungen kann ein Angreifer elasticPools innerhalb der kompromittierten Umgebung erstellen und aktualisieren. Diese Post-Exploitation-Aktivität könnte es einem Angreifer ermöglichen, bösartige Daten hinzuzufügen, Datenbankkonfigurationen zu ändern oder Hintertüren für weitere Persistenz einzufügen, was potenziell den Betrieb stören oder zusätzliche bösartige Aktionen ermöglichen könnte.
```bash
# Create Elastic Pool
az sql elastic-pool create \
--name <new-elastic-pool-name> \
--server <server-name> \
--resource-group <resource-group> \
--edition <edition> \
--dtu <dtu-value>
--name <new-elastic-pool-name> \
--server <server-name> \
--resource-group <resource-group> \
--edition <edition> \
--dtu <dtu-value>
# Update Elastic Pool
az sql elastic-pool update \
--name <elastic-pool-name> \
--server <server-name> \
--resource-group <resource-group> \
--dtu <new-dtu-value> \
--tags <key=value>
--name <elastic-pool-name> \
--server <server-name> \
--resource-group <resource-group> \
--dtu <new-dtu-value> \
--tags <key=value>
```
### "Microsoft.Sql/servers/auditingSettings/read" && "Microsoft.Sql/servers/auditingSettings/write"
With this permission, you can modify or enable auditing settings on an Azure SQL Server. This could allow an attacker or authorized user to manipulate audit configurations, potentially covering tracks or redirecting audit logs to a location under their control. This can hinder security monitoring or enable it to keep track of the actions. NOTE: To enable auditing for an Azure SQL Server using Blob Storage, you must attach a storage account where the audit logs can be saved.
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.
```bash
az sql server audit-policy update \
--server <server_name> \
--resource-group <resource_group_name> \
--state Enabled \
--storage-account <storage_account_name> \
--retention-days 7
--server <server_name> \
--resource-group <resource_group_name> \
--state Enabled \
--storage-account <storage_account_name> \
--retention-days 7
```
### "Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read", "Microsoft.Sql/servers/connectionPolicies/read" && "Microsoft.Sql/servers/connectionPolicies/write"
With this permission, you can modify the connection policies of an Azure SQL Server. This capability can be exploited to enable or change server-level connection settings
Mit dieser Berechtigung können Sie die Verbindungseinstellungen eines Azure SQL Servers ändern. Diese Fähigkeit kann ausgenutzt werden, um serverseitige Verbindungseinstellungen zu aktivieren oder zu ändern.
```bash
az sql server connection-policy update \
--server <server_name> \
--resource-group <resource_group_name> \
--connection-type <Proxy|Redirect|Default>
--server <server_name> \
--resource-group <resource_group_name> \
--connection-type <Proxy|Redirect|Default>
```
### "Microsoft.Sql/servers/databases/export/action"
With this permission, you can export a database from an Azure SQL Server to a storage account. An attacker or authorized user with this permission can exfiltrate sensitive data from the database by exporting it to a location they control, posing a significant data breach risk. It is important to know the storage key to be able to perform this.
Mit dieser Berechtigung können Sie eine Datenbank von einem Azure SQL Server in ein Speicherkonto exportieren. Ein Angreifer oder autorisierter Benutzer mit dieser Berechtigung kann sensible Daten aus der Datenbank exfiltrieren, indem er sie an einen Ort exportiert, den er kontrolliert, was ein erhebliches Risiko für Datenverletzungen darstellt. Es ist wichtig, den Speicher-Schlüssel zu kennen, um dies durchführen zu können.
```bash
az sql db export \
--server <server_name> \
--resource-group <resource_group_name> \
--name <database_name> \
--storage-uri <storage_blob_uri> \
--storage-key-type SharedAccessKey \
--admin-user <admin_username> \
--admin-password <admin_password>
--server <server_name> \
--resource-group <resource_group_name> \
--name <database_name> \
--storage-uri <storage_blob_uri> \
--storage-key-type SharedAccessKey \
--admin-user <admin_username> \
--admin-password <admin_password>
```
### "Microsoft.Sql/servers/databases/import/action"
With this permission, you can import a database into an Azure SQL Server. An attacker or authorized user with this permission can potentially upload malicious or manipulated databases. This can lead to gaining control over sensitive data or by embedding harmful scripts or triggers within the imported database. Additionaly you can import it to your own server in azure. Note: The server must allow Azure services and resources to access the server.
Mit dieser Berechtigung können Sie eine Datenbank in einen Azure SQL Server importieren. Ein Angreifer oder autorisierter Benutzer mit dieser Berechtigung kann potenziell bösartige oder manipulierte Datenbanken hochladen. Dies kann dazu führen, dass die Kontrolle über sensible Daten erlangt wird oder dass schädliche Skripte oder Trigger in die importierte Datenbank eingebettet werden. Zusätzlich können Sie sie auf Ihren eigenen Server in Azure importieren. Hinweis: Der Server muss Azure-Dienste und -Ressourcen den Zugriff auf den Server erlauben.
```bash
az sql db import --admin-user <admin-user> \
--admin-password <admin-password> \
@@ -98,9 +87,4 @@ az sql db import --admin-user <admin-user> \
--storage-key <storage-account-key> \
--storage-uri "https://<storage-account-name>.blob.core.windows.net/bacpac-container/MyDatabase.bacpac"
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,7 +4,7 @@
## Table Storage Post Exploitation
For more information about table storage check:
Für weitere Informationen über Table Storage siehe:
{{#ref}}
../az-services/az-table-storage.md
@@ -12,57 +12,49 @@ For more information about table storage check:
### Microsoft.Storage/storageAccounts/tableServices/tables/entities/read
A principal with this permission will be able to **list** the tables inside a table storage and **read the info** which might contain **sensitive information**.
Ein Principal mit dieser Berechtigung kann die **Tabellen** innerhalb eines Table Storage **auflisten** und die Informationen **lesen**, die möglicherweise **sensible Informationen** enthalten.
```bash
# List tables
az storage table list --auth-mode login --account-name <name>
# Read table (top 10)
az storage entity query \
--account-name <name> \
--table-name <t-name> \
--auth-mode login \
--top 10
--account-name <name> \
--table-name <t-name> \
--auth-mode login \
--top 10
```
### Microsoft.Storage/storageAccounts/tableServices/tables/entities/write | Microsoft.Storage/storageAccounts/tableServices/tables/entities/add/action | Microsoft.Storage/storageAccounts/tableServices/tables/entities/update/action
A principal with this permission will be able to **write and overwrite entries in tables** which might allow him to cause some damage or even escalate privileges (e.g. overwrite some trusted data that could abuse some injection vulnerability in the app using it).
- The permission `Microsoft.Storage/storageAccounts/tableServices/tables/entities/write` allows all the actions.
- The permission `Microsoft.Storage/storageAccounts/tableServices/tables/entities/add/action` allows to **add** entries
- The permission `Microsoft.Storage/storageAccounts/tableServices/tables/entities/update/action` allows to **update** existing entries
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).
- 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.
- Die Berechtigung `Microsoft.Storage/storageAccounts/tableServices/tables/entities/update/action` erlaubt das **Aktualisieren** vorhandener Einträge.
```bash
# Add
az storage entity insert \
--account-name <acc-name> \
--table-name <t-name> \
--auth-mode login \
--entity PartitionKey=HR RowKey=12345 Name="John Doe" Age=30 Title="Manager"
--account-name <acc-name> \
--table-name <t-name> \
--auth-mode login \
--entity PartitionKey=HR RowKey=12345 Name="John Doe" Age=30 Title="Manager"
# Replace
az storage entity replace \
--account-name <acc-name> \
--table-name <t-name> \
--auth-mode login \
--entity PartitionKey=HR RowKey=12345 Name="John Doe" Age=30 Title="Manager"
--account-name <acc-name> \
--table-name <t-name> \
--auth-mode login \
--entity PartitionKey=HR RowKey=12345 Name="John Doe" Age=30 Title="Manager"
# Update
az storage entity merge \
--account-name <acc-name> \
--table-name <t-name> \
--auth-mode login \
--entity PartitionKey=HR RowKey=12345 Name="John Doe" Age=30 Title="Manager"
--account-name <acc-name> \
--table-name <t-name> \
--auth-mode login \
--entity PartitionKey=HR RowKey=12345 Name="John Doe" Age=30 Title="Manager"
```
### \*/delete
This would allow to delete file inside the shared filesystem which might **interrupt some services** or make the client **lose valuable information**.
Dies würde es ermöglichen, Dateien im gemeinsamen Dateisystem zu löschen, was **einige Dienste unterbrechen** oder den Client **wertvolle Informationen verlieren** lassen könnte.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,96 +2,83 @@
{{#include ../../../banners/hacktricks-training.md}}
## VMs & Network
## VMs & Netzwerk
For more info about Azure VMs and networking check the following page:
Für weitere Informationen zu Azure VMs und Netzwerken siehe die folgende Seite:
{{#ref}}
../az-services/vms/
{{#endref}}
### VM Application Pivoting
### VM-Anwendungs-Pivoting
VM applications can be shared with other subscriptions and tenants. If an application is being shared it's probably because it's being used. So if the attacker manages to **compromise the application and uploads a backdoored** version it might be possible that it will be **executed in another tenant or subscription**.
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**.
### Sensitive information in images
### Sensible Informationen in Bildern
It might be possible to find **sensitive information inside images** taken from VMs in the past.
1. **List images** from galleries
Es könnte möglich sein, **sensible Informationen in Bildern** zu finden, die in der Vergangenheit von VMs aufgenommen wurden.
1. **Bilder auflisten** aus Galerien
```bash
# Get galleries
az sig list -o table
# List images inside gallery
az sig image-definition list \
--resource-group <RESOURCE_GROUP> \
--gallery-name <GALLERY_NAME> \
-o table
--resource-group <RESOURCE_GROUP> \
--gallery-name <GALLERY_NAME> \
-o table
# Get images versions
az sig image-version list \
--resource-group <RESOURCE_GROUP> \
--gallery-name <GALLERY_NAME> \
--gallery-image-definition <IMAGE_DEFINITION> \
-o table
--resource-group <RESOURCE_GROUP> \
--gallery-name <GALLERY_NAME> \
--gallery-image-definition <IMAGE_DEFINITION> \
-o table
```
2. **List custom images**
2. **Benutzerdefinierte Images auflisten**
```bash
az image list -o table
```
3. **Create VM from image ID** and search for sensitive info inside of it
3. **VM aus Bild-ID erstellen** und nach sensiblen Informationen darin suchen
```bash
# Create VM from image
az vm create \
--resource-group <RESOURCE_GROUP> \
--name <VM_NAME> \
--image /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Compute/galleries/<GALLERY_NAME>/images/<IMAGE_DEFINITION>/versions/<IMAGE_VERSION> \
--admin-username <ADMIN_USERNAME> \
--generate-ssh-keys
--resource-group <RESOURCE_GROUP> \
--name <VM_NAME> \
--image /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Compute/galleries/<GALLERY_NAME>/images/<IMAGE_DEFINITION>/versions/<IMAGE_VERSION> \
--admin-username <ADMIN_USERNAME> \
--generate-ssh-keys
```
### Sensible Informationen in Wiederherstellungspunkten
### Sensitive information in restore points
It might be possible to find **sensitive information inside restore points**.
1. **List restore points**
Es könnte möglich sein, **sensible Informationen in Wiederherstellungspunkten** zu finden.
1. **Wiederherstellungspunkte auflisten**
```bash
az restore-point list \
--resource-group <RESOURCE_GROUP> \
--restore-point-collection-name <COLLECTION_NAME> \
-o table
--resource-group <RESOURCE_GROUP> \
--restore-point-collection-name <COLLECTION_NAME> \
-o table
```
2. **Create a disk** from a restore point
2. **Erstellen Sie eine Festplatte** aus einem Wiederherstellungspunkt
```bash
az disk create \
--resource-group <RESOURCE_GROUP> \
--name <NEW_DISK_NAME> \
--source /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Compute/restorePointCollections/<COLLECTION_NAME>/restorePoints/<RESTORE_POINT_NAME>
--resource-group <RESOURCE_GROUP> \
--name <NEW_DISK_NAME> \
--source /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Compute/restorePointCollections/<COLLECTION_NAME>/restorePoints/<RESTORE_POINT_NAME>
```
3. **Attach the disk to a VM** (the attacker needs to have compromised a VM inside the account already)
3. **Hängen Sie die Festplatte an eine VM an** (der Angreifer muss bereits eine VM innerhalb des Kontos kompromittiert haben)
```bash
az vm disk attach \
--resource-group <RESOURCE_GROUP> \
--vm-name <VM_NAME> \
--name <DISK_NAME>
--resource-group <RESOURCE_GROUP> \
--vm-name <VM_NAME> \
--name <DISK_NAME>
```
4. **Mount** the disk and **search for sensitive info**
4. **Binden** Sie die Festplatte ein und **suchen** Sie nach sensiblen Informationen
{{#tabs }}
{{#tab name="Linux" }}
```bash
# List all available disks
sudo fdisk -l
@@ -103,83 +90,70 @@ sudo file -s /dev/sdX
sudo mkdir /mnt/mydisk
sudo mount /dev/sdX1 /mnt/mydisk
```
{{#endtab }}
{{#tab name="Windows" }}
#### **1. Open Disk Management**
#### **1. Öffnen Sie die Datenträgerverwaltung**
1. Right-click **Start** and select **Disk Management**.
2. The attached disk should appear as **Offline** or **Unallocated**.
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. Bring the Disk Online**
#### **2. Bringen Sie den Datenträger online**
1. Locate the disk in the bottom pane.
2. Right-click the disk (e.g., **Disk 1**) and select **Online**.
1. Suchen Sie den Datenträger im unteren Bereich.
2. Klicken Sie mit der rechten Maustaste auf den Datenträger (z. B. **Datenträger 1**) und wählen Sie **Online**.
#### **3. Initialize the Disk**
#### **3. Initialisieren Sie den Datenträger**
1. If the disk is not initialized, right-click and select **Initialize Disk**.
2. Choose the partition style:
- **MBR** (Master Boot Record) or **GPT** (GUID Partition Table). GPT is recommended for modern systems.
1. Wenn der Datenträger nicht initialisiert ist, klicken Sie mit der rechten Maustaste und wählen Sie **Datenträger initialisieren**.
2. Wählen Sie den Partitionstyp:
- **MBR** (Master Boot Record) oder **GPT** (GUID-Partitionstabelle). GPT wird für moderne Systeme empfohlen.
#### **4. Create a New Volume**
#### **4. Erstellen Sie ein neues Volume**
1. Right-click the unallocated space on the disk and select **New Simple Volume**.
2. Follow the wizard to:
- Assign a drive letter (e.g., `D:`).
- Format the disk (choose NTFS for most cases).
{{#endtab }}
{{#endtabs }}
1. Klicken Sie mit der rechten Maustaste auf den nicht zugeordneten 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).
{{#endtab }}
{{#endtabs }}
### Sensitive information in disks & snapshots
### Sensible Informationen in Datenträgern & Snapshots
It might be possible to find **sensitive information inside disks or even old disk's snapshots**.
1. **List snapshots**
Es könnte möglich sein, **sensible Informationen in Datenträgern oder sogar in alten Snapshots von Datenträgern** zu finden.
1. **Snapshots auflisten**
```bash
az snapshot list \
--resource-group <RESOURCE_GROUP> \
-o table
--resource-group <RESOURCE_GROUP> \
-o table
```
2. **Create disk from snapshot** (if needed)
2. **Erstelle eine Festplatte aus einem Snapshot** (falls erforderlich)
```bash
az disk create \
--resource-group <RESOURCE_GROUP> \
--name <DISK_NAME> \
--source <SNAPSHOT_ID> \
--size-gb <DISK_SIZE>
--resource-group <RESOURCE_GROUP> \
--name <DISK_NAME> \
--source <SNAPSHOT_ID> \
--size-gb <DISK_SIZE>
```
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. **Attach and mount the disk** to a VM and search for sensitive information (check the previous section to see how to do this)
### Sensible Informationen in VM-Erweiterungen & VM-Anwendungen
### Sensitive information in VM Extensions & VM Applications
It might be possible to find **sensitive information inside VM extensions and VM applications**.
1. **List all VM apps**
Es könnte möglich sein, **sensible Informationen in VM-Erweiterungen und VM-Anwendungen** zu finden.
1. **Liste aller VM-Apps**
```bash
## List all VM applications inside a gallery
az sig gallery-application list --gallery-name <gallery-name> --resource-group <res-group> --output table
```
2. Install the extension in a VM and **search for sensitive info**
2. Installieren Sie die Erweiterung in einer VM und **suchen Sie nach sensiblen Informationen**
```bash
az vm application set \
--resource-group <rsc-group> \
--name <vm-name> \
--app-version-ids /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.Compute/galleries/myGallery/applications/myReverseShellApp/versions/1.0.2 \
--treat-deployment-as-failure true
--resource-group <rsc-group> \
--name <vm-name> \
--app-version-ids /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.Compute/galleries/myGallery/applications/myReverseShellApp/versions/1.0.2 \
--treat-deployment-as-failure true
```
{{#include ../../../banners/hacktricks-training.md}}