Az - Container Instances

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

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

Όταν κάνετε καταμέτρηση, μπορεί να αποκαλύψετε ευαίσθητες ρυθμίσεις όπως μεταβλητές περιβάλλοντος, λεπτομέρειες δικτύου ή διαχειριζόμενες ταυτότητες.

# 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>

Ανάβαση Δικαιωμάτων & Μετά την Εκμετάλλευση

Az - Container Instances, Apps & Jobs Privesc

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks