Privilege Escalation with Autoruns
Συμβουλή για bug bounty: Εγγραφείτε στο Intigriti, μια πρεμιέρα πλατφόρμα bug bounty δημιουργημένη από χάκερς, για χάκερς! Γίνετε μέλος στο https://go.intigriti.com/hacktricks σήμερα, και αρχίστε να κερδίζετε αμοιβές έως και $100,000!
WMIC
Το Wmic μπορεί να χρησιμοποιηθεί για να εκτελέσει προγράμματα κατά την εκκίνηση. Δείτε ποια δυαδικά αρχεία είναι προγραμματισμένα να τρέξουν κατά την εκκίνηση με:
Προγραμματισμένες Εργασίες
Οι εργασίες μπορούν να προγραμματιστούν να τρέχουν με συγκεκριμένη συχνότητα. Δείτε ποια δυαδικά αρχεία έχουν προγραμματιστεί να τρέχουν με:
Φάκελοι
Όλα τα δυαδικά αρχεία που βρίσκονται στους φακέλους εκκίνησης θα εκτελεστούν κατά την εκκίνηση. Οι κοινοί φάκελοι εκκίνησης είναι αυτοί που αναφέρονται συνεχόμενα, αλλά ο φάκελος εκκίνησης είναι επίσης καθορισμένος στο μητρώο. Διαβάστε αυτό για να μάθετε πού.
Καταχώριση στο Μητρώο
Σημείωση από εδώ: Η καταχώριση Wow6432Node στο μητρώο υποδεικνύει ότι χρησιμοποιείτε μια έκδοση Windows 64 bit. Το λειτουργικό σύστημα χρησιμοποιεί αυτό το κλειδί για να εμφανίσει μια ξεχωριστή προβολή του HKEY_LOCAL_MACHINE\SOFTWARE για εφαρμογές 32 bit που τρέχουν σε εκδόσεις Windows 64 bit.
Εκτελέσεις
Γνωστές καταχωρίσεις AutoRun στο μητρώο:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Wow6432Npde\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx
Οι καταχωρίσεις στο μητρώο γνωστές ως Run και RunOnce σχεδιάστηκαν για να εκτελούν αυτόματα προγράμματα κάθε φορά που ένας χρήστης συνδέεται στο σύστημα. Η γραμμή εντολών που ανατίθεται ως τιμή δεδομένων ενός κλειδιού περιορίζεται σε 260 χαρακτήρες ή λιγότερο.
Εκτελέσεις υπηρεσιών (μπορούν να ελέγχουν την αυτόματη εκκίνηση υπηρεσιών κατά την εκκίνηση):
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
RunOnceEx:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceEx
Στα Windows Vista και σε μεταγενέστερες εκδόσεις, τα κλειδιά μητρώου Run και RunOnce δεν δημιουργούνται αυτόματα. Οι καταχωρίσεις σε αυτά τα κλειδιά μπορούν είτε να εκκινήσουν προγράμματα απευθείας είτε να τα καθορίσουν ως εξαρτήσεις. Για παράδειγμα, για να φορτώσετε ένα αρχείο DLL κατά την σύνδεση, θα μπορούσατε να χρησιμοποιήσετε το κλειδί μητρώου RunOnceEx μαζί με ένα κλειδί "Depend". Αυτό επιδεικνύεται προσθέτοντας μια καταχώριση στο μητρώο για να εκτελέσει το "C:\temp\evil.dll" κατά την εκκίνηση του συστήματος:
Εκμετάλλευση 1: Εάν μπορείτε να γράψετε μέσα σε οποιοδήποτε από τα αναφερόμενα κλειδιά μητρώου μέσα στο HKLM, μπορείτε να αναβαθμίσετε τα προνόμια όταν συνδεθεί ένας διαφορετικός χρήστης.
Εκμετάλλευση 2: Εάν μπορείτε να αντικαταστήσετε οποιοδήποτε από τα δυαδικά που υποδεικνύονται σε οποιοδήποτε από τα κλειδιά μητρώου μέσα στο HKLM, μπορείτε να τροποποιήσετε αυτό το δυαδικό με ένα backdoor όταν συνδεθεί ένας διαφορετικός χρήστης και να αναβαθμίσετε τα προνόμια.
Διαδρομή Εκκίνησης
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Οι συντομεύσεις που τοποθετούνται στο φάκελο Startup θα εκκινήσουν αυτόματα υπηρεσίες ή εφαρμογές κατά την σύνδεση του χρήστη ή την επανεκκίνηση του συστήματος. Η τοποθεσία του φακέλου Startup ορίζεται στο μητρώο για τους τομείς Τοπικής Μηχανής και Τρέχοντος Χρήστη. Αυτό σημαίνει ότι οποιαδήποτε συντόμευση προστίθεται σε αυτές τις συγκεκριμένες τοποθεσίες Startup θα εξασφαλίσει ότι η συνδεδεμένη υπηρεσία ή πρόγραμμα θα ξεκινήσει μετά τη διαδικασία σύνδεσης ή επανεκκίνησης, κάνοντας τη μια απλή μέθοδο για τον προγραμματισμό εκτέλεσης προγραμμάτων αυτόματα.
Αν μπορείτε να αντικαταστήσετε οποιονδήποτε [Χρήστη] Φάκελο Κελύφους κάτω από HKLM, θα μπορείτε να τον κατευθύνετε προς ένα φάκελο που ελέγχεται από εσάς και να τοποθετήσετε ένα παρασκήνιο που θα εκτελείται κάθε φορά που ένας χρήστης συνδέεται στο σύστημα ανεβάζοντας τα δικαιώματα.
Κλειδιά Winlogon
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Συνήθως, το κλειδί Userinit είναι ρυθμισμένο σε userinit.exe. Ωστόσο, εάν αυτό το κλειδί τροποποιηθεί, το συγκεκριμένο εκτελέσιμο θα εκκινηθεί επίσης από το Winlogon κατά τη σύνδεση του χρήστη. Αντίστοιχα, το κλειδί Shell προορίζεται να δείχνει στο explorer.exe, το οποίο είναι η προεπιλεγμένη επιφάνεια εργασίας για τα Windows.
Εάν μπορείτε να αντικαταστήσετε την τιμή του μητρώου ή το δυαδικό αρχείο, θα μπορέσετε να αναβαθμίσετε τα προνόμια.
Ρυθμίσεις Πολιτικής
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Ελέγξτε το κλειδί Run.
AlternateShell
Αλλαγή της Εντολής Ασφαλούς Λειτουργίας Με Εντολή Εντολών
Στο Μητρώο των Windows κάτω από HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot
, υπάρχει μια τιμή με την ονομασία AlternateShell
που έχει οριστεί από προεπιλογή σε cmd.exe
. Αυτό σημαίνει ότι όταν επιλέγετε "Ασφαλής Λειτουργία με Εντολή Εντολών" κατά την εκκίνηση (πατώντας F8), χρησιμοποιείται το cmd.exe
. Ωστόσο, είναι δυνατόν να ρυθμίσετε τον υπολογιστή σας ώστε να ξεκινά αυτόματα σε αυτήν τη λειτουργία χωρίς την ανάγκη να πατήσετε F8 και να την επιλέξετε χειροκίνητα.
Βήματα για τη δημιουργία μιας επιλογής εκκίνησης για αυτόματη εκκίνηση σε "Ασφαλής Λειτουργία με Εντολή Εντολών":
Αλλαγή των χαρακτηριστικών του αρχείου
boot.ini
για να αφαιρέσετε τα σημάδια "μόνο για ανάγνωση", "σύστημα" και "κρυφό":attrib c:\boot.ini -r -s -h
Άνοιγμα του
boot.ini
για επεξεργασία.Εισαγωγή μιας γραμμής όπως:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /SAFEBOOT:MINIMAL(ALTERNATESHELL)
Αποθήκευση των αλλαγών στο
boot.ini
.Επαναεφαρμογή των αρχικών χαρακτηριστικών του αρχείου:
attrib c:\boot.ini +r +s +h
Εκμετάλλευση 1: Η αλλαγή του κλειδιού μητρώου AlternateShell επιτρέπει τη δημιουργία προσαρμοσμένης εγκατάστασης κέλυφους εντολών, πιθανώς για μη εξουσιοδοτημένη πρόσβαση.
Εκμετάλλευση 2 (Δικαιώματα Εγγραφής στην Εντολή PATH): Έχοντας δικαιώματα εγγραφής σε οποιοδήποτε μέρος της μεταβλητής συστήματος PATH, ειδικά πριν το
C:\Windows\system32
, σας επιτρέπει να εκτελέσετε ένα προσαρμοσμένοcmd.exe
, το οποίο θα μπορούσε να είναι μια πίσω πόρτα εάν το σύστημα ξεκινήσει σε Ασφαλή Λειτουργία.Εκμετάλλευση 3 (Δικαιώματα Εγγραφής στην Εντολή PATH και στο boot.ini): Η εγγραφή στο αρχείο
boot.ini
επιτρέπει την αυτόματη εκκίνηση σε Ασφαλή Λειτουργία, διευκολύνοντας τη μη εξουσιοδοτημένη πρόσβαση στην επόμενη επανεκκίνηση.
Για να ελέγξετε την τρέχουσα ρύθμιση του AlternateShell, χρησιμοποιήστε αυτές τις εντολές:
Εγκατεστημένος Συνιστώμενος Συστατικό
Το Active Setup είναι μια λειτουργία στα Windows που εκκινεί πριν η περιβάλλον εργασίας είναι πλήρως φορτωμένο. Δίνει προτεραιότητα στην εκτέλεση συγκεκριμένων εντολών, οι οποίες πρέπει να ολοκληρωθούν πριν συνεχιστεί η σύνδεση του χρήστη. Αυτή η διαδικασία συμβαίνει ακόμη και πριν ενεργοποιηθούν άλλες καταχωρήσεις εκκίνησης, όπως αυτές στις ενότητες καταχώρησης Run ή RunOnce του μητρώου.
Το Active Setup διαχειρίζεται μέσω των ακόλουθων κλειδιών του μητρώου:
HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components
HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
Μέσα σε αυτά τα κλειδιά, υπάρχουν διάφορα υποκλειδιά, το καθένα αντιστοιχεί σε ένα συγκεκριμένο συστατικό. Οι τιμές των κλειδιών που είναι ιδιαίτερα ενδιαφέρουσες περιλαμβάνουν:
IsInstalled:
Το
0
υποδηλώνει ότι η εντολή του στοιχείου δεν θα εκτελεστεί.Το
1
σημαίνει ότι η εντολή θα εκτελεστεί μία φορά για κάθε χρήστη, που είναι η προεπιλεγμένη συμπεριφορά εάν η τιμήIsInstalled
λείπει.
StubPath: Ορίζει την εντολή που θα εκτελεστεί από το Active Setup. Μπορεί να είναι οποιαδήποτε έγκυρη γραμμή εντολών, όπως η εκκίνηση του
notepad
.
Ασφαλείς Προτάσεις:
Η τροποποίηση ή η εγγραφή σε ένα κλειδί όπου το
IsInstalled
έχει οριστεί σε"1"
με ένα συγκεκριμένοStubPath
μπορεί να οδηγήσει σε μη εξουσιοδοτημένη εκτέλεση εντολών, πιθανώς για ανύψωση προνομίων.Η τροποποίηση του δυαδικού αρχείου που αναφέρεται σε οποιαδήποτε τιμή
StubPath
μπορεί επίσης να επιτύχει ανύψωση προνομίων, εφόσον υπάρχουν επαρκή δικαιώματα.
Για να ελέγξετε τις ρυθμίσεις StubPath
σε συστατικά Active Setup, μπορούν να χρησιμοποιηθούν οι ακόλουθες εντολές:
Αντικείμενα Βοηθού Περιηγητή
Επισκόπηση των Αντικειμένων Βοηθού Περιηγητή (BHOs)
Τα Αντικείμενα Βοηθού Περιηγητή (BHOs) είναι διακριτικά αρχεία DLL που προσθέτουν επιπλέον χαρακτηριστικά στο Internet Explorer της Microsoft. Φορτώνονται στο Internet Explorer και τον Εξερευνητή των Windows κάθε φορά που ξεκινάνε. Ωστόσο, η εκτέλεσή τους μπορεί να αποκλειστεί με την ρύθμιση του κλειδιού NoExplorer σε 1, εμποδίζοντάς τα να φορτώνονται με τις περιπτώσεις του Εξερευνητή των Windows.
Τα BHOs είναι συμβατά με τα Windows 10 μέσω του Internet Explorer 11, αλλά δεν υποστηρίζονται στο Microsoft Edge, τον προεπιλεγμένο περιηγητή σε νεότερες εκδόσεις των Windows.
Για να εξετάσετε τα BHOs που έχουν καταχωρηθεί σε ένα σύστημα, μπορείτε να ελέγξετε τα ακόλουθα κλειδιά του μητρώου:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
Κάθε BHO εκπροσωπείται από το CLSID του στο μητρώο, λειτουργώντας ως μοναδικός αναγνωριστικός. Λεπτομερείς πληροφορίες για κάθε CLSID μπορούν να βρεθούν στο HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
.
Για τον ερευνητικό έλεγχο των BHOs στο μητρώο, μπορούν να χρησιμοποιηθούν οι ακόλουθες εντολές:
Επεκτάσεις Internet Explorer
HKLM\Software\Microsoft\Internet Explorer\Extensions
HKLM\Software\Wow6432Node\Microsoft\Internet Explorer\Extensions
Σημειώστε ότι το μητρώο θα περιέχει 1 νέο μητρώο για κάθε dll και θα εκπροσωπείται από το CLSID. Μπορείτε να βρείτε τις πληροφορίες του CLSID στο HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
Οδηγοί Γραμματοσειράς
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font Drivers
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Font Drivers
Άνοιγμα Εντολής
HKLM\SOFTWARE\Classes\htmlfile\shell\open\command
HKLM\SOFTWARE\Wow6432Node\Classes\htmlfile\shell\open\command
Επιλογές Εκτέλεσης Αρχείων Εικόνας
SysInternals
Σημειώστε ότι όλες οι τοποθεσίες όπου μπορείτε να βρείτε αυτόματες εκτελέσεις έχουν ήδη αναζητηθεί από το winpeas.exe. Ωστόσο, για μια πιο ολοκληρωμένη λίστα αρχείων που εκτελούνται αυτόματα μπορείτε να χρησιμοποιήσετε το autoruns από τα SysInternals:
Περισσότερα
Βρείτε περισσότερα Autoruns όπως registries στο https://www.microsoftpressstore.com/articles/article.aspx?p=2762082&seqNum=2
Αναφορές
Συμβουλή για bug bounty: Εγγραφείτε στο Intigriti, μια προηγμένη πλατφόρμα bug bounty δημιουργημένη από χάκερς, για χάκερς! Γίνετε μέλος στο https://go.intigriti.com/hacktricks σήμερα, και αρχίστε να κερδίζετε αμοιβές έως και $100,000!
Last updated