Kerberos Double Hop Problem
Εισαγωγή
Το πρόβλημα "Διπλού Άλματος" στο Kerberos εμφανίζεται όταν ένας επιτιθέμενος προσπαθεί να χρησιμοποιήσει ελέγχους Kerberos σε δύο άλματα, για παράδειγμα χρησιμοποιώντας PowerShell/WinRM.
Όταν μια επαλήθευση γίνεται μέσω Kerberos, οι διαπιστευτήρια δεν αποθηκεύονται στη μνήμη. Επομένως, αν εκτελέσετε το mimikatz δεν θα βρείτε τα διαπιστευτήρια του χρήστη στον υπολογιστή ακόμα κι αν εκείνος εκτελεί διεργασίες.
Αυτό συμβαίνει επειδή κατά τη σύνδεση με το Kerberos αυτά είναι τα βήματα:
Ο Χρήστης1 παρέχει διαπιστευτήρια και το domain controller επιστρέφει ένα Kerberos TGT στον Χρήστη1.
Ο Χρήστης1 χρησιμοποιεί το TGT για να ζητήσει ένα εισιτήριο υπηρεσίας για να συνδεθεί στον Διακομιστή1.
Ο Χρήστης1 συνδέεται στον Διακομιστή1 και παρέχει το εισιτήριο υπηρεσίας.
Ο Διακομιστής1 δεν έχει τα διαπιστευτήρια του Χρήστη1 αποθηκευμένα ή το TGT του Χρήστη1. Επομένως, όταν ο Χρήστης1 από τον Διακομιστή1 προσπαθεί να συνδεθεί σε ένα δεύτερο διακομιστή, δεν μπορεί να πιστοποιηθεί.
Απεριόριστη Ανακατεύθυνση
Αν η απεριόριστη ανακατεύθυνση είναι ενεργοποιημένη στον Η/Υ, αυτό δεν θα συμβεί καθώς ο Διακομιστής θα λάβει ένα TGT από κάθε χρήστη που έχει πρόσβαση σε αυτόν. Επιπλέον, αν χρησιμοποιείται η απεριόριστη ανακατεύθυνση, πιθανόν να μπορείτε να θέσετε σε κίνδυνο τον ελεγκτή του τομέα. Περισσότερες πληροφορίες στη σελίδα απεριόριστης ανακατεύθυνσης.
CredSSP
Ένας άλλος τρόπος να αποφευχθεί αυτό το πρόβλημα, ο οποίος είναι σημαντικά ανασφαλής είναι ο Πάροχος Υποστήριξης Ασφάλειας Διαπιστευτήρων. Από τη Microsoft:
Η επαλήθευση CredSSP αναθέτει τα διαπιστευτήρια του χρήστη από τον τοπικό υπολογιστή σε έναν απομακρυσμένο υπολογιστή. Αυτή η πρακτική αυξάνει τον κίνδυνο ασφάλειας της απομακρυσμένης λειτουργίας. Αν ο απομακρυσμένος υπολογιστής διαρρεύσει, όταν τα διαπιστευτήρια περνούν σε αυτόν, τα διαπιστευτήρια μπορούν να χρησιμοποιηθούν για τον έλεγχο της δικτυακής συνεδρίας.
Συνιστάται ανεπιφύλακτα να απενεργοποιηθεί το CredSSP σε συστήματα παραγωγής, ευαίσθητα δίκτυα και παρόμοια περιβάλλοντα λόγω ανησυχιών για την ασφάλεια. Για να προσδιοριστεί εάν το CredSSP είναι ενεργοποιημένο, μπορεί να εκτελεστεί η εντολή Get-WSManCredSSP
. Αυτή η εντολή επιτρέπει τον έλεγχο της κατάστασης του CredSSP και μπορεί ακόμη να εκτελεστεί απομακρυσμένα, εφόσον το WinRM είναι ενεργοποιημένο.
Παρακάμψεις
Εκκίνηση Εντολής
Για να αντιμετωπίσετε το πρόβλημα του διπλού hop, παρουσιάζεται μια μέθοδος που περιλαμβάνει ένα εμφωλευμένο Invoke-Command
. Αυτό δεν λύνει το πρόβλημα απευθείας αλλά προσφέρει μια παράκαμψη χωρίς την ανάγκη ειδικών ρυθμίσεων. Η προσέγγιση επιτρέπει την εκτέλεση μιας εντολής (hostname
) σε ένα δευτερεύον διακομιστή μέσω μιας εντολής PowerShell που εκτελείται από μια αρχική μηχανή επίθεσης ή μέσω μιας προηγουμένως καθιερωμένης συνεδρίας PS με τον πρώτο διακομιστή. Εδώ είναι πώς γίνεται:
Εναλλακτικά, η δημιουργία μιας συνεδρίας PS με τον πρώτο διακομιστή και την εκτέλεση της Invoke-Command
χρησιμοποιώντας το $cred
προτείνεται για την κεντρική διαχείριση των εργασιών.
Καταχώρηση Ρύθμισης PSSession
Μια λύση για την παράκαμψη του προβλήματος του διπλού hop περιλαμβάνει τη χρήση του Register-PSSessionConfiguration
με το Enter-PSSession
. Αυτή η μέθοδος απαιτεί μια διαφορετική προσέγγιση από το evil-winrm
και επιτρέπει μια συνεδρία που δεν υποφέρει από τον περιορισμό του διπλού hop.
Προώθηση Θύρας
Για τους τοπικούς διαχειριστές σε έναν ενδιάμεσο στόχο, η προώθηση θύρας επιτρέπει την αποστολή αιτημάτων σε έναν τελικό διακομιστή. Χρησιμοποιώντας το netsh
, μπορεί να προστεθεί μια κανόνα για την προώθηση θύρας, σε συνδυασμό με έναν κανόνα του τοίχου προστασίας των Windows για να επιτραπεί η προώθηση της θύρας.
winrs.exe
Το winrs.exe
μπορεί να χρησιμοποιηθεί για την προώθηση αιτημάτων WinRM, πιθανώς ως μια λιγότερο ανιχνεύσιμη επιλογή εάν υπάρχει ανησυχία για την παρακολούθηση του PowerShell. Η παρακάτω εντολή δείχνει τον τρόπο χρήσης του:
OpenSSH
Η εγκατάσταση του OpenSSH στον πρώτο διακομιστή επιτρέπει μια παράκαμψη για το πρόβλημα του διπλού άλματος, ιδιαίτερα χρήσιμη για σενάρια jump box. Αυτή η μέθοδος απαιτεί εγκατάσταση και ρύθμιση του OpenSSH για τα Windows μέσω της γραμμής εντολών. Όταν ρυθμιστεί για Επαλήθευση Κωδικού, αυτό επιτρέπει στον ενδιάμεσο διακομιστή να λάβει ένα TGT εκ μέρους του χρήστη.
Βήματα Εγκατάστασης OpenSSH
Λήψη και μεταφορά του τελευταίου zip κυκλοφορίας του OpenSSH στον στόχο διακομιστή.
Αποσυμπίεση και εκτέλεση του σεναρίου
Install-sshd.ps1
.Προσθήκη κανόνα του τοίχου προστασίας για το άνοιγμα της θύρας 22 και επαλήθευση ότι οι υπηρεσίες SSH λειτουργούν.
Για την επίλυση σφαλμάτων Επαναφοράς σύνδεσης
, ενδέχεται να χρειαστεί να ενημερωθούν οι άδειες πρόσβασης για να επιτραπεί σε όλους την ανάγνωση και εκτέλεση στον κατάλογο του OpenSSH.
Αναφορές
Last updated