Interesting Groups - Linux Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μερικές φορές, κατά προεπιλογή (ή επειδή κάποιο λογισμικό το χρειάζεται) μέσα στο /etc/sudoers αρχείο μπορείς να βρεις μερικές από αυτές τις γραμμές:
Αυτό σημαίνει ότι οποιοσδήποτε χρήστης ανήκει στην ομάδα sudo ή admin μπορεί να εκτελέσει οτιδήποτε ως sudo.
Αν αυτό ισχύει, για να γίνεις root μπορείς απλά να εκτελέσεις:
Βρείτε όλα τα suid δυαδικά και ελέγξτε αν υπάρχει το δυαδικό Pkexec:
Αν διαπιστώσετε ότι το δυαδικό αρχείο pkexec είναι ένα SUID δυαδικό αρχείο και ανήκετε σε sudo ή admin, μπορείτε πιθανώς να εκτελέσετε δυαδικά αρχεία ως sudo χρησιμοποιώντας το pkexec
.
Αυτό συμβαίνει επειδή συνήθως αυτές είναι οι ομάδες μέσα στην πολιτική polkit. Αυτή η πολιτική βασικά προσδιορίζει ποιες ομάδες μπορούν να χρησιμοποιούν το pkexec
. Ελέγξτε το με:
Εκεί θα βρείτε ποιες ομάδες επιτρέπεται να εκτελούν pkexec και κατά προεπιλογή σε ορισμένες διανομές linux οι ομάδες sudo και admin εμφανίζονται.
Για να γίνετε root μπορείτε να εκτελέσετε:
Αν προσπαθήσετε να εκτελέσετε pkexec και λάβετε αυτό το σφάλμα:
Δεν είναι επειδή δεν έχετε δικαιώματα αλλά επειδή δεν είστε συνδεδεμένοι χωρίς GUI. Και υπάρχει μια λύση για αυτό το ζήτημα εδώ: https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903. Χρειάζεστε 2 διαφορετικές ssh συνεδρίες:
Μερικές φορές, κατά προεπιλογή μέσα στο /etc/sudoers αρχείο μπορείς να βρεις αυτή τη γραμμή:
Αυτό σημαίνει ότι οποιοσδήποτε χρήστης ανήκει στην ομάδα wheel μπορεί να εκτελεί οτιδήποτε ως sudo.
Αν αυτό ισχύει, για να γίνεις root μπορείς απλά να εκτελέσεις:
Χρήστες από την ομάδα shadow μπορούν να διαβάσουν το /etc/shadow αρχείο:
So, read the file and try to crack some hashes.
staff: Επιτρέπει στους χρήστες να προσθέτουν τοπικές τροποποιήσεις στο σύστημα (/usr/local
) χωρίς να χρειάζονται δικαιώματα root (σημειώστε ότι τα εκτελέσιμα αρχεία στο /usr/local/bin
είναι στη μεταβλητή PATH οποιουδήποτε χρήστη, και μπορεί να "υπερκαλύψουν" τα εκτελέσιμα αρχεία στο /bin
και /usr/bin
με το ίδιο όνομα). Συγκρίνετε με την ομάδα "adm", η οποία σχετίζεται περισσότερο με την παρακολούθηση/ασφάλεια. [source]
In debian distributions, $PATH
variable show that /usr/local/
will be run as the highest priority, whether you are a privileged user or not.
Αν μπορέσουμε να καταλάβουμε μερικά προγράμματα στο /usr/local
, μπορούμε εύκολα να αποκτήσουμε δικαιώματα root.
Η κατάληψη του προγράμματος run-parts
είναι ένας εύκολος τρόπος για να αποκτήσουμε δικαιώματα root, επειδή τα περισσότερα προγράμματα θα εκτελούν ένα run-parts
όπως (crontab, κατά την είσοδο μέσω ssh).
ή Όταν συνδέεται μια νέα συνεδρία ssh.
Εκμετάλλευση
Αυτή η προνομιακή πρόσβαση είναι σχεδόν ισοδύναμη με την πρόσβαση root καθώς μπορείτε να έχετε πρόσβαση σε όλα τα δεδομένα μέσα στη μηχανή.
Files:/dev/sd[a-z][1-9]
Σημειώστε ότι χρησιμοποιώντας το debugfs μπορείτε επίσης να γράφετε αρχεία. Για παράδειγμα, για να αντιγράψετε το /tmp/asd1.txt
στο /tmp/asd2.txt
μπορείτε να κάνετε:
Ωστόσο, αν προσπαθήσετε να γράψετε αρχεία που ανήκουν στον root (όπως το /etc/shadow
ή το /etc/passwd
) θα λάβετε ένα "Permission denied" σφάλμα.
Χρησιμοποιώντας την εντολή w
μπορείτε να βρείτε ποιος είναι συνδεδεμένος στο σύστημα και θα εμφανίσει μια έξοδο όπως η παρακάτω:
Το tty1 σημαίνει ότι ο χρήστης yossi είναι συνδεδεμένος φυσικά σε ένα τερματικό στη μηχανή.
Η ομάδα video έχει πρόσβαση για να δει την έξοδο της οθόνης. Βασικά, μπορείτε να παρατηρήσετε τις οθόνες. Για να το κάνετε αυτό, πρέπει να πάρτε την τρέχουσα εικόνα στην οθόνη σε ακατέργαστα δεδομένα και να βρείτε την ανάλυση που χρησιμοποιεί η οθόνη. Τα δεδομένα της οθόνης μπορούν να αποθηκευτούν στο /dev/fb0
και μπορείτε να βρείτε την ανάλυση αυτής της οθόνης στο /sys/class/graphics/fb0/virtual_size
Για να ανοίξετε την ακατέργαστη εικόνα μπορείτε να χρησιμοποιήσετε το GIMP, να επιλέξετε το **screen.raw
** αρχείο και να επιλέξετε ως τύπο αρχείου Raw image data:
Στη συνέχεια, τροποποιήστε το Πλάτος και το Ύψος στις διαστάσεις που χρησιμοποιούνται στην οθόνη και ελέγξτε διαφορετικούς Τύπους Εικόνας (και επιλέξτε αυτόν που δείχνει καλύτερα την οθόνη):
Φαίνεται ότι από προεπιλογή οι μέλη της ομάδας root θα μπορούσαν να έχουν πρόσβαση για τροποποίηση ορισμένων αρχείων ρυθμίσεων υπηρεσιών ή ορισμένων αρχείων βιβλιοθηκών ή άλλων ενδιαφερόντων πραγμάτων που θα μπορούσαν να χρησιμοποιηθούν για την κλιμάκωση δικαιωμάτων...
Ελέγξτε ποια αρχεία μπορούν να τροποποιήσουν τα μέλη του root:
Μπορείτε να συνδέσετε το ριζικό σύστημα αρχείων της μηχανής φιλοξενίας σε έναν τόμο της παρουσίας, έτσι ώστε όταν η παρουσία ξεκινά, να φορτώνει αμέσως ένα chroot
σε αυτόν τον τόμο. Αυτό σας δίνει ουσιαστικά δικαιώματα root στη μηχανή.
Τέλος, αν δεν σας αρέσει καμία από τις προηγούμενες προτάσεις, ή αν δεν λειτουργούν για κάποιο λόγο (docker api firewall;), μπορείτε πάντα να τρέξετε ένα προνομιακό κοντέινερ και να διαφύγετε από αυτό όπως εξηγείται εδώ:
Docker SecurityΑν έχετε δικαιώματα εγγραφής πάνω στο docker socket διαβάστε αυτή την ανάρτηση σχετικά με το πώς να κλιμακώσετε τα δικαιώματα εκμεταλλευόμενοι το docker socket.
Συνήθως οι μέλη της ομάδας adm
έχουν δικαιώματα να διαβάζουν αρχεία καταγραφής που βρίσκονται μέσα στο /var/log/.
Επομένως, αν έχετε παραβιάσει έναν χρήστη μέσα σε αυτή την ομάδα, θα πρέπει σίγουρα να ρίξετε μια ματιά στα αρχεία καταγραφής.
Μέσα στο OpenBSD, η auth ομάδα συνήθως μπορεί να γράφει στους φακέλους /etc/skey και /var/db/yubikey αν χρησιμοποιούνται. Αυτά τα δικαιώματα μπορεί να εκμεταλλευτούν με την παρακάτω εκμετάλλευση για να κλιμακώσουν τα δικαιώματα σε root: https://raw.githubusercontent.com/bcoles/local-exploits/master/CVE-2019-19520/openbsd-authroot
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)