Είμαι root. Κατανόηση της κλιμάκωσης προνομίων λειτουργικού συστήματος Linux

Πέρασα το πρώτο τρίμηνο του 2020 στην προετοιμασία για τις εξετάσεις OSCP. Η αναζήτηση πληροφοριών στο Google και πολλές «τυφλές» απόπειρες κατέλαβαν όλο τον ελεύθερο χρόνο μου. Αποδείχθηκε ιδιαίτερα δύσκολο να κατανοηθούν οι μηχανισμοί για την κλιμάκωση των προνομίων. Το μάθημα PWK δίνει μεγάλη προσοχή σε αυτό το θέμα, αλλά το μεθοδολογικό υλικό δεν είναι πάντα αρκετό. Υπάρχουν πολλά εγχειρίδια στο Διαδίκτυο με χρήσιμες εντολές, αλλά δεν είμαι υποστηρικτής της τυφλής παρακολούθησης των συστάσεων χωρίς να καταλαβαίνω πού θα οδηγήσει αυτό.

Θα ήθελα να μοιραστώ μαζί σας όσα κατάφερα να μάθω κατά την προετοιμασία και την επιτυχή επιτυχία της εξέτασης (συμπεριλαμβανομένων περιοδικών επιδρομών στο Hack The Box). Ένιωσα μια βαθιά αίσθηση ευγνωμοσύνης για κάθε λίγη πληροφορία που με βοήθησε να περπατήσω το μονοπάτι Try Harder πιο συνειδητά, τώρα είναι η ώρα μου να ανταποδώσω την κοινότητα.

Θέλω να σας δώσω έναν οδηγό για την κλιμάκωση των προνομίων στο OS Linux, ο οποίος περιλαμβάνει μια ανάλυση των πιο κοινών διανυσμάτων και των σχετικών λειτουργιών που σίγουρα θα χρειαστείτε. Συχνά, οι ίδιοι οι μηχανισμοί κλιμάκωσης των προνομίων είναι αρκετά απλοί, προκύπτουν δυσκολίες κατά τη δόμηση και την ανάλυση πληροφοριών. Ως εκ τούτου, αποφάσισα να ξεκινήσω με μια "περιήγηση στα αξιοθέατα" και στη συνέχεια να εξετάσω κάθε διάνυσμα σε ξεχωριστό άρθρο. Ελπίζω να σας εξοικονομήσω χρόνο για να μελετήσετε το θέμα.

Είμαι root. Κατανόηση της κλιμάκωσης προνομίων λειτουργικού συστήματος Linux

Λοιπόν, γιατί είναι δυνατή η κλιμάκωση των προνομίων ακόμη και το 2020, εάν οι μέθοδοι είναι γνωστές εδώ και πολύ καιρό; Στην πραγματικότητα, εάν ο χρήστης χειριστεί σωστά το σύστημα, δεν θα είναι πραγματικά δυνατό να αυξήσει τα προνόμια σε αυτό. Το κύριο παγκόσμιο πρόβλημα που δημιουργεί τέτοιες ευκαιρίες είναι μη ασφαλής διαμόρφωση. Η παρουσία ξεπερασμένων εκδόσεων λογισμικού που περιέχουν ευπάθειες στο σύστημα είναι επίσης μια ειδική περίπτωση μη ασφαλούς διαμόρφωσης.

Κλιμάκωση προνομίων μέσω μη ασφαλούς διαμόρφωσης

