diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 478e28676..c53000a33 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -292,7 +292,7 @@ - [AWS - KMS Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-kms-privesc.md) - [AWS - Lambda Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-lambda-privesc.md) - [AWS - Lightsail Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-lightsail-privesc.md) - - [AWS - Macie Enum](pentesting-cloud/aws-security/aws-privilege-escalation/aws-macie-privesc.md) + - [AWS - Macie Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-macie-privesc.md) - [AWS - Mediapackage Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-mediapackage-privesc.md) - [AWS - MQ Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-mq-privesc.md) - [AWS - MSK Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-msk-privesc.md) @@ -415,7 +415,7 @@ - [Az - Azure App Services](pentesting-cloud/azure-security/az-services/az-app-services.md) - [Az - Cloud Shell](pentesting-cloud/azure-security/az-services/az-cloud-shell.md) - [Az - Container Registry](pentesting-cloud/azure-security/az-services/az-container-registry.md) - - [Az - Container Instances](pentesting-cloud/azure-security/az-services/az-container-instances.md) + - [Az - Container Instances, Apps & Jobs](pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md) - [Az - CosmosDB](pentesting-cloud/azure-security/az-services/az-cosmosDB.md) - [Az - Intune](pentesting-cloud/azure-security/az-services/intune.md) - [Az - File Shares](pentesting-cloud/azure-security/az-services/az-file-shares.md) @@ -470,7 +470,7 @@ - [Az - App Services Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-app-services-privesc.md) - [Az - Automation Accounts Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md) - [Az - Container Registry Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-container-registry-privesc.md) - - [Az - Container Instances Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-container-instances-privesc.md) + - [Az - Container Instances, Apps & Jobs Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-container-instances-apps-jobs-privesc.md) - [Az - CosmosDB Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md) - [Az - EntraID Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md) - [Az - Conditional Access Policies & MFA Bypass](pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md) diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-organizations-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-organizations-enum.md index e8e3d095e..1bec4e403 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-organizations-enum.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-organizations-enum.md @@ -4,11 +4,11 @@ ## Basiese Inligting -AWS Organisasies fasiliteer die skep van nuwe AWS-rekeninge sonder om addisionele koste te incurr. Hulpbronne kan moeiteloos toegeken word, rekeninge kan doeltreffend gegroepeer word, en bestuursbeleide kan op individuele rekeninge of groepe toegepas word, wat bestuur en beheer binne die organisasie verbeter. +AWS Organizations fasiliteer die skep van nuwe AWS-rekeninge sonder om addisionele koste te incurr. Hulpbronne kan moeiteloos toegeken word, rekeninge kan doeltreffend gegroepeer word, en bestuursbeleide kan op individuele rekeninge of groepe toegepas word, wat bestuur en beheer binne die organisasie verbeter. Belangrike Punten: -- **Nuwe Rekening Skep**: AWS Organisasies laat die skep van nuwe AWS-rekeninge toe sonder ekstra koste. +- **Nuwe Rekening Skep**: AWS Organizations laat die skep van nuwe AWS-rekeninge toe sonder ekstra koste. - **Hulpbron Toekenning**: Dit vereenvoudig die proses om hulpbronne oor die rekeninge toe te ken. - **Rekening Groepering**: Rekeninge kan saamgegroepeer word, wat bestuur meer gestroomlyn maak. - **Bestuursbeleide**: Beleide kan op rekeninge of groepe rekeninge toegepas word, wat nakoming en bestuur oor die organisasie verseker. @@ -40,6 +40,6 @@ aws iam get-account-summary ``` ## Verwysings -- https://aws.amazon.com/organizations/ +- [https://aws.amazon.com/organizations/](https://aws.amazon.com/organizations/) {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-sqs-and-sns-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-sqs-and-sns-enum.md index 419abf0d9..7b0b799fa 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-sqs-and-sns-enum.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-sqs-and-sns-enum.md @@ -4,7 +4,7 @@ ## SQS -Amazon Simple Queue Service (SQS) word aangebied as 'n **volledig bestuurde boodskapkwotasiediens**. Die hooffunksie is om te help met die skaalvergroting en ontkoppeling van mikrodiens, verspreide stelsels en serverless toepassings. Die diens is ontwerp om die behoefte aan die bestuur en werking van boodskap-georiënteerde middleware te verwyder, wat dikwels kompleks en hulpbron-intensief kan wees. Hierdie verwydering van kompleksiteit stel ontwikkelaars in staat om hul pogings te rig op meer innoverende en onderskeidende aspekte van hul werk. +Amazon Simple Queue Service (SQS) word aangebied as 'n **volledig bestuurde boodskapkwotasie-diens**. Die hooffunksie is om te help met die skaal en ontkoppeling van mikrodiens, verspreide stelsels en serverlose toepassings. Die diens is ontwerp om die behoefte aan die bestuur en werking van boodskap-georiënteerde middleware te verwyder, wat dikwels kompleks en hulpbron-intensief kan wees. Hierdie verwydering van kompleksiteit stel ontwikkelaars in staat om hul pogings te rig op meer innoverende en differensierende aspekte van hul werk. ### Enumeration ```bash @@ -46,6 +46,6 @@ aws sqs send-message --queue-url --message-body ## References -- https://docs.aws.amazon.com/cdk/api/v2/python/aws\_cdk.aws\_sqs/README.html +- [https://docs.aws.amazon.com/cdk/api/v2/python/aws\_cdk.aws\_sqs/README.html](https://docs.aws.amazon.com/cdk/api/v2/python/aws\_cdk.aws\_sqs/README.html) {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md b/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md index e911cafc3..74209c676 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md +++ b/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md @@ -1,8 +1,8 @@ -# Az - Queue Storage Persistensie +# Az - Queue Storage Persistence {{#include ../../../banners/hacktricks-training.md}} -## Queues +## Queue Vir meer inligting, kyk: @@ -12,7 +12,7 @@ Vir meer inligting, kyk: ### Aksies: `Microsoft.Storage/storageAccounts/queueServices/queues/write` -Hierdie toestemming laat 'n aanvaller toe om queues en hul eienskappe binne die stoorrekening te skep of te wysig. Dit kan gebruik word om ongeoorloofde queues te skep, metadata te wysig, of toegangbeheerlys (ACLs) te verander om toegang toe te laat of te beperk. Hierdie vermoë kan werksvloei ontwrig, kwaadwillige data insit, sensitiewe inligting uit te voer, of queue-instellings te manipuleer om verdere aanvalle moontlik te maak. +Hierdie toestemming laat 'n aanvaller toe om queues en hul eienskappe binne die stoorrekening te skep of te wysig. Dit kan gebruik word om ongeoorloofde queues te skep, metadata te wysig, of toegangbeheerlys (ACLs) te verander om toegang toe te laat of te beperk. Hierdie vermoë kan werksvloei ontwrig, kwaadwillige data inspuit, sensitiewe inligting eksfiltreer, of queue-instellings manipuleer om verdere aanvalle moontlik te maak. ```bash az storage queue create --name --account-name @@ -22,8 +22,8 @@ az storage queue policy set --name --permissions rwd --expiry 2024- ``` ## Verwysings -- 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 +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](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/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) {{#include ../../../banners/hacktricks-training.md}} 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 41bcbe092..bb29dfc54 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 @@ -12,7 +12,7 @@ Vir meer inligting, kyk: ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read` -'n Aanvaller met hierdie toestemming kan boodskappe van 'n Azure Storage Queue afkyk. Dit stel die aanvaller in staat om die inhoud van boodskappe te sien sonder om dit as verwerk te merk of hul toestand te verander. Dit kan lei tot ongemagtigde toegang tot sensitiewe inligting, wat data-exfiltrasie of die versameling van intelligensie vir verdere aanvalle moontlik maak. +'n Aanvaller met hierdie toestemming kan boodskappe van 'n Azure Storage Queue afkyk. Dit stel die aanvaller in staat om die inhoud van boodskappe te sien sonder om hulle as verwerk te merk of hul toestand te verander. Dit kan lei tot ongemagtigde toegang tot sensitiewe inligting, wat data-exfiltrasie of die versameling van intelligensie vir verdere aanvalle moontlik maak. ```bash az storage message peek --queue-name --account-name ``` @@ -20,19 +20,19 @@ az storage message peek --queue-name --account-name --account-name ``` ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action` -Met hierdie toestemming kan 'n aanvaller nuwe boodskappe by 'n Azure Storage Queue voeg. Dit stel hulle in staat om kwaadwillige of nie-gesagde data in die queue in te voeg, wat moontlik onbedoelde aksies kan ontketen of afgeleide dienste wat die boodskappe verwerk, kan ontwrig. +Met hierdie toestemming kan 'n aanvaller nuwe boodskappe by 'n Azure Storage Queue voeg. Dit stel hulle in staat om kwaadwillige of nie-geautoriseerde data in die queue in te spuit, wat moontlik onbedoelde aksies kan ontketen of afgeleide dienste wat die boodskappe verwerk, kan ontwrig. ```bash az storage message put --queue-name --content "Injected malicious message" --account-name ``` ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write` -Hierdie toestemming laat 'n aanvaller toe om nuwe boodskappe by te voeg of bestaande te werk in 'n Azure Storage Queue. Deur dit te gebruik, kan hulle skadelike inhoud invoeg of bestaande boodskappe verander, wat moontlik toepassings kan mislei of ongewenste gedrag in stelsels wat op die queue staatmaak, kan veroorsaak. +Hierdie toestemming laat 'n aanvaller toe om nuwe boodskappe by te voeg of bestaande boodskappe in 'n Azure Storage Queue op te dateer. Deur dit te gebruik, kan hulle skadelike inhoud invoeg of bestaande boodskappe verander, wat moontlik toepassings kan mislei of ongewenste gedrag in stelsels wat op die queue staatmaak, kan veroorsaak. ```bash az storage message put --queue-name --content "Injected malicious message" --account-name @@ -44,9 +44,9 @@ az storage message update --queue-name \ --visibility-timeout \ --account-name ``` -### Aksies: `Microsoft.Storage/storageAccounts/queueServices/queues/delete` +### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/delete` -Hierdie toestemming laat 'n aanvaller toe om rye binne die stoorrekening te verwyder. Deur hierdie vermoë te benut, kan 'n aanvaller rye permanent verwyder en al hul geassosieerde boodskappe, wat beduidende ontwrigting aan werkvloei veroorsaak en lei tot kritieke dataverlies vir toepassings wat op die geraakte rye staatmaak. Hierdie aksie kan ook gebruik word om dienste te saboteer deur noodsaaklike komponente van die stelsel te verwyder. +Hierdie toestemming laat 'n aanvaller toe om rye binne die stoorrekening te verwyder. Deur hierdie vermoë te benut, kan 'n aanvaller rye permanent verwyder en al hul geassosieerde boodskappe, wat groot ontwrigting aan werkvloei veroorsaak en lei tot kritieke dataverlies vir toepassings wat op die geraakte rye staatmaak. Hierdie aksie kan ook gebruik word om dienste te saboteer deur noodsaaklike komponente van die stelsel te verwyder. ```bash az storage queue delete --name --account-name ``` @@ -56,9 +56,9 @@ Met hierdie toestemming kan 'n aanvaller alle boodskappe uit 'n Azure Storage Qu ```bash az storage message clear --queue-name --account-name ``` -### Aksies: `Microsoft.Storage/storageAccounts/queueServices/queues/write` +### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write` -Hierdie toestemming laat 'n aanvaller toe om rye en hul eienskappe binne die stoorrekening te skep of te wysig. Dit kan gebruik word om ongeoorloofde rye te skep, metadata te wysig, of toegangbeheerlyste (ACL's) te verander om toegang toe te staan of te beperk. Hierdie vermoë kan werksvloei onderbreek, kwaadwillige data inspuit, sensitiewe inligting eksfiltreer, of ryinstellings manipuleer om verdere aanvalle moontlik te maak. +Hierdie toestemming laat 'n aanvaller toe om rye te skep of te wysig en hul eienskappe binne die stoorrekening. Dit kan gebruik word om nie-gesagde rye te skep, metadata te wysig, of toegangbeheerlys (ACLs) te verander om toegang toe te laat of te beperk. Hierdie vermoë kan werksvloei ontwrig, kwaadwillige data in te voeg, sensitiewe inligting te eksfiltreer, of ryinstellings te manipuleer om verdere aanvalle moontlik te maak. ```bash az storage queue create --name --account-name @@ -68,8 +68,8 @@ az storage queue policy set --name --permissions rwd --expiry 2024- ``` ## Verwysings -- 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 +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](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/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) {{#include ../../../banners/hacktricks-training.md}} 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 ca76ef54c..d269a566d 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 @@ -16,13 +16,13 @@ Vir meer inligting, kyk: ```bash az servicebus namespace delete --resource-group --name ``` -### Aksies: `Microsoft.ServiceBus/namespaces/topics/Delete` +### Actions: `Microsoft.ServiceBus/namespaces/topics/Delete` 'n Aanvaller met hierdie toestemming kan 'n Azure Service Bus onderwerp verwyder. Hierdie aksie verwyder die onderwerp en al sy geassosieerde intekeninge en boodskappe, wat moontlik die verlies van kritieke data kan veroorsaak en stelsels en werksvloei wat op die onderwerp staatmaak, kan ontwrig. ```bash az servicebus topic delete --resource-group --namespace-name --name ``` -### Aksies: `Microsoft.ServiceBus/namespaces/queues/Delete` +### Actions: `Microsoft.ServiceBus/namespaces/queues/Delete` 'n Aanvaller met hierdie toestemming kan 'n Azure Service Bus-rye verwyder. Hierdie aksie verwyder die ry en al die boodskappe daarin, wat moontlik die verlies van kritieke data kan veroorsaak en stelsels en werksvloei wat van die ry afhanklik is, kan ontwrig. ```bash @@ -30,34 +30,27 @@ az servicebus queue delete --resource-group --namespace-name ``` ### Aksies: `Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete` -'n Aanvaller met hierdie toestemming kan 'n Azure Service Bus-subskripsie verwyder. Hierdie aksie verwyder die subskripsie en al sy geassosieerde boodskappe, wat moontlik werksvloei, dataverwerking en stelselopeenvolgings wat op die subskripsie staatmaak, kan ontwrig. +'n Aanvaller met hierdie toestemming kan 'n Azure Service Bus-subskripsie verwyder. Hierdie aksie verwyder die subskripsie en al sy geassosieerde boodskappe, wat moontlik werksvloei, data verwerking en stelsels se bedrywighede wat op die subskripsie staatmaak, kan ontwrig. ```bash az servicebus topic subscription delete --resource-group --namespace-name --topic-name --name ``` -### Aksies: `Microsoft.ServiceBus/namespaces/write` & `Microsoft.ServiceBus/namespaces/read` - -'n Aanvaller met regte om Azure Service Bus-namespaces te skep of te wysig, kan dit gebruik om bedrywighede te ontwrig, ongeoorloofde hulpbronne te ontplooi of sensitiewe data bloot te stel. Hulle kan kritieke konfigurasies verander, soos om publieke netwerktoegang in te skakel, versleutelinginstellings te verlaag, of SKUs te verander om prestasie te verlaag of koste te verhoog. Daarbenewens kan hulle plaaslike verifikasie deaktiveer, replika-lokasies manipuleer, of TLS-weergawes aanpas om sekuriteitsbeheer te verswak, wat namespace-misconfigurasie 'n beduidende post-exploitatie risiko maak. -```bash -az servicebus namespace create --resource-group --name --location -az servicebus namespace update --resource-group --name --tags -``` ### Aksies: `Microsoft.ServiceBus/namespaces/queues/write` (`Microsoft.ServiceBus/namespaces/queues/read`) -'n Aanvaller met toestemmings om Azure Service Bus-rye te skep of te wysig (om die ry te wysig sal jy ook die Aksie:`Microsoft.ServiceBus/namespaces/queues/read` benodig) kan dit benut om data te onderskep, werksvloei te ontwrig, of ongeoorloofde toegang te verkry. Hulle kan kritieke konfigurasies verander soos om boodskappe na kwaadwillige eindpunte te stuur, boodskap TTL aan te pas om data onregmatig te behou of te verwyder, of om dead-lettering in te skakel om met fouthantering te bemoei. Daarbenewens kan hulle ry-grootte, vergrendelingsduur of statusse manipuleer om diensfunksionaliteit te ontwrig of om opsporing te ontduik, wat dit 'n beduidende post-exploitatie risiko maak. +'n Aanvaller met regte om Azure Service Bus-rye te skep of te wysig (om die ry te wysig, sal jy ook die Aksie:`Microsoft.ServiceBus/namespaces/queues/read` benodig) kan dit benut om data te onderskep, werksvloei te ontwrig, of ongeoorloofde toegang te verkry. Hulle kan kritieke konfigurasies verander, soos om boodskappe na kwaadwillige eindpunte te stuur, boodskap TTL aan te pas om data onregmatig te behou of te verwyder, of om dead-lettering in te skakel om met fouthantering te bemoei. Daarbenewens kan hulle ry-grootte, vergrendelingsduur of statusse manipuleer om diensfunksionaliteit te ontwrig of om opsporing te ontduik, wat dit 'n beduidende post-exploitatie risiko maak. ```bash az servicebus queue create --resource-group --namespace-name --name az servicebus queue update --resource-group --namespace-name --name ``` ### Aksies: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`) -'n Aanvaller met regte om onderwerpe te skep of te wysig (om die onderwerp te wysig sal jy ook die Aksie:`Microsoft.ServiceBus/namespaces/topics/read` benodig) binne 'n Azure Service Bus-namespace kan dit gebruik om boodskapwerkvloei te ontwrig, sensitiewe data bloot te stel, of ongeoorloofde aksies moontlik te maak. Deur opdragte soos az servicebus topic update te gebruik, kan hulle konfigurasies manipuleer soos om partitionering vir skaalbaarheid misbruik in te stel, TTL-instellings te verander om boodskappe onregmatig te behou of te verwerp, of om duplikaatdetectie te deaktiveer om kontroles te omseil. Daarbenewens kan hulle onderwerp groottegrense aanpas, status verander om beskikbaarheid te ontwrig, of ekspressonderwerpe konfigureer om tydelik onderskepte boodskappe te stoor, wat onderwerpbestuur 'n kritieke fokus maak vir post-exploitatie-mitigasie. +'n Aanvaller met toestemmings om onderwerpe te skep of te wysig (om die onderwerp te wysig, sal jy ook die Aksie:`Microsoft.ServiceBus/namespaces/topics/read` benodig) binne 'n Azure Service Bus-namespace kan dit gebruik om boodskapwerkvloei te ontwrig, sensitiewe data bloot te stel, of ongeoorloofde aksies moontlik te maak. Deur opdragte soos az servicebus topic update te gebruik, kan hulle konfigurasies manipuleer soos om partitionering vir skaalbaarheid misbruik in te stel, TTL-instellings te verander om boodskappe onregmatig te behou of te verwerp, of om duplikaatdetectie te deaktiveer om kontroles te omseil. Daarbenewens kan hulle onderwerp groottegrense aanpas, status verander om beskikbaarheid te ontwrig, of ekspressonderwerpe konfigureer om tydelik onderskepte boodskappe te stoor, wat onderwerpbestuur 'n kritieke fokus vir post-exploitatie-mitigering maak. ```bash az servicebus topic create --resource-group --namespace-name --name az servicebus topic update --resource-group --namespace-name --name ``` ### Aksies: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) -'n Aanvaller met regte om subskripsies te skep of te wysig (om die subskripsie te wysig sal jy ook die Aksie: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read` benodig) binne 'n Azure Service Bus onderwerp kan dit gebruik om boodskapwerkvloei te onderskep, om te lei of te ontwrig. Deur opdragte soos az servicebus topic subscription update te gebruik, kan hulle konfigurasies manipuleer soos om doodbriefing in te skakel om boodskappe te lei, boodskappe na nie-geautoriseerde eindpunte te stuur, of TTL en slotduur te wysig om boodskapaflewering te behou of te beïnvloed. Daarbenewens kan hulle status of maksimum afleweringsgetal instellings verander om bedrywighede te ontwrig of opsporing te ontduik, wat subskripsiebeheer 'n kritieke aspek van post-exploitasiestelsels maak. +'n Aanvaller met toestemmings om subskripsies te skep of te wysig (om die subskripsie te wysig, sal jy ook die Aksie: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read` benodig) binne 'n Azure Service Bus onderwerp kan dit gebruik om boodskapwerkvloei te onderskep, om te lei of te ontwrig. Deur opdragte soos az servicebus topic subscription update te gebruik, kan hulle konfigurasies manipuleer soos om doodbriefing in te skakel om boodskappe te lei, boodskappe na nie-geautoriseerde eindpunte te stuur, of TTL en vergrendelingsduur te wysig om boodskapaflewering te behou of te beïnvloed. Boonop kan hulle status of maksimum afleweringsgetal instellings verander om bedrywighede te ontwrig of opsporing te vermy, wat subskripsiebeheer 'n kritieke aspek van post-exploitasiestelsels maak. ```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 @@ -72,12 +65,12 @@ Kyk hier: ## Verwysings -- 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 -- https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless -- https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus -- https://learn.microsoft.com/en-us/cli/azure/servicebus/namespace?view=azure-cli-latest -- https://learn.microsoft.com/en-us/cli/azure/servicebus/queue?view=azure-cli-latest +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](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/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) +- [https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless](https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless) +- [https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus](https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus) +- [https://learn.microsoft.com/en-us/cli/azure/servicebus/namespace?view=azure-cli-latest](https://learn.microsoft.com/en-us/cli/azure/servicebus/namespace?view=azure-cli-latest) +- [https://learn.microsoft.com/en-us/cli/azure/servicebus/queue?view=azure-cli-latest](https://learn.microsoft.com/en-us/cli/azure/servicebus/queue?view=azure-cli-latest) {{#include ../../../banners/hacktricks-training.md}} 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 8185f2b79..b8c66c01c 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 @@ -12,17 +12,27 @@ Vir meer inligting oor SQL Databasis, kyk: ### `Microsoft.Sql/servers/databases/read`, `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/databases/write` -Met hierdie toestemmings kan 'n aanvaller databasis skep en opdateer binne die gecompromitteerde omgewing. Hierdie post-exploitatie aktiwiteit kan 'n aanvaller in staat stel om kwaadwillige data by te voeg, databasis konfigurasies te wysig, of agterdeure in te voeg vir verdere volharding, wat moontlik operasies kan ontwrig of addisionele kwaadwillige aksies kan moontlik maak. +Met hierdie toestemmings kan 'n aanvaller databasis binne die gecompromitteerde omgewing skep en opdateer. Hierdie post-exploitatie aktiwiteit kan 'n aanvaller in staat stel om kwaadwillige data by te voeg, databasis konfigurasies te wysig, of agterdeure in te voeg vir verdere volharding, wat moontlik operasies kan ontwrig of addisionele kwaadwillige aksies kan moontlik maak. ```bash # Create Database az sql db create --resource-group --server --name # Update Database az sql db update --resource-group --server --name --max-size +``` +Met hierdie toestemmings (`Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/databases/write`) kan jy 'n verwyderde databasis herstel: +```bash +az sql db restore \ +--dest-name \ +--name \ +--resource-group \ +--server \ +--deleted-time "" + ``` ### `Microsoft.Sql/servers/elasticPools/write` && `Microsoft.Sql/servers/elasticPools/read` -Met hierdie toestemmings kan 'n aanvaller elastiese poele binne die gecompromitteerde omgewing skep en opdateer. Hierdie post-exploitatie aktiwiteit kan 'n aanvaller in staat stel om kwaadwillige data by te voeg, databasis konfigurasies te wysig, of agterdeure in te voeg vir verdere volharding, wat moontlik operasies kan ontwrig of addisionele kwaadwillige aksies kan moontlik maak. +Met hierdie toestemmings kan 'n aanvaller elastiese poele binne die gecompromitteerde omgewing skep en opdateer. Hierdie post-exploitasiemaatreël kan 'n aanvaller in staat stel om kwaadwillige data by te voeg, databasis konfigurasies te wysig, of agterdeure in te voeg vir verdere volharding, wat moontlik operasies kan ontwrig of addisionele kwaadwillige aksies kan moontlik maak. ```bash # Create Elastic Pool az sql elastic-pool create \ @@ -42,7 +52,7 @@ az sql elastic-pool update \ ``` ### `Microsoft.Sql/servers/auditingSettings/read` && `Microsoft.Sql/servers/auditingSettings/write` -Met hierdie toestemming kan jy ouditinstellings op 'n Azure SQL Server wysig of aktiveer. Dit kan 'n aanvaller of gemagtigde gebruiker in staat stel om ouditkonfigurasies te manipuleer, wat moontlik spore kan bedek of ouditlogs na 'n plek onder hul beheer kan herlei. Dit kan sekuriteitsmonitering hindern of dit in staat stel om die aksies op te volg. LET WEL: Om ouditing vir 'n Azure SQL Server met Blob Storage te aktiveer, moet jy 'n stoorrekening koppel waar die ouditlogs gestoor kan word. +Met hierdie toestemming kan jy ouditinstellings op 'n Azure SQL Server wysig of aktiveer. Dit kan 'n aanvaller of gemagtigde gebruiker in staat stel om ouditkonfigurasies te manipuleer, wat moontlik spore kan bedek of ouditlogs na 'n plek onder hul beheer kan herlei. Dit kan sekuriteitsmonitering belemmer of dit in staat stel om die aksies op te volg. LET WEL: Om ouditering vir 'n Azure SQL Server met Blob Storage te aktiveer, moet jy 'n stoorrekening koppel waar die ouditlogs gestoor kan word. ```bash az sql server audit-policy update \ --server \ @@ -53,7 +63,7 @@ az sql server audit-policy update \ ``` ### `Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read`, `Microsoft.Sql/servers/connectionPolicies/read` && `Microsoft.Sql/servers/connectionPolicies/write` -Met hierdie toestemming kan jy die verbintingsbeleide van 'n Azure SQL Server wysig. Hierdie vermoë kan benut word om bediener-vlak verbintningsinstellings in te skakel of te verander. +Met hierdie toestemming kan jy die verbindsbeleid van 'n Azure SQL Server wysig. Hierdie vermoë kan benut word om bediener-vlak verbinsettings te aktiveer of te verander. ```bash az sql server connection-policy update \ --server \ @@ -62,7 +72,7 @@ az sql server connection-policy update \ ``` ### `Microsoft.Sql/servers/databases/export/action` -Met hierdie toestemming kan jy 'n databasis van 'n Azure SQL Server na 'n stoorrekening uitvoer. 'n Aanvaller of gemagtigde gebruiker met hierdie toestemming kan sensitiewe data uit die databasis uitfiltreer deur dit na 'n plek wat hulle beheer, uit te voer, wat 'n beduidende data-oortredingsrisiko inhou. Dit is belangrik om die stoor sleutel te ken om dit te kan uitvoer. +Met hierdie toestemming kan jy 'n databasis van 'n Azure SQL Server na 'n stoorrekening uitvoer. 'n Aanvaller of gemagtigde gebruiker met hierdie toestemming kan sensitiewe data uit die databasis onttrek deur dit na 'n plek wat hulle beheer, uit te voer, wat 'n beduidende data-oortredingsrisiko inhou. Dit is belangrik om die stoor sleutel te ken om dit te kan uitvoer. ```bash az sql db export \ --server \ @@ -87,4 +97,41 @@ az sql db import --admin-user \ --storage-key \ --storage-uri `https://.blob.core.windows.net/bacpac-container/MyDatabase.bacpac` ``` +### `Microsoft.Sql/servers/connectionPolicies/write` && `Microsoft.Sql/servers/connectionPolicies/read` + +Met hierdie toestemmings kan 'n gebruiker die verbintningsbeleide van 'n Azure SQL-bediener wysig en verkry. Hierdie toestemmings laat iemand toe om te verander hoe kliënte met die bediener verbind—om te kies tussen metodes soos omleiding of proxy—wat misbruik kan word om sekuriteit te verswak, verkeer om te lei, of sensitiewe data te onderskep as dit verkeerd geconfigureer is. +```bash +az sql server conn-policy update \ +--resource-group \ +--server \ +--connection-policy +``` +### `Microsoft.Sql/servers/keys/write` && `Microsoft.Sql/servers/keys/read` + +Met hierdie toestemmings kan 'n gebruiker enkripsiesleutels wat met 'n Azure SQL Server geassosieer is, opdateer en terughaal. Hierdie sleutels word dikwels gebruik om sensitiewe data deur enkripsie te beveilig, so om hulle te manipuleer kan datasekuriteit in gevaar stel deur ongeoorloofde ontsleuteling of sleuteldraaiingsveranderinge toe te laat. +```bash +az sql server key create \ +--resource-group MyResourceGroup \ +--server MyServer \ +--kid "https://mykeyvault.vault.azure.net/keys/mykey/1234567890abcdef +``` +### `Microsoft.Sql/servers/databases/ledgerDigestUploads/disable/action`, `Microsoft.Sql/locations/ledgerDigestUploadsAzureAsyncOperation/read`, `Microsoft.Sql/locations/ledgerDigestUploadsOperationResults/read` + +Hierdie toestemmings toelaat die deaktivering van Ledger Digest vir 'n Azure SQL Database, wat die periodieke opgradering van kriptografiese digestrekords na Azure Blob Storage stop wat die integriteit van data verifieer. +```bash +az sql db ledger-digest-uploads disable \ +--name ledgerDB \ +--resource-group myResourceGroup \ +--server my-sql-server +``` +### `Microsoft.Sql/servers/databases/transparentDataEncryption/write`, `Microsoft.Sql/locations/transparentDataEncryptionAzureAsyncOperation/read`, `Microsoft.Sql/servers/databases/transparentDataEncryption/read` + +Hierdie toestemming laat 'n gemagtigde gebruiker of aanvaller toe om Transparante Data-enkripsie (TDE) instellings op 'n Azure SQL-databasis in te skakel, te deaktiveer of te wysig, wat moontlik data-sekuriteit kan beïnvloed deur enkripsie-konfigurasies te verander. +```bash +az sql db tde set \ +--database \ +--resource-group \ +--server \ +--status +``` {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-container-instances-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-container-instances-privesc.md deleted file mode 100644 index faca14c97..000000000 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-container-instances-privesc.md +++ /dev/null @@ -1,64 +0,0 @@ -# Az - Azure Container Instances Privesc - -{{#include ../../../banners/hacktricks-training.md}} - -## Azure Container Instances - -Vir meer inligting, kyk: - -{{#ref}} -../az-services/az-container-instances.md -{{#endref}} - -### `Microsoft.ContainerInstance/containerGroups/read`, `Microsoft.ContainerInstance/containerGroups/containers/exec/action` - -Hierdie toestemmings laat die gebruiker toe om **'n opdrag uit te voer** in 'n lopende houer. Dit kan gebruik word om **privileges te verhoog** in die houer as dit enige bestuurde identiteit het. Natuurlik is dit ook moontlik om toegang te verkry tot die bronkode en enige ander sensitiewe inligting wat binne die houer gestoor is. - -Om 'n `ls` uit te voer en die uitvoer te verkry, is so eenvoudig soos: -```bash -az container exec --name --resource-group --exec-command 'ls' -``` -Dit is ook moontlik om **die uitvoer** van die houer te lees met: -```bash -az container attach --name --resource-group -``` -Of kry die logs met: -```bash -az container logs --name --resource-group -``` -### `Microsoft.ContainerInstance/containerGroups/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` - -Hierdie toestemmings laat toe om **'n gebruikersbestuurde identiteit** aan 'n container-groep te koppel. Dit is baie nuttig om voorregte in die container te verhoog. - -Om 'n gebruikersbestuurde identiteit aan 'n container-groep te koppel: -```bash -az rest \ ---method PATCH \ ---url "/subscriptions//resourceGroups//providers/Microsoft.ContainerInstance/containerGroups/?api-version=2021-09-01" \ ---body '{ -"identity": { -"type": "UserAssigned", -"userAssignedIdentities": { -"/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/": {} -} -} -}' \ ---headers "Content-Type=application/json" -``` -### `Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.ContainerInstance/containerGroups/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` - -Hierdie toestemmings laat toe om 'n **houergroep te skep of op te dateer** met 'n **gebruikersbestuurde identiteit** daaraan geheg. Dit is baie nuttig om voorregte in die houer te verhoog. -```bash -az container create \ ---resource-group > \ ---name nginx2 \ ---image mcr.microsoft.com/oss/nginx/nginx:1.9.15-alpine \ ---assign-identity "/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/" \ ---restart-policy OnFailure \ ---os-type Linux \ ---cpu 1 \ ---memory 1.0 -``` -Boonop, dit is ook moontlik om 'n bestaande houergroep op te dateer deur byvoorbeeld die **`--command-line` argument** met 'n omgekeerde shell by te voeg. - -{{#include ../../../banners/hacktricks-training.md}} 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 b707a2758..de375077d 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 @@ -12,27 +12,27 @@ Vir meer inligting, kyk: ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read` -'n Aanvaller met hierdie toestemming kan boodskappe van 'n Azure Storage Queue kyk. Dit stel die aanvaller in staat om die inhoud van boodskappe te sien sonder om dit as verwerk te merk of hul toestand te verander. Dit kan lei tot ongemagtigde toegang tot sensitiewe inligting, wat data-exfiltrasie of die versameling van intelligensie vir verdere aanvalle moontlik maak. +'n Aanvaller met hierdie toestemming kan boodskappe van 'n Azure Storage Queue afkyk. Dit stel die aanvaller in staat om die inhoud van boodskappe te sien sonder om dit as verwerk te merk of hul toestand te verander. Dit kan lei tot ongemagtigde toegang tot sensitiewe inligting, wat data-exfiltrasie of die versameling van intelligensie vir verdere aanvalle moontlik maak. ```bash az storage message peek --queue-name --account-name ``` -**Potensiële Impak**: Onbevoegde toegang tot die wag, boodskap blootstelling, of wag manipulasie deur onbevoegde gebruikers of dienste. +**Potensiële Impak**: Onbevoegde toegang tot die wachtrij, boodskapblootstelling, of wachtrijmanipulasie deur onbevoegde gebruikers of dienste. ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action` -Met hierdie toestemming kan 'n aanvaller boodskappe van 'n Azure Storage Queue onttrek en verwerk. Dit beteken hulle kan die boodskapinhoud lees en dit as verwerk merk, wat dit effektief verberg van wettige stelsels. Dit kan lei tot sensitiewe data wat blootgestel word, ontwrigtings in hoe boodskappe hanteer word, of selfs die stop van belangrike werksvloei deur boodskappe onbeskikbaar te maak vir hul bedoelde gebruikers. +Met hierdie toestemming kan 'n aanvaller boodskappe van 'n Azure Storage Queue onttrek en verwerk. Dit beteken hulle kan die boodskapinhoud lees en dit as verwerk merk, wat dit effektief verberg van wettige stelsels. Dit kan lei tot die blootstelling van sensitiewe data, ontwrigting in hoe boodskappe hanteer word, of selfs die stop van belangrike werksvloei deur boodskappe onbeskikbaar te maak vir hul beoogde gebruikers. ```bash az storage message get --queue-name --account-name ``` ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action` -Met hierdie toestemming kan 'n aanvaller nuwe boodskappe by 'n Azure Storage Queue voeg. Dit stel hulle in staat om kwaadwillige of ongeoorloofde data in die queue in te spuit, wat moontlik onbedoelde aksies kan ontketen of afgeleide dienste wat die boodskappe verwerk, kan ontwrig. +Met hierdie toestemming kan 'n aanvaller nuwe boodskappe by 'n Azure Storage Queue voeg. Dit stel hulle in staat om kwaadwillige of nie-gesagde data in die lys in te voeg, wat moontlik onbedoelde aksies kan ontketen of afgeleide dienste wat die boodskappe verwerk, kan ontwrig. ```bash az storage message put --queue-name --content "Injected malicious message" --account-name ``` ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write` -Hierdie toestemming laat 'n aanvaller toe om nuwe boodskappe by te voeg of bestaande te werk in 'n Azure Storage Queue. Deur dit te gebruik, kan hulle skadelike inhoud invoeg of bestaande boodskappe verander, wat moontlik toepassings kan mislei of ongewenste gedrag in stelsels wat op die queue staatmaak, kan veroorsaak. +Hierdie toestemming laat 'n aanvaller toe om nuwe boodskappe by te voeg of bestaande boodskappe in 'n Azure Storage Queue op te dateer. Deur dit te gebruik, kan hulle skadelike inhoud invoeg of bestaande boodskappe verander, wat moontlik toepassings kan mislei of ongewenste gedrag in stelsels wat op die queue staatmaak, kan veroorsaak. ```bash az storage message put --queue-name --content "Injected malicious message" --account-name @@ -44,9 +44,9 @@ az storage message update --queue-name \ --visibility-timeout \ --account-name ``` -### Aksie: `Microsoft.Storage/storageAccounts/queueServices/queues/write` +### Action: `Microsoft.Storage/storageAccounts/queueServices/queues/write` -Hierdie toestemming laat 'n aanvaller toe om rye en hul eienskappe binne die stoorrekening te skep of te wysig. Dit kan gebruik word om ongeoorloofde rye te skep, metadata te wysig, of toegangbeheerlys (ACLs) te verander om toegang toe te staan of te beperk. Hierdie vermoë kan werksvloei ontwrig, kwaadwillige data inspuit, sensitiewe inligting uit te haal, of ryinstellings te manipuleer om verdere aanvalle moontlik te maak. +Hierdie toestemming laat 'n aanvaller toe om rye en hul eienskappe binne die stoorrekening te skep of te wysig. Dit kan gebruik word om ongeoorloofde rye te skep, metadata te wysig, of toegangbeheerlys (ACLs) te verander om toegang toe te laat of te beperk. Hierdie vermoë kan werksvloei onderbreek, kwaadwillige data inspuit, sensitiewe inligting eksfiltreer, of ryinstellings manipuleer om verdere aanvalle moontlik te maak. ```bash az storage queue create --name --account-name @@ -56,8 +56,8 @@ az storage queue policy set --name --permissions rwd --expiry 2024- ``` ## Verwysings -- 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 +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](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/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md index 33e8359b8..b39b5d559 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 @@ Vir meer inligting, kyk: ### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action OF Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action -Hierdie toestemmings laat jou toe om die sleutels vir plaaslike magtigingsreëls binne 'n Service Bus-namespace te verkry of te hergenerer. Deur hierdie sleutels te gebruik, is dit moontlik om as die Service Bus-namespace te autentiseer, wat jou in staat stel om boodskappe na enige wachtrij of onderwerp te stuur, boodskappe van enige wachtrij of subskripsie te ontvang, of moontlik met die stelsel te interaksie op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit. +Hierdie toestemmings laat jou toe om die sleutels vir plaaslike magtigingsreëls binne 'n Service Bus-namespace te verkry of te hernu. Deur hierdie sleutels te gebruik, is dit moontlik om as die Service Bus-namespace te autentiseer, wat jou in staat stel om boodskappe na enige wachtrij of onderwerp te stuur, boodskappe van enige wachtrij of subskripsie te ontvang, of moontlik met die stelsel te interaksie op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit. Let daarop dat die **`RootManageSharedAccessKey`-reël standaard volle beheer** oor die Service Bus-namespace het en dit deur die `az` cli gebruik word, egter kan daar ander reëls met ander sleutelwaardes bestaan. ```bash @@ -41,7 +41,7 @@ az servicebus namespace authorization-rule update \ ``` ### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OF Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action -Spesifieke onderwerpe en rye binne 'n Service Bus-namespace kan hul eie magtigingsreëls hê, wat gebruik kan word om toegang tot die entiteit te beheer. Deur hierdie toestemmings te hê, kan jy **die sleutels vir hierdie plaaslike magtigingsreëls onttrek of hergenerer**, wat jou in staat stel om as die entiteit te verifieer en moontlik boodskappe te stuur of te ontvang, inskrywings te bestuur, of met die stelsel te kommunikeer op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit. +Spesifieke onderwerpe en rye binne 'n Service Bus-namespace kan hul eie magtigingsreëls hê, wat gebruik kan word om toegang tot die entiteit te beheer. Deur hierdie toestemmings te hê, kan jy **die sleutels vir hierdie plaaslike magtigingsreëls onttrek of hernu**, wat jou in staat stel om as die entiteit te verifieer en moontlik boodskappe te stuur of te ontvang, intekeninge te bestuur, of met die stelsel te kommunikeer op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit. ```bash # List keys (topics) az servicebus topic authorization-rule keys list --resource-group --namespace-name --topic-name --name @@ -82,129 +82,204 @@ Met hierdie toestemmings **kan 'n aanvaller "lokale outentisering" heraktiveer** ```bash az servicebus namespace update --disable-local-auth false -n --resource-group ``` -### Stuur Berigte met sleutels (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OF Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) +### Stuur boodskappe met sleutels (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OF Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) -Jy kan die `PrimaryConnectionString` verkry, wat as 'n geloofsbrief vir die Service Bus-namespace optree. Met hierdie verbindingsstring kan jy ten volle autentiseer as die Service Bus-namespace, wat jou in staat stel om berigte na enige wachtrij of onderwerp te stuur en moontlik met die stelsel te kommunikeer op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit. +Jy kan die `PrimaryConnectionString` verkry, wat as 'n geloofsbrief vir die Service Bus-namespace optree. Met hierdie verbindingsstring kan jy ten volle outentiseer as die Service Bus-namespace, wat jou in staat stel om boodskappe na enige wachtrij of onderwerp te stuur en moontlik met die stelsel te kommunikeer op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit. Hierdie metode werk as `--disable-local-auth` op vals gestel is. ```python -#You need to install the following libraries -#pip install azure-servicebus -#pip install aiohttp -#pip install azure-identity - import asyncio from azure.servicebus.aio import ServiceBusClient from azure.servicebus import ServiceBusMessage -# Constants NAMESPACE_CONNECTION_STR = "" -TOPIC_NAME = "" +TOPIC_OR_QUEUE_NAME = "" -# Function to send a single message to a Service Bus topic -async def send_individual_message(publisher): -# Prepare a single message with updated content -single_message = ServiceBusMessage("Hacktricks-Training: Single Item") -# Send the message to the topic -await publisher.send_messages(single_message) -print("Sent a single message containing 'Hacktricks-Training'") +async def send_message(): +async with ServiceBusClient.from_connection_string(NAMESPACE_CONNECTION_STR) as client: +async with client.get_topic_sender(topic_name=TOPIC_OR_QUEUE_NAME) as sender: +await sender.send_messages(ServiceBusMessage("Hacktricks-Training: Single Item")) +print("Sent message") -# Function to send multiple messages to a Service Bus topic -async def send_multiple_messages(publisher): -# Generate a collection of messages with updated content -message_list = [ServiceBusMessage(f"Hacktricks-Training: Item {i+1} in list") for i in range(5)] -# Send the entire collection of messages to the topic -await publisher.send_messages(message_list) -print("Sent a list of 5 messages containing 'Hacktricks-Training'") +asyncio.run(send_message()) +``` +Daarbenewens kan jy boodskappe stuur met az rest, in hierdie geval moet jy 'n sas-token genereer om te gebruik. +```python +import time, urllib.parse, hmac, hashlib, base64 -# Function to send a grouped batch of messages to a Service Bus topic -async def send_grouped_messages(publisher): -# Send a grouped batch of messages with updated content -async with publisher: -grouped_message_batch = await publisher.create_message_batch() -for i in range(10): -try: -# Append a message to the batch with updated content -grouped_message_batch.add_message(ServiceBusMessage(f"Hacktricks-Training: Item {i+1}")) -except ValueError: -# If batch reaches its size limit, handle by creating another batch -break -# Dispatch the batch of messages to the topic -await publisher.send_messages(grouped_message_batch) -print("Sent a batch of 10 messages containing 'Hacktricks-Training'") +def generate_sas_token(uri, key_name, key, expiry_in_seconds=3600): +expiry = int(time.time() + expiry_in_seconds) +string_to_sign = urllib.parse.quote_plus(uri) + "\n" + str(expiry) +signed_hmac_sha256 = hmac.new(key.encode('utf-8'), string_to_sign.encode('utf-8'), hashlib.sha256).digest() +signature = urllib.parse.quote_plus(base64.b64encode(signed_hmac_sha256)) +token = f"SharedAccessSignature sr={urllib.parse.quote_plus(uri)}&sig={signature}&se={expiry}&skn={key_name}" +return token -# Main function to execute all tasks -async def execute(): -# Instantiate the Service Bus client with the connection string -async with ServiceBusClient.from_connection_string( -conn_str=NAMESPACE_CONNECTION_STR, -logging_enable=True) as sb_client: -# Create a topic sender for dispatching messages to the topic -publisher = sb_client.get_topic_sender(topic_name=TOPIC_NAME) -async with publisher: -# Send a single message -await send_individual_message(publisher) -# Send multiple messages -await send_multiple_messages(publisher) -# Send a batch of messages -await send_grouped_messages(publisher) +# Replace these with your actual values +resource_uri = "https://.servicebus.windows.net/" +key_name = "" +primary_key = "" -# Run the asynchronous execution -asyncio.run(execute()) -print("Messages Sent") -print("----------------------------") +sas_token = generate_sas_token(resource_uri, key_name, primary_key) +print(sas_token) +``` + +```bash +az rest --method post \ +--uri "https://.servicebus.windows.net//messages" \ +--headers "Content-Type=application/atom+xml;type=entry;charset=utf-8" "Authorization=SharedAccessSignature sr=https%3A%2F%2F.servicebus.windows.net%2F&sig=&se=&skn=" \ +--body "" ``` ### Ontvang met sleutels (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OF Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) -Jy kan die PrimaryConnectionString verkry, wat as 'n geloofsbrief vir die Service Bus-namespace dien. Deur hierdie verbindingsstring te gebruik, kan jy boodskappe van enige wachtrij of subskripsie binne die namespace ontvang, wat toegang tot potensieel sensitiewe of kritieke data moontlik maak, data-uitvloeiing moontlik maak, of inmeng met boodskapverwerking en toepassingswerkvloei. +Jy kan die PrimaryConnectionString verkry, wat as 'n geloofsbrief vir die Service Bus-namespace dien. Met hierdie verbindingsstring kan jy boodskappe ontvang van enige wachtrij of subskripsie binne die namespace, wat toegang tot potensieel sensitiewe of kritieke data moontlik maak, data-exfiltrasie moontlik maak, of inmeng met boodskapverwerking en toepassingswerkvloei. Hierdie metode werk as `--disable-local-auth` op vals gestel is. ```python -#You need to install the following libraries -#pip install azure-servicebus -#pip install aiohttp -#pip install azure-identity - import asyncio from azure.servicebus.aio import ServiceBusClient -NAMESPACE_CONNECTION_STR = "" -TOPIC_NAME = "" -SUBSCRIPTION_NAME = "" #Topic Subscription +CONN_STR = "" +QUEUE = "" -# Function to receive and process messages from a Service Bus subscription -async def receive_and_process_messages(): -# Create a Service Bus client using the connection string -async with ServiceBusClient.from_connection_string( -conn_str=NAMESPACE_CONNECTION_STR, -logging_enable=True) as servicebus_client: +# For topics/subscriptions, you would use: +# TOPIC = "" +# SUBSCRIPTION = "" -# Get the Subscription Receiver object for the specified topic and subscription -receiver = servicebus_client.get_subscription_receiver( -topic_name=TOPIC_NAME, -subscription_name=SUBSCRIPTION_NAME, -max_wait_time=5 -) - -async with receiver: -# Receive messages with a defined maximum wait time and count -received_msgs = await receiver.receive_messages( -max_wait_time=5, -max_message_count=20 -) -for msg in received_msgs: -print("Received: " + str(msg)) -# Complete the message to remove it from the subscription +async def receive(): +async with ServiceBusClient.from_connection_string(CONN_STR) as client: +# For a queue receiver: +async with client.get_queue_receiver(queue_name=QUEUE, max_wait_time=5) as receiver: +msgs = await receiver.receive_messages(max_wait_time=5, max_message_count=20) +for msg in msgs: +print("Received:", msg) await receiver.complete_message(msg) -# Run the asynchronous message processing function -asyncio.run(receive_and_process_messages()) -print("Message Receiving Completed") -print("----------------------------") +# For a topic/subscription receiver (commented out): +# async with client.get_subscription_receiver(topic_name=TOPIC, subscription_name=SUBSCRIPTION, max_wait_time=5) as receiver: +# msgs = await receiver.receive_messages(max_wait_time=5, max_message_count=20) +# for msg in msgs: +# print("Received:", msg) +# await receiver.complete_message(msg) + +asyncio.run(receive()) +print("Done receiving messages") +``` +Daarbenewens kan jy boodskappe stuur met az rest, in hierdie geval moet jy 'n sas-token genereer om te gebruik. +```python +import time, urllib.parse, hmac, hashlib, base64 + +def generate_sas_token(uri, key_name, key, expiry_in_seconds=3600): +expiry = int(time.time() + expiry_in_seconds) +string_to_sign = urllib.parse.quote_plus(uri) + "\n" + str(expiry) +signature = urllib.parse.quote_plus(base64.b64encode( +hmac.new(key.encode('utf-8'), string_to_sign.encode('utf-8'), hashlib.sha256).digest() +)) +token = f"SharedAccessSignature sr={urllib.parse.quote_plus(uri)}&sig={signature}&se={expiry}&skn={key_name}" +return token + +# Example usage: +resource_uri = "https://.servicebus.windows.net/queue" # For queue +# resource_uri = "https://.servicebus.windows.net//subscriptions/" # For topic subscription +sas_token = generate_sas_token(resource_uri, "", "") +print(sas_token) + +``` +Vir 'n wachtrij kan jy die boodskap kry of kyk (om 'n boodskap te kry, sal dit verwyder word, terwyl kyk dit nie sal doen): +```bash +#Get a message +az rest --method post \ +--uri "https://.servicebus.windows.net//messages/head?timeout=60" \ +--headers "Content-Type=application/atom+xml;type=entry;charset=utf-8" "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" + +#Peek a message +az rest --method get \ +--uri "https://.servicebus.windows.net//messages/head?peekonly=true&timeout=60" \ +--headers "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" + +#You can select the meesage changing the field PreviousSequenceNumber +az rest --method get \ +--uri "https://.servicebus.windows.net//messages?timeout=60&PreviousSequenceNumber=&api-version=2017-04" \ +--headers "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" +``` +Please provide the text you would like translated to Afrikaans. +```bash +#Get a message +az rest --method post \ +--uri "https://.servicebus.windows.net//subscriptions//messages/head?timeout=60" \ +--headers "Content-Type=application/atom+xml;type=entry;charset=utf-8" "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" + +#Peek a message +az rest --method get \ +--uri "https://.servicebus.windows.net//subscriptions//messages/head?timeout=60&api-version=2017-04" \ +--headers "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" + +#You can select the meesage changing the field PreviousSequenceNumber +az rest --method get \ +--uri "https://.servicebus.windows.net//subscriptions//messages?timeout=60&PreviousSequenceNumber=&api-version=2017-04" \ +--headers "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" +``` +### Stuur Berigte. DataActions: `Microsoft.ServiceBus/namespaces/messages/send/action` + +Jy kan hierdie toestemmings gebruik om berigte te stuur, selfs as `--disable-local-auth` op waar is. +```python +import asyncio +from azure.identity.aio import DefaultAzureCredential +from azure.servicebus.aio import ServiceBusClient +from azure.servicebus import ServiceBusMessage + +NS = ".servicebus.windows.net" # Your namespace +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_queue_sender(queue_name=QUEUE) as sender: +await sender.send_messages(ServiceBusMessage("Single Message")) +print("Sent a single message") +await credential.close() + +if __name__ == "__main__": +asyncio.run(run()) +``` +### Ontvang Berigte. DataActions: `Microsoft.ServiceBus/namespaces/messages/receive/action` + +Jy kan hierdie toestemmings gebruik om berigte te ontvang, selfs al is `--disable-local-auth` op waar gestel. +```python +import asyncio +from azure.identity.aio import DefaultAzureCredential +from azure.servicebus.aio import ServiceBusClient + +NS = ".servicebus.windows.net" +QUEUE = "" + +# For a topic subscription, uncomment and set these values: +# TOPIC = "" +# SUBSCRIPTION = "" + +async def run(): +credential = DefaultAzureCredential() +async with ServiceBusClient(fully_qualified_namespace=NS, credential=credential) as client: +# Receiving from a queue: +async with client.get_queue_receiver(queue_name=QUEUE, max_wait_time=5) as receiver: +async for msg in receiver: +print("Received from Queue:", msg) +await receiver.complete_message(msg) + +# To receive from a topic subscription, uncomment the code below and comment out the queue receiver above: +# async with client.get_subscription_receiver(topic_name=TOPIC, subscription_name=SUBSCRIPTION, max_wait_time=5) as receiver: +# async for msg in receiver: +# print("Received from Topic Subscription:", msg) +# await receiver.complete_message(msg) + +await credential.close() + +asyncio.run(run()) +print("Done receiving messages") ``` ## Verwysings -- 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 -- https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless -- https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](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/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) +- [https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless](https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless) +- [https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus](https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus) {{#include ../../../banners/hacktricks-training.md}} 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 ac71bf3d6..23be04ff5 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 @@ -1,10 +1,10 @@ -# Az - SQL Databasis Privesc +# Az - SQL Database Privesc {{#include ../../../banners/hacktricks-training.md}} -## SQL Databasis Privesc +## SQL Database Privesc -Vir meer inligting oor SQL Databasis, kyk: +Vir meer inligting oor SQL Database, kyk: {{#ref}} ../az-services/az-sql.md @@ -12,7 +12,7 @@ Vir meer inligting oor SQL Databasis, kyk: ### `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/write` -Met hierdie toestemmings kan 'n gebruiker privilige-eskalasie uitvoer deur Azure SQL bedieners op te dateer of te skep en kritieke konfigurasies te wysig, insluitend administratiewe akrediteer. Hierdie toestemming laat die gebruiker toe om bediener eienskappe op te dateer, insluitend die SQL bediener admin wagwoord, wat ongeoorloofde toegang of beheer oor die bediener moontlik maak. Hulle kan ook nuwe bedieners skep, wat potensieel skadu-infrastruktuur vir kwaadwillige doeleindes kan inbring. Dit word veral krities in omgewings waar "Microsoft Entra Authentication Only" gedeaktiveer is, aangesien hulle SQL-gebaseerde verifikasie kan benut om onbeperkte toegang te verkry. +Met hierdie toestemmings kan 'n gebruiker privilige-eskalasie uitvoer deur Azure SQL-bedieners op te dateer of te skep en kritieke konfigurasies, insluitend administratiewe akrediteer, te wysig. Hierdie toestemming laat die gebruiker toe om bediener eienskappe op te dateer, insluitend die SQL-bediener admin wagwoord, wat ongeoorloofde toegang of beheer oor die bediener moontlik maak. Hulle kan ook nuwe bedieners skep, wat potensieel skadu-infrastruktuur vir kwaadwillige doeleindes kan inbring. Dit word veral krities in omgewings waar "Microsoft Entra Authentication Only" gedeaktiveer is, aangesien hulle SQL-gebaseerde autentisering kan benut om onbeperkte toegang te verkry. ```bash # Change the server password az sql server update \ @@ -26,7 +26,7 @@ az sql server create \ --resource-group \ --location \ --admin-user \ ---admin-password +--admin-password ``` Boonop is dit nodig om die publieke toegang in te skakel as jy van 'n nie-private eindpunt wil toegang hê, om dit in te skakel: ```bash @@ -35,6 +35,31 @@ az sql server update \ --resource-group \ --enable-public-network true ``` +Verder, met die toestemmings kan jy die toegewyde identiteit aktiveer, en werk met die bestuurde identiteit wat aan die bediener geheg is. Byvoorbeeld hier met 'n bestuurde identiteit wat toegang tot Azure Storage kan verkry: +```bash +az sql server update \ +--name \ +--resource-group \ +--assign_identity +``` + +```sql +CREATE EXTERNAL DATA SOURCE ManagedIdentity +WITH ( +TYPE = BLOB_STORAGE, +LOCATION = 'https://.blob.core.windows.net/', +CREDENTIAL = ManagedIdentityCredential +); +GO + +SELECT * +FROM OPENROWSET( +BULK 'message.txt', +DATA_SOURCE = 'ManagedIdentity', +SINGLE_CLOB +) AS DataFile; +GO +``` ### `Microsoft.Sql/servers/firewallRules/write` 'n Aanvaller kan firewallreëls op Azure SQL-bedieners manipuleer om ongeoorloofde toegang toe te laat. Dit kan uitgebuit word om die bediener oop te maak vir spesifieke IP-adresse of hele IP-reekse, insluitend openbare IP's, wat toegang vir kwaadwillige akteurs moontlik maak. Hierdie post-uitbuiting aktiwiteit kan gebruik word om bestaande netwerkveiligheidsbeheer te omseil, volharding te vestig, of laterale beweging binne die omgewing te fasiliteer deur sensitiewe hulpbronne bloot te stel. @@ -60,7 +85,7 @@ LET WEL: Dit is nodig om die publieke toegang geaktiveer te hê. ### `Microsoft.Sql/servers/ipv6FirewallRules/write` -Met hierdie toestemming kan jy IPv6 firewall reëls op 'n Azure SQL Server skep, wysig of verwyder. Dit kan 'n aanvaller of gemagtigde gebruiker in staat stel om bestaande netwerk sekuriteitskonfigurasies te omseil en ongemagtigde toegang tot die bediener te verkry. Deur 'n reël toe te voeg wat verkeer van enige IPv6 adres toelaat, kan die aanvaller die bediener oopmaak vir eksterne toegang. +Met hierdie toestemming kan jy IPv6-firewallreëls op 'n Azure SQL Server skep, wysig of verwyder. Dit kan 'n aanvaller of gemagtigde gebruiker in staat stel om bestaande netwerkveiligheidskonfigurasies te omseil en ongemagtigde toegang tot die bediener te verkry. Deur 'n reël toe te voeg wat verkeer van enige IPv6-adres toelaat, kan die aanvaller die bediener oopmaak vir eksterne toegang. ```bash az sql server firewall-rule create \ --server \ @@ -74,7 +99,7 @@ LET WEL: Dit is nodig om die publieke toegang geaktiveer te hê. ### `Microsoft.Sql/servers/administrators/write` && `Microsoft.Sql/servers/administrators/read` -Met hierdie toestemmings kan jy privesc in 'n Azure SQL Server omgewing deur toegang te verkry tot SQL databasisse en kritieke inligting te onttrek. Deur die onderstaande opdrag te gebruik, kan 'n aanvaller of gemagtigde gebruiker hulself of 'n ander rekening as die Azure AD administrateur stel. As "Microsoft Entra Authentication Only" geaktiveer is, kan jy toegang tot die bediener en sy instansies verkry. Hier is die opdrag om die Azure AD administrateur vir 'n SQL bediener in te stel: +Met hierdie toestemmings kan jy privesc in 'n Azure SQL Server omgewing deur toegang te verkry tot SQL databasisse en kritieke inligting te onttrek. Met die onderstaande opdrag kan 'n aanvaller of gemagtigde gebruiker hulself of 'n ander rekening as die Azure AD administrateur stel. As "Microsoft Entra Authentication Only" geaktiveer is, kan jy toegang tot die bediener en sy instansies verkry. Hier is die opdrag om die Azure AD administrateur vir 'n SQL bediener in te stel: ```bash az sql server ad-admin create \ --server \ diff --git a/src/pentesting-cloud/azure-security/az-services/az-container-instances.md b/src/pentesting-cloud/azure-security/az-services/az-container-instances.md deleted file mode 100644 index 16a121499..000000000 --- a/src/pentesting-cloud/azure-security/az-services/az-container-instances.md +++ /dev/null @@ -1,45 +0,0 @@ -# Az - Container Instances - -{{#include ../../../banners/hacktricks-training.md}} - -## Basiese Inligting - -Azure Container Instances (ACI) bied 'n **serverless, on-demand manier** om **houers** in die Azure wolk te draai. Jy kan **ontplooi** enkel of meerdere houers in 'n groep met **schaalbare rekenaarkrag**, **netwerk opsies**, en die buigsaamheid om te verbind met **ander Azure dienste** (soos Stoor, Virtuele Netwerke, of Houer Registrasies). - -Aangesien dit **ephemerale** werkladinge is, hoef jy nie die onderliggende VM-infrastruktuur te bestuur nie — Azure hanteer dit vir jou. egter, vanuit 'n **aanvallende sekuriteits perspektief**, is dit van kardinale belang om te verstaan hoe **toestemmings**, **identiteite**, **netwerk konfigurasies**, en **logs** aanvalsoppervlakke en potensiële misconfigurasies kan onthul. - -### Konfigurasies - -- Om 'n houer te skep, is dit moontlik om 'n publieke beeld, 'n houerbeeld van 'n Azure Container Registry of 'n eksterne repository te gebruik, wat dalk **vereis om 'n wagwoord te konfigureer** om toegang te verkry. -- Wat netwerk betref, kan dit ook 'n **publieke IP** hê of **privaat eindpunte** wees. -- Dit is ook moontlik om algemene docker instellings te konfigureer soos: -- **Omgewing veranderlikes** -- **Volumes** (selfs van Azure Files) -- **Poorte** -- **CPU en geheue beperkings** -- **Herstart beleid** -- **Loop as bevoorreg** -- **Opdraglyn om te loop** -- ... - -## Enumerasie - -> [!WARNING] -> Wanneer jy ACI evalueer, kan jy sensitiewe konfigurasies onthul soos **omgewing veranderlikes**, **netwerk besonderhede**, of **bestuurde identiteite**. Wees versigtig met die registrasie of vertoon daarvan. -```bash -# List all container instances in the subscription -az container list - -# Show detailed information about a specific container instance -az container show --name --resource-group - -# Fetch logs from a container -az container logs --name --resource-group - -# Execute a command in a running container and get the output -az container exec --name --resource-group --exec-command "ls" - -# Get yaml configuration of the container group -az container export --name --resource-group -``` - diff --git a/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md b/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md index c8eaa29e1..c3ac59d6f 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md @@ -4,7 +4,7 @@ ## Basiese Inligting -Azure Queue Storage is 'n diens in Microsoft se Azure wolkplatform wat ontwerp is vir boodskapkwotering tussen toepassingskomponente, **wat asynchrone kommunikasie en ontkoppeling moontlik maak**. Dit stel jou in staat om 'n onbeperkte aantal boodskappe te stoor, elk tot 64 KB in grootte, en ondersteun operasies soos die skep en verwyder van kwotasies, die toevoeging, opvraging, opdatering en verwydering van boodskappe, sowel as die bestuur van metadata en toegangbeleide. Terwyl dit tipies boodskappe in 'n eerste-in-eerste-uit (FIFO) manier verwerk, word strikte FIFO nie gewaarborg nie. +Azure Queue Storage is 'n diens in Microsoft se Azure wolkplatform wat ontwerp is vir boodskapkwotering tussen toepassingskomponente, **wat asynchrone kommunikasie en ontkoppeling moontlik maak**. Dit laat jou toe om 'n onbeperkte aantal boodskappe te stoor, elk tot 64 KB in grootte, en ondersteun operasies soos die skep en verwyder van kwotasies, die toevoeging, opvraging, opdatering en verwydering van boodskappe, sowel as die bestuur van metadata en toegangbeleide. Terwyl dit tipies boodskappe in 'n eerste-in-eerste-uit (FIFO) manier verwerk, word strikte FIFO nie gewaarborg nie. ### Enumerasie @@ -84,8 +84,8 @@ $queueMessage.Value ## References -- 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 +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](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/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md index a3d9fe286..52b804589 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md @@ -4,50 +4,59 @@ ## Service Bus -Azure Service Bus is 'n wolk-gebaseerde **boodskapdiens** wat ontwerp is om betroubare **kommunikasie tussen verskillende dele van 'n toepassing of geskeide toepassings** moontlik te maak. Dit dien as 'n veilige tussenganger, wat verseker dat boodskappe veilig afgelewer word, selfs al werk die sender en ontvanger nie gelyktydig nie. Deur stelsels te ontkoppel, laat dit toepassings toe om onafhanklik te werk terwyl hulle steeds data of instruksies uitruil. Dit is veral nuttig vir scenario's wat laaibalansering oor verskeie werkers, betroubare boodskapaflewering, of komplekse koördinering vereis, soos die verwerking van take in volgorde of die veilige bestuur van toegang. +Azure Service Bus is 'n wolk-gebaseerde **boodskapdiens** wat ontwerp is om betroubare **kommunikasie tussen verskillende dele van 'n toepassing of aparte toepassings** moontlik te maak. Dit dien as 'n veilige tussenganger, wat verseker dat boodskappe veilig afgelewer word, selfs al werk die sender en ontvanger nie gelyktydig nie. Deur stelsels te ontkoppel, laat dit toepassings toe om onafhanklik te werk terwyl hulle steeds data of instruksies uitruil. Dit is veral nuttig vir scenario's wat laaibelasting oor verskeie werkers vereis, betroubare boodskapaflewering, of komplekse koördinering, soos die verwerking van take in volgorde of die veilige bestuur van toegang. ### Sleutelkonsepte -1. **Queues:** die doel is om boodskappe te stoor totdat die ontvanger gereed is. +1. **Namespaces:** 'n namespace in boodskapstelsels is 'n logiese houer wat boodskapkomponente, rye en onderwerpe organiseer en bestuur. Dit bied 'n geïsoleerde omgewing waar toepassings boodskappe kan stuur, ontvang en verwerk. Rye en onderwerpe deel dieselfde infrastruktuur en konfigurasie binne 'n Service Bus namespace, maar hulle werk onafhanklik sonder om met mekaar te kommunikeer. +2. **Queues:** die doel daarvan is om boodskappe te stoor totdat die ontvanger gereed is. - Boodskappe is georden, tydstempel, en duursaam gestoor. - Afgelewer in trekmodus (op aanvraag). - Ondersteun punt-tot-punt kommunikasie. -2. **Topics:** Publiseer-subscribe boodskapdiens vir uitsaai. +3. **Topics:** Publiseer-subscribe boodskapdiens vir uitsaai. - Meerdere onafhanklike intekeninge ontvang kopieë van boodskappe. - Intekeninge kan reëls/filters hê om aflewering te beheer of metadata by te voeg. - Ondersteun baie-tot-baie kommunikasie. -3. **Namespaces:** 'n houer vir alle boodskapkomponente, queues en topics, is soos jou eie skyfie van 'n kragtige Azure-kluster, wat toegewyde kapasiteit bied en opsioneel oor drie beskikbaarheidsgebiede strek. +Die diensbus eindpunt/verbindingstring is: +```bash +https://.servicebus.windows.net:443/ +``` ### Gevorderde Kenmerke Sommige gevorderde kenmerke is: -- **Boodskap Sessies**: Verseker FIFO-verwerking en ondersteun versoek-antwoorde patrone. -- **Outomatiese Oorgang**: Oordra boodskappe tussen queues of topics in dieselfde namespace. +- **Boodskap Sessies**: Verseker FIFO verwerking en ondersteun versoek-antwoorde patrone. +- **Outomatiese Oorgang**: Oordra boodskappe tussen rye of onderwerpe in dieselfde naamruimte. - **Doodbrief**: Vang onaflewerbare boodskappe vir hersiening. - **Geskeduleerde Aflewering**: Vertraag boodskapverwerking vir toekomstige take. -- **Boodskap Uitstel**: Stel boodskaponttrekking uit totdat gereed. +- **Boodskap Uitstel**: Stel boodskapontvangs uit totdat gereed. - **Transaksies**: Groepeer operasies in atomiese uitvoering. -- **Filters & Aksies**: Pas reëls toe om boodskappe te filter of te annoteren. -- **Outomatiese Verwydering by Inaktiwiteit**: Verwyder queues na inaktiwiteit (min: 5 minute). +- **Filters & Aksies**: Pas reëls toe om boodskappe te filter of te annotiseer. +- **Outomatiese Verwydering by Inaktiwiteit**: Verwyder rye na inaktiwiteit (min: 5 minute). - **Dubbele Opsporing**: Verwyder dubbele boodskappe tydens herstuur. - **Batch Verwydering**: Grootskaalse verwydering van vervalde of onnodige boodskappe. ### Magtiging-Reël / SAS Beleid -SAS Beleide definieer die toegangstoestemmings vir Azure Service Bus entiteite namespace (Die Belangrikste Een), queues en topics. Elke beleid het die volgende komponente: +SAS Beleide definieer die toegangstoestemmings vir Azure Service Bus entiteite naamruimte (Die Mees Belangrike Een), rye en onderwerpe. Elke beleid het die volgende komponente: -- **Toestemmings**: Aankruisvakke om toegangsvlakke te spesifiseer: -- Bestuur: Gee volle beheer oor die entiteit, insluitend konfigurasie en toestemmingbestuur. +- **Toestemmings**: Aankruisvakke om toegangsvlakke spesifiseer: +- Bestuur: Gee volle beheer oor die entiteit, insluitend konfigurasie en toestemmingsbestuur. - Stuur: Laat toe om boodskappe na die entiteit te stuur. - Luister: Laat toe om boodskappe van die entiteit te ontvang. - **Primêre en Sekondêre Sleutels**: Dit is kriptografiese sleutels wat gebruik word om veilige tokens te genereer vir die verifikasie van toegang. -- **Primêre en Sekondêre Verbindingstrings**: Vooraf-gekonfigureerde verbindingstrings wat die eindpunt en sleutel insluit vir maklike gebruik in toepassings. +- **Primêre en Sekondêre Verbindingstrings**: Vooraf geconfigureerde verbindingstrings wat die eindpunt en sleutel insluit vir maklike gebruik in toepassings. - **SAS Beleid ARM ID**: Die Azure Resource Manager (ARM) pad na die beleid vir programmatiese identifikasie. -### Naamruimte +Dit is belangrik om te noem dat 'n naamruimte 'n enkele SAS beleid het wat elke entiteit binne dit beïnvloed, terwyl rye en onderwerpe hul eie individuele SAS beleide kan hê vir meer fynbeheer. -sku, magtigingreël, +### "--disable-local-auth" + +Die --disable-local-auth parameter word gebruik om te beheer of plaaslike verifikasie (d.w.s. die gebruik van Gedeelde Toegang Handtekening (SAS) sleutels) geaktiveer is vir jou Service Bus naamruimte. Hier is wat jy moet weet: + +- Wanneer op waar: Plaaslike verifikasie met SAS sleutels is gedeaktiveer en azure Active Directory (Azure AD) verifikasie is toegelaat. +- Wanneer op vals: Beide SAS (plaaslik) verifikasie en Azure AD verifikasie is beskikbaar en jy kan verbindingstrings met SAS sleutels gebruik om toegang tot jou Service Bus hulpbronne te verkry. ### Enumerasie diff --git a/src/pentesting-cloud/azure-security/az-services/az-sql.md b/src/pentesting-cloud/azure-security/az-services/az-sql.md index 05494e07b..7e49d31d9 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-sql.md +++ b/src/pentesting-cloud/azure-security/az-services/az-sql.md @@ -6,100 +6,154 @@ Azure SQL is 'n familie van bestuurde, veilige en intelligente produkte wat die **SQL Server-databasisengine in die Azure-wolk** gebruik. Dit beteken jy hoef nie bekommerd te wees oor die fisiese administrasie van jou bedieners nie, en jy kan fokus op die bestuur van jou data. -Azure SQL bestaan uit drie hoofaanbiedinge: +Azure SQL bestaan uit vier hoofaanbiedinge: -1. **Azure SQL Database**: Dit is 'n **volledig bestuurde databasisdiens**, wat jou toelaat om individuele databasisse in die Azure-wolk te huisves. Dit bied ingeboude intelligensie wat jou unieke databasispatrone leer en aangepaste aanbevelings en outomatiese afstemming bied. -2. **Azure SQL Managed Instance**: Dit is vir groter skaal, hele SQL Server-instantie-geskepte ontplooiings. Dit bied byna 100% kompatibiliteit met die nuutste SQL Server op-premises (Enterprise Edition) Databasisengine, wat 'n inheemse virtuele netwerk (VNet) implementering bied wat algemene sekuriteitskwessies aanspreek, en 'n besigheidsmodel wat gunstig is vir op-premises SQL Server-klante. -3. **Azure SQL Server op Azure VMs**: Dit is Infrastruktur as 'n Diens (IaaS) en is die beste vir migrasies waar jy **beheer oor die bedryfstelsel en SQL Server-instantie** wil hê, soos dit 'n bediener was wat op-premises gedraai het. +1. **Azure SQL Server**: Azure SQL Server is 'n bestuurde relationele databasisdiens wat die ontplooiing en bestuur van SQL Server-databasisse vereenvoudig, met ingeboude sekuriteit en prestasiekenmerke. +2. **Azure SQL Database**: Dit is 'n **volledig bestuurde databasisdiens**, wat jou toelaat om individuele databasisse in die Azure-wolk te huisves. Dit bied ingeboude intelligensie wat jou unieke databasispatrone leer en aangepaste aanbevelings en outomatiese afstemming bied. +3. **Azure SQL Managed Instance**: Dit is vir groter skaal, hele SQL Server-instantie-geskepte ontplooiings. Dit bied byna 100% kompatibiliteit met die nuutste SQL Server op-premises (Enterprise Edition) Databasisengine, wat 'n inheemse virtuele netwerk (VNet) implementering bied wat algemene sekuriteitskwessies aanspreek, en 'n besigheidsmodel wat gunstig is vir op-premises SQL Server-klante. +4. **Azure SQL Server op Azure VMs**: Dit is Infrastruktur as 'n Diens (IaaS) en is die beste vir migrasies waar jy **beheer oor die bedryfstelsel en SQL Server-instantie** wil hê, soos dit 'n bediener was wat op-premises gedraai het. -### Azure SQL Database +### Azure SQL Server -**Azure SQL Database** is 'n **volledig bestuurde databasisplatform as 'n diens (PaaS)** wat skaalbare en veilige relationele databasisoplossings bied. Dit is gebou op die nuutste SQL Server-tegnologieë en elimineer die behoefte aan infrastruktuurbeheer, wat dit 'n gewilde keuse maak vir wolk-gebaseerde toepassings. +Azure SQL Server is 'n relationele databasisbestuurstelsel (RDBMS) wat Transact-SQL vir data-operasies gebruik en is gebou om ondernemingsvlak stelsels te hanteer. Dit bied robuuste kenmerke vir prestasie, sekuriteit, skaalbaarheid, en integrasie met verskeie Microsoft-toepassings. Azure SQL-databasisse is afhanklik van hierdie bediener, aangesien dit op hierdie bedieners gebou is en dit is die toegangspunt vir gebruikers om toegang tot die databasisse te verkry. -#### Sleutelkenmerke +#### Network -- **Altijd Opdatering**: Loop op die nuutste stabiele weergawe van SQL Server en ontvang nuwe kenmerke en regstellings outomaties. -- **PaaS Vermoëns**: Ingeboude hoë beskikbaarheid, rugsteun, en opdaterings. -- **Data Buigsaamheid**: Ondersteun relationele en nie-relationele data (bv. grafieke, JSON, ruimtelik, en XML). +**Netwerkverbinding**: Kies of jy toegang via 'n openbare eindpunt of private eindpunt wil inskakel. As jy Geen toegang kies, word geen eindpunte geskep totdat dit handmatig gekonfigureer is: +- Geen toegang: Geen eindpunte is gekonfigureer nie, wat inkomende verbindings blokkeer totdat dit handmatig opgestel is. +- Publieke eindpunt: Laat direkte verbindings oor die openbare internet toe, onderhewig aan firewallreëls en ander sekuriteitskonfigurasies. +- Private eindpunt: Beperk verbinding tot 'n private netwerk. -#### Aankoopmodelle / Diens Tiers +**Verbindingsbeleid**: Definieer hoe kliënte met die SQL-databaserver kommunikeer: +- Standaard: Gebruik 'n Oorplasing-beleid vir alle kliëntverbindinge van binne Azure (behalwe dié wat Private Eindpunte gebruik) en 'n Proxy-beleid vir verbindings van buite Azure. +- Proxy: Lei alle kliëntverbindinge deur die Azure SQL Database-gateway. +- Oorplasing: Kliënte verbind direk met die node wat die databasis huisves. -- **vCore-gebaseerd**: Kies rekenaar, geheue, en stoor onafhanklik. Vir Algemene Doeleindes, Besigheids Krities (met hoë veerkragtigheid en prestasie vir OLTP-toepassings), en skaal tot 128 TB stoor. -- **DTU-gebaseerd**: Bundel rekenaar, geheue, en I/O in vaste tiers. Gebalanseerde hulpbronne vir algemene take. -- Standaard: Gebalanseerde hulpbronne vir algemene take. -- Premium: Hoë prestasie vir veeleisende werklas. +#### Authentication Methods +Azure SQL ondersteun verskeie autentikasie metodes om databasis toegang te beveilig: -#### Ontplooiingsmodelle +- **Microsoft Entra-slegs autentikasie**: Gebruik Microsoft Entra (voorheen Azure AD) vir gesentraliseerde identiteitsbestuur en enkele aanmelding. +- **Sowel SQL as Microsoft Entra autentikasie**: Laat jou toe om tradisionele SQL-autentikasie saam met Microsoft Entra te gebruik. +- **SQL-autentikasie**: Vertrou slegs op SQL Server gebruikersname en wagwoorde. + +#### Security features + +SQL-bedieners het **Bestuurde Identiteite**. Bestuurde identiteite laat jou bediener toe om veilig met ander Azure-dienste te autentiseer sonder om akrediteer te stoor. Dit laat toegang tot ander dienste toe wat 'n Stelsel-toegewyde bestuurde identiteit sou wees en deur ander dienste met ander identiteite wat 'n Gebruiker-toegewyde bestuurde identiteit is, toeganklik gemaak kan word. Sommige van die dienste wat SQL kan toegang is Azure Storage Account(V2), Azure Data Lake Storage Gen2, SQL Server, Oracle, Teradata, MongoDB of Cosmos DB API vir MongoDB, Generiese ODBC, Bulk Operasies en S3-compatibele objekberging. + +Ander sekuriteitskenmerke wat SQL-server het, is: + +- **Firewallreëls**: Firewallreëls beheer toegang tot jou bediener deur verkeer te beperk of toe te laat. Dit is ook 'n kenmerk van die databasisse self. +- **Deursigtige Data-enkripsie (TDE)**: TDE enkripteer jou databasisse, rugsteun, en logs in rus om jou data te beskerm selfs as die berging gecompromitteer is. Dit kan gedoen word met 'n diens-bestuurde sleutel of 'n kliënt-bestuurde sleutel. +- **Microsoft Defender vir SQL**: Microsoft Defender vir SQL kan geaktiveer word wat kwesbaarheidsassessering en gevorderde bedreigingsbeskerming vir 'n bediener bied. + +#### Deployment Models Azure SQL Database ondersteun buigsame ontplooiingsopsies om aan verskeie behoeftes te voldoen: -- **Enkele Databasis**: +- **Enkel Databasis**: - 'n Volledig geïsoleerde databasis met sy eie toegewyde hulpbronne. -- Wonderlik vir mikrodiens of toepassings wat 'n enkele databron benodig. +- Groot vir mikrodiens of toepassings wat 'n enkele databron benodig. - **Elastiese Poel**: - Laat verskeie databasisse toe om hulpbronne binne 'n poel te deel. - Kostedoeltreffend vir toepassings met wisselende gebruikspatrone oor verskeie databasisse. -#### Skaalbare prestasie en poele +### Azure SQL Database -- **Enkele Databasisse**: Elke databasis is geïsoleerd en het sy eie toegewyde rekenaar, geheue, en stoorhulpbronne. Hulpbronne kan dinamies geskaal word (op of af) sonder stilstand (1–128 vCores, 32 GB–4 TB stoor, en tot 128 TB). +**Azure SQL Database** is 'n **volledig bestuurde databasisplatform as 'n diens (PaaS)** wat skaalbare en veilige relationele databasisoplossings bied. Dit is gebou op die nuutste SQL Server-tegnologieë en elimineer die behoefte aan infrastruktuurbestuur, wat dit 'n gewilde keuse vir wolk-gebaseerde toepassings maak. + +#### Key Features + +- **Altijd Opdaterend**: Loop op die nuutste stabiele weergawe van SQL Server en ontvang nuwe kenmerke en regstellings outomaties. +- **PaaS Vermoëns**: Ingeboude hoë beskikbaarheid, rugsteun, en opdaterings. +- **Data Buigsaamheid**: Ondersteun relationele en nie-relationele data (bv. grafieke, JSON, ruimtelike, en XML). + +#### Network + +**Netwerkverbinding**: Kies of jy toegang via 'n openbare eindpunt of private eindpunt wil inskakel. As jy Geen toegang kies, word geen eindpunte geskep totdat dit handmatig gekonfigureer is: +- Geen toegang: Geen eindpunte is gekonfigureer nie, wat inkomende verbindings blokkeer totdat dit handmatig opgestel is. +- Publieke eindpunt: Laat direkte verbindings oor die openbare internet toe, onderhewig aan firewallreëls en ander sekuriteitskonfigurasies. +- Private eindpunt: Beperk verbinding tot 'n private netwerk. + +**Verbindingsbeleid**: Definieer hoe kliënte met die SQL-databaserver kommunikeer: +- Standaard: Gebruik 'n Oorplasing-beleid vir alle kliëntverbindinge van binne Azure (behalwe dié wat Private Eindpunte gebruik) en 'n Proxy-beleid vir verbindings van buite Azure. +- Proxy: Lei alle kliëntverbindinge deur die Azure SQL Database-gateway. +- Oorplasing: Kliënte verbind direk met die node wat die databasis huisves. + +#### Security Features + +- **Microsoft Defender vir SQL**: kan geaktiveer word wat kwesbaarheidsassessering en gevorderde bedreigingsbeskerming bied. +- **Ledger**: kriptografies verifieer die integriteit van data, wat verseker dat enige vervalsing opgespoor word. +- **Bediener Identiteit**: gebruik stelsel-toegewyde en gebruiker-toegewyde bestuurde identiteite om gesentraliseerde toegang moontlik te maak. +- **Deursigtige Data-enkripsie Sleutelbestuur**: enkripteer databasisse, rugsteun, en logs in rus sonder om enige veranderinge aan die toepassing te vereis. Enkripsie kan op elke databasis geaktiveer word, en as dit op databasisvlak gekonfigureer is, oorskry hierdie instellings die bediener-niveau konfigurasie. +- **Altijd Geënkripteer**: is 'n suite van gevorderde databeskeringskenmerke wat data-eienaarskap van databasemanagement skei. Dit verseker dat administrateurs of operateurs met hoë voorregte nie toegang tot sensitiewe data kan verkry nie. + +#### Purchasing Models / Service Tiers + +- **vCore-gebaseer**: Kies rekenaar, geheue, en berging onafhanklik. Vir Algemene Doel, Besigheids Krities (met hoë veerkragtigheid en prestasie vir OLTP-toepassings), en skaal tot 128 TB berging. +- **DTU-gebaseer**: Bundel rekenaar, geheue, en I/O in vaste vlakke. Gebalanseerde hulpbronne vir algemene take. +- Standaard: Gebalanseerde hulpbronne vir algemene take. +- Premium: Hoë prestasie vir veeleisende werklas. + +#### Scalable performance and pools + +- **Enkel Databasisse**: Elke databasis is geïsoleer en het sy eie toegewyde rekenaar, geheue, en berging hulpbronne. Hulpbronne kan dinamies geskaal word (op of af) sonder stilstand (1–128 vCores, 32 GB–4 TB berging, en tot 128 TB). - **Elastiese Poele**: Deel hulpbronne oor verskeie databasisse in 'n poel om doeltreffendheid te maksimeer en koste te bespaar. Hulpbronne kan ook dinamies geskaal word vir die hele poel. -- **Diens Tier Buigsaamheid**: Begin klein met 'n enkele databasis in die Algemene Doeleindes tier. Opgradeer na Besigheids Krities of Hyperscale tiers soos behoeftes groei. +- **Diensvlak Buigsaamheid**: Begin klein met 'n enkele databasis in die Algemene Doelvlak. Opgradeer na Besigheids Krities of Hyperscale vlakke soos behoeftes groei. - **Skaalopsies**: Dinamiese Skaal of Outoskaal Alternatiewe. -#### Ingeboude Monitering & Optimalisering +#### Built-In Monitoring & Optimization - **Query Store**: Volg prestasieprobleme, identifiseer top hulpbronverbruikers, en bied uitvoerbare aanbevelings. -- **Outomatiese Afstemming**: Proaktief optimaliseer prestasie met kenmerke soos outomatiese indeksering en query plan regstellings. +- **Outomatiese Afstemming**: Proaktief optimaliseer prestasie met kenmerke soos outomatiese indeksering en vraeplan regstellings. - **Telemetry Integrasie**: Ondersteun monitering deur Azure Monitor, Event Hubs, of Azure Storage vir op maat gemaakte insigte. -#### Ramp Herstel & Beskikbaarheid +#### Disaster Recovery & Availavility - **Outomatiese rugsteun**: SQL Database voer outomaties volledige, differensiële, en transaksielog rugsteun van databasisse uit. - **Punt-in-Tyd Herstel**: Herstel databasisse na enige vorige toestand binne die rugsteunretensieperiode. -- **Geo-Roerende** +- **Geo-Retensie** - **Failover Groepe**: Vereenvoudig ramp herstel deur databasisse te groepeer vir outomatiese failover oor streke. ### Azure SQL Managed Instance **Azure SQL Managed Instance** is 'n Platform as 'n Diens (PaaS) databasisengine wat byna 100% kompatibiliteit met SQL Server bied en die meeste bestuurs take (bv. opgradering, regstelling, rugsteun, monitering) outomaties hanteer. Dit bied 'n wolkoplossing vir die migrasie van op-premises SQL Server databasisse met minimale veranderinge. -#### Diens Tiers +#### Service Tiers -- **Algemene Doeleindes**: Kostedoeltreffende opsie vir toepassings met standaard I/O en latensie vereistes. +- **Algemene Doel**: Kostedoeltreffende opsie vir toepassings met standaard I/O en latensie vereistes. - **Besigheids Krities**: Hoë-prestasie opsie met lae I/O latensie vir kritieke werklas. -#### Gevorderde Sekuriteitskenmerke +#### Advanced Security Features -* **Dreigingsbeskerming**: Gevorderde Dreigingsbeskerming waarsku vir verdagte aktiwiteite en SQL-inspuitaanvalle. Oudits om databasisgebeurtenisse te volg en te log vir nakoming. -* **Toegangbeheer**: Microsoft Entra-outekening vir gesentraliseerde identiteitsbestuur. Ry-Vlak Sekuriteit en Dinamiese Data Maskering vir fyn toegangbeheer. +* **Bedreigingsbeskerming**: Gevorderde Bedreigingsbeskerming waarsku vir verdagte aktiwiteite en SQL-inspuitaanvalle. Oudits om databasisgebeurtenisse te volg en te log vir nakoming. +* **Toegangbeheer**: Microsoft Entra autentikasie vir gesentraliseerde identiteitsbestuur. Ry-Vlak Sekuriteit en Dinamiese Data Maskering vir granular toegangbeheer. * **Rugsteun**: Geoutomatiseerde en handmatige rugsteun met punt-in-tyd herstel vermoë. -### Azure SQL Virtuele Masjiene +### Azure SQL Virtual Machines -**Azure SQL Virtuele Masjiene** is die beste vir migrasies waar jy **beheer oor die bedryfstelsel en SQL Server-instantie** wil hê, soos dit 'n bediener was wat op-premises gedraai het. Dit kan verskillende masjien groottes hê, en 'n wye seleksie van SQL Server weergawes en edisies. +**Azure SQL Virtual Machines** is die beste vir migrasies waar jy **beheer oor die bedryfstelsel en SQL Server-instantie** wil hê, soos dit 'n bediener was wat op-premises gedraai het. Dit kan verskillende masjien groottes hê, en 'n wye seleksie van SQL Server weergawes en edisies. -#### Sleutelkenmerke +#### Key Features -**Geoutomatiseerde Rugsteun**: Skedule rugsteun vir SQL databasisse. -**Outomatiese Regstelling**: Automatiseer die installasie van Windows en SQL Server opdaterings tydens 'n onderhoudsvenster. -**Azure Key Vault Integrasie**: Konfigureer outomaties Key Vault vir SQL Server VMs. -**Defender vir Wolk Integrasie**: Beskou Defender vir SQL aanbevelings in die portaal. -**Weergave/Edisie Buigsaamheid**: Verander SQL Server weergawe of edisie metadata sonder om die VM te herontplooi. +**Outomatiese Rugsteun**: Skedule rugsteun vir SQL databasisse. +**Outomatiese Regstelling**: Automatiseer die installasie van Windows en SQL Server opdaterings tydens 'n onderhoudsvenster. +**Azure Key Vault Integrasie**: Konfigureer outomaties Key Vault vir SQL Server VMs. +**Defender vir Wolk Integrasie**: Beskou Defender vir SQL aanbevelings in die portaal. +**Weergawe/Edisie Buigsaamheid**: Verander SQL Server weergawe of edisie metadata sonder om die VM te herontplooi. -#### Sekuriteitskenmerke +#### Security Features -**Microsoft Defender vir SQL**: Sekuriteitsinsigte en waarskuwings. -**Azure Key Vault Integrasie**: Veilige berging van akrediteer en versleuteling sleutels. -**Microsoft Entra (Azure AD)**: Outentisering en toegangbeheer. +**Microsoft Defender vir SQL**: Sekuriteitsinsigte en waarskuwings. +**Azure Key Vault Integrasie**: Veilige berging van akrediteer en enkripsiesleutels. +**Microsoft Entra (Azure AD)**: Autentikasie en toegangbeheer. -## Enumerasie +## Enumeration {{#tabs}} {{#tab name="az cli"}} ```bash # List Servers -az sql server list # --output table +az sql server list # managed identities are enumerated here too ## List Server Usages az sql server list-usages --name --resource-group ## List Server Firewalls diff --git a/src/pentesting-cloud/gcp-security/gcp-services/gcp-compute-instances-enum/gcp-compute-instance.md b/src/pentesting-cloud/gcp-security/gcp-services/gcp-compute-instances-enum/gcp-compute-instance.md index f650aa119..2faad4d0b 100644 --- a/src/pentesting-cloud/gcp-security/gcp-services/gcp-compute-instances-enum/gcp-compute-instance.md +++ b/src/pentesting-cloud/gcp-security/gcp-services/gcp-compute-instances-enum/gcp-compute-instance.md @@ -4,43 +4,43 @@ ## Basic Information -Google Cloud Compute Instances is **pasgemaakte virtuele masjiene op Google se wolkinfrastruktuur**, wat skaalbare en op aanvraag rekenkrag bied vir 'n wye verskeidenheid toepassings. Hulle bied funksies soos globale ontplooiing, volhoubare berging, buigsame OS-keuses, en sterk netwerk- en sekuriteitsintegrasies, wat hulle 'n veelsydige keuse maak vir die gasheer van webwerwe, verwerking van data, en doeltreffende uitvoering van toepassings in die wolk. +Google Cloud Compute Instances is **pasgemaakte virtuele masjiene op Google se wolkinfrastruktuur**, wat skaalbare en op aanvraag rekenaarkrag bied vir 'n wye verskeidenheid toepassings. Hulle bied funksies soos globale ontplooiing, volhoubare berging, buigsame OS-keuses, en sterk netwerk- en sekuriteitsintegrasies, wat hulle 'n veelsydige keuse maak vir die gasheer van webwerwe, verwerking van data, en doeltreffende uitvoering van toepassings in die wolk. ### Confidential VM -Confidential VMs gebruik **hardeware-gebaseerde sekuriteitskenmerke** wat aangebied word deur die nuutste generasie van AMD EPYC verwerkers, wat geheue-enkripsie en veilige geënkripteerde virtualisering insluit. Hierdie kenmerke stel die VM in staat om die data wat verwerk en gestoor word binne dit te beskerm teen selfs die gasheerbedryfstelsel en hypervisor. +Confidential VMs gebruik **hardeware-gebaseerde sekuriteitskenmerke** wat aangebied word deur die nuutste generasie van AMD EPYC verwerkers, wat geheue-enkripsie en veilige geënkripteerde virtualisering insluit. Hierdie kenmerke stel die VM in staat om die data wat verwerk en gestoor word binne-in dit te beskerm teen selfs die gasheerbedryfstelsel en hypervisor. -Om 'n Confidential VM te laat loop, mag dit nodig wees om **dinge** soos die **tipe** van die **masjien**, netwerk **koppelvlak**, **opstartskyfbeeld** te **verander**. +Om 'n Confidential VM te laat loop, mag dit nodig wees om **te verander** dinge soos die **tipe** van die **masjien**, netwerk **koppelvlak**, **opstartskyfbeeld**. ### Disk & Disk Encryption -Dit is moontlik om die **skyf** te **kies** om te gebruik of **'n nuwe een te skep**. As jy 'n nuwe een kies, kan jy: +Dit is moontlik om die **skyf** te kies om te gebruik of **'n nuwe een te skep**. As jy 'n nuwe een kies, kan jy: - Die **grootte** van die skyf kies - Die **OS** kies - Aangee of jy die **skyf wil verwyder wanneer die instansie verwyder word** -- **Enkripsie**: Deur **verstek** sal 'n **Google bestuurde sleutel** gebruik word, maar jy kan ook 'n sleutel van KMS **kies** of 'n **rauwe sleutel om te gebruik** aandui. +- **Enkripsie**: Deur **verstek** sal 'n **Google bestuurde sleutel** gebruik word, maar jy kan ook **'n sleutel van KMS kies** of 'n **rawe sleutel om te gebruik** aandui. ### Deploy Container Dit is moontlik om 'n **houer** binne die virtuele masjien te ontplooi.\ -Dit is moontlik om die **beeld** te konfigureer om te gebruik, die **opdrag** in te stel om binne te loop, **argumente**, 'n **volume** te monteer, en **omgewingsveranderlikes** (sensitiewe inligting?) en verskeie opsies vir hierdie houer te konfigureer soos om as **privilegied** uit te voer, stdin en pseudo TTY. +Dit is moontlik om die **beeld** te konfigureer om te gebruik, die **opdrag** in te stel om binne-in te loop, **argumente**, 'n **volume** te monteer, en **omgewingsveranderlikes** (sensitiewe inligting?) en verskeie opsies vir hierdie houer te konfigureer soos om as **bevoorregte** uit te voer, stdin en pseudo TTY. ### Service Account -Deur die standaard sal die **Compute Engine standaard diensrekening** gebruik word. Die e-pos van hierdie SA is soos: `-compute@developer.gserviceaccount.com`\ +Deur verstek sal die **Compute Engine standaard diensrekening** gebruik word. Die e-pos van hierdie SA is soos: `-compute@developer.gserviceaccount.com`\ Hierdie diensrekening het **Redigeerder rol oor die hele projek (hoë voorregte).** En die **standaard toegangskope** is die volgende: - **https://www.googleapis.com/auth/devstorage.read\_only** -- Lees toegang tot emmers :) -- https://www.googleapis.com/auth/logging.write -- https://www.googleapis.com/auth/monitoring.write -- https://www.googleapis.com/auth/servicecontrol -- https://www.googleapis.com/auth/service.management.readonly -- https://www.googleapis.com/auth/trace.append +- [https://www.googleapis.com/auth/logging.write](https://www.googleapis.com/auth/logging.write) +- [https://www.googleapis.com/auth/monitoring.write](https://www.googleapis.com/auth/monitoring.write) +- [https://www.googleapis.com/auth/servicecontrol](https://www.googleapis.com/auth/servicecontrol) +- [https://www.googleapis.com/auth/service.management.readonly](https://www.googleapis.com/auth/service.management.readonly) +- [https://www.googleapis.com/auth/trace.append](https://www.googleapis.com/auth/trace.append) -Dit is egter moontlik om dit **`cloud-platform` met 'n klik toe te ken** of **aangepaste** te spesifiseer. +Dit is egter moontlik om **dit `cloud-platform` met 'n klik toe te ken** of **aangepaste** te spesifiseer.
@@ -52,13 +52,13 @@ Dit is moontlik om HTTP en HTTPS verkeer toe te laat. ### Networking -- **IP Forwarding**: Dit is moontlik om **IP forwarding** vanaf die skepping van die instansie in te skakel. +- **IP Forwarding**: Dit is moontlik om **IP forwarding in te skakel** vanaf die skepping van die instansie. - **Hostname**: Dit is moontlik om die instansie 'n permanente hostname te gee. - **Interface**: Dit is moontlik om 'n netwerk koppelvlak by te voeg. ### Extra Security -Hierdie opsies sal **die sekuriteit** van die VM **verhoog** en word aanbeveel: +Hierdie opsies sal **die sekuriteit** van die VM verhoog en word aanbeveel: - **Secure boot:** Secure boot help om jou VM instansies teen opstart- en kernvlak malware en rootkits te beskerm. - **Enable vTPM:** Virtual Trusted Platform Module (vTPM) valideer jou gas VM se pre-boot en boot integriteit, en bied sleutelgenerasie en beskerming. @@ -67,16 +67,16 @@ Hierdie opsies sal **die sekuriteit** van die VM **verhoog** en word aanbeveel: ### VM Access Die algemene manier om toegang tot die VM te aktiveer, is deur **sekere SSH publieke sleutels** toe te laat om toegang tot die VM te verkry.\ -Dit is egter ook moontlik om **die toegang tot die VM via `os-config` diens met IAM** te aktiveer. Boonop is dit moontlik om 2FA te aktiveer om toegang tot die VM te verkry met behulp van hierdie diens.\ +Dit is egter ook moontlik om **die toegang tot die VM via `os-config` diens met IAM te aktiveer**. Boonop is dit moontlik om 2FA te aktiveer om toegang tot die VM te verkry met hierdie diens.\ Wanneer hierdie **diens** geaktiveer is, is die toegang via **SSH sleutels gedeaktiveer.**
### Metadata -Dit is moontlik om **automatisering** (userdata in AWS) te definieer wat **shell-opdragte** is wat elke keer uitgevoer sal word wanneer die masjien aanskakel of herbegin. +Dit is moontlik om **outomatisering** (userdata in AWS) te definieer wat **skulpopdragte** is wat elke keer uitgevoer sal word wanneer die masjien aanskakel of herbegin. -Dit is ook moontlik om **bykomende metadata sleutel-waarde waardes** toe te voeg wat vanaf die metadata eindpunt toeganklik gaan wees. Hierdie inligting word algemeen gebruik vir omgewingsveranderlikes en opstart/afskakel skripte. Dit kan verkry word met behulp van die **`describe` metode** van 'n opdrag in die enumerasie afdeling, maar dit kan ook van binne die instansie verkry word deur die metadata eindpunt te benader. +Dit is ook moontlik om **bykomende metadata sleutel-waarde waardes** by te voeg wat vanaf die metadata eindpunt toeganklik gaan wees. Hierdie inligting word algemeen gebruik vir omgewingsveranderlikes en opstart/afskakel skripte. Dit kan verkry word met behulp van die **`describe` metode** van 'n opdrag in die enumerasie afdeling, maar dit kan ook van binne die instansie verkry word deur die metadata eindpunt te benader. ```bash # view project metadata curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \ @@ -94,7 +94,7 @@ https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/ ### Enkripsie -'n Google-beheerde enkripsiesleutel word standaard gebruik, maar 'n Klant-beheerde enkripsiesleutel (CMEK) kan gekonfigureer word. Jy kan ook konfigureer wat om te doen wanneer die gebruikte CMEF herroep word: Noting of die VM afsluit. +'n Google-beheerde enkripsiesleutel word standaard gebruik, maar 'n Klant-beheerde enkripsiesleutel (CMEK) kan gekonfigureer word. Jy kan ook konfigureer wat om te doen wanneer die gebruikte CMEK herroep word: Noting of die VM afsluit.