mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/azure-security/az-services/az-containe
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
# Az - Container Instances
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Basic Information
|
||||
|
||||
**Azure Container Instances (ACI)** είναι μια υπηρεσία κοντέινερ χωρίς διακομιστή που σας επιτρέπει να εκτελείτε μεμονωμένα κοντέινερ γρήγορα χωρίς να διαχειρίζεστε καμία υποκείμενη υποδομή. **Azure Container Apps (ACA)** επεκτείνει αυτό προσφέροντας ένα πλήρως διαχειριζόμενο περιβάλλον για την εκτέλεση μικροϋπηρεσιών και διαδικτυακών εφαρμογών με δυνατότητες όπως η αυτόματη κλιμάκωση με βάση τα γεγονότα, η ενσωματωμένη υποστήριξη Dapr και η υποστήριξη για σύνθετα σενάρια ορχήστρωσης. **Container App Jobs** είναι μια εξειδικευμένη δυνατότητα εντός του ACA σχεδιασμένη για την εκτέλεση βραχυχρόνιων, παρτίδων ή προγραμματισμένων εργασιών που εκτελούνται για μια πεπερασμένη περίοδο και στη συνέχεια τερματίζονται.
|
||||
|
||||
Διαφορές:
|
||||
- ACI είναι ιδανικό για **απλές**, αυτόνομες φορτώσεις κοντέινερ όπου απαιτείται ελάχιστη ορχήστρωση.
|
||||
- ACA είναι καλύτερα προσαρμοσμένο για την κατασκευή κλιμακούμενων, διασυνδεδεμένων μικροϋπηρεσιών με προηγμένες δυνατότητες όπως η αυτόματη κλιμάκωση και η ανακάλυψη υπηρεσιών.
|
||||
- Container App Jobs εστιάζουν σε **μοναδικές ή προγραμματισμένες εργασίες**, παρέχοντας έναν απλοποιημένο τρόπο εκτέλεσης εργασιών φόντου ή παρτίδων εντός του περιβάλλοντος ACA.
|
||||
|
||||
### Configurations
|
||||
|
||||
Ειδικές επιλογές για **ACI**:
|
||||
- Σχετικά με το δίκτυο, είναι δυνατή η επιλογή μιας από αυτές τις 3 επιλογές:
|
||||
- **Δημόσιο** (προεπιλογή)
|
||||
- **Ιδιωτικό** (προσβάσιμο μόνο από το VNet)
|
||||
- **Καμία** (χωρίς πρόσβαση στο δίκτυο)
|
||||
|
||||
Ειδικές επιλογές για **ACA**:
|
||||
- Είναι δυνατή η **περιορισμένη κυκλοφορία** προς το κοντέινερ στο περιβάλλον της εφαρμογής κοντέινερ ή να παραμείνει δημόσιο.
|
||||
- Είναι δυνατή η χρήση ενός **εξωτερικού παρόχου ταυτότητας** (Microsoft, Facebook, Google και Twitter) για την αυθεντικοποίηση.
|
||||
- Είναι δυνατή η **αποθήκευση μυστικών εφαρμογής** (σε καθαρό κείμενο ή ως συνδέσμους σε ένα θησαυρό που αναθέτει μια MI με πρόσβαση σε αυτό).
|
||||
- Είναι δυνατή η ύπαρξη **αναθεωρήσεων και αντιγράφων της εφαρμογής**.
|
||||
- Είναι δυνατή η ανάπτυξη από έναν συγκεκριμένο **κωδικό πηγής ή αντικείμενο** αντί να χρησιμοποιείται ένα κοντέινερ. Για τον κωδικό πηγής, πρέπει να δοθεί πρόσβαση στο GitHub. Για τα αντικείμενα, είναι δυνατή η μεταφόρτωσή τους μετά τη δημιουργία της εφαρμογής.
|
||||
|
||||
Ειδικές επιλογές για **εργασίες**:
|
||||
- Ο τύπος ενεργοποίησης μπορεί να είναι **χειροκίνητος, προγραμματισμένος ή βασισμένος σε γεγονότα** (όπως ένα μήνυμα που φτάνει σε μια ουρά).
|
||||
|
||||
Κοινές επιλογές:
|
||||
- Για να δημιουργήσετε ένα κοντέινερ, είναι δυνατή η χρήση μιας δημόσιας εικόνας, μιας εικόνας κοντέινερ από ένα Azure Container Registry ή ενός εξωτερικού αποθετηρίου, το οποίο μπορεί να **απαιτεί τη ρύθμιση ενός κωδικού πρόσβασης** για την πρόσβαση σε αυτό.
|
||||
- Αυτό σημαίνει ότι η ρύθμιση του κοντέινερ μπορεί να περιέχει ευαίσθητες πληροφορίες.
|
||||
- Είναι επίσης δυνατή η ρύθμιση κοινών ρυθμίσεων docker όπως:
|
||||
- **Μεταβλητές περιβάλλοντος** (ελέγξτε για ευαίσθητες πληροφορίες)
|
||||
- **Όγκοι** (ακόμη και από Azure Files)
|
||||
- **Θύρες** προς έκθεση
|
||||
- **Όρια CPU και μνήμης**
|
||||
- **Πολιτική επανεκκίνησης**
|
||||
- **Εκτέλεση ως προνομιούχος**
|
||||
- Επικαλύψτε τη **γραμμή εντολών κοντέινερ για εκτέλεση και επιχειρήματα** (μπορεί να τροποποιηθεί και σε υπάρχοντα κοντέινερ)
|
||||
- ...
|
||||
|
||||
## Enumeration
|
||||
|
||||
> [!WARNING]
|
||||
> Όταν κάνετε καταμέτρηση, μπορεί να αποκαλύψετε ευαίσθητες ρυθμίσεις όπως **μεταβλητές περιβάλλοντος**, **λεπτομέρειες δικτύου** ή **διαχειριζόμενες ταυτότητες**.
|
||||
```bash
|
||||
# ACI
|
||||
## 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 "/bin/sh" # Get a shell
|
||||
|
||||
## Get yaml configuration of the container group
|
||||
az container export --name <container-name> --resource-group <res-group> --file </path/local/file.yml>
|
||||
|
||||
# ACA
|
||||
## List all container apps in the subscription
|
||||
az containerapp list
|
||||
|
||||
## Show detailed information about a specific container app
|
||||
az containerapp show --name <app-name> --resource-group <res-group>
|
||||
|
||||
## List app environments
|
||||
az containerapp env list --resource-group <res-group>
|
||||
|
||||
## Fetch logs from a container app
|
||||
az containerapp logs show --name <app-name> --resource-group <res-group>
|
||||
|
||||
## Get configured secrets
|
||||
az containerapp secret list --name <app-name> --resource-group <res-group>
|
||||
### Get value
|
||||
az containerapp secret show --name <app-name> --resource-group <res-group> --secret-name <secret-name>
|
||||
|
||||
## Get authentication options
|
||||
az containerapp auth show --name <app-name> --resource-group <res-group>
|
||||
|
||||
## Get a shell
|
||||
az containerapp exec --name <app-name> --resource-group <res-group> --command "sh"
|
||||
|
||||
## Get debugging shell
|
||||
az containerapp debug --name <app-name> --resource-group <res-group>
|
||||
|
||||
# Jobs
|
||||
## List all container apps jobs in a resource group
|
||||
az containerapp job list --resource-group <res-group>
|
||||
|
||||
## Show detailed information about a specific container app job
|
||||
az containerapp job show --name <job-name> --resource-group <res-group>
|
||||
|
||||
## Fetch logs from a container app job
|
||||
az containerapp job logs show --name <job-name> --resource-group <res-group>
|
||||
|
||||
## Fetch executions from a container app job
|
||||
az containerapp job execution list --name <job-name> --resource-group <res-group>
|
||||
az containerapp job execution show --name <job-name> --resource-group <res-group> --job-execution-name <job-execution>
|
||||
|
||||
## Start a job execution (for manual jobs)
|
||||
az containerapp job start --name <job-name> --resource-group <res-group>
|
||||
```
|
||||
## Ανάβαση Δικαιωμάτων & Μετά την Εκμετάλλευση
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-container-instances-apps-jobs-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
Reference in New Issue
Block a user