Πρώτα απ 'όλα, ας ασχοληθούμε με την ανασφαλή διαμόρφωση. Ας ξεκινήσουμε με Οι επαγγελματίες πληροφορικής συχνά χρησιμοποιούν εγχειρίδια και πόρους όπως το stackoverflow, πολλά από τα οποία περιέχουν μη ασφαλείς εντολές και ρυθμίσεις παραμέτρων. Ένα εντυπωσιακό παράδειγμα είναι τις ειδήσεις ότι ο κώδικας που αντιγράφηκε περισσότερο από το stackoverflow περιείχε σφάλμα. Ένας έμπειρος διαχειριστής θα δει το τζάμπ, αλλά αυτό είναι σε έναν ιδανικό κόσμο. Ακόμη και ικανοί επαγγελματίες αυξημένο φόρτο εργασίας ικανός να κάνει λάθη. Φανταστείτε ότι ο διαχειριστής ετοιμάζει και εγκρίνει την τεκμηρίωση για τον επόμενο διαγωνισμό, την ίδια στιγμή που εμβαθύνει στη νέα τεχνολογία που θα εισαχθεί το επόμενο τρίμηνο, ενώ περιοδικά επιλύει εργασίες υποστήριξης χρηστών. Και τότε του ανατίθεται το καθήκον να δημιουργήσει γρήγορα μερικές εικονικές μηχανές και να αναπτύξει υπηρεσίες σε αυτές. Τι πιστεύετε, ποια είναι η πιθανότητα ο διαχειριστής απλά να μην παρατηρήσει το τζάμπ; Στη συνέχεια, οι ειδικοί αλλάζουν, αλλά τα δεκανίκια παραμένουν, ενώ οι εταιρείες προσπαθούν πάντα να ελαχιστοποιούν το κόστος, συμπεριλαμβανομένων αυτών για τους ειδικούς πληροφορικής.

Ψευδοκέλυφος και jailbreak

Το κέλυφος του συστήματος που λαμβάνεται κατά τη φάση παραγωγής είναι συχνά περιορισμένο, ειδικά εάν το αποκτήσατε μέσω εισβολής ενός χρήστη διακομιστή ιστού. Για παράδειγμα, οι περιορισμοί φλοιού μπορούν να σας εμποδίσουν να χρησιμοποιήσετε την εντολή sudo με ένα σφάλμα:

sudo: no tty present and no askpass program specified

Αφού λάβετε ένα κέλυφος, προτείνω να δημιουργήσετε ένα πλήρες τερματικό, για παράδειγμα με την Python.

python -c 'import pty;pty.spawn("/bin/bash")'

Ρωτάτε: "Γιατί χρειάζομαι χίλιες εντολές, αν μπορώ να χρησιμοποιήσω μία, για παράδειγμα, για τη μεταφορά αρχείων;" Το γεγονός είναι ότι τα συστήματα έχουν ρυθμιστεί διαφορετικά, στον επόμενο κεντρικό υπολογιστή η Python μπορεί να μην είναι εγκατεστημένη, αλλά η Perl είναι διαθέσιμη. Η ικανότητα είναι να μπορείς να κάνεις οικεία πράγματα στο σύστημα χωρίς γνωστά εργαλεία. Μπορείτε να βρείτε μια πλήρη λίστα χαρακτηριστικών εδώ.

Μπορείτε να αποκτήσετε ένα κέλυφος χαμηλών προνομίων χρησιμοποιώντας ομάδες 1 и ομάδες 2 (παραδόξως ακόμη και GIMP).

Προβολή ιστορικού εντολών

Το Linux συλλέγει ένα ιστορικό όλων των εντολών που εκτελούνται σε ένα αρχείο ~ / .bash_history. Εάν ο διακομιστής χρησιμοποιείται ενεργά και το ιστορικό του δεν έχει εκκαθαριστεί, υπάρχει μεγάλη πιθανότητα να βρεθούν τα διαπιστευτήρια σε αυτό το αρχείο. Η εκκαθάριση του ιστορικού είναι γενικά άβολη. Εάν ο διαχειριστής αναγκαστεί να επιλέξει εντολές δέκα επιπέδων μέσω , φυσικά, θα είναι πιο βολικό γι 'αυτόν να καλέσει αυτήν την εντολή από το ιστορικό παρά να την εισαγάγει ξανά. Επιπλέον, πολλοί δεν γνωρίζουν για αυτό το "hack". Εάν υπάρχουν εναλλακτικά κοχύλια όπως το Zsh ή το Fish στο σύστημα, έχουν τη δική τους ιστορία. Για να εμφανίσετε το ιστορικό εντολών σε οποιοδήποτε κέλυφος, απλώς πληκτρολογήστε το ιστορικό εντολών.

