CGroup Namespace
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Basic Information
Ένα cgroup namespace είναι μια δυνατότητα του πυρήνα Linux που παρέχει απομόνωση των ιεραρχιών cgroup για διαδικασίες που εκτελούνται εντός ενός namespace. Τα cgroups, συντομογραφία για control groups, είναι μια δυνατότητα του πυρήνα που επιτρέπει την οργάνωση διαδικασιών σε ιεραρχικές ομάδες για τη διαχείριση και επιβολή ορίων στους πόρους του συστήματος όπως CPU, μνήμη και I/O.
Ενώ τα cgroup namespaces δεν είναι ένας ξεχωριστός τύπος namespace όπως οι άλλοι που συζητήσαμε νωρίτερα (PID, mount, network, κ.λπ.), σχετίζονται με την έννοια της απομόνωσης namespace. Τα cgroup namespaces εικονικοποιούν την άποψη της ιεραρχίας cgroup, έτσι ώστε οι διαδικασίες που εκτελούνται εντός ενός cgroup namespace να έχουν μια διαφορετική άποψη της ιεραρχίας σε σύγκριση με τις διαδικασίες που εκτελούνται στον κεντρικό υπολογιστή ή σε άλλα namespaces.
How it works:
Όταν δημιουργείται ένα νέο cgroup namespace, ξεκινά με μια άποψη της ιεραρχίας cgroup βασισμένη στην cgroup της διαδικασίας που το δημιουργεί. Αυτό σημαίνει ότι οι διαδικασίες που εκτελούνται στο νέο cgroup namespace θα βλέπουν μόνο ένα υποσύνολο της συνολικής ιεραρχίας cgroup, περιορισμένο στην υποδένδρο cgroup που έχει ρίζα την cgroup της διαδικασίας που το δημιουργεί.
Οι διαδικασίες εντός ενός cgroup namespace θα βλέπουν τη δική τους cgroup ως τη ρίζα της ιεραρχίας. Αυτό σημαίνει ότι, από την προοπτική των διαδικασιών μέσα στο namespace, η δική τους cgroup εμφανίζεται ως η ρίζα, και δεν μπορούν να δουν ή να έχουν πρόσβαση σε cgroups εκτός του δικού τους υποδένδρου.
Τα cgroup namespaces δεν παρέχουν άμεση απομόνωση πόρων; παρέχουν μόνο απομόνωση της άποψης της ιεραρχίας cgroup. Ο έλεγχος και η απομόνωση πόρων επιβάλλονται ακόμα από τα ίδια τα υποσυστήματα cgroup (π.χ., cpu, μνήμη, κ.λπ.).
For more information about CGroups check:
CGroupsLab:
Create different Namespaces
CLI
Με την τοποθέτηση μιας νέας παρουσίας του συστήματος αρχείων /proc
αν χρησιμοποιήσετε την παράμετρο --mount-proc
, διασφαλίζετε ότι η νέα mount namespace έχει μια ακριβή και απομονωμένη άποψη των πληροφοριών διαδικασίας που είναι συγκεκριμένες για αυτή τη namespace.
Docker
Ελέγξτε σε ποιο namespace βρίσκεται η διαδικασία σας
Βρείτε όλα τα CGroup namespaces
Είσοδος σε ένα namespace CGroup
Επίσης, μπορείτε να μπείτε σε άλλο namespace διαδικασίας μόνο αν είστε root. Και δεν μπορείτε να μπείτε σε άλλο namespace χωρίς έναν περιγραφέα που να δείχνει σε αυτό (όπως το /proc/self/ns/cgroup
).
Αναφορές
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated