From 905e1294b15710f653d8f103c8f902a48d5118d5 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 25 Feb 2025 22:31:29 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-services/az-containe --- .../az-container-instances-apps-jobs.md | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md diff --git a/src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md b/src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md new file mode 100644 index 000000000..fe510c396 --- /dev/null +++ b/src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md @@ -0,0 +1,116 @@ +# Az - Container Instances + +{{#include ../../../banners/hacktricks-training.md}} + +## Temel Bilgiler + +**Azure Container Instances (ACI)**, temel altyapıyı yönetmeden bireysel konteynerleri hızlı bir şekilde çalıştırmanıza olanak tanıyan sunucusuz bir konteyner hizmetidir. **Azure Container Apps (ACA)**, olay odaklı otomatik ölçeklendirme, yerleşik Dapr entegrasyonu ve karmaşık orkestrasyon senaryoları desteği gibi özelliklerle mikro hizmetler ve web uygulamaları çalıştırmak için tamamen yönetilen bir ortam sunarak bunu genişletir. **Container App Jobs**, belirli bir süre boyunca çalışan ve ardından çıkan kısa ömürlü, toplu veya planlı görevleri çalıştırmak için tasarlanmış ACA içindeki özel bir özelliktir. + +Farklar: +- ACI, minimum orkestrasyon gerektiren **basit**, bağımsız konteyner iş yükleri için idealdir. +- ACA, otomatik ölçeklendirme ve hizmet keşfi gibi gelişmiş özelliklere sahip ölçeklenebilir, birbirine bağlı mikro hizmetler oluşturmak için en uygun olanıdır. +- Container App Jobs, arka plan veya toplu işleri ACA ortamında çalıştırmak için düzenli bir yol sağlayarak **tek seferlik veya planlı görevler** üzerine odaklanır. + +### Yapılandırmalar + +**ACI** için özel seçenekler: +- Ağ ile ilgili olarak bu 3 seçenekten birini seçmek mümkündür: +- **Halka açık** (varsayılan) +- **Özel** (sadece VNet'ten erişilebilir) +- **Yok** (ağ erişimi yok) + +**ACA** için özel seçenekler: +- Konteynerin trafiğini konteyner uygulama ortamına kısıtlamak veya halka açık bırakmak mümkündür. +- Kimlik doğrulama için bir **harici kimlik sağlayıcı** (Microsoft, Facebook, Google ve Twitter) kullanmak mümkündür. +- **Uygulama gizli anahtarlarını** (açık metin olarak veya bir MI ile erişim atayarak bir kasaya bağlantılar olarak) saklamak mümkündür. +- **Uygulamanın revizyonları ve kopyaları** olabilir. +- Bir konteyner kullanmak yerine belirli bir **kaynak kodu veya artefakt** üzerinden dağıtım yapmak mümkündür. Kaynak kodu için GitHub'a erişim verilmelidir. Artefaktlar için, uygulama oluşturulduktan sonra yüklenmesi mümkündür. + +**Görevler** için özel seçenekler: +- Tetikleme türü **manuel, planlı veya olay tabanlı** (bir kuyruğa mesaj gelmesi gibi) olabilir. + +Ortak seçenekler: +- Bir konteyner oluşturmak için halka açık bir görüntü, bir Azure Container Registry'den konteyner görüntüsü veya bir harici depo kullanmak mümkündür; bu, erişim için bir şifre yapılandırmayı **gerektirebilir**. +- Bu, konteynerin yapılandırmasının hassas bilgiler içerebileceği anlamına gelir. +- Ayrıca, aşağıdaki gibi yaygın docker ayarlarını yapılandırmak da mümkündür: +- **Çevre değişkenleri** (hassas bilgiler için kontrol edin) +- **Hacimler** (Azure Files'dan bile) +- **Açık portlar** +- **CPU ve bellek sınırları** +- **Yeniden başlatma politikası** +- **Yetkili olarak çalıştır** +- Konteynerlerin **çalıştırılacak komut satırını ve argümanlarını** geçersiz kılmak (mevcut konteynerlerde de değiştirilebilir) +- ... + +## Sayım + +> [!WARNING] +> Sayım yaparken, **çevre değişkenleri**, **ağ detayları** veya **yönetilen kimlikler** gibi hassas yapılandırmaları açığa çıkarabilirsiniz. +```bash +# ACI +## List all container instances in the subscription +az container list + +## Show detailed information about a specific container instance +az container show --name --resource-group + +## Fetch logs from a container +az container logs --name --resource-group + +## Execute a command in a running container and get the output +az container exec --name --resource-group --exec-command "/bin/sh" # Get a shell + +## Get yaml configuration of the container group +az container export --name --resource-group --file + +# ACA +## List all container apps in the subscription +az containerapp list + +## Show detailed information about a specific container app +az containerapp show --name --resource-group + +## List app environments +az containerapp env list --resource-group + +## Fetch logs from a container app +az containerapp logs show --name --resource-group + +## Get configured secrets +az containerapp secret list --name --resource-group +### Get value +az containerapp secret show --name --resource-group --secret-name + +## Get authentication options +az containerapp auth show --name --resource-group + +## Get a shell +az containerapp exec --name --resource-group --command "sh" + +## Get debugging shell +az containerapp debug --name --resource-group + +# Jobs +## List all container apps jobs in a resource group +az containerapp job list --resource-group + +## Show detailed information about a specific container app job +az containerapp job show --name --resource-group + +## Fetch logs from a container app job +az containerapp job logs show --name --resource-group + +## Fetch executions from a container app job +az containerapp job execution list --name --resource-group +az containerapp job execution show --name --resource-group --job-execution-name + +## Start a job execution (for manual jobs) +az containerapp job start --name --resource-group +``` +## Yetki Yükseltme & Sonrası İstismar + +{{#ref}} +../az-privilege-escalation/az-container-instances-apps-jobs-privesc.md +{{#endref}} + +{{#include ../../../banners/hacktricks-training.md}}