cat ~/.bash_history
cat ~/.mysql_history
cat ~/.nano_history
cat ~/.php_history
cat ~/.atftp_history

Υπάρχει κοινόχρηστη φιλοξενία, στην οποία ο διακομιστής χρησιμοποιείται για τη φιλοξενία πολλών τοποθεσιών. Συνήθως, με αυτήν τη διαμόρφωση, κάθε πόρος έχει τον δικό του χρήστη με ξεχωριστό αρχικό κατάλογο και έναν εικονικό κεντρικό υπολογιστή. Έτσι, εάν ρυθμιστεί εσφαλμένα, μπορείτε να βρείτε το αρχείο .bash_history στον ριζικό κατάλογο του πόρου web.

Εύρεση κωδικών πρόσβασης στο σύστημα αρχείων και επιθέσεις σε παρακείμενα συστήματα

Τα αρχεία διαμόρφωσης για διάφορες υπηρεσίες ενδέχεται να είναι αναγνώσιμα από τον τρέχοντα χρήστη σας. Σε αυτά, μπορείτε να βρείτε διαπιστευτήρια σε καθαρό κείμενο - κωδικούς πρόσβασης για πρόσβαση στη βάση δεδομένων ή σε σχετικές υπηρεσίες. Ο ίδιος κωδικός πρόσβασης μπορεί να χρησιμοποιηθεί τόσο για την πρόσβαση στη βάση δεδομένων όσο και για την εξουσιοδότηση του χρήστη root (credential staffing).
Συμβαίνει ότι τα διαπιστευτήρια που βρέθηκαν ανήκουν σε υπηρεσίες σε άλλους κεντρικούς υπολογιστές. Η ανάπτυξη μιας επίθεσης στην υποδομή μέσω ενός παραβιασμένου κεντρικού υπολογιστή δεν είναι χειρότερη από την εκμετάλλευση άλλων κεντρικών υπολογιστών. Μπορείτε επίσης να βρείτε γειτονικά συστήματα αναζητώντας διευθύνσεις IP στο σύστημα αρχείων.

grep -lRi "password" /home /var/www /var/log 2>/dev/null | sort | uniq #Find string password (no cs) in those directories
grep -a -R -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' /var/log/ 2>/dev/null | sort -u | uniq #IPs inside logs

Εάν ο παραβιασμένος κεντρικός υπολογιστής έχει μια εφαρμογή Ιστού προσβάσιμη από το Διαδίκτυο, είναι προτιμότερο να εξαιρέσετε τα αρχεία καταγραφής του από την αναζήτηση διευθύνσεων IP. Οι διευθύνσεις των χρηστών πόρων από το Διαδίκτυο είναι απίθανο να μας φανούν χρήσιμες, αλλά οι διευθύνσεις του εσωτερικού δικτύου (172.16.0.0/12, 192.168.0.0/16, 10.0.0.0/8) και πού πηγαίνουν, κρίνοντας από το αρχεία καταγραφής, μπορεί να έχουν ενδιαφέρον.

Sudo

Η εντολή sudo επιτρέπει στο χρήστη να εκτελέσει μια εντολή στο πλαίσιο του root με τον δικό του κωδικό πρόσβασης ή χωρίς να τον χρησιμοποιήσει καθόλου. Πολλές λειτουργίες στο Linux απαιτούν δικαιώματα root, αλλά η εκτέλεση ως root θεωρείται πολύ κακή πρακτική. Αντίθετα, είναι καλύτερο να εφαρμόσετε επιλεκτική άδεια για την εκτέλεση εντολών στο ριζικό περιβάλλον. Ωστόσο, πολλά εργαλεία Linux, συμπεριλαμβανομένων των τυπικών όπως το vi, μπορούν να χρησιμοποιηθούν για την κλιμάκωση των προνομίων με νόμιμους τρόπους. Για να βρείτε τον σωστό τρόπο, συνιστώ να ψάξετε εδώ.

