mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-04 19:11:41 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-services/aws-organiza
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# AWS - Organizacije Enum
|
||||
# AWS - Organizations Enum
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
AWS Organizations olakšava kreiranje novih AWS naloga bez dodatnih troškova. Resursi se mogu dodeliti bez napora, nalozi se mogu efikasno grupisati, a politike upravljanja mogu se primeniti na pojedinačne naloge ili grupe, čime se poboljšava upravljanje i kontrola unutar organizacije.
|
||||
|
||||
Ključne Tačke:
|
||||
Ključne tačke:
|
||||
|
||||
- **Kreiranje Novog Naloga**: AWS Organizations omogućava kreiranje novih AWS naloga bez dodatnih troškova.
|
||||
- **Dodeljivanje Resursa**: Pojednostavljuje proces dodeljivanja resursa između naloga.
|
||||
@@ -40,6 +40,6 @@ aws iam get-account-summary
|
||||
```
|
||||
## Reference
|
||||
|
||||
- https://aws.amazon.com/organizations/
|
||||
- [https://aws.amazon.com/organizations/](https://aws.amazon.com/organizations/)
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -46,6 +46,6 @@ aws sqs send-message --queue-url <value> --message-body <value>
|
||||
|
||||
## Reference
|
||||
|
||||
- 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}}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Queue
|
||||
|
||||
Za više informacija pogledajte:
|
||||
Za više informacija proverite:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-queue-enum.md
|
||||
@@ -22,8 +22,8 @@ az storage queue policy set --name <queue-name> --permissions rwd --expiry 2024-
|
||||
```
|
||||
## Reference
|
||||
|
||||
- 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}}
|
||||
|
||||
@@ -12,7 +12,7 @@ Za više informacija pogledajte:
|
||||
|
||||
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
|
||||
|
||||
Napadač sa ovom dozvolom može da pregleda poruke iz Azure Storage Queue. Ovo omogućava napadaču da vidi sadržaj poruka bez označavanja kao obrađenih ili menjanja njihovog stanja. To može dovesti do neovlašćenog pristupa osetljivim informacijama, omogućavajući eksfiltraciju podataka ili prikupljanje obaveštajnih podataka za dalja napada.
|
||||
Napadač sa ovom dozvolom može da pogleda poruke iz Azure Storage Queue. Ovo omogućava napadaču da vidi sadržaj poruka bez označavanja kao obrađenih ili menjanja njihovog stanja. To može dovesti do neovlašćenog pristupa osetljivim informacijama, omogućavajući eksfiltraciju podataka ili prikupljanje obaveštajnih podataka za dalja napada.
|
||||
```bash
|
||||
az storage message peek --queue-name <queue_name> --account-name <storage_account>
|
||||
```
|
||||
@@ -26,7 +26,7 @@ az storage message get --queue-name <queue_name> --account-name <storage_account
|
||||
```
|
||||
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action`
|
||||
|
||||
Sa ovom dozvolom, napadač može dodati nove poruke u Azure Storage Queue. To im omogućava da ubace zlonamerne ili neovlašćene podatke u red, potencijalno pokrećući nepredviđene akcije ili ometajući usluge koje obrađuju poruke.
|
||||
Sa ovom dozvolom, napadač može dodati nove poruke u Azure Storage Queue. Ovo im omogućava da ubace zlonamerne ili neovlašćene podatke u red, potencijalno pokrećući neželjene akcije ili ometajući usluge koje obrađuju poruke.
|
||||
```bash
|
||||
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>
|
||||
```
|
||||
@@ -46,7 +46,7 @@ az storage message update --queue-name <queue-name> \
|
||||
```
|
||||
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/delete`
|
||||
|
||||
Ova dozvola omogućava napadaču da obriše redove unutar naloga za skladištenje. Korišćenjem ove sposobnosti, napadač može trajno ukloniti redove i sve njihove povezane poruke, uzrokujući značajne prekide u radnim tokovima i dovodeći do kritičnog gubitka podataka za aplikacije koje se oslanjaju na pogođene redove. Ova akcija se takođe može koristiti za sabotiranje usluga uklanjanjem suštinskih komponenti sistema.
|
||||
Ova dozvola omogućava napadaču da obriše redove unutar skladišnog naloga. Korišćenjem ove sposobnosti, napadač može trajno ukloniti redove i sve njihove povezane poruke, uzrokujući značajne prekide u radnim tokovima i dovodeći do kritičnog gubitka podataka za aplikacije koje se oslanjaju na pogođene redove. Ova akcija se takođe može koristiti za sabotiranje usluga uklanjanjem bitnih komponenti sistema.
|
||||
```bash
|
||||
az storage queue delete --name <queue-name> --account-name <storage-account>
|
||||
```
|
||||
@@ -66,10 +66,10 @@ az storage queue metadata update --name <queue-name> --metadata key1=value1 key2
|
||||
|
||||
az storage queue policy set --name <queue-name> --permissions rwd --expiry 2024-12-31T23:59:59Z --account-name <storage-account>
|
||||
```
|
||||
## Референце
|
||||
## Reference
|
||||
|
||||
- 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}}
|
||||
|
||||
@@ -16,9 +16,9 @@ Napadač sa ovom dozvolom može obrisati čitav Azure Service Bus namespace. Ova
|
||||
```bash
|
||||
az servicebus namespace delete --resource-group <ResourceGroupName> --name <NamespaceName>
|
||||
```
|
||||
### Akcije: `Microsoft.ServiceBus/namespaces/topics/Delete`
|
||||
### Actions: `Microsoft.ServiceBus/namespaces/topics/Delete`
|
||||
|
||||
Napadač sa ovom dozvolom može da obriše Azure Service Bus temu. Ova akcija uklanja temu i sve njene povezane pretplate i poruke, što može dovesti do gubitka kritičnih podataka i ometanja sistema i radnih tokova koji se oslanjaju na temu.
|
||||
Napadač sa ovom dozvolom može obrisati Azure Service Bus temu. Ova akcija uklanja temu i sve njene povezane pretplate i poruke, što može dovesti do gubitka kritičnih podataka i ometanja sistema i radnih tokova koji se oslanjaju na temu.
|
||||
```bash
|
||||
az servicebus topic delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
|
||||
```
|
||||
@@ -28,36 +28,29 @@ Napadač sa ovom dozvolom može da obriše Azure Service Bus red. Ova akcija ukl
|
||||
```bash
|
||||
az servicebus queue delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
|
||||
```
|
||||
### Akcije: `Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete`
|
||||
### Actions: `Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete`
|
||||
|
||||
Napadač sa ovom dozvolom može da obriše Azure Service Bus pretplatu. Ova akcija uklanja pretplatu i sve njene povezane poruke, potencijalno ometajući radne tokove, obradu podataka i sistemske operacije koje se oslanjaju na pretplatu.
|
||||
```bash
|
||||
az servicebus topic subscription delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
|
||||
```
|
||||
### Akcije: `Microsoft.ServiceBus/namespaces/write` & `Microsoft.ServiceBus/namespaces/read`
|
||||
|
||||
Napadač sa dozvolama za kreiranje ili modifikovanje Azure Service Bus imenskih prostora može iskoristiti ovo da ometa operacije, implementira neovlašćene resurse ili izloži osetljive podatke. Mogu promeniti kritične konfiguracije kao što su omogućavanje pristupa javnoj mreži, smanjenje podešavanja enkripcije ili promenu SKU-ova kako bi pogoršali performanse ili povećali troškove. Pored toga, mogli bi onemogućiti lokalnu autentifikaciju, manipulisati lokacijama replika ili prilagoditi TLS verzije kako bi oslabili bezbednosne kontrole, čineći pogrešnu konfiguraciju imenskog prostora značajnim rizikom nakon eksploatacije.
|
||||
```bash
|
||||
az servicebus namespace create --resource-group <ResourceGroupName> --name <NamespaceName> --location <Location>
|
||||
az servicebus namespace update --resource-group <ResourceGroupName> --name <NamespaceName> --tags <Key=Value>
|
||||
```
|
||||
### Actions: `Microsoft.ServiceBus/namespaces/queues/write` (`Microsoft.ServiceBus/namespaces/queues/read`)
|
||||
|
||||
Napadač sa dozvolama za kreiranje ili modifikovanje Azure Service Bus redova (da bi modifikovao red, takođe će mu biti potrebna Akcija: `Microsoft.ServiceBus/namespaces/queues/read`) može iskoristiti ovo da presretne podatke, ometa radne tokove ili omogući neovlašćen pristup. Mogu promeniti kritične konfiguracije kao što su prosleđivanje poruka na zlonamerne krajnje tačke, podešavanje TTL poruka za nepropisno zadržavanje ili brisanje podataka, ili omogućavanje dead-lettering-a kako bi ometali obradu grešaka. Pored toga, mogli bi manipulisati veličinama redova, trajanjem zaključavanja ili statusima kako bi ometali funkcionalnost usluge ili izbegli otkrivanje, čineći ovo značajnim rizikom nakon eksploatacije.
|
||||
Napadač sa dozvolama za kreiranje ili modifikovanje Azure Service Bus redova (da biste modifikovali red, takođe će vam biti potrebna Akcija: `Microsoft.ServiceBus/namespaces/queues/read`) može iskoristiti ovo da presretne podatke, ometa radne tokove ili omogući neovlašćen pristup. Mogu promeniti kritične konfiguracije kao što su prosleđivanje poruka na zlonamerne krajnje tačke, podešavanje TTL poruka za nepropisno zadržavanje ili brisanje podataka, ili omogućavanje dead-lettering-a kako bi ometali obradu grešaka. Pored toga, mogli bi manipulisati veličinama redova, trajanjem zaključavanja ili statusima kako bi ometali funkcionalnost usluge ili izbegli otkrivanje, što ovo čini značajnim rizikom nakon eksploatacije.
|
||||
```bash
|
||||
az servicebus queue create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
|
||||
az servicebus queue update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
|
||||
```
|
||||
### Akcije: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`)
|
||||
### Actions: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`)
|
||||
|
||||
Napadač sa dozvolama za kreiranje ili modifikovanje tema (da bi modifikovao temu, takođe će mu biti potrebna Akcija: `Microsoft.ServiceBus/namespaces/topics/read`) unutar Azure Service Bus imenskog prostora može iskoristiti ovo da ometa tokove poruka, otkrije osetljive podatke ili omogući neovlašćene radnje. Koristeći komande kao što je az servicebus topic update, mogu manipulisati konfiguracijama kao što su omogućavanje particionisanja za zloupotrebu skalabilnosti, menjanje TTL podešavanja da bi se nepravilno zadržale ili odbacile poruke, ili onemogućavanje detekcije duplikata da bi se zaobišli kontrole. Pored toga, mogli bi prilagoditi limite veličine tema, promeniti status da bi ometali dostupnost, ili konfigurisati ekspresne teme za privremeno skladištenje presretnutih poruka, čineći upravljanje temama kritičnim fokusom za ublažavanje post-ekspolatacije.
|
||||
Napadač sa dozvolama za kreiranje ili modifikovanje tema (da bi modifikovao temu, takođe će mu biti potrebna Akcija: `Microsoft.ServiceBus/namespaces/topics/read`) unutar Azure Service Bus imenskog prostora može iskoristiti ovo da ometa tokove poruka, izloži osetljive podatke ili omogući neovlašćene radnje. Koristeći komande kao što je az servicebus topic update, mogu manipulisati konfiguracijama kao što su omogućavanje particionisanja za zloupotrebu skalabilnosti, menjanje TTL podešavanja da bi se nepravilno zadržale ili odbacile poruke, ili onemogućavanje detekcije duplikata da bi se zaobišli kontrole. Pored toga, mogli bi prilagoditi limite veličine tema, promeniti status da bi ometali dostupnost, ili konfigurisati ekspresne teme za privremeno skladištenje presretnutih poruka, čineći upravljanje temama kritičnim fokusom za ublažavanje post-ekspolatacije.
|
||||
```bash
|
||||
az servicebus topic create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
|
||||
az servicebus topic update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
|
||||
```
|
||||
### Akcije: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`)
|
||||
### Actions: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`)
|
||||
|
||||
Napadač sa dozvolama za kreiranje ili modifikovanje pretplata (da bi modifikovao pretplatu, takođe će mu biti potrebna Akcija: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) unutar Azure Service Bus teme može iskoristiti ovo da presretne, preusmeri ili ometa tokove poruka. Koristeći komande kao što je az servicebus topic subscription update, mogu manipulisati konfiguracijama kao što je omogućavanje dead lettering-a za preusmeravanje poruka, prosleđivanje poruka neovlašćenim krajnjim tačkama, ili modifikovanje TTL i trajanja zaključavanja kako bi zadržali ili ometali isporuku poruka. Pored toga, mogu promeniti podešavanja statusa ili maksimalnog broja isporuka kako bi ometali operacije ili izbegli otkrivanje, čineći kontrolu pretplata kritičnim aspektom post-ekspolatacionih scenarija.
|
||||
Napadač sa dozvolama za kreiranje ili modifikovanje pretplata (da biste modifikovali pretplatu, takođe će vam biti potrebna Akcija: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) unutar Azure Service Bus teme može iskoristiti ovo da presretne, preusmeri ili ometa tokove poruka. Koristeći komande kao što je az servicebus topic subscription update, mogu manipulisati konfiguracijama kao što je omogućavanje dead lettering-a za preusmeravanje poruka, prosleđivanje poruka neovlašćenim krajnjim tačkama, ili modifikovanje TTL i trajanja zaključavanja kako bi zadržali ili ometali isporuku poruka. Pored toga, mogu promeniti podešavanja statusa ili maksimalnog broja isporuka kako bi ometali operacije ili izbegli otkrivanje, čineći kontrolu pretplata kritičnim aspektom scenarija post-ekspolatacije.
|
||||
```bash
|
||||
az servicebus topic subscription create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
|
||||
az servicebus topic subscription update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
|
||||
@@ -72,12 +65,12 @@ Pogledajte ovde:
|
||||
|
||||
## Reference
|
||||
|
||||
- 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}}
|
||||
|
||||
@@ -19,6 +19,16 @@ az sql db create --resource-group <resource-group> --server <server-name> --name
|
||||
|
||||
# Update Database
|
||||
az sql db update --resource-group <resource-group> --server <server-name> --name <database-name> --max-size <max-size-in-bytes>
|
||||
```
|
||||
Sa ovim dozvolama (`Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/databases/write`) možete obnoviti obrisanu bazu podataka:
|
||||
```bash
|
||||
az sql db restore \
|
||||
--dest-name <new_database_name> \
|
||||
--name <original_database_name> \
|
||||
--resource-group <resource_group> \
|
||||
--server <server_name> \
|
||||
--deleted-time "<deleted_time_ISO_format>"
|
||||
|
||||
```
|
||||
### `Microsoft.Sql/servers/elasticPools/write` && `Microsoft.Sql/servers/elasticPools/read`
|
||||
|
||||
@@ -62,7 +72,7 @@ az sql server connection-policy update \
|
||||
```
|
||||
### `Microsoft.Sql/servers/databases/export/action`
|
||||
|
||||
Sa ovom dozvolom, možete eksportovati bazu podataka sa Azure SQL Server-a u nalog za skladištenje. Napadač ili ovlašćeni korisnik sa ovom dozvolom može eksfiltrirati osetljive podatke iz baze podataka izvozeći ih na lokaciju koju kontroliše, što predstavlja značajan rizik od curenja podataka. Važno je znati ključ za skladištenje kako biste mogli da izvršite ovo.
|
||||
Sa ovom dozvolom, možete eksportovati bazu podataka sa Azure SQL Server-a u nalog za skladištenje. Napadač ili ovlašćeni korisnik sa ovom dozvolom može eksfiltrirati osetljive podatke iz baze podataka izvozeći ih na lokaciju koju kontroliše, što predstavlja značajan rizik od curenja podataka. Važno je znati ključ za skladištenje kako biste mogli to da uradite.
|
||||
```bash
|
||||
az sql db export \
|
||||
--server <server_name> \
|
||||
@@ -87,4 +97,41 @@ az sql db import --admin-user <admin-user> \
|
||||
--storage-key <storage-account-key> \
|
||||
--storage-uri `https://<storage-account-name>.blob.core.windows.net/bacpac-container/MyDatabase.bacpac`
|
||||
```
|
||||
### `Microsoft.Sql/servers/connectionPolicies/write` && `Microsoft.Sql/servers/connectionPolicies/read`
|
||||
|
||||
Sa ovim dozvolama, korisnik može da menja i preuzima politike povezivanja Azure SQL servera. Ove dozvole omogućavaju nekome da promeni način na koji klijenti povezuju na server—birajući između metoda kao što su preusmeravanje ili proxy—što bi moglo biti iskorišćeno za slabljenje bezbednosti, preusmeravanje saobraćaja ili presretanje osetljivih podataka ako je pogrešno konfigurisano.
|
||||
```bash
|
||||
az sql server conn-policy update \
|
||||
--resource-group <resource_group> \
|
||||
--server <server_name> \
|
||||
--connection-policy <policy>
|
||||
```
|
||||
### `Microsoft.Sql/servers/keys/write` && `Microsoft.Sql/servers/keys/read`
|
||||
|
||||
Sa ovim dozvolama, korisnik može ažurirati i preuzeti ključeve za enkripciju povezane sa Azure SQL Server-om. Ovi ključevi se često koriste za zaštitu osetljivih podataka putem enkripcije, tako da njihovo manipulisanje može ugroziti bezbednost podataka omogućavanjem neovlašćene dekripcije ili promena rotacije ključeva.
|
||||
```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`
|
||||
|
||||
Ova dozvola omogućava onemogućavanje Ledger Digest za Azure SQL Database, što zaustavlja periodično učitavanje kriptografskih digest zapisa u Azure Blob Storage koji verifikuje integritet podataka.
|
||||
```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`
|
||||
|
||||
Ova dozvola omogućava ovlašćenom korisniku ili napadaču da omogući, onemogući ili izmeni podešavanja Transparent Data Encryption (TDE) na Azure SQL bazi podataka, potencijalno utičući na bezbednost podataka promenom konfiguracija enkripcije.
|
||||
```bash
|
||||
az sql db tde set \
|
||||
--database <database-name> \
|
||||
--resource-group <resource-group-name> \
|
||||
--server <server-name> \
|
||||
--status <Enabled|Disabled>
|
||||
```
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
# Az - Azure Container Instances Privesc
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Azure Container Instances
|
||||
|
||||
Za više informacija pogledajte:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-container-instances.md
|
||||
{{#endref}}
|
||||
|
||||
### `Microsoft.ContainerInstance/containerGroups/read`, `Microsoft.ContainerInstance/containerGroups/containers/exec/action`
|
||||
|
||||
Ove dozvole omogućavaju korisniku da **izvrši komandu** u pokrenutom kontejneru. Ovo se može koristiti za **povećanje privilegija** u kontejneru ako ima neku upravljanu identitet. Naravno, takođe je moguće pristupiti izvoru koda i bilo kojim drugim osetljivim informacijama koje su pohranjene unutar kontejnera.
|
||||
|
||||
Da biste izvršili `ls` i dobili izlaz, to je jednostavno kao:
|
||||
```bash
|
||||
az container exec --name <container-name> --resource-group <res-group> --exec-command 'ls'
|
||||
```
|
||||
Takođe je moguće **pročitati izlaz** kontejnera sa:
|
||||
```bash
|
||||
az container attach --name <container-name> --resource-group <res-group>
|
||||
```
|
||||
Ili dobijte logove sa:
|
||||
```bash
|
||||
az container logs --name <container-name> --resource-group <res-group>
|
||||
```
|
||||
### `Microsoft.ContainerInstance/containerGroups/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
|
||||
|
||||
Ove dozvole omogućavaju **priključivanje korisnički upravljane identitete** na grupu kontejnera. Ovo je veoma korisno za eskalaciju privilegija u kontejneru.
|
||||
|
||||
Da biste priključili korisnički upravljanu identitetu na grupu kontejnera:
|
||||
```bash
|
||||
az rest \
|
||||
--method PATCH \
|
||||
--url "/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.ContainerInstance/containerGroups/<container-name>?api-version=2021-09-01" \
|
||||
--body '{
|
||||
"identity": {
|
||||
"type": "UserAssigned",
|
||||
"userAssignedIdentities": {
|
||||
"/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-namaged-identity-name>": {}
|
||||
}
|
||||
}
|
||||
}' \
|
||||
--headers "Content-Type=application/json"
|
||||
```
|
||||
### `Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.ContainerInstance/containerGroups/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
|
||||
|
||||
Ove dozvole omogućavaju **kreiranje ili ažuriranje grupe kontejnera** sa **korisnički upravljanom identitetom** prikačenom na nju. Ovo je veoma korisno za eskalaciju privilegija u kontejneru.
|
||||
```bash
|
||||
az container create \
|
||||
--resource-group <res-group>> \
|
||||
--name nginx2 \
|
||||
--image mcr.microsoft.com/oss/nginx/nginx:1.9.15-alpine \
|
||||
--assign-identity "/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-namaged-identity-name>" \
|
||||
--restart-policy OnFailure \
|
||||
--os-type Linux \
|
||||
--cpu 1 \
|
||||
--memory 1.0
|
||||
```
|
||||
Pored toga, takođe je moguće ažurirati postojeću grupu kontejnera dodajući, na primer, **`--command-line` argument** sa reverznom ljuskom.
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
@@ -12,7 +12,7 @@ Za više informacija pogledajte:
|
||||
|
||||
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
|
||||
|
||||
Napadač sa ovom dozvolom može da pogleda poruke iz Azure Storage Queue. Ovo omogućava napadaču da vidi sadržaj poruka bez označavanja kao obrađenih ili menjanja njihovog stanja. To može dovesti do neovlašćenog pristupa osetljivim informacijama, omogućavajući eksfiltraciju podataka ili prikupljanje obaveštajnih podataka za dalja napada.
|
||||
Napadač sa ovom dozvolom može da pregleda poruke iz Azure Storage Queue. Ovo omogućava napadaču da vidi sadržaj poruka bez označavanja kao obrađenih ili menjanja njihovog stanja. To može dovesti do neovlašćenog pristupa osetljivim informacijama, omogućavajući eksfiltraciju podataka ili prikupljanje obaveštajnih podataka za dalja napada.
|
||||
```bash
|
||||
az storage message peek --queue-name <queue_name> --account-name <storage_account>
|
||||
```
|
||||
@@ -26,13 +26,13 @@ az storage message get --queue-name <queue_name> --account-name <storage_account
|
||||
```
|
||||
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action`
|
||||
|
||||
Sa ovom dozvolom, napadač može dodati nove poruke u Azure Storage Queue. To im omogućava da ubace zlonamerne ili neovlašćene podatke u red, potencijalno pokrećući nepredviđene akcije ili ometajući usluge koje obrađuju poruke.
|
||||
Sa ovom dozvolom, napadač može dodati nove poruke u Azure Storage Queue. To im omogućava da ubace zlonamerne ili neovlašćene podatke u red, potencijalno pokrećući neželjene akcije ili ometajući usluge koje obrađuju poruke.
|
||||
```bash
|
||||
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>
|
||||
```
|
||||
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write`
|
||||
|
||||
Ova dozvola omogućava napadaču da doda nove poruke ili ažurira postojeće u Azure Storage Queue. Korišćenjem ovoga, mogli bi umetnuti štetan sadržaj ili izmeniti postojeće poruke, potencijalno obmanjujući aplikacije ili uzrokujući neželjeno ponašanje u sistemima koji se oslanjaju na red.
|
||||
Ova dozvola omogućava napadaču da doda nove poruke ili ažurira postojeće u Azure Storage Queue. Korišćenjem ove dozvole, mogli bi umetnuti štetan sadržaj ili izmeniti postojeće poruke, potencijalno obmanjujući aplikacije ili uzrokujući neželjeno ponašanje u sistemima koji se oslanjaju na red.
|
||||
```bash
|
||||
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>
|
||||
|
||||
@@ -56,8 +56,8 @@ az storage queue policy set --name <queue-name> --permissions rwd --expiry 2024-
|
||||
```
|
||||
## Reference
|
||||
|
||||
- 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}}
|
||||
|
||||
@@ -12,7 +12,7 @@ Za više informacija proverite:
|
||||
|
||||
### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action OR Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action
|
||||
|
||||
Ove dozvole vam omogućavaju da dobijete ili regenerišete ključeve za lokalna pravila autorizacije unutar Service Bus imenskog prostora. Korišćenjem ovih ključeva moguće je autentifikovati se kao Service Bus imenski prostor, omogućavajući vam da šaljete poruke u bilo koju red ili temu, primate poruke iz bilo koje red ili pretplate, ili potencijalno interagujete sa sistemom na načine koji bi mogli ometati operacije, predstavljati validne korisnike ili injektovati zlonamerne podatke u tok poruka.
|
||||
Ove dozvole vam omogućavaju da dobijete ili regenerišete ključeve za lokalna pravila autorizacije unutar Service Bus imenskog prostora. Korišćenjem ovih ključeva moguće je autentifikovati se kao Service Bus imenski prostor, omogućavajući vam da šaljete poruke u bilo koju red ili temu, primate poruke iz bilo koje redne ili pretplatničke usluge, ili potencijalno interagujete sa sistemom na načine koji bi mogli ometati operacije, predstavljati validne korisnike ili ubrizgati zlonamerne podatke u tok poruka.
|
||||
|
||||
Imajte na umu da po defaultu **`RootManageSharedAccessKey` pravilo ima potpunu kontrolu** nad Service Bus imenskim prostorom i koristi se od strane `az` cli, međutim, mogu postojati i druga pravila sa drugim vrednostima ključeva.
|
||||
```bash
|
||||
@@ -41,7 +41,7 @@ az servicebus namespace authorization-rule update \
|
||||
```
|
||||
### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action
|
||||
|
||||
Specifične teme i redovi unutar Service Bus imenskog prostora mogu imati svoja pravila autorizacije, koja se mogu koristiti za kontrolu pristupa entitetu. Imajući ove dozvole, možete **pribaviti ili regenerisati ključeve za ova lokalna pravila autorizacije**, omogućavajući vam da se autentifikujete kao entitet i potencijalno šaljete ili primate poruke, upravljate pretplatama ili komunicirate sa sistemom na načine koji bi mogli ometati operacije, predstavljati validne korisnike ili ubrizgati zlonamerne podatke u tok poruka.
|
||||
Specifične teme i redovi unutar Service Bus imenskog prostora mogu imati svoja pravila autorizacije, koja se mogu koristiti za kontrolu pristupa entitetu. Imajući ove dozvole, možete **pribaviti ili regenerisati ključeve za ova lokalna pravila autorizacije**, omogućavajući vam da se autentifikujete kao entitet i potencijalno šaljete ili primate poruke, upravljate pretplatama ili komunicirate sa sistemom na načine koji bi mogli ometati operacije, imitirati važeće korisnike ili ubrizgati zlonamerne podatke u tok poruka.
|
||||
```bash
|
||||
# List keys (topics)
|
||||
az servicebus topic authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> --topic-name <topic-name> --name <auth-rule-name>
|
||||
@@ -82,129 +82,204 @@ Sa ovim dozvolama **napadač može ponovo omogućiti "lokalnu autentifikaciju"**
|
||||
```bash
|
||||
az servicebus namespace update --disable-local-auth false -n <namespace-name> --resource-group <res-group>
|
||||
```
|
||||
### Pošaljite poruke sa ključevima (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
|
||||
### Send Messages with keys (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
|
||||
|
||||
Možete preuzeti `PrimaryConnectionString`, koji deluje kao akreditiv za Service Bus namespace. Sa ovom konekcionom stringom, možete se potpuno autentifikovati kao Service Bus namespace, omogućavajući vam da šaljete poruke u bilo koju red ili temu i potencijalno komunicirate sa sistemom na načine koji bi mogli ometati operacije, predstavljati validne korisnike ili ubrizgati zlonamerne podatke u tok poruka.
|
||||
Možete preuzeti `PrimaryConnectionString`, koji deluje kao akreditiv za Service Bus namespace. Sa ovom konekcionom stringom, možete se potpuno autentifikovati kao Service Bus namespace, omogućavajući vam da šaljete poruke bilo kojoj redu ili temi i potencijalno komunicirate sa sistemom na načine koji bi mogli ometati operacije, predstavljati validne korisnike ili ubrizgati zlonamerne podatke u tok poruka. Ova metoda funkcioniše ako je `--disable-local-auth` postavljeno na false.
|
||||
```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 = "<PrimaryConnectionString>"
|
||||
TOPIC_NAME = "<TOPIC_NAME>"
|
||||
TOPIC_OR_QUEUE_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())
|
||||
```
|
||||
Dodatno, možete slati poruke sa az rest, u ovom slučaju morate generisati sas token za korišćenje.
|
||||
```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://<namespace>.servicebus.windows.net/<queue_or_topic>"
|
||||
key_name = "<SharedKeyName>"
|
||||
primary_key = "<PrimaryKey>"
|
||||
|
||||
# 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://<NAMESPACE>.servicebus.windows.net/<queue>/messages" \
|
||||
--headers "Content-Type=application/atom+xml;type=entry;charset=utf-8" "Authorization=SharedAccessSignature sr=https%3A%2F%2F<NAMESPACE>.servicebus.windows.net%2F<TOPIC_OR_QUEUE_NAME>&sig=<SIGNATURE>&se=<EXPIRY>&skn=<KEYNAME>" \
|
||||
--body "<MESSAGE_BODY>"
|
||||
|
||||
```
|
||||
### Prijem sa ključevima (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
|
||||
### Receive with keys (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
|
||||
|
||||
Možete preuzeti PrimaryConnectionString, koji služi kao akreditiv za Service Bus namespace. Koristeći ovaj konekcioni string, možete primati poruke iz bilo koje queue ili subscription unutar namespace-a, omogućavajući pristup potencijalno osetljivim ili kritičnim podacima, omogućavajući exfiltraciju podataka ili ometajući obradu poruka i radne tokove aplikacija.
|
||||
Možete preuzeti PrimaryConnectionString, koji služi kao akreditiv za Service Bus namespace. Koristeći ovaj konekcioni string, možete primati poruke iz bilo koje queue ili subscription unutar namespace-a, omogućavajući pristup potencijalno osetljivim ili kritičnim podacima, omogućavajući exfiltraciju podataka ili ometajući obradu poruka i radne tokove aplikacija. Ova metoda funkcioniše ako je `--disable-local-auth` postavljeno na false.
|
||||
```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 = "<PrimaryConnectionString>"
|
||||
TOPIC_NAME = "<TOPIC_NAME>"
|
||||
SUBSCRIPTION_NAME = "<TOPIC_SUBSCRIPTION_NAME>" #Topic Subscription
|
||||
CONN_STR = "<PrimaryConnectionString>"
|
||||
QUEUE = "<QUEUE_NAME>"
|
||||
|
||||
# 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 = "<TOPIC_NAME>"
|
||||
# SUBSCRIPTION = "<TOPIC_SUBSCRIPTION_NAME>"
|
||||
|
||||
# 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")
|
||||
```
|
||||
Dodatno, možete slati poruke sa az rest, u ovom slučaju morate generisati sas token za korišćenje.
|
||||
```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://<namespace>.servicebus.windows.net/queue" # For queue
|
||||
# resource_uri = "https://<namespace>.servicebus.windows.net/<topic>/subscriptions/<subscription>" # For topic subscription
|
||||
sas_token = generate_sas_token(resource_uri, "<KEYNAME>", "<PRIMARY_KEY>")
|
||||
print(sas_token)
|
||||
|
||||
```
|
||||
Za red možete dobiti ili zaviriti u poruku (dobijanje poruka bi ih uklonilo, dok zavirivanje neće):
|
||||
```bash
|
||||
#Get a message
|
||||
az rest --method post \
|
||||
--uri "https://<NAMESPACE>.servicebus.windows.net/<QUEUE>/messages/head?timeout=60" \
|
||||
--headers "Content-Type=application/atom+xml;type=entry;charset=utf-8" "Authorization=SharedAccessSignature sr=<URI_ENCODED_RESOURCE>&sig=<SIGNATURE>&se=<EXPIRY>&skn=<KEYNAME>"
|
||||
|
||||
#Peek a message
|
||||
az rest --method get \
|
||||
--uri "https://<NAMESPACE>.servicebus.windows.net/<QUEUE>/messages/head?peekonly=true&timeout=60" \
|
||||
--headers "Authorization=SharedAccessSignature sr=<URI_ENCODED_RESOURCE>&sig=<SIGNATURE>&se=<EXPIRY>&skn=<KEYNAME>"
|
||||
|
||||
#You can select the meesage changing the field PreviousSequenceNumber
|
||||
az rest --method get \
|
||||
--uri "https://<NAMESPACE>.servicebus.windows.net/<ENTITY>/messages?timeout=60&PreviousSequenceNumber=<LAST_SEQUENCE_NUMBER>&api-version=2017-04" \
|
||||
--headers "Authorization=SharedAccessSignature sr=<URI_ENCODED_RESOURCE>&sig=<SIGNATURE>&se=<EXPIRY>&skn=<KEYNAME>"
|
||||
```
|
||||
Please provide the text you would like translated.
|
||||
```bash
|
||||
#Get a message
|
||||
az rest --method post \
|
||||
--uri "https://<NAMESPACE>.servicebus.windows.net/<TOPIC>/subscriptions/<SUBSCRIPTION>/messages/head?timeout=60" \
|
||||
--headers "Content-Type=application/atom+xml;type=entry;charset=utf-8" "Authorization=SharedAccessSignature sr=<URI_ENCODED_RESOURCE>&sig=<SIGNATURE>&se=<EXPIRY>&skn=<KEYNAME>"
|
||||
|
||||
#Peek a message
|
||||
az rest --method get \
|
||||
--uri "https://<NAMESPACE>.servicebus.windows.net/<TOPIC>/subscriptions/<SUBSCRIPTION>/messages/head?timeout=60&api-version=2017-04" \
|
||||
--headers "Authorization=SharedAccessSignature sr=<URI_ENCODED_RESOURCE>&sig=<SIGNATURE>&se=<EXPIRY>&skn=<KEYNAME>"
|
||||
|
||||
#You can select the meesage changing the field PreviousSequenceNumber
|
||||
az rest --method get \
|
||||
--uri "https://<NAMESPACE>.servicebus.windows.net/<TOPIC>/subscriptions/<SUBSCRIPTION>/messages?timeout=60&PreviousSequenceNumber=<LAST_SEQUENCE_NUMBER>&api-version=2017-04" \
|
||||
--headers "Authorization=SharedAccessSignature sr=<URI_ENCODED_RESOURCE>&sig=<SIGNATURE>&se=<EXPIRY>&skn=<KEYNAME>"
|
||||
```
|
||||
### Pošaljite poruke. DataActions: `Microsoft.ServiceBus/namespaces/messages/send/action`
|
||||
|
||||
Možete koristiti ova prava za slanje poruka, čak i ako je `--disable-local-auth` postavljeno na true.
|
||||
```python
|
||||
import asyncio
|
||||
from azure.identity.aio import DefaultAzureCredential
|
||||
from azure.servicebus.aio import ServiceBusClient
|
||||
from azure.servicebus import ServiceBusMessage
|
||||
|
||||
NS = "<namespace>.servicebus.windows.net" # Your namespace
|
||||
QUEUE_OR_TOPIC = "<QUEUE_OR_TOPIC>" # Your queue name
|
||||
|
||||
async def run():
|
||||
credential = DefaultAzureCredential()
|
||||
async with ServiceBusClient(fully_qualified_namespace=NS, credential=credential) as client:
|
||||
async with client.get_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())
|
||||
```
|
||||
### Prijem poruka. DataActions: `Microsoft.ServiceBus/namespaces/messages/receive/action`
|
||||
|
||||
Možete koristiti ova prava za prijem poruka, čak i ako je `--disable-local-auth` postavljeno na true.
|
||||
```python
|
||||
import asyncio
|
||||
from azure.identity.aio import DefaultAzureCredential
|
||||
from azure.servicebus.aio import ServiceBusClient
|
||||
|
||||
NS = "<namespace>.servicebus.windows.net"
|
||||
QUEUE = "<QUEUE>"
|
||||
|
||||
# For a topic subscription, uncomment and set these values:
|
||||
# TOPIC = "<TOPIC>"
|
||||
# SUBSCRIPTION = "<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")
|
||||
```
|
||||
## Reference
|
||||
|
||||
- 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}}
|
||||
|
||||
@@ -26,15 +26,40 @@ az sql server create \
|
||||
--resource-group <resource_group_name> \
|
||||
--location <location> \
|
||||
--admin-user <admin_username> \
|
||||
--admin-password <admin_password>
|
||||
--admin-password <admin_passwor d>
|
||||
```
|
||||
Pored toga, neophodno je omogućiti javni pristup ako želite da pristupite sa neprivatnog krajnjeg tačke, da biste to omogućili:
|
||||
Dodatno, potrebno je omogućiti javni pristup ako želite da pristupite sa neprivatnog krajnjeg tačke, da biste to omogućili:
|
||||
```bash
|
||||
az sql server update \
|
||||
--name <server-name> \
|
||||
--resource-group <resource-group> \
|
||||
--enable-public-network true
|
||||
```
|
||||
Pored toga, sa dozvolama možete omogućiti dodeljivanje identiteta, i raditi sa upravljanim identitetom koji je povezan sa serverom. Na primer, ovde sa upravljanim identitetom koji može pristupiti Azure Storage:
|
||||
```bash
|
||||
az sql server update \
|
||||
--name <server-name> \
|
||||
--resource-group <resource-group> \
|
||||
--assign_identity
|
||||
```
|
||||
|
||||
```sql
|
||||
CREATE EXTERNAL DATA SOURCE ManagedIdentity
|
||||
WITH (
|
||||
TYPE = BLOB_STORAGE,
|
||||
LOCATION = 'https://<storage-account>.blob.core.windows.net/<container>',
|
||||
CREDENTIAL = ManagedIdentityCredential
|
||||
);
|
||||
GO
|
||||
|
||||
SELECT *
|
||||
FROM OPENROWSET(
|
||||
BULK 'message.txt',
|
||||
DATA_SOURCE = 'ManagedIdentity',
|
||||
SINGLE_CLOB
|
||||
) AS DataFile;
|
||||
GO
|
||||
```
|
||||
### `Microsoft.Sql/servers/firewallRules/write`
|
||||
|
||||
Napadač može manipulisati pravilima vatrozida na Azure SQL serverima kako bi omogućio neovlašćen pristup. Ovo se može iskoristiti za otvaranje servera za specifične IP adrese ili čitave IP opsege, uključujući javne IP adrese, omogućavajući pristup zlonamernim akterima. Ova aktivnost nakon eksploatacije može se koristiti za zaobilaženje postojećih mrežnih bezbednosnih kontrola, uspostavljanje postojanosti ili olakšavanje lateralnog kretanja unutar okruženja izlaganjem osetljivih resursa.
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
# Az - Container Instances
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Osnovne informacije
|
||||
|
||||
Azure Container Instances (ACI) pružaju **serverless, on-demand način** za pokretanje **kontejnera** u Azure oblaku. Možete **deplojovati** jedan ili više kontejnera u grupi sa **skalabilnim računarstvom**, **mogućnostima umrežavanja** i fleksibilnošću da se povežete sa **drugim Azure uslugama** (kao što su Storage, Virtual Networks ili Container Registries).
|
||||
|
||||
Pošto su to **ephemeral** radni opterećenja, ne morate upravljati osnovnom VM infrastrukturom — Azure to obavlja umesto vas. Međutim, iz **ofanzivne bezbednosne perspektive**, ključno je razumeti kako **dozvole**, **identiteti**, **konfiguracije mreže** i **logovi** mogu otkriti površine napada i potencijalne pogrešne konfiguracije.
|
||||
|
||||
### Konfiguracije
|
||||
|
||||
- Da biste kreirali kontejner, moguće je koristiti javnu sliku, sliku kontejnera iz Azure Container Registry ili spoljnog repozitorijuma, što može **zahtevati konfiguraciju lozinke** za pristup.
|
||||
- Što se tiče umrežavanja, može imati **javnu IP adresu** ili biti **privatni krajnji tački**.
|
||||
- Takođe je moguće konfigurirati uobičajene docker postavke kao što su:
|
||||
- **Promenljive okruženja**
|
||||
- **Volumeni** (čak i iz Azure Files)
|
||||
- **Portovi**
|
||||
- **Ograničenja CPU i memorije**
|
||||
- **Politika ponovnog pokretanja**
|
||||
- **Pokreni kao privilegovan**
|
||||
- **Komandna linija za pokretanje**
|
||||
- ...
|
||||
|
||||
## Enumeracija
|
||||
|
||||
> [!WARNING]
|
||||
> Kada enumerišete ACI, možete otkriti osetljive konfiguracije kao što su **promenljive okruženja**, **mrežni detalji** ili **upravljani identiteti**. Budite oprezni prilikom logovanja ili prikazivanja istih.
|
||||
```bash
|
||||
# List all container instances in the subscription
|
||||
az container list
|
||||
|
||||
# Show detailed information about a specific container instance
|
||||
az container show --name <container-name> --resource-group <res-group>
|
||||
|
||||
# Fetch logs from a container
|
||||
az container logs --name <container-name> --resource-group <res-group>
|
||||
|
||||
# Execute a command in a running container and get the output
|
||||
az container exec --name <container-name> --resource-group <res-group> --exec-command "ls"
|
||||
|
||||
# Get yaml configuration of the container group
|
||||
az container export --name <container-name> --resource-group <res-group>
|
||||
```
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Osnovne Informacije
|
||||
## Osnovne informacije
|
||||
|
||||
Azure Queue Storage je usluga u Microsoftovoj Azure cloud platformi dizajnirana za redosled poruka između komponenti aplikacije, **omogućavajući asinhronu komunikaciju i dekoplovanje**. Omogućava vam da čuvate neograničen broj poruka, svaka do 64 KB veličine, i podržava operacije kao što su kreiranje i brisanje redova, dodavanje, preuzimanje, ažuriranje i brisanje poruka, kao i upravljanje metapodacima i politikama pristupa. Iako obično obrađuje poruke na principu prvi dođe, prvi se usluži (FIFO), stroga FIFO nije garantovana.
|
||||
Azure Queue Storage je usluga u Microsoftovoj Azure cloud platformi dizajnirana za redosled poruka između komponenti aplikacije, **omogućavajući asinhronu komunikaciju i dekopling**. Omogućava vam da čuvate neograničen broj poruka, svaka do 64 KB veličine, i podržava operacije kao što su kreiranje i brisanje redova, dodavanje, preuzimanje, ažuriranje i brisanje poruka, kao i upravljanje metapodacima i politikama pristupa. Iako obično obrađuje poruke po principu prvi došao, prvi uslužen (FIFO), strogi FIFO nije garantovan.
|
||||
|
||||
### Enumeracija
|
||||
|
||||
@@ -84,8 +84,8 @@ $queueMessage.Value
|
||||
|
||||
## Reference
|
||||
|
||||
- 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}}
|
||||
|
||||
@@ -8,48 +8,57 @@ Azure Service Bus je usluga **poruka** zasnovana na oblaku koja je dizajnirana d
|
||||
|
||||
### Ključni koncepti
|
||||
|
||||
1. **Redovi:** Njegova svrha je da čuva poruke dok primalac ne bude spreman.
|
||||
1. **Namespaces:** Namespace u sistemima poruka je logički kontejner koji organizuje i upravlja komponentama poruka, redovima i temama. Pruža izolovano okruženje u kojem aplikacije mogu slati, primati i obrađivati poruke. Redovi i teme dele istu infrastrukturu i konfiguraciju unutar Service Bus namespace-a, ali funkcionišu nezavisno bez međusobnog delovanja.
|
||||
2. **Queues:** njegova svrha je da čuva poruke dok primalac ne bude spreman.
|
||||
- Poruke su uređene, vremenski označene i trajno sačuvane.
|
||||
- Isporučuju se u režimu povlačenja (na zahtev).
|
||||
- Podržava komunikaciju tačka-tačka.
|
||||
2. **Teme:** Publikovanje i pretplata za emitovanje.
|
||||
3. **Topics:** Publish-subscribe poruke za emitovanje.
|
||||
- Više nezavisnih pretplata prima kopije poruka.
|
||||
- Pretplate mogu imati pravila/filtere za kontrolu isporuke ili dodavanje metapodataka.
|
||||
- Podržava komunikaciju mnogi-na-mnoge.
|
||||
3. **Imena prostora:** Kontejner za sve komponente poruka, redove i teme, kao vaša vlastita podela moćnog Azure klastera, pružajući posvećeni kapacitet i opcionalno se proteže preko tri dostupne zone.
|
||||
- Podržava komunikaciju mnogi-na-mnogi.
|
||||
|
||||
### Napredne funkcije
|
||||
Konekcija/veza za servis bus je:
|
||||
```bash
|
||||
https://<namespace>.servicebus.windows.net:443/
|
||||
```
|
||||
### Napredne Funkcije
|
||||
|
||||
Neke napredne funkcije su:
|
||||
|
||||
- **Sesije poruka**: Osigurava FIFO obradu i podržava obrasce zahtev-odgovor.
|
||||
- **Automatsko prosleđivanje**: Prenosi poruke između redova ili tema u istom imenskom prostoru.
|
||||
- **Dead-Lettering**: Zapisuje neisporučive poruke za pregled.
|
||||
- **Zakazana isporuka**: Odlaže obradu poruka za buduće zadatke.
|
||||
- **Odlaganje poruka**: Odlaže preuzimanje poruka dok ne budu spremne.
|
||||
- **Transakcije**: Grupira operacije u atomsko izvršenje.
|
||||
- **Filteri i akcije**: Primena pravila za filtriranje ili anotaciju poruka.
|
||||
- **Automatsko brisanje kada je neaktivno**: Briše redove nakon neaktivnosti (min: 5 minuta).
|
||||
- **Otkrivanje duplikata**: Uklanja duplikate poruka tokom ponovnog slanja.
|
||||
- **Brisanje u serijama**: Masovno briše istekle ili nepotrebne poruke.
|
||||
- **Message Sessions**: Osigurava FIFO obradu i podržava obrasce zahtev-odgovor.
|
||||
- **Auto-Forwarding**: Prenosi poruke između redova ili tema u istom imenskom prostoru.
|
||||
- **Dead-Lettering**: Zapisuje nedostupne poruke za pregled.
|
||||
- **Scheduled Delivery**: Odlaže obradu poruka za buduće zadatke.
|
||||
- **Message Deferral**: Odlaže preuzimanje poruka dok ne budu spremne.
|
||||
- **Transactions**: Grupira operacije u atomsko izvršenje.
|
||||
- **Filters & Actions**: Primena pravila za filtriranje ili anotaciju poruka.
|
||||
- **Auto-Delete on Idle**: Briše redove nakon neaktivnosti (min: 5 minuta).
|
||||
- **Duplicate Detection**: Uklanja duple poruke tokom ponovnog slanja.
|
||||
- **Batch Deletion**: Masovno briše isteknute ili nepotrebne poruke.
|
||||
|
||||
### Pravilo autorizacije / SAS politika
|
||||
### Authorization-Rule / SAS Policy
|
||||
|
||||
SAS politike definišu dozvole za pristup entitetima Azure Service Bus imenskog prostora (najvažnija), redovima i temama. Svaka politika ima sledeće komponente:
|
||||
SAS politike definišu dozvole pristupa za Azure Service Bus entitete imenskog prostora (najvažniji), redove i teme. Svaka politika ima sledeće komponente:
|
||||
|
||||
- **Dozvole**: Potvrdni okviri za određivanje nivoa pristupa:
|
||||
- Upravljanje: Daje potpunu kontrolu nad entitetom, uključujući upravljanje konfiguracijom i dozvolama.
|
||||
- Slanje: Omogućava slanje poruka entitetu.
|
||||
- Slušanje: Omogućava primanje poruka od entiteta.
|
||||
- **Primarni i sekundarni ključevi**: Ovo su kriptografski ključevi koji se koriste za generisanje sigurnih tokena za autentifikaciju pristupa.
|
||||
- **Primarni i sekundarni stringovi za povezivanje**: Prekonfigurisani stringovi za povezivanje koji uključuju krajnju tačku i ključ za laku upotrebu u aplikacijama.
|
||||
- **SAS politika ARM ID**: Putanja Azure Resource Manager-a (ARM) do politike za programatsku identifikaciju.
|
||||
- **Permissions**: Potvrdni okviri za specifikaciju nivoa pristupa:
|
||||
- Manage: Daje potpunu kontrolu nad entitetom, uključujući upravljanje konfiguracijom i dozvolama.
|
||||
- Send: Omogućava slanje poruka entitetu.
|
||||
- Listen: Omogućava primanje poruka od entiteta.
|
||||
- **Primary and Secondary Keys**: Ovo su kriptografski ključevi koji se koriste za generisanje sigurnih tokena za autentifikaciju pristupa.
|
||||
- **Primary and Secondary Connection Strings**: Prekonfigurisani stringovi za povezivanje koji uključuju krajnju tačku i ključ za laku upotrebu u aplikacijama.
|
||||
- **SAS Policy ARM ID**: Putanja Azure Resource Manager-a (ARM) do politike za programsko identifikovanje.
|
||||
|
||||
### Imena prostora
|
||||
Važno je napomenuti da imenski prostor ima jednu SAS politiku koja utiče na svaki entitet unutar njega, dok redovi i teme mogu imati svoje pojedinačne SAS politike za detaljniju kontrolu.
|
||||
|
||||
sku, pravilo autorizacije,
|
||||
### "--disable-local-auth"
|
||||
|
||||
### Enumeracija
|
||||
Parametar --disable-local-auth se koristi za kontrolu da li je lokalna autentifikacija (tj. korišćenje Shared Access Signature (SAS) ključeva) omogućena za vaš Service Bus imenski prostor. Evo šta treba da znate:
|
||||
|
||||
- Kada je postavljeno na true: Lokalna autentifikacija korišćenjem SAS ključeva je onemogućena i dozvoljena je autentifikacija putem azure Active Directory (Azure AD).
|
||||
- Kada je postavljeno na false: I SAS (lokalna) autentifikacija i Azure AD autentifikacija su dostupne i možete koristiti stringove za povezivanje sa SAS ključevima za pristup vašim Service Bus resursima.
|
||||
|
||||
### Enumeration
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -133,13 +142,14 @@ Get-AzServiceBusTopic -ResourceGroupName <ResourceGroupName> -NamespaceName <Nam
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
|
||||
### Eskalacija privilegija
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-servicebus-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
### Post eksploatacija
|
||||
### Post Eksploatacija
|
||||
|
||||
{{#ref}}
|
||||
../az-post-exploitation/az-servicebus-post-exploitation.md
|
||||
|
||||
@@ -4,30 +4,47 @@
|
||||
|
||||
## Azure SQL
|
||||
|
||||
Azure SQL je porodica upravljanih, sigurnih i inteligentnih proizvoda koji koriste **SQL Server bazu podataka u Azure cloud-u**. To znači da ne morate brinuti o fizičkom upravljanju vašim serverima, a možete se fokusirati na upravljanje vašim podacima.
|
||||
Azure SQL je porodica upravljanih, sigurnih i inteligentnih proizvoda koji koriste **SQL Server bazu podataka u Azure cloud-u**. To znači da ne morate brinuti o fizičkoj administraciji vaših servera, a možete se fokusirati na upravljanje vašim podacima.
|
||||
|
||||
Azure SQL se sastoji od tri glavne ponude:
|
||||
Azure SQL se sastoji od četiri glavne ponude:
|
||||
|
||||
1. **Azure SQL Database**: Ovo je **potpuno upravljana usluga baze podataka**, koja vam omogućava da hostujete pojedinačne baze podataka u Azure cloud-u. Nudi ugrađenu inteligenciju koja uči vaše jedinstvene obrasce baze podataka i pruža prilagođene preporuke i automatsko podešavanje.
|
||||
2. **Azure SQL Managed Instance**: Ovo je za veće, celokupne SQL Server instance. Pruža skoro 100% kompatibilnost sa najnovijom SQL Server on-premises (Enterprise Edition) bazom podataka, koja nudi nativnu implementaciju virtuelne mreže (VNet) koja rešava uobičajene sigurnosne probleme, i poslovni model povoljan za on-premises SQL Server korisnike.
|
||||
3. **Azure SQL Server na Azure VMs**: Ovo je infrastruktura kao usluga (IaaS) i najbolje je za migracije gde želite **kontrolu nad operativnim sistemom i SQL Server instancom**, kao da je to server koji radi on-premises.
|
||||
1. **Azure SQL Server**: Azure SQL Server je upravljana relacijska baza podataka koja pojednostavljuje implementaciju i upravljanje SQL Server bazama podataka, sa ugrađenim bezbednosnim i performansnim karakteristikama.
|
||||
2. **Azure SQL Database**: Ovo je **potpuno upravljana usluga baze podataka**, koja vam omogućava da hostujete pojedinačne baze podataka u Azure cloud-u. Nudi ugrađenu inteligenciju koja uči vaše jedinstvene obrasce baze podataka i pruža prilagođene preporuke i automatsko podešavanje.
|
||||
3. **Azure SQL Managed Instance**: Ovo je za veće, celokupne implementacije SQL Server instance. Pruža skoro 100% kompatibilnost sa najnovijom SQL Server on-premises (Enterprise Edition) bazom podataka, koja pruža nativnu implementaciju virtuelne mreže (VNet) koja rešava uobičajene bezbednosne probleme, i poslovni model povoljan za on-premises SQL Server korisnike.
|
||||
4. **Azure SQL Server na Azure VMs**: Ovo je infrastruktura kao usluga (IaaS) i najbolje je za migracije gde želite **kontrolu nad operativnim sistemom i SQL Server instancom**, kao da je to server koji radi on-premises.
|
||||
|
||||
### Azure SQL Database
|
||||
### Azure SQL Server
|
||||
|
||||
**Azure SQL Database** je **potpuno upravljana platforma baze podataka kao usluga (PaaS)** koja pruža skalabilna i sigurna rešenja za relacione baze podataka. Izgrađena je na najnovijim SQL Server tehnologijama i eliminiše potrebu za upravljanjem infrastrukturom, što je čini popularnim izborom za aplikacije zasnovane na cloud-u.
|
||||
Azure SQL Server je sistem za upravljanje relacijskim bazama podataka (RDBMS) koji koristi Transact-SQL za operacije sa podacima i dizajniran je da upravlja sistemima na nivou preduzeća. Nudi robusne karakteristike za performanse, bezbednost, skalabilnost i integraciju sa raznim Microsoft aplikacijama. Azure SQL baze podataka se oslanjaju na ovaj server, jer su izgrađene na ovim serverima i to je ulazna tačka za korisnike da pristupe bazama podataka.
|
||||
|
||||
#### Ključne karakteristike
|
||||
#### Mreža
|
||||
|
||||
- **Uvek ažurirano**: Radi na najnovijoj stabilnoj verziji SQL Server-a i automatski prima nove funkcije i zakrpe.
|
||||
- **PaaS mogućnosti**: Ugrađena visoka dostupnost, rezervne kopije i ažuriranja.
|
||||
- **Fleksibilnost podataka**: Podržava relacione i nerezidencijalne podatke (npr. grafove, JSON, prostorne i XML).
|
||||
**Mrežna povezanost**: Izaberite da li da omogućite pristup putem javnog ili privatnog krajnjeg tačke. Ako izaberete Nema pristupa, nijedna krajnja tačka se ne kreira dok se ne konfiguriše ručno:
|
||||
- Nema pristupa: Nijedna krajnja tačka nije konfigurisana, blokirajući dolazne veze dok se ne postavi ručno.
|
||||
- Javni krajnji tačka: Omogućava direktne veze preko javnog interneta, podložne pravilima vatrozida i drugim bezbednosnim konfiguracijama.
|
||||
- Privatni krajnji tačka: Ograničava povezanost na privatnu mrežu.
|
||||
|
||||
#### Modeli kupovine / Servisni nivoi
|
||||
**Politika povezivanja**: Definišite kako klijenti komuniciraju sa SQL serverom baze podataka:
|
||||
- Podrazumevano: Koristi politiku preusmeravanja za sve klijentske veze iznutra Azure-a (osim onih koje koriste privatne krajnje tačke) i politiku proxy za veze izvan Azure-a.
|
||||
- Proxy: Usmerava sve klijentske veze kroz Azure SQL Database gateway.
|
||||
- Preusmeravanje: Klijenti se direktno povezuju na čvor koji hostuje bazu podataka.
|
||||
|
||||
- **vCore-bazirano**: Izaberite računarske resurse, memoriju i skladište nezavisno. Za opštu svrhu, poslovno kritične (sa visokom otpornosti i performansama za OLTP aplikacije), i skalira do 128 TB skladišta.
|
||||
- **DTU-bazirano**: Kombinuje računarske resurse, memoriju i I/O u fiksne nivoe. Izbalansirani resursi za uobičajene zadatke.
|
||||
- Standard: Izbalansirani resursi za uobičajene zadatke.
|
||||
- Premium: Visoke performanse za zahtevne radne opterećenja.
|
||||
#### Metode autentifikacije
|
||||
Azure SQL podržava različite metode autentifikacije za zaštitu pristupa bazi podataka:
|
||||
|
||||
- **Microsoft Entra-only autentifikacija**: Koristi Microsoft Entra (ranije Azure AD) za centralizovano upravljanje identitetom i jedinstveno prijavljivanje.
|
||||
- **Obe SQL i Microsoft Entra autentifikacije**: Omogućava vam da koristite tradicionalnu SQL autentifikaciju zajedno sa Microsoft Entra.
|
||||
- **SQL autentifikacija**: Oslanja se isključivo na SQL Server korisnička imena i lozinke.
|
||||
|
||||
#### Bezbednosne karakteristike
|
||||
|
||||
SQL serveri imaju **Upravljane identitete**. Upravljani identiteti omogućavaju vašem serveru da sigurno autentifikuje sa drugim Azure uslugama bez čuvanja kredencijala. Omogućava pristup drugim uslugama koje bi bile sistemski dodeljeni upravljani identitet i kojima bi pristupale druge usluge sa drugim identitetima, što je korisnički dodeljeni upravljani identitet. Neke od usluga kojima SQL može pristupiti su Azure Storage Account(V2), Azure Data Lake Storage Gen2, SQL Server, Oracle, Teradata, MongoDB ili Cosmos DB API za MongoDB, Generic ODBC, Bulk Operations i S3-kompatibilno skladište objekata.
|
||||
|
||||
Druge bezbednosne karakteristike koje SQL server ima su:
|
||||
|
||||
- **Pravila vatrozida**: Pravila vatrozida kontrolišu pristup vašem serveru ograničavanjem ili omogućavanjem saobraćaja. Ovo je karakteristika samih baza podataka.
|
||||
- **Transparentna enkripcija podataka (TDE)**: TDE enkriptuje vaše baze podataka, rezervne kopije i logove u mirovanju kako bi zaštitio vaše podatke čak i ako je skladište kompromitovano. Može se uraditi sa ključem koji upravlja uslugom ili ključem koji upravlja korisnik.
|
||||
- **Microsoft Defender za SQL**: Microsoft Defender za SQL može biti omogućen nudeći procene ranjivosti i naprednu zaštitu od pretnji za server.
|
||||
|
||||
#### Modeli implementacije
|
||||
|
||||
@@ -38,41 +55,78 @@ Azure SQL Database podržava fleksibilne opcije implementacije kako bi zadovolji
|
||||
- Odlično za mikroservise ili aplikacije koje zahtevaju jedan izvor podataka.
|
||||
- **Elastični bazen**:
|
||||
- Omogućava više baza podataka da dele resurse unutar bazena.
|
||||
- Ekonomično za aplikacije sa promenljivim obrascima korišćenja kroz više baza podataka.
|
||||
- Ekonomično za aplikacije sa fluktuirajućim obrascima korišćenja među više baza podataka.
|
||||
|
||||
### Azure SQL Database
|
||||
|
||||
**Azure SQL Database** je **potpuno upravljana platforma baze podataka kao usluga (PaaS)** koja pruža skalabilna i sigurna rešenja za relacione baze podataka. Izgrađena je na najnovijim SQL Server tehnologijama i eliminiše potrebu za upravljanjem infrastrukturom, što je čini popularnim izborom za aplikacije zasnovane na cloudu.
|
||||
|
||||
#### Ključne karakteristike
|
||||
|
||||
- **Uvek ažurirano**: Radi na najnovijoj stabilnoj verziji SQL Server-a i automatski prima nove funkcije i zakrpe.
|
||||
- **PaaS mogućnosti**: Ugrađena visoka dostupnost, rezervne kopije i ažuriranja.
|
||||
- **Fleksibilnost podataka**: Podržava relacione i nerezervisane podatke (npr. grafike, JSON, prostorne i XML).
|
||||
|
||||
#### Mreža
|
||||
|
||||
**Mrežna povezanost**: Izaberite da li da omogućite pristup putem javnog ili privatnog krajnjeg tačke. Ako izaberete Nema pristupa, nijedna krajnja tačka se ne kreira dok se ne konfiguriše ručno:
|
||||
- Nema pristupa: Nijedna krajnja tačka nije konfigurisana, blokirajući dolazne veze dok se ne postavi ručno.
|
||||
- Javni krajnji tačka: Omogućava direktne veze preko javnog interneta, podložne pravilima vatrozida i drugim bezbednosnim konfiguracijama.
|
||||
- Privatni krajnji tačka: Ograničava povezanost na privatnu mrežu.
|
||||
|
||||
**Politika povezivanja**: Definišite kako klijenti komuniciraju sa SQL serverom baze podataka:
|
||||
- Podrazumevano: Koristi politiku preusmeravanja za sve klijentske veze iznutra Azure-a (osim onih koje koriste privatne krajnje tačke) i politiku proxy za veze izvan Azure-a.
|
||||
- Proxy: Usmerava sve klijentske veze kroz Azure SQL Database gateway.
|
||||
- Preusmeravanje: Klijenti se direktno povezuju na čvor koji hostuje bazu podataka.
|
||||
|
||||
#### Bezbednosne karakteristike
|
||||
|
||||
- **Microsoft Defender za SQL**: može biti omogućen nudeći procene ranjivosti i naprednu zaštitu od pretnji.
|
||||
- **Ledger**: kriptografski verifikuje integritet podataka, osiguravajući da se svako neovlašćeno menjanje otkrije.
|
||||
- **Identitet servera**: koristi sistemski dodeljene i korisnički dodeljene upravljane identitete za omogućavanje centralizovanog pristupa.
|
||||
- **Upravljanje ključevima za transparentnu enkripciju podataka**: enkriptuje baze podataka, rezervne kopije i logove u mirovanju bez potrebe za promenama u aplikaciji. Enkripcija se može omogućiti na svakoj bazi podataka, a ako se konfiguriše na nivou baze podataka, ova podešavanja nadmašuju konfiguraciju na nivou servera.
|
||||
- **Uvek enkriptovano**: je skup naprednih karakteristika zaštite podataka koje odvajaju vlasništvo nad podacima od upravljanja podacima. Ovo osigurava da administratori ili operateri sa visokim privilegijama ne mogu pristupiti osetljivim podacima.
|
||||
|
||||
#### Modeli kupovine / Servisni nivoi
|
||||
|
||||
- **vCore-bazirano**: Izaberite računarske, memorijske i skladišne resurse nezavisno. Za opštu svrhu, poslovno kritične (sa visokom otpornosti i performansama za OLTP aplikacije), i skalira do 128 TB skladišta.
|
||||
- **DTU-bazirano**: Kombinuje računarske, memorijske i I/O resurse u fiksne nivoe. Izbalansirani resursi za uobičajene zadatke.
|
||||
- Standard: Izbalansirani resursi za uobičajene zadatke.
|
||||
- Premium: Visoke performanse za zahtevne radne opterećenja.
|
||||
|
||||
#### Skalabilne performanse i bazeni
|
||||
|
||||
- **Jedinstvene baze podataka**: Svaka baza podataka je izolovana i ima svoje posvećene računarske resurse, memoriju i skladište. Resursi se mogu dinamički skalirati (gore ili dole) bez prekida rada (1–128 vCores, 32 GB–4 TB skladišta, i do 128 TB).
|
||||
- **Elastični bazeni**: Deli resurse između više baza podataka u bazenu kako bi se maksimizovala efikasnost i uštedeli troškovi. Resursi se takođe mogu dinamički skalirati za ceo bazen.
|
||||
- **Fleksibilnost servisnog nivoa**: Počnite sa malom jedinstvenom bazom podataka u opštem nivou. Nadogradite na poslovno kritične ili hiperskalne nivoe kako potrebe rastu.
|
||||
- **Jedinstvene baze podataka**: Svaka baza podataka je izolovana i ima svoje posvećene računarske, memorijske i skladišne resurse. Resursi se mogu dinamički skalirati (gore ili dole) bez prekida rada (1–128 vCores, 32 GB–4 TB skladišta, i do 128 TB).
|
||||
- **Elastični bazeni**: Deli resurse među više baza podataka u bazenu kako bi se maksimizovala efikasnost i uštedeli troškovi. Resursi se takođe mogu dinamički skalirati za ceo bazen.
|
||||
- **Fleksibilnost servisnog nivoa**: Počnite sa malim sa jednom bazom podataka u opštem nivou. Nadogradite na poslovno kritične ili hiperskalne nivoe kako potrebe rastu.
|
||||
- **Opcije skaliranja**: Dinamičko skaliranje ili alternativne automatske skalacije.
|
||||
|
||||
#### Ugrađeno praćenje i optimizacija
|
||||
|
||||
- **Query Store**: Prati probleme sa performansama, identifikuje glavne potrošače resursa i nudi akcione preporuke.
|
||||
- **Automatsko podešavanje**: Proaktivno optimizuje performanse sa funkcijama kao što su automatsko indeksiranje i ispravke plana upita.
|
||||
- **Automatsko podešavanje**: Proaktivno optimizuje performanse sa karakteristikama kao što su automatsko indeksiranje i ispravke plana upita.
|
||||
- **Integracija telemetrije**: Podržava praćenje putem Azure Monitor-a, Event Hubs-a ili Azure Storage-a za prilagođene uvide.
|
||||
|
||||
#### Oporavak od katastrofa i dostupnost
|
||||
|
||||
- **Automatske rezervne kopije**: SQL Database automatski vrši pune, diferencijalne i rezervne kopije transakcionih logova baza podataka.
|
||||
- **Automatske rezervne kopije**: SQL Database automatski obavlja pune, diferencijalne i transakcione log rezervne kopije baza podataka.
|
||||
- **Obnova tačke u vremenu**: Oporavite baze podataka na bilo koje prethodno stanje unutar perioda zadržavanja rezervnih kopija.
|
||||
- **Geo-redundantnost**
|
||||
- **Grupe za prebacivanje**: P pojednostavljuje oporavak od katastrofa grupisanjem baza podataka za automatsko prebacivanje između regiona.
|
||||
- **Grupe za prebacivanje**: P pojednostavljuje oporavak od katastrofa grupišući baze podataka za automatsko prebacivanje između regiona.
|
||||
|
||||
### Azure SQL Managed Instance
|
||||
|
||||
**Azure SQL Managed Instance** je platforma kao usluga (PaaS) koja nudi skoro 100% kompatibilnost sa SQL Server-om i automatski obavlja većinu upravljačkih zadataka (npr. nadogradnje, zakrpe, rezervne kopije, praćenje). Pruža cloud rešenje za migraciju on-premises SQL Server baza podataka uz minimalne promene.
|
||||
**Azure SQL Managed Instance** je platforma kao usluga (PaaS) koja nudi skoro 100% kompatibilnost sa SQL Server-om i automatski upravlja većinom zadataka upravljanja (npr. nadogradnja, zakrpe, rezervne kopije, praćenje). Pruža cloud rešenje za migraciju on-premises SQL Server baza podataka uz minimalne promene.
|
||||
|
||||
#### Servisni nivoi
|
||||
|
||||
- **Opšta svrha**: Ekonomična opcija za aplikacije sa standardnim I/O i latencijskim zahtevima.
|
||||
- **Poslovno kritično**: Opcija visoke performanse sa niskom I/O latencijom za kritična radna opterećenja.
|
||||
|
||||
#### Napredne sigurnosne karakteristike
|
||||
#### Napredne bezbednosne karakteristike
|
||||
|
||||
* **Zaštita od pretnji**: Napredna zaštita od pretnji upozorava na sumnjive aktivnosti i SQL injekcijske napade. Revizija za praćenje i beleženje događaja baze podataka radi usklađenosti.
|
||||
* **Kontrola pristupa**: Microsoft Entra autentifikacija za centralizovano upravljanje identitetom. Bezbednost na nivou reda i dinamičko maskiranje podataka za granularnu kontrolu pristupa.
|
||||
* **Kontrola pristupa**: Microsoft Entra autentifikacija za centralizovano upravljanje identitetom. Bezbednost na nivou redova i dinamičko maskiranje podataka za granularnu kontrolu pristupa.
|
||||
* **Rezervne kopije**: Automatske i ručne rezervne kopije sa mogućnošću obnavljanja tačke u vremenu.
|
||||
|
||||
### Azure SQL Virtual Machines
|
||||
@@ -81,17 +135,17 @@ Azure SQL Database podržava fleksibilne opcije implementacije kako bi zadovolji
|
||||
|
||||
#### Ključne karakteristike
|
||||
|
||||
**Automatska rezervna kopija**: Planirajte rezervne kopije za SQL baze podataka.
|
||||
**Automatsko zakrpljenje**: Automatizuje instalaciju Windows i SQL Server ažuriranja tokom održavanja.
|
||||
**Integracija Azure Key Vault**: Automatski konfiguriše Key Vault za SQL Server VMs.
|
||||
**Integracija Defender for Cloud**: Prikazuje preporuke Defender for SQL u portalu.
|
||||
**Fleksibilnost verzije/izdanja**: Promenite metapodatke verzije ili izdanja SQL Server-a bez ponovne implementacije VM-a.
|
||||
**Automatska rezervna kopija**: Planirajte rezervne kopije za SQL baze podataka.
|
||||
**Automatsko zakrpljenje**: Automatizuje instalaciju Windows i SQL Server ažuriranja tokom održavanja.
|
||||
**Integracija sa Azure Key Vault**: Automatski konfiguriše Key Vault za SQL Server VMs.
|
||||
**Integracija sa Defender for Cloud**: Prikazuje preporuke Defender for SQL u portalu.
|
||||
**Fleksibilnost verzije/izdanja**: Menjajte metapodatke verzije ili izdanja SQL Server-a bez ponovne implementacije VM-a.
|
||||
|
||||
#### Sigurnosne karakteristike
|
||||
#### Bezbednosne karakteristike
|
||||
|
||||
**Microsoft Defender for SQL**: Uvidi i upozorenja o sigurnosti.
|
||||
**Integracija Azure Key Vault**: Sigurno skladištenje kredencijala i ključeva za enkripciju.
|
||||
**Microsoft Entra (Azure AD)**: Autentifikacija i kontrola pristupa.
|
||||
**Microsoft Defender za SQL**: Uvidi u bezbednost i upozorenja.
|
||||
**Integracija sa Azure Key Vault**: Sigurno skladištenje kredencijala i ključeva za enkripciju.
|
||||
**Microsoft Entra (Azure AD)**: Autentifikacija i kontrola pristupa.
|
||||
|
||||
## Enumeracija
|
||||
|
||||
@@ -99,7 +153,7 @@ Azure SQL Database podržava fleksibilne opcije implementacije kako bi zadovolji
|
||||
{{#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 <server_name> --resource-group <resource_group>
|
||||
## List Server Firewalls
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
## Osnovne Informacije
|
||||
|
||||
Google Cloud Compute Instances su **prilagodljive virtuelne mašine na Google-ovoj cloud infrastrukturi**, koje nude skalabilnu i na zahtev dostupnu računarstvo za širok spektar aplikacija. Pružaju funkcije kao što su globalna implementacija, trajno skladištenje, fleksibilni izbor operativnog sistema i snažne integracije umrežavanja i bezbednosti, što ih čini svestranom opcijom za hostovanje veb sajtova, obradu podataka i efikasno pokretanje aplikacija u cloudu.
|
||||
Google Cloud Compute Instances su **prilagodljive virtuelne mašine na Google-ovoj cloud infrastrukturi**, koje nude skalabilnu i na zahtev dostupnu računarstvo za širok spektar aplikacija. Pružaju funkcije kao što su globalna implementacija, trajno skladištenje, fleksibilni izbor operativnih sistema i snažne integracije umrežavanja i bezbednosti, što ih čini svestranom opcijom za hostovanje veb sajtova, obradu podataka i efikasno pokretanje aplikacija u cloudu.
|
||||
|
||||
### Povjerljiva VM
|
||||
|
||||
Povjerljive VM koriste **bezbednosne funkcije zasnovane na hardveru** koje nude najnovije generacije AMD EPYC procesora, koje uključuju enkripciju memorije i sigurnu enkriptu virtualizaciju. Ove funkcije omogućavaju VM-u da zaštiti podatke koji se obrađuju i skladište unutar njega čak i od host operativnog sistema i hipervizora.
|
||||
Povjerljive VM koriste **bezbednosne funkcije zasnovane na hardveru** koje nude najnovija generacija AMD EPYC procesora, koje uključuju enkripciju memorije i sigurnu enkriptovanu virtualizaciju. Ove funkcije omogućavaju VM-u da zaštiti podatke koji se obrađuju i skladište unutar njega čak i od host operativnog sistema i hipervizora.
|
||||
|
||||
Da bi se pokrenula Povjerljiva VM, možda će biti potrebno da **promenite** stvari kao što su **tip** **mašine**, mrežni **interfejs**, **slika pokretačkog diska**.
|
||||
|
||||
@@ -19,7 +19,7 @@ Moguće je **izabrati disk** koji će se koristiti ili **napraviti novi**. Ako i
|
||||
- Izabrati **veličinu** diska
|
||||
- Izabrati **OS**
|
||||
- Naznačiti da želite da **obrišete disk kada se instanca obriše**
|
||||
- **Enkripcija**: Po **default-u** će se koristiti **Google upravljani ključ**, ali možete i **izabrati ključ iz KMS** ili naznačiti **sirovi ključ koji će se koristiti**.
|
||||
- **Enkripcija**: Po **default-u** će se koristiti **Google upravljani ključ**, ali takođe možete **izabrati ključ iz KMS** ili naznačiti **sirovi ključ koji će se koristiti**.
|
||||
|
||||
### Implementacija Kontejnera
|
||||
|
||||
@@ -28,17 +28,17 @@ Moguće je konfigurisati **sliku** koja će se koristiti, postaviti **komandu**
|
||||
|
||||
### Servisni Nalog
|
||||
|
||||
Po default-u, koristiće se **Compute Engine default servisni nalog**. Email ovog SA je kao: `<proj-num>-compute@developer.gserviceaccount.com`\
|
||||
Po default-u, koristiće se **Compute Engine podrazumevani servisni nalog**. Email ovog SA je kao: `<proj-num>-compute@developer.gserviceaccount.com`\
|
||||
Ovaj servisni nalog ima **Editor ulogu nad celim projektom (visoke privilegije).**
|
||||
|
||||
A **default pristupni opsezi** su sledeći:
|
||||
A **podrazumevani pristupni opsezi** su sledeći:
|
||||
|
||||
- **https://www.googleapis.com/auth/devstorage.read\_only** -- Pristup za čitanje ka bucket-ima :)
|
||||
- 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)
|
||||
|
||||
Međutim, moguće je **dodeliti `cloud-platform` jednim klikom** ili odrediti **prilagođene**.
|
||||
|
||||
@@ -60,7 +60,7 @@ Moguće je dozvoliti HTTP i HTTPS saobraćaj.
|
||||
|
||||
Ove opcije će **povećati bezbednost** VM-a i preporučuju se:
|
||||
|
||||
- **Sigurno pokretanje:** Sigurno pokretanje pomaže u zaštiti vaših VM instanci od malvera na nivou pokretanja i kernel nivoa i rootkit-a.
|
||||
- **Sigurno pokretanje:** Sigurno pokretanje pomaže u zaštiti vaših VM instanci od malvera na nivou pokretanja i jezgra i rootkit-a.
|
||||
- **Omogućiti vTPM:** Virtuelni Trusted Platform Module (vTPM) validira integritet vašeg gostujućeg VM-a pre pokretanja i tokom pokretanja, i nudi generisanje i zaštitu ključeva.
|
||||
- **Nadzor integriteta:** Nadzor integriteta vam omogućava da pratite i verifikujete integritet pokretanja vaših zaštićenih VM instanci koristeći Stackdriver izveštaje. Zahteva da vTPM bude omogućen.
|
||||
|
||||
@@ -76,7 +76,7 @@ Kada je ovaj **servis** **omogućen**, pristup putem **SSH ključeva je onemogu
|
||||
|
||||
Moguće je definisati **automatizaciju** (userdata u AWS) koja su **shell komande** koje će se izvršavati svaki put kada se mašina uključi ili ponovo pokrene.
|
||||
|
||||
Takođe je moguće **dodati dodatne metapodatke ključ-vrednost** koji će biti dostupni sa metapodatkovnog krajnjeg tačke. Ove informacije se obično koriste za varijable okruženja i skripte za pokretanje/gašenje. Ovo se može dobiti koristeći **`describe` metodu** iz komande u sekciji enumeracije, ali se takođe može preuzeti iznutra instance pristupajući metapodatkovnom kraju.
|
||||
Takođe je moguće **dodati dodatne metapodatke ključ-vrednost** koji će biti dostupni sa metapodatkovnog krajnjeg tačke. Ove informacije se obično koriste za varijable okruženja i skripte za pokretanje/gašenje. Ovo se može dobiti koristeći **`describe` metodu** iz komande u sekciji enumeracije, ali se takođe može preuzeti iznutra instance pristupajući metapodatkovnoj krajnjoj tački.
|
||||
```bash
|
||||
# view project metadata
|
||||
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \
|
||||
|
||||
Reference in New Issue
Block a user