Windows Credentials Protections
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)
Το WDigest πρωτόκολλο, που εισήχθη με τα Windows XP, έχει σχεδιαστεί για αυθεντικοποίηση μέσω του Πρωτοκόλλου HTTP και είναι ενεργοποιημένο από προεπιλογή στα Windows XP μέχρι τα Windows 8.0 και Windows Server 2003 έως Windows Server 2012. Αυτή η προεπιλεγμένη ρύθμιση έχει ως αποτέλεσμα την αποθήκευση κωδικών πρόσβασης σε απλό κείμενο στο LSASS (Local Security Authority Subsystem Service). Ένας επιτιθέμενος μπορεί να χρησιμοποιήσει το Mimikatz για να εξάγει αυτά τα διαπιστευτήρια εκτελώντας:
Για να απενεργοποιήσετε ή να ενεργοποιήσετε αυτή τη δυνατότητα, τα UseLogonCredential και Negotiate κλειδιά μητρώου μέσα στο HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest πρέπει να ρυθμιστούν σε "1". Εάν αυτά τα κλειδιά είναι απουσία ή ρυθμισμένα σε "0", το WDigest είναι απενεργοποιημένο:
Αρχής γενομένης από το Windows 8.1, η Microsoft ενίσχυσε την ασφάλεια του LSA για να μπλοκάρει μη εξουσιοδοτημένες αναγνώσεις μνήμης ή εισαγωγές κώδικα από μη αξιόπιστες διεργασίες. Αυτή η βελτίωση εμποδίζει τη συνήθη λειτουργία εντολών όπως το mimikatz.exe sekurlsa:logonpasswords
. Για να επιτρέψετε αυτήν την ενισχυμένη προστασία, η τιμή RunAsPPL στο HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA θα πρέπει να ρυθμιστεί σε 1:
Είναι δυνατή η παράκαμψη αυτής της προστασίας χρησιμοποιώντας τον οδηγό Mimikatz mimidrv.sys:
Credential Guard, μια δυνατότητα αποκλειστική για Windows 10 (Enterprise και Education εκδόσεις), ενισχύει την ασφάλεια των διαπιστευτηρίων μηχανής χρησιμοποιώντας Virtual Secure Mode (VSM) και Virtualization Based Security (VBS). Εκμεταλλεύεται τις επεκτάσεις εικονικοποίησης CPU για να απομονώσει βασικές διαδικασίες εντός ενός προστατευμένου χώρου μνήμης, μακριά από την προσέγγιση του κύριου λειτουργικού συστήματος. Αυτή η απομόνωση διασφαλίζει ότι ακόμη και ο πυρήνας δεν μπορεί να έχει πρόσβαση στη μνήμη στο VSM, προστατεύοντας αποτελεσματικά τα διαπιστευτήρια από επιθέσεις όπως το pass-the-hash. Η Local Security Authority (LSA) λειτουργεί εντός αυτού του ασφαλούς περιβάλλοντος ως trustlet, ενώ η διαδικασία LSASS στο κύριο OS λειτουργεί απλώς ως επικοινωνιακός σύνδεσμος με την LSA του VSM.
Από προεπιλογή, Credential Guard δεν είναι ενεργό και απαιτεί χειροκίνητη ενεργοποίηση εντός ενός οργανισμού. Είναι κρίσιμο για την ενίσχυση της ασφάλειας κατά εργαλείων όπως το Mimikatz, τα οποία περιορίζονται στην ικανότητά τους να εξάγουν διαπιστευτήρια. Ωστόσο, οι ευπάθειες μπορούν να εκμεταλλευτούν μέσω της προσθήκης προσαρμοσμένων Security Support Providers (SSP) για να συλλάβουν διαπιστευτήρια σε καθαρό κείμενο κατά τις προσπάθειες σύνδεσης.
Για να επαληθεύσετε την κατάσταση ενεργοποίησης του Credential Guard, μπορεί να ελεγχθεί το κλειδί μητρώου LsaCfgFlags κάτω από HKLM\System\CurrentControlSet\Control\LSA. Μια τιμή "1" υποδηλώνει ενεργοποίηση με UEFI lock, "2" χωρίς κλείδωμα, και "0" δηλώνει ότι δεν είναι ενεργοποιημένο. Αυτός ο έλεγχος μητρώου, αν και είναι ισχυρός δείκτης, δεν είναι το μόνο βήμα για την ενεργοποίηση του Credential Guard. Λεπτομερείς οδηγίες και ένα σενάριο PowerShell για την ενεργοποίηση αυτής της δυνατότητας είναι διαθέσιμα online.
Για μια ολοκληρωμένη κατανόηση και οδηγίες σχετικά με την ενεργοποίηση του Credential Guard στα Windows 10 και την αυτόματη ενεργοποίησή του σε συμβατά συστήματα του Windows 11 Enterprise και Education (έκδοση 22H2), επισκεφθείτε την τεκμηρίωση της Microsoft.
Περισσότερες λεπτομέρειες σχετικά με την υλοποίηση προσαρμοσμένων SSP για την καταγραφή διαπιστευτηρίων παρέχονται σε αυτόν τον οδηγό.
Windows 8.1 και Windows Server 2012 R2 εισήγαγαν πολλές νέες δυνατότητες ασφαλείας, συμπεριλαμβανομένου του Restricted Admin mode για RDP. Αυτή η λειτουργία σχεδιάστηκε για να ενισχύσει την ασφάλεια μειώνοντας τους κινδύνους που σχετίζονται με τις επιθέσεις pass the hash.
Παραδοσιακά, όταν συνδέεστε σε έναν απομακρυσμένο υπολογιστή μέσω RDP, τα διαπιστευτήριά σας αποθηκεύονται στη στοχοθετημένη μηχανή. Αυτό συνιστά σημαντικό κίνδυνο ασφαλείας, ειδικά όταν χρησιμοποιείτε λογαριασμούς με αυξημένα δικαιώματα. Ωστόσο, με την εισαγωγή του Restricted Admin mode, αυτός ο κίνδυνος μειώνεται σημαντικά.
Όταν ξεκινάτε μια σύνδεση RDP χρησιμοποιώντας την εντολή mstsc.exe /RestrictedAdmin, η αυθεντικοποίηση στον απομακρυσμένο υπολογιστή πραγματοποιείται χωρίς να αποθηκεύονται τα διαπιστευτήριά σας σε αυτόν. Αυτή η προσέγγιση διασφαλίζει ότι, σε περίπτωση μόλυνσης από κακόβουλο λογισμικό ή αν ένας κακόβουλος χρήστης αποκτήσει πρόσβαση στον απομακρυσμένο διακομιστή, τα διαπιστευτήριά σας δεν θα διακυβευτούν, καθώς δεν αποθηκεύονται στον διακομιστή.
Είναι σημαντικό να σημειωθεί ότι στο Restricted Admin mode, οι προσπάθειες πρόσβασης σε πόρους δικτύου από τη συνεδρία RDP δεν θα χρησιμοποιούν τα προσωπικά σας διαπιστευτήρια. Αντίθετα, χρησιμοποιείται η ταυτότητα της μηχανής.
Αυτή η δυνατότητα σηματοδοτεί ένα σημαντικό βήμα προς τα εμπρός στην ασφάλιση των απομακρυσμένων συνδέσεων επιφάνειας εργασίας και στην προστασία ευαίσθητων πληροφοριών από την έκθεση σε περίπτωση παραβίασης ασφαλείας.
Για περισσότερες λεπτομέρειες επισκεφθείτε αυτή την πηγή.
Τα Windows ασφαλίζουν τα διαπιστευτήρια τομέα μέσω της Τοπικής Αρχής Ασφαλείας (LSA), υποστηρίζοντας τις διαδικασίες σύνδεσης με πρωτόκολλα ασφαλείας όπως το Kerberos και το NTLM. Μια βασική δυνατότητα των Windows είναι η ικανότητά τους να αποθηκεύουν στην κρυφή μνήμη τις τελευταίες δέκα συνδέσεις τομέα για να διασφαλίσουν ότι οι χρήστες μπορούν να έχουν πρόσβαση στους υπολογιστές τους ακόμη και αν ο διακομιστής τομέα είναι εκτός σύνδεσης—ένα πλεονέκτημα για τους χρήστες φορητών υπολογιστών που συχνά βρίσκονται μακριά από το δίκτυο της εταιρείας τους.
Ο αριθμός των αποθηκευμένων συνδέσεων είναι ρυθμιζόμενος μέσω ενός συγκεκριμένου κλειδιού μητρώου ή πολιτικής ομάδας. Για να δείτε ή να αλλάξετε αυτή τη ρύθμιση, χρησιμοποιείται η εξής εντολή:
Η πρόσβαση σε αυτές τις αποθηκευμένες διαπιστεύσεις ελέγχεται αυστηρά, με μόνο τον λογαριασμό SYSTEM να έχει τις απαραίτητες άδειες για να τις δει. Οι διαχειριστές που χρειάζονται πρόσβαση σε αυτές τις πληροφορίες πρέπει να το κάνουν με δικαιώματα χρήστη SYSTEM. Οι διαπιστεύσεις αποθηκεύονται στο: HKEY_LOCAL_MACHINE\SECURITY\Cache
Mimikatz μπορεί να χρησιμοποιηθεί για την εξαγωγή αυτών των αποθηκευμένων διαπιστεύσεων χρησιμοποιώντας την εντολή lsadump::cache
.
Για περισσότερες λεπτομέρειες, η αρχική πηγή παρέχει εκτενή πληροφορίες.
Η συμμετοχή στην ομάδα Protected Users εισάγει αρκετές βελτιώσεις ασφαλείας για τους χρήστες, εξασφαλίζοντας υψηλότερα επίπεδα προστασίας κατά της κλοπής και κακής χρήσης διαπιστεύσεων:
Credential Delegation (CredSSP): Ακόμα και αν η ρύθμιση Πολιτικής Ομάδας για Allow delegating default credentials είναι ενεργοποιημένη, οι διαπιστεύσεις κειμένου απλού των Protected Users δεν θα αποθηκευτούν.
Windows Digest: Από Windows 8.1 και Windows Server 2012 R2, το σύστημα δεν θα αποθηκεύει τις διαπιστεύσεις κειμένου απλού των Protected Users, ανεξάρτητα από την κατάσταση του Windows Digest.
NTLM: Το σύστημα δεν θα αποθηκεύει τις διαπιστεύσεις κειμένου απλού των Protected Users ή τις μονοκατευθυντικές συναρτήσεις NT (NTOWF).
Kerberos: Για τους Protected Users, η πιστοποίηση Kerberos δεν θα δημιουργεί DES ή RC4 keys, ούτε θα αποθηκεύει διαπιστεύσεις κειμένου απλού ή μακροχρόνιες κλειδαριές πέρα από την αρχική απόκτηση του Ticket-Granting Ticket (TGT).
Offline Sign-In: Οι Protected Users δεν θα έχουν έναν αποθηκευμένο επαληθευτή που θα δημιουργείται κατά την είσοδο ή την ξεκλείδωμα, πράγμα που σημαίνει ότι η offline είσοδος δεν υποστηρίζεται για αυτούς τους λογαριασμούς.
Αυτές οι προστασίες ενεργοποιούνται τη στιγμή που ένας χρήστης, ο οποίος είναι μέλος της ομάδας Protected Users, συνδέεται στη συσκευή. Αυτό εξασφαλίζει ότι κρίσιμα μέτρα ασφαλείας είναι σε εφαρμογή για την προστασία από διάφορες μεθόδους παραβίασης διαπιστεύσεων.
Για περισσότερες λεπτομερείς πληροφορίες, ανατρέξτε στην επίσημη τεκμηρίωση.
Πίνακας από the docs.
Windows Server 2003 RTM | Windows Server 2003 SP1+ | Windows Server 2012, Windows Server 2008 R2, Windows Server 2008 | Windows Server 2016 |
Account Operators | Account Operators | Account Operators | Account Operators |
Administrator | Administrator | Administrator | Administrator |
Administrators | Administrators | Administrators | Administrators |
Backup Operators | Backup Operators | Backup Operators | Backup Operators |
Cert Publishers | |||
Domain Admins | Domain Admins | Domain Admins | Domain Admins |
Domain Controllers | Domain Controllers | Domain Controllers | Domain Controllers |
Enterprise Admins | Enterprise Admins | Enterprise Admins | Enterprise Admins |
Enterprise Key Admins | |||
Key Admins | |||
Krbtgt | Krbtgt | Krbtgt | Krbtgt |
Print Operators | Print Operators | Print Operators | Print Operators |
Read-only Domain Controllers | Read-only Domain Controllers | ||
Replicator | Replicator | Replicator | Replicator |
Schema Admins | Schema Admins | Schema Admins | Schema Admins |
Server Operators | Server Operators | Server Operators | Server Operators |
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)