hacktricks/windows-hardening/windows-local-privilege-escalation/acls-dacls-sacls-aces.md

19 KiB
Raw Blame History

Λίστα Ελέγχου Πρόσβασης (ACL)

Μια Λίστα Ελέγχου Πρόσβασης (ACL) αποτελείται από ένα ταξινομημένο σύνολο Καταχωρήσεων Ελέγχου Πρόσβασης (ACEs) που καθορίζουν τις προστασίες για ένα αντικείμενο και τις ιδιότητές του. Κατά βάση, μια ACL καθορίζει ποιες ενέργειες από ποιους αρχέγονους ασφαλείας (χρήστες ή ομάδες) επιτρέπονται ή απαγορεύονται σε ένα συγκεκριμένο αντικείμενο.

Υπάρχουν δύο τύποι ACLs:

  • Κατάλογος Ελεύθερης Πρόσβασης (DACL): Καθορίζει ποιοι χρήστες και ομάδες έχουν ή δεν έχουν πρόσβαση σε ένα αντικείμενο.
  • Κατάλογος Ελέγχου Συστήματος (SACL): Διέπει τον έλεγχο των προσπαθειών πρόσβασης σε ένα αντικείμενο.

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

Βασικά Στοιχεία

  • DACL: Περιέχει ACEs που χορηγούν ή απορρίπτουν δικαιώματα πρόσβασης σε χρήστες και ομάδες για ένα αντικείμενο. Κατά βάση, είναι η κύρια ACL που καθορίζει τα δικαιώματα πρόσβασης.
  • SACL: Χρησιμοποιείται για τον έλεγχο πρόσβασης σε αντικείμενα, όπου τα ACEs καθορίζουν τους τύπους πρόσβασης που θα καταγραφούν στο Αρχείο Συμβάντων Ασφαλείας. Αυτό μπορεί να είναι ανεκτίμητο για την ανίχνευση μη εξουσιοδοτημένων προσπαθειών πρόσβασης ή την αντιμετώπιση προβλημάτων πρόσβασης.

Διαδικασία Συστήματος με τις ACLs

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

Η Τοπική Αρχή Ασφαλείας (LSASS) επεξεργάζεται αιτήματα πρόσβασης σε αντικείμενα εξετάζοντας το DACL για ACEs που ταιριάζουν με τον αποκριτή ασφαλείας που προσπαθεί να αποκτήσει πρόσβαση. Η πρόσβαση χορηγείται αμέσως εάν δεν βρεθούν σχετικά ACEs. Διαφορετικά, η LSASS συγκρίνει τα ACEs με το SID του αποκριτή ασφαλείας στο αποκριτή πρόσβασης για να καθορίσει την επιλεξιμότητα πρόσβασης.

Συνοπτική Διαδικασία

  • ACLs: Καθορίζουν τα δικαιώματα πρόσβασης μέσω των DACLs και τους κανόνες ελέγχου μέσω των SACLs.
  • Αποκριτής Πρόσβασης: Περιέχει πληροφορίες χρήστη, ομάδας και προνομίων για μια συνεδρία.
  • Απόφαση Πρόσβασης: Γίνεται με τη σύγκριση των DACL ACEs με το αποκριτή πρόσβασης. Τα SACLs χρησιμοποιούνται για τον έλεγχο.

ACEs

Υπάρχουν τρεις βασικοί τύποι Καταχωρήσεων Ελέγχου Πρόσβασης (ACEs):

  • Καταχώρηση Απαγόρευσης Πρόσβασης (Access Denied ACE): Αυτή η ACE απαγορεύει ρητά την πρόσβαση σε ένα αντικείμενο για συγκεκριμένους χρήστες ή ομάδες (σε ένα DACL).
  • Καταχώρηση Επιτρεπόμενης Πρόσβασης (Access Allowed ACE): Αυτή η ACE χορηγεί ρητά πρόσβαση σε ένα αντικείμενο για συγκεκριμένους χρήστες ή ομάδες (σε ένα DACL).
  • Καταχώρηση Ελέγχου Συστήματος (System Audit ACE): Τοποθετημένη εντός ενός Καταλόγου Ελέγχου Πρόσβασης Συστήματος (SACL), αυτή η ACE είναι υπεύθυνη για τη δημιουργία αρχείων καταγραφής ελέγχου κατά τις προσπάθειες πρόσβασης σε ένα αντικείμενο από χρήστες ή ομάδες. Το καταγράφει εάν η πρόσβαση επιτράπηκε ή απαγορεύτηκε και τη φύση της πρόσβασης.

Κάθε ACE έχει τέσσερα κρίσιμα στοιχεία:

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

Η καθοριστική πρόσβαση γίνεται με τη συνεχή εξέταση κάθε ACE μέχρι:

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