Το πρώτο πράγμα που πρέπει να κάνετε αφού αποκτήσετε πρόσβαση στο σύστημα είναι να εκτελέσετε την εντολή sudo -l. Θα εμφανίσει άδεια χρήσης της εντολής sudo. Εάν αποκτηθεί ένας χρήστης χωρίς κωδικό πρόσβασης (όπως apache ή www-data), είναι απίθανο ένα διάνυσμα κλιμάκωσης προνομίων sudo. Όταν χρησιμοποιείτε το sudo, το σύστημα θα ζητήσει κωδικό πρόσβασης. Η χρήση της εντολής passwd για να ορίσετε έναν κωδικό πρόσβασης επίσης δεν θα λειτουργήσει, θα ζητήσει τον τρέχοντα κωδικό πρόσβασης χρήστη. Αλλά εάν το sudo είναι ακόμα διαθέσιμο, τότε, στην πραγματικότητα, πρέπει να αναζητήσετε:

  • οποιοσδήποτε διερμηνέας, οποιοσδήποτε μπορεί να δημιουργήσει ένα κέλυφος (PHP, Python, Perl).
  • οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου (vim, vi, nano).
  • τυχόν θεατές (λιγότεροι, περισσότεροι).
  • τυχόν δυνατότητες εργασίας με το σύστημα αρχείων (cp, mv).
  • εργαλεία που έχουν έξοδο στο bash, είτε διαδραστικά είτε ως εκτελέσιμη εντολή (awk, find, nmap, tcpdump, man, vi, vim, ansible).

Suid/Sgid

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

Σε έναν ιδανικό κόσμο, θα πρέπει να εκτελείτε όλα τα εγκατεστημένα πακέτα μέσω τουλάχιστον searchsploit. Στην πράξη, αυτό πρέπει να γίνεται με τα πιο δημοφιλή προγράμματα όπως το sudo. Είναι επίσης πάντα μια επιλογή να χρησιμοποιείτε και να υποστηρίζετε την ανάπτυξη αυτοματοποιημένων εργαλείων που θα αναδεικνύουν ενδιαφέροντα, από την άποψη της κλιμάκωσης προνομίων, εκτελέσιμα με σύνολο bit suid/sgid. Θα δώσω μια λίστα με τέτοια εργαλεία στην αντίστοιχη ενότητα του άρθρου.

Εγγράψιμα σενάρια που εκτελούνται από το Cron ή το Init σε περιβάλλον Root

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

ls -la /etc/cron.d  # show cron jobs 

Παρόμοιο συμβαίνει και με το init. Η διαφορά είναι ότι οι εργασίες στο cron εκτελούνται περιοδικά και στο init - κατά την εκκίνηση του συστήματος. Για τη λειτουργία, θα χρειαστεί να επανεκκινήσετε το σύστημα, ενώ ορισμένες από τις υπηρεσίες ενδέχεται να μην αυξηθούν (αν δεν είχαν καταχωρηθεί στην αυτόματη φόρτωση).

ls -la /etc/init.d/  # show init scripts 

Μπορείτε επίσης να αναζητήσετε αρχεία με δυνατότητα εγγραφής από οποιονδήποτε χρήστη.

find / -perm -2 -type f 2>/dev/null # find world writable files

Η μέθοδος είναι αρκετά γνωστή, οι έμπειροι διαχειριστές συστήματος χρησιμοποιούν προσεκτικά την εντολή chmod. Ωστόσο, στον Ιστό, η συντριπτική πλειοψηφία των εγχειριδίων περιγράφει τη ρύθμιση των μέγιστων δικαιωμάτων. Η προσέγγιση "απλά κάνε το να δουλέψει" των άπειρων διαχειριστών συστημάτων δημιουργεί ευκαιρίες για κλιμάκωση των προνομίων κατ' αρχήν. Εάν είναι δυνατόν, είναι καλύτερο να αναζητήσετε στο ιστορικό εντολών μη ασφαλείς χρήσεις του chmod.

chmod +w /path 
chmod 777 /path

Απόκτηση πρόσβασης φλοιού για άλλους χρήστες

