Translated ['src/pentesting-cloud/azure-security/az-persistence/az-queue

This commit is contained in:
Translator
2025-02-20 00:54:40 +00:00
parent 8c2a58e626
commit 2ad8b4e61f
10 changed files with 66 additions and 34 deletions
+3 -2
View File
@@ -425,8 +425,8 @@
- [Az - Management Groups, Subscriptions & Resource Groups](pentesting-cloud/azure-security/az-services/az-management-groups-subscriptions-and-resource-groups.md)
- [Az - MySQL](pentesting-cloud/azure-security/az-services/az-mysql.md)
- [Az - PostgreSQL](pentesting-cloud/azure-security/az-services/az-postgresql.md)
- [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue-enum.md)
- [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus-enum.md)
- [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue.md)
- [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus.md)
- [Az - SQL](pentesting-cloud/azure-security/az-services/az-sql.md)
- [Az - Static Web Applications](pentesting-cloud/azure-security/az-services/az-static-web-apps.md)
- [Az - Storage Accounts & Blobs](pentesting-cloud/azure-security/az-services/az-storage.md)
@@ -489,6 +489,7 @@
- [Az - Persistence](pentesting-cloud/azure-security/az-persistence/README.md)
- [Az - Automation Accounts Persistence](pentesting-cloud/azure-security/az-persistence/az-automation-accounts-persistence.md)
- [Az - Cloud Shell Persistence](pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md)
- [Az - Queue SQL Persistence](pentesting-cloud/azure-security/az-persistence/az-sql-persistance.md)
- [Az - Queue Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md)
- [Az - VMs Persistence](pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md)
- [Az - Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md)
@@ -1,4 +1,4 @@
# Az - Queue Storage Persistence
# Az - Persistence de Stockage de Queue
{{#include ../../../banners/hacktricks-training.md}}
@@ -7,7 +7,7 @@
Pour plus d'informations, consultez :
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### Actions : `Microsoft.Storage/storageAccounts/queueServices/queues/write`
@@ -0,0 +1,20 @@
# Az - SQL Persistence
{{#include ../../../banners/hacktricks-training.md}}
## SQL
Pour plus d'informations, consultez :
{{#ref}}
../az-services/az-sql.md
{{#endref}}
### Techniques de persistance courantes
- Compromettre les identifiants SQL ou créer un utilisateur SQL (en activant l'authentification SQL si nécessaire)
- Assigner un utilisateur compromis en tant qu'administrateur Entra ID (en activant l'authentification Entra ID si nécessaire)
- Backdoor dans la VM (si une VM SQL est utilisée)
- Créer une règle de FW pour maintenir l'accès à la base de données SQL
{{#include ../../../banners/hacktricks-training.md}}
@@ -7,12 +7,12 @@
Pour plus d'informations, consultez :
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
### DataActions : `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
Un attaquant avec cette permission peut consulter les messages d'une Azure Storage Queue. Cela permet à l'attaquant de voir le contenu des messages sans les marquer comme traités ou modifier leur état. Cela pourrait conduire à un accès non autorisé à des informations sensibles, permettant l'exfiltration de données ou la collecte de renseignements pour de futures attaques.
Un attaquant ayant cette permission peut consulter les messages d'une Azure Storage Queue. Cela permet à l'attaquant de voir le contenu des messages sans les marquer comme traités ou modifier leur état. Cela pourrait conduire à un accès non autorisé à des informations sensibles, permettant l'exfiltration de données ou la collecte de renseignements pour de futures attaques.
```bash
az storage message peek --queue-name <queue_name> --account-name <storage_account>
```
@@ -32,7 +32,7 @@ az storage message put --queue-name <queue-name> --content "Injected malicious m
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write`
Cette autorisation permet à un attaquant d'ajouter de nouveaux messages ou de mettre à jour ceux existants dans une Azure Storage Queue. En utilisant cela, ils pourraient insérer du contenu nuisible ou modifier des messages existants, induisant potentiellement en erreur des applications ou provoquant des comportements indésirables dans des systèmes qui dépendent de la queue.
Cette autorisation permet à un attaquant d'ajouter de nouveaux messages ou de mettre à jour ceux existants dans une Azure Storage Queue. En utilisant cela, ils pourraient insérer du contenu nuisible ou modifier des messages existants, induisant potentiellement en erreur des applications ou provoquant des comportements indésirables dans les systèmes qui dépendent de la queue.
```bash
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>
@@ -7,7 +7,7 @@
Pour plus d'informations, consultez :
{{#ref}}
../az-services/az-servicebus-enum.md
../az-services/az-servicebus.md
{{#endref}}
### Actions : `Microsoft.ServiceBus/namespaces/Delete`
@@ -30,13 +30,13 @@ az servicebus queue delete --resource-group <ResourceGroupName> --namespace-name
```
### Actions: `Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete`
Un attaquant disposant de cette autorisation peut supprimer une souscription Azure Service Bus. Cette action supprime la souscription et tous ses messages associés, perturbant potentiellement les flux de travail, le traitement des données et les opérations système s'appuyant sur la souscription.
Un attaquant disposant de cette autorisation peut supprimer un abonnement Azure Service Bus. Cette action supprime l'abonnement et tous ses messages associés, perturbant potentiellement les flux de travail, le traitement des données et les opérations système s'appuyant sur l'abonnement.
```bash
az servicebus topic subscription delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
```
### Actions : `Microsoft.ServiceBus/namespaces/queues/write` (`Microsoft.ServiceBus/namespaces/queues/read`)
Un attaquant ayant les permissions de créer ou de modifier des files d'attente Azure Service Bus (pour modifier la file d'attente, vous aurez également besoin de l'Action : `Microsoft.ServiceBus/namespaces/queues/read`) peut exploiter cela pour intercepter des données, perturber des flux de travail ou permettre un accès non autorisé. Ils peuvent modifier des configurations critiques telles que le transfert de messages vers des points de terminaison malveillants, ajuster le TTL des messages pour conserver ou supprimer des données de manière inappropriée, ou activer le dead-lettering pour interférer avec la gestion des erreurs. De plus, ils pourraient manipuler les tailles de file d'attente, les durées de verrouillage ou les statuts pour perturber la fonctionnalité du service ou échapper à la détection, ce qui en fait un risque significatif après exploitation.
Un attaquant ayant les permissions de créer ou de modifier des files d'attente Azure Service Bus (pour modifier la file d'attente, vous aurez également besoin de l'Action : `Microsoft.ServiceBus/namespaces/queues/read`) peut exploiter cela pour intercepter des données, perturber des flux de travail ou permettre un accès non autorisé. Ils peuvent altérer des configurations critiques telles que le transfert de messages vers des points de terminaison malveillants, ajuster le TTL des messages pour conserver ou supprimer des données de manière inappropriée, ou activer le dead-lettering pour interférer avec la gestion des erreurs. De plus, ils pourraient manipuler les tailles de file d'attente, les durées de verrouillage ou les statuts pour perturber la fonctionnalité du service ou échapper à la détection, ce qui en fait un risque significatif après exploitation.
```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>
@@ -50,7 +50,7 @@ az servicebus topic update --resource-group <ResourceGroupName> --namespace-name
```
### Actions : `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`)
Un attaquant ayant des permissions pour créer ou modifier des abonnements (pour modifier l'abonnement, vous aurez également besoin de l'Action : `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) au sein d'un sujet Azure Service Bus peut exploiter cela pour intercepter, rediriger ou perturber les flux de messages. En utilisant des commandes comme az servicebus topic subscription update, ils peuvent manipuler des configurations telles que l'activation du dead lettering pour détourner des messages, transférer des messages vers des points de terminaison non autorisés, ou modifier la durée de vie (TTL) et la durée de verrouillage pour conserver ou interférer avec la livraison des messages. De plus, ils peuvent modifier les paramètres de statut ou de nombre maximal de livraisons pour perturber les opérations ou échapper à la détection, rendant le contrôle des abonnements un aspect critique des scénarios de post-exploitation.
Un attaquant ayant des permissions pour créer ou modifier des abonnements (pour modifier l'abonnement, vous aurez également besoin de l'Action : `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) au sein d'un sujet Azure Service Bus peut exploiter cela pour intercepter, rediriger ou perturber les flux de messages. En utilisant des commandes comme az servicebus topic subscription update, ils peuvent manipuler des configurations telles que l'activation du dead lettering pour détourner des messages, transférer des messages vers des points de terminaison non autorisés, ou modifier la durée de vie (TTL) et la durée de verrouillage pour conserver ou interférer avec la livraison des messages. De plus, ils peuvent altérer les paramètres de statut ou de nombre maximal de livraisons pour perturber les opérations ou échapper à la détection, rendant le contrôle des abonnements un aspect critique des scénarios de post-exploitation.
```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>
@@ -7,12 +7,12 @@
Pour plus d'informations, consultez :
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### DataActions : `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
Un attaquant ayant cette permission peut consulter les messages d'une Azure Storage Queue. Cela permet à l'attaquant de voir le contenu des messages sans les marquer comme traités ou modifier leur état. Cela pourrait conduire à un accès non autorisé à des informations sensibles, permettant l'exfiltration de données ou la collecte de renseignements pour de futures attaques.
Un attaquant disposant de cette autorisation peut consulter les messages d'une Azure Storage Queue. Cela permet à l'attaquant de voir le contenu des messages sans les marquer comme traités ou modifier leur état. Cela pourrait conduire à un accès non autorisé à des informations sensibles, permettant l'exfiltration de données ou la collecte de renseignements pour de futures attaques.
```bash
az storage message peek --queue-name <queue_name> --account-name <storage_account>
```
@@ -24,7 +24,7 @@ Avec cette autorisation, un attaquant peut récupérer et traiter des messages d
```bash
az storage message get --queue-name <queue_name> --account-name <storage_account>
```
### DataActions : `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action`
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action`
Avec cette autorisation, un attaquant peut ajouter de nouveaux messages à une Azure Storage Queue. Cela leur permet d'injecter des données malveillantes ou non autorisées dans la file d'attente, ce qui peut déclencher des actions non intentionnelles ou perturber les services en aval qui traitent les messages.
```bash
@@ -7,12 +7,12 @@
Pour plus d'informations, consultez :
{{#ref}}
../az-services/az-servicebus-enum.md
../az-services/az-servicebus.md
{{#endref}}
### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action OU Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action
Ces permissions vous permettent d'obtenir ou de régénérer les clés pour les règles d'autorisation locales au sein d'un espace de noms Service Bus. En utilisant ces clés, il est possible de s'authentifier en tant qu'espace de noms Service Bus, vous permettant d'envoyer des messages à n'importe quelle file d'attente ou sujet, de recevoir des messages de n'importe quelle file d'attente ou abonnement, ou potentiellement d'interagir avec le système de manière à perturber les opérations, usurper des utilisateurs valides ou injecter des données malveillantes dans le flux de messages.
Ces autorisations vous permettent d'obtenir ou de régénérer les clés pour les règles d'autorisation locales au sein d'un espace de noms Service Bus. En utilisant ces clés, il est possible de s'authentifier en tant qu'espace de noms Service Bus, vous permettant d'envoyer des messages à n'importe quelle file d'attente ou sujet, de recevoir des messages de n'importe quelle file d'attente ou abonnement, ou potentiellement d'interagir avec le système de manière à perturber les opérations, usurper des utilisateurs valides ou injecter des données malveillantes dans le flux de messagerie.
Notez qu'en règle générale, la **`RootManageSharedAccessKey` règle a un contrôle total** sur l'espace de noms Service Bus et qu'elle est utilisée par le `az` cli, cependant, d'autres règles avec d'autres valeurs de clé peuvent exister.
```bash
@@ -29,9 +29,9 @@ Avec cette autorisation, il est possible de **créer une nouvelle règle d'autor
az servicebus namespace authorization-rule create --authorization-rule-name "myRule" --namespace-name mynamespacespdemo --resource-group Resource_Group_1 --rights Manage Listen Send
```
>[!WARNING]
>Cette commande ne répond pas avec les clés, donc vous devez les obtenir avec les commandes (et permissions) précédentes afin d'escalader les privilèges.
>Cette commande ne répond pas avec les clés, vous devez donc les obtenir avec les commandes précédentes (et les autorisations) afin d'escalader les privilèges.
De plus, avec cette commande (et `Microsoft.ServiceBus/namespaces/authorizationRules/read`), si vous effectuez cette action via l'Azure CLI, il est possible de mettre à jour une règle d'autorisation existante et de lui donner plus de permissions (au cas où elle en manquerait) avec la commande suivante :
De plus, avec cette commande (et `Microsoft.ServiceBus/namespaces/authorizationRules/read`), si vous effectuez cette action via l'Azure CLI, il est possible de mettre à jour une règle d'autorisation existante et de lui donner plus d'autorisations (au cas où elle en manquerait) avec la commande suivante :
```bash
az servicebus namespace authorization-rule update \
--resource-group <MyResourceGroup> \
@@ -78,17 +78,18 @@ az servicebus queue authorization-rule update --resource-group <res-group> --nam
```
### Microsoft.ServiceBus/namespaces/write (& Microsoft.ServiceBus/namespaces/read si az cli est utilisé)
Avec ces autorisations, **un attaquant peut réactiver "l'authentification locale"** avec la commande suivante et donc toutes les clés des politiques partagées fonctionneront.
Avec ces permissions, **un attaquant peut réactiver "l'authentification locale"** avec la commande suivante et donc toutes les clés des politiques partagées fonctionneront.
```bash
az servicebus namespace update --disable-local-auth false -n <namespace-name> --resource-group <res-group>
```
### Envoyer des messages avec des clés (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OU Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
### Envoyer des messages avec des clés (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OU Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action)
Vous pouvez récupérer le `PrimaryConnectionString`, qui agit comme un identifiant pour le namespace Service Bus. Avec cette chaîne de connexion, vous pouvez vous authentifier complètement en tant que namespace Service Bus, vous permettant d'envoyer des messages à n'importe quelle file d'attente ou sujet et potentiellement d'interagir avec le système de manière à perturber les opérations, usurper des utilisateurs valides ou injecter des données malveillantes dans le flux de messagerie. Cette méthode fonctionne si `--disable-local-auth` est défini sur false.
Vous pouvez récupérer le `PrimaryConnectionString`, qui agit comme un identifiant pour le namespace Service Bus. Avec cette chaîne de connexion, vous pouvez vous authentifier complètement en tant que namespace Service Bus, vous permettant d'envoyer des messages à n'importe quelle file d'attente ou sujet et potentiellement d'interagir avec le système de manière à perturber les opérations, usurper des utilisateurs valides ou injecter des données malveillantes dans le flux de messagerie. Cette méthode fonctionne si `--disable-local-auth` est défini sur false (donc l'authentification locale est activée).
```python
import asyncio
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
# pip install azure-servicebus
NAMESPACE_CONNECTION_STR = "<PrimaryConnectionString>"
TOPIC_OR_QUEUE_NAME = "<TOPIC_OR_QUEUE_NAME>"
@@ -129,12 +130,13 @@ az rest --method post \
--body "<MESSAGE_BODY>"
```
### Recevoir avec des clés (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OU Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
### Recevoir avec des clés (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OU Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action)
Vous pouvez récupérer le PrimaryConnectionString, qui sert de credential pour le namespace Service Bus. En utilisant cette chaîne de connexion, vous pouvez recevoir des messages de n'importe quelle file d'attente ou abonnement au sein du namespace, permettant l'accès à des données potentiellement sensibles ou critiques, facilitant l'exfiltration de données, ou interférant avec le traitement des messages et les flux de travail des applications. Cette méthode fonctionne si `--disable-local-auth` est défini sur false.
```python
import asyncio
from azure.servicebus.aio import ServiceBusClient
# pip install azure-servicebus
CONN_STR = "<PrimaryConnectionString>"
QUEUE = "<QUEUE_NAME>"
@@ -224,13 +226,15 @@ import asyncio
from azure.identity.aio import DefaultAzureCredential
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
# pip install azure-servicebus
NS = "<namespace>.servicebus.windows.net" # Your namespace
QUEUE_OR_TOPIC = "<QUEUE_OR_TOPIC>" # Your queue name
QUEUE_OR_TOPIC = "<QUEUE_OR_TOPIC>" # Your queue name
async def run():
credential = DefaultAzureCredential()
async with ServiceBusClient(fully_qualified_namespace=NS, credential=credential) as client:
#async with client.get_topic_sender(topic_name=TOPIC) as sender: # Use this to send the message to a topic
async with client.get_queue_sender(queue_name=QUEUE) as sender:
await sender.send_messages(ServiceBusMessage("Single Message"))
print("Sent a single message")
@@ -246,6 +250,7 @@ Vous pouvez utiliser ces autorisations pour recevoir des messages, même si `--d
import asyncio
from azure.identity.aio import DefaultAzureCredential
from azure.servicebus.aio import ServiceBusClient
# pip install azure-servicebus
NS = "<namespace>.servicebus.windows.net"
QUEUE = "<QUEUE>"
@@ -42,12 +42,12 @@ Certaines fonctionnalités avancées sont :
Le paramètre **`--disable-local-auth`** de az cli est utilisé pour contrôler si l'**authentification locale** (permettant l'utilisation de clés de signature d'accès partagé (SAS)) est activée pour votre espace de noms Service Bus.
- Lorsque disable est défini sur **true** : L'authentification locale utilisant des clés SAS est désactivée et l'authentification Entra ID est autorisée.
- Lorsque disable est défini sur **false (par défaut)** : L'authentification locale SAS et l'authentification Entra ID sont disponibles et vous pouvez utiliser des chaînes de connexion avec des clés SAS pour accéder à vos ressources Service Bus.
- Lorsque disable est défini sur **true** : L'authentification locale utilisant des clés SAS est désactivée et l'authentification par ID Entra est autorisée.
- Lorsque disable est défini sur **false (par défaut)** : L'authentification locale SAS et l'authentification par ID Entra sont disponibles et vous pouvez utiliser des chaînes de connexion avec des clés SAS pour accéder à vos ressources Service Bus.
### Règle d'Autorisation / Politique SAS
Les politiques SAS définissent les autorisations d'accès pour les entités Azure Service Bus, l'espace de noms (le plus important), les files d'attente et les sujets. Chaque politique a les composants suivants :
Les politiques SAS définissent les autorisations d'accès pour les entités d'espace de noms Azure Service Bus (la plus importante), les files d'attente et les sujets. Chaque politique a les composants suivants :
- **Permissions** : Cases à cocher pour spécifier les niveaux d'accès :
- Gérer : Accorde un contrôle total sur l'entité, y compris la gestion de la configuration et des autorisations.
@@ -55,7 +55,7 @@ Les politiques SAS définissent les autorisations d'accès pour les entités Azu
- Écouter : Permet de recevoir des messages de l'entité.
- **Clés Primaires et Secondaires** : Ce sont des clés cryptographiques utilisées pour générer des jetons sécurisés pour authentifier l'accès.
- **Chaînes de Connexion Primaires et Secondaires** : Chaînes de connexion préconfigurées qui incluent le point de terminaison et la clé pour une utilisation facile dans les applications.
- **ID de Politique SAS ARM** : Le chemin Azure Resource Manager (ARM) vers la politique pour identification programmatique.
- **ID ARM de Politique SAS** : Le chemin Azure Resource Manager (ARM) vers la politique pour identification programmatique.
Il est important de noter qu'un espace de noms a une seule politique SAS qui affecte chaque entité à l'intérieur, tandis que les files d'attente et les sujets peuvent avoir leurs propres politiques SAS individuelles pour un contrôle plus granulaire.
@@ -144,13 +144,13 @@ Get-AzServiceBusTopic -ResourceGroupName <ResourceGroupName> -NamespaceName <Nam
{{#endtabs }}
### Escalade de privilèges
### Escalade de Privilèges
{{#ref}}
../az-privilege-escalation/az-servicebus-privesc.md
{{#endref}}
### Post-exploitation
### Post Exploitation
{{#ref}}
../az-post-exploitation/az-servicebus-post-exploitation.md
@@ -75,9 +75,9 @@ Une base de données SQL pourrait faire partie d'un **pool élastique**. Les poo
#### Sécurité au niveau des colonnes Azure SQL (Masquage) & Sécurité au niveau des lignes
Le masquage dynamique des données **d'Azure SQL** est une fonctionnalité qui aide à **protéger les informations sensibles en les cachant** des utilisateurs non autorisés. Au lieu de modifier les données réelles, il masque dynamiquement les données affichées, garantissant que des détails sensibles comme les numéros de carte de crédit sont obscurcis.
Le masquage de données **dynamique d'Azure SQL** est une fonctionnalité qui aide à **protéger les informations sensibles en les cachant** des utilisateurs non autorisés. Au lieu de modifier les données réelles, il masque dynamiquement les données affichées, garantissant que des détails sensibles comme les numéros de carte de crédit sont obscurcis.
Le **masquage dynamique des données** affecte tous les utilisateurs sauf ceux qui sont non masqués (ces utilisateurs doivent être indiqués) et les administrateurs. Il dispose de l'option de configuration qui spécifie quels utilisateurs SQL sont exemptés du masquage dynamique des données, avec **les administrateurs toujours exclus**.
Le **masquage de données dynamique** affecte tous les utilisateurs sauf ceux qui sont non masqués (ces utilisateurs doivent être indiqués) et les administrateurs. Il dispose de l'option de configuration qui spécifie quels utilisateurs SQL sont exemptés du masquage de données dynamique, avec **les administrateurs toujours exclus**.
La **sécurité au niveau des lignes (RLS) d'Azure SQL** est une fonctionnalité qui **contrôle quelles lignes un utilisateur peut voir ou modifier**, garantissant que chaque utilisateur ne voit que les données qui le concernent. En créant des politiques de sécurité avec des filtres ou des prédicats de blocage, les organisations peuvent appliquer un accès granulaire au niveau de la base de données.
@@ -259,7 +259,7 @@ ON sp.object_id = sp2.object_id;
```
### Connecter et exécuter des requêtes SQL
Vous pourriez trouver une chaîne de connexion (contenant des identifiants) à partir de l'exemple [énumérer un Az WebApp](az-app-services.md) :
Vous pourriez trouver une chaîne de connexion (contenant des identifiants) dans l'exemple [énumérer un Az WebApp](az-app-services.md) :
```bash
function invoke-sql{
param($query)
@@ -301,4 +301,10 @@ sqlcmd -S <sql-server>.database.windows.net -U <server-user> -P <server-passwork
../az-post-exploitation/az-sql-post-exploitation.md
{{#endref}}
### Persistance
{{#ref}}
../az-persistence/az-sql-persistance.md
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}