Σειρά ACEs

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

Υπάρχει ένας βέλτιστος τρόπος να οργανώσετε αυτά τα ACEs, και ονομάζεται "κανονική σειρά." Αυτή η μέθοδος βοηθά να βεβαιωθείτε ότι όλα λειτουργούν ομαλά και δίκαια. Εδώ είναι πώς λειτουργεί για συστήματα όπως τα Windows 2000 και Windows Server 2003:

  • Πρώτα, τοποθετήστε όλους τους κανό

GUI Παράδειγμα

Παράδειγμα από εδώ

Αυτή είναι η κλασική καρτέλα ασφαλείας ενός φακέλου που δείχνει το ACL, DACL και τα ACEs:

http://secureidentity.se/wp-content/uploads/2014/04/classicsectab.jpg

Αν κάνουμε κλικ στο Προχωρημένο κουμπί θα έχουμε περισσότερες επιλογές όπως η κληρονομιά:

http://secureidentity.se/wp-content/uploads/2014/04/aceinheritance.jpg

Και αν προσθέσετε ή επεξεργαστείτε έναν Αρχέγονο Ασφαλείας:

http://secureidentity.se/wp-content/uploads/2014/04/editseprincipalpointers1.jpg

Και τέλος έχουμε το SACL στην καρτέλα Ελέγχου:

http://secureidentity.se/wp-content/uploads/2014/04/audit-tab.jpg

Εξήγηση Ελέγχου Πρόσβασης με Απλό Τρόπο

Όταν διαχειριζόμαστε την πρόσβαση σε πόρους, όπως έναν φάκελο, χρησιμοποιούμε λίστες και κανόνες που ονομάζονται Λίστες Ελέγχου Πρόσβασης (ACLs) και Καταχωρήσεις Ελέγχου Πρόσβασης (ACEs). Αυτοί καθορίζουν ποιος μπορεί ή δεν μπορεί να έχει πρόσβαση σε συγκεκριμένα δεδομένα.

Απαγόρευση Πρόσβασης σε Μια Συγκεκριμένη Ομάδα

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

Επιτροπή Πρόσβασης σε Ένα Συγκεκριμένο Μέλος μιας Απαγορευμένης Ομάδας

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

Κατανόηση Καταχωρήσεων Ελέγχου Πρόσβασης

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

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

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

Κύριες Διαφορές Μεταξύ των Τύπων ACE

  • Οι Γενικοί ACEs είναι κατάλληλοι για απλά σενάρια ελέγχου πρόσβασης, όπου ο ίδιος κανόνας ισχύει για όλες τις πτυχές ενός αντικειμένου ή για όλα τα αντικείμενα μέσα σε ένα δοχείο.
  • Οι Ειδικοί ACEs για Αντικείμενα χρησιμοποιούνται για πιο πολύπλοκα σενάρια, ειδικά σε περιβάλλοντα όπως το Active Directory, όπου μπορεί να χρειαστεί να ελέγξετε την πρόσβαση σε συγκεκριμένες ιδιότητες ενός αντικειμένου με διαφορετικό τρόπο.

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

Διάταξη Καταχώρησης Ελέγχου Πρόσβασης

Πεδίο ACE Περιγραφή
Τύπος Σημαία που υποδεικνύει τον τύπο του ACE. Τα Windows 2000 και τα Windows Server 2003 υποστηρίζουν έξι τύπους ACE: Τρεις γενικούς τύπους ACE που συνδέονται με όλα τα αντικείμενα που μπορούν να ασφαλιστούν. Τρεις ειδικούς τύπους ACE που μπορεί να συμβούν για αντικείμενα του Active Directory.
Σημαίες Σύνολο δυαδικών σημαιών που ελέγχουν την κληρονομιά και τον ελέγχο της ελεγκτικής διαδικασίας.
Μέγεθος Αριθμός bytes μνήμης που είναι εκχωρημένοι για το ACE.
Μάσκα Πρόσβασης Τιμή 32-bit των bits της οποίας αντιστοιχούν στα δικαιώματα πρόσβασης για το αντικείμενο. Τα bits μπορούν να είναι ενεργοποιημένα ή απενεργοποιημένα, αλλά η έννοια της ρύθμισης εξαρτάται από τον τύπο του ACE. Για παράδειγμα, αν το bit που αντιστοιχεί στο δικαίωμα ανάγνωσης δικαιωμάτων είναι ενεργοποιημένο και ο τύπος του ACE είναι Απαγόρευση, το ACE απαγορεύει το δικαίωμα ανάγνωσης των δικαιωμάτων του αντικειμένου. Αν το ίδιο bit είναι ενεργοποιημένο αλλά ο τύπος του ACE είναι Επιτρέπεται, το ACE χορηγεί το δικαίωμ