Εξετάζουμε τη λίστα των χρηστών στο /etc/passwd. Δίνουμε προσοχή σε όσους έχουν κέλυφος. Μπορείτε να βλάψετε αυτούς τους χρήστες - είναι πιθανό ότι μέσω του χρήστη που θα προκύψει θα μπορέσετε τελικά να αυξήσετε τα προνόμια.

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

Κωδικός που γράφτηκε από μόνος του

Αξίζει να ρίξετε μια προσεκτική ματιά στα εκτελέσιμα στον αρχικό κατάλογο του χρήστη και του διακομιστή ιστού (/var/www/ εκτός εάν ορίζεται διαφορετικά). Αυτά τα αρχεία μπορεί να αποδειχθούν μια εντελώς ανασφαλής λύση και να περιέχουν απίστευτα δεκανίκια. Φυσικά, εάν έχετε κάποιο πλαίσιο στον κατάλογο του διακομιστή ιστού σας, δεν έχει νόημα να αναζητήσετε zero-day σε αυτό ως μέρος μιας δοκιμής, αλλά συνιστάται να βρείτε και να μελετήσετε προσαρμοσμένες τροποποιήσεις, πρόσθετα και στοιχεία.

Για να αυξήσετε την ασφάλεια, είναι καλύτερο να αποφύγετε τη χρήση διαπιστευτηρίων σε αυτογραφικά σενάρια, καθώς και δυνητικά επικίνδυνες λειτουργίες, όπως η ανάγνωση /etc/shadow ή ο χειρισμός του id_rsa, αν είναι δυνατόν.

Ανύψωση προνομίων μέσω εκμετάλλευσης τρωτών σημείων

Πριν επιχειρήσετε να αυξήσετε τα προνόμια μέσω της εκμετάλλευσης, είναι σημαντικό να κατανοήσετε το μεταφορά αρχείων στον κεντρικό υπολογιστή προορισμού. Εκτός από τα συνηθισμένα εργαλεία όπως ssh, ftp, http (wget, curl), υπάρχει ένα σύνολο «ζωολογικός κήπος» των δυνατοτήτων.

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

Εκμετάλλευση υπηρεσιών που εκτελούνται στο πλαίσιο του χρήστη Root

Ορισμένες υπηρεσίες Linux εκτελούνται ως προνομιούχος χρήστης root. Μπορούν να βρεθούν χρησιμοποιώντας το ps aux | ρίζα grep. Σε αυτήν την περίπτωση, η υπηρεσία ενδέχεται να μην ανακοινωθεί στον Ιστό και να είναι διαθέσιμη τοπικά. Εάν έχει δημόσια εκμετάλλευση, μπορούν να χρησιμοποιηθούν με ασφάλεια: ένα σφάλμα υπηρεσίας σε περίπτωση αποτυχίας είναι πολύ λιγότερο κρίσιμο από ένα σφάλμα λειτουργικού συστήματος.

ps -aux | grep root # Linux

Η πιο επιτυχημένη περίπτωση μπορεί να θεωρηθεί η λειτουργία μιας παραβιασμένης υπηρεσίας στο πλαίσιο του χρήστη root. Η λειτουργία της υπηρεσίας SMB παρέχει στο SYSTEM προνομιακή πρόσβαση σε συστήματα Windows (π.χ. μέσω ms17-010). Ωστόσο, αυτό δεν είναι συνηθισμένο σε συστήματα Linux, επομένως μπορείτε να αφιερώσετε πολύ χρόνο στην κλιμάκωση των προνομίων.

Εκμετάλλευση τρωτών σημείων του πυρήνα του Linux

Αυτός είναι ο τελευταίος δρόμος που πρέπει να ακολουθήσετε. Η ανεπιτυχής λειτουργία μπορεί να οδηγήσει σε κατάρρευση του συστήματος και σε περίπτωση επανεκκίνησης, ορισμένες υπηρεσίες (συμπεριλαμβανομένων εκείνων μέσω των οποίων ήταν δυνατή η λήψη του αρχικού κελύφους) ενδέχεται να μην αυξηθούν. Συμβαίνει ότι ο διαχειριστής απλά ξέχασε να χρησιμοποιήσει την εντολή systemctl enable. Επιπλέον, θα προκαλέσει μεγάλη δυσαρέσκεια με τη δουλειά σας εάν η εκμετάλλευση δεν έχει συμφωνηθεί.
Εάν αποφασίσετε να χρησιμοποιήσετε τις πηγές από το exploitdb, φροντίστε να διαβάσετε τα σχόλια στην αρχή του σεναρίου. Μεταξύ άλλων, συνήθως λέει πώς να μεταγλωττίσετε σωστά αυτό το exploit. Εάν ήσασταν πολύ τεμπέλης ή χρειαζόσασταν «χθες» λόγω προθεσμιών, μπορείτε να αναζητήσετε αποθετήρια με ήδη μεταγλωττισμένα exploits, για παράδειγμα. Ωστόσο, θα πρέπει να γίνει κατανοητό ότι σε αυτή την περίπτωση θα πάρετε ένα γουρούνι στο σακί. Από την άλλη πλευρά, εάν ένας προγραμματιστής κατανοούσε στο byte πώς λειτουργεί ένας υπολογιστής και το λογισμικό που χρησιμοποιεί, δεν θα είχε γράψει μια γραμμή κώδικα σε όλη του τη ζωή.

cat /proc/version
uname -a
searchsploit "Linux Kernel" 

Metasploit

Για να πιάσετε και να χειριστείτε μια σύνδεση, είναι πάντα καλύτερο να χρησιμοποιείτε τη μονάδα exploit/multi/handler. Το κύριο πράγμα είναι να ορίσετε το σωστό ωφέλιμο φορτίο, για παράδειγμα, generic/shell/reverce_tcp ή generic/shell/bind_tcp. Το κέλυφος που λαμβάνεται στο Metasploit μπορεί να αναβαθμιστεί σε Meterpreter χρησιμοποιώντας τη μονάδα post/multi/manage/shell_to_meterpreter. Με το Meterpreter, μπορείτε να αυτοματοποιήσετε τη διαδικασία μετά την εκμετάλλευση. Για παράδειγμα, η λειτουργική μονάδα post/multi/recon/local_exploit_suggester ελέγχει την πλατφόρμα, την αρχιτεκτονική και τις εκμεταλλεύσιμες οντότητες και προτείνει μονάδες Metasploit για κλιμάκωση προνομίων στο σύστημα προορισμού. Χάρη στο Meterpreter, η κλιμάκωση των προνομίων μερικές φορές καταλήγει στην εκτέλεση της σωστής μονάδας, αλλά το hacking χωρίς να καταλαβαίνουμε τι συμβαίνει κάτω από την κουκούλα δεν είναι αλήθεια (ακόμα πρέπει να γράψετε μια αναφορά).

Εργαλεία

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

Linpeas

Ένα αρκετά φρέσκο ​​εργαλείο, το πρώτο commit χρονολογείται από τον Ιανουάριο του 2019. Αυτή τη στιγμή το αγαπημένο μου όργανο. Η ουσία είναι ότι επισημαίνει τα πιο ενδιαφέροντα διανύσματα κλιμάκωσης προνομίων. Συμφωνώ, είναι πιο βολικό να λαμβάνετε μια αξιολόγηση ειδικού σε αυτό το επίπεδο παρά να αναλύετε μονολιθικά πρωτογενή δεδομένα.

LinEnum

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

linux-exploit-suggester (1,2)

Αυτό το exploit θα αναλύσει το σύστημα για τις κατάλληλες συνθήκες για εκμεταλλεύσεις. Στην πραγματικότητα, θα κάνει μια δουλειά πανομοιότυπη με τη μονάδα Metasploit local_exploit_suggester, αλλά θα προσφέρει συνδέσμους προς πηγαίους κώδικες exploit-db αντί για μονάδες Metasploit.

Linuxprivchecker

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

Μια άλλη φορά θα το αναλύσω Κλιμάκωση προνομίων Linux μέσω suid/sgid.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο