Το Mimikatz είναι μια εφαρμογή ανοικτού κώδικα που επιτρέπει στους χρήστες να προβάλλουν και να αποθηκεύουν διαπιστευτήρια πιστοποίησης, όπως Kerberos tickets. Το σύνολο των εργαλείων του λειτουργεί με την τρέχουσα έκδοση των Windows και περιλαμβάνει μια συλλογή από διαφορετικές επιθέσεις δικτύου για να βοηθήσει στην αξιολόγηση των ευπαθειών.
Οι επιτιθέμενοι χρησιμοποιούν συνήθως το Mimikatz για την κλοπή διαπιστευτηρίων και την κλιμάκωση των προνομίων, επειδή στις περισσότερες περιπτώσεις το λογισμικό προστασίας καθώς και τα συστήματα προστασίας από ιούς δεν θα εντοπίσουν ή θα αποτρέψουν την επίθεση. Αντίθετα, οι penetration testers χρησιμοποιούν το Mimikatz για να εντοπίσουν και να εκμεταλλευτούν ευπάθειες στα δίκτυά σας, ώστε να μπορέσετε να τις διορθώσετε.
Table of Contents
Τι μπορεί να κάνει το Mimikatz;
Το Mimikatz έδειξε αρχικά πώς να εκμεταλλεύεται μια μοναδική ευπάθεια στο σύστημα ελέγχου ταυτότητας των Windows. Τώρα εκθέτει πολλά διαφορετικά είδη ευπαθειών όπου μπορεί να εκτελέσει τεχνικές για τη συλλογή διαπιστευτηρίων, όπως:
- Pass-the-hash: Τα Windows χρησιμοποιούνται για την αποθήκευση δεδομένων κωδικού πρόσβασης σε NTLM hash. Οι επιτιθέμενοι χρησιμοποιούν το Mimikatz για να περάσουν αυτήν ακριβώς τη στον υπολογιστή-στόχο για να συνδεθούν. Οι επιτιθέμενοι δεν χρειάζεται καν να σπάσουν τον κωδικό πρόσβασης – αρκεί να χρησιμοποιήσουν τη ως έχει.
- Pass-the-ticket: Οι νεότερες εκδόσεις των Windows αποθηκεύουν τα δεδομένα του κωδικού πρόσβασης σε ένα αρχείο που ονομάζεται ticket. Το Mimikatz παρέχει τη δυνατότητα σε έναν χρήστη να περάσει ένα Kerberos ticket σε έναν άλλο υπολογιστή και να συνδεθεί με το ticket αυτού του χρήστη. Είναι παρόμοιο με τη μέθοδο pass-the-hash.
- Overpass-the-hash (pass-the-key): Μια άλλη εκδοχή του pass-the-hash, αλλά αυτή η τεχνική περνάει ένα μοναδικό κλειδί που λαμβάνεται από έναν ελεγκτή τομέα για να υποδυθεί έναν χρήστη.
- Kerberoast golden tickets: Πρόκειται για μια επίθεση pass-the-ticket, αλλά πρόκειται για ένα συγκεκριμένο ticket για έναν κρυφό λογαριασμό που ονομάζεται KRBTGT, ο οποίος είναι ο λογαριασμός που κρυπτογραφεί όλα τα άλλα tickets . Ένα χρυσό ticket σας παρέχει διαπιστευτήρια διαχειριστή χωρίς λήξη για οποιονδήποτε υπολογιστή στο δίκτυο.
- Kerberoast silver tickets: Άλλο ένα pass-the-ticket, αλλά ένα ασημένιο ticket εκμεταλλεύεται μια λειτουργία των Windows που σας διευκολύνει να χρησιμοποιείτε υπηρεσίες στο δίκτυο. Το Kerberos χορηγεί σε έναν χρήστη ένα ticket διακομιστή που χορηγεί ticket (TGS) και ο χρήστης μπορεί να χρησιμοποιήσει αυτό το ticket για να πιστοποιήσει την ταυτότητά του σε λογαριασμούς υπηρεσιών στο δίκτυο. Η Microsoft δεν ελέγχει πάντα ένα TGS μετά την έκδοσή του, οπότε είναι εύκολο να ξεφύγετε από οποιεσδήποτε διασφαλίσεις.
- Pass-the-cache: Επιτέλους μια επίθεση που δεν εκμεταλλεύεται τα Windows! Η επίθεση pass-the-cache είναι γενικά η ίδια με την pass-the-ticket, αλλά αυτή χρησιμοποιεί τα αποθηκευμένα και κρυπτογραφημένα δεδομένα σύνδεσης σε ένα σύστημα Mac/UNIX/Linux.
Από πού μπορείτε να κατεβάσετε το Mimikatz;
Κατεβάστε τα αρχεία και τον πηγαίο κώδικα του Mimikatz από το GitHub του Benjamin Delpy. Προσφέρει διάφορες επιλογές λήψης από το εκτελέσιμο αρχείο έως τον πηγαίο κώδικα. Θα χρειαστεί να το κάνετε με το Microsoft Visual Studio 2010 ή κάποια νεότερη έκδοση.
Πώς χρησιμοποιείτε το Mimikatz;
Βήμα 1: Εκτελέστε το Mimikatz ως διαχειριστής.
Το Mimikatz πρέπει να “εκτελεστεί ως διαχειριστής” για να λειτουργήσει σωστά, ακόμη και αν χρησιμοποιείτε ήδη έναν λογαριασμό διαχειριστή.
Βήμα 2: Ελέγξτε την έκδοση του Mimikatz.
Υπάρχουν δύο εκδόσεις του Mimikatz:
- 32bit
- 64bit
Βεβαιωθείτε ότι εκτελείτε τη σωστή έκδοση για την εγκατάσταση των Windows σας. Εκτελέστε την εντολή “version” για να λάβετε πληροφορίες σχετικά με το εκτελέσιμο αρχείο του Mimikatz, την έκδοση των Windows και αν υπάρχουν ρυθμίσεις των Windows που θα εμποδίσουν τη σωστή εκτέλεση του Mimikatz.
Βήμα 3: Εξάγετε τους “κωδικούς πρόσβασης καθαρού κειμένου” από τη μνήμη.
Η ενότητα sekurlsa στο Mimikatz σας επιτρέπει να απορρίπτετε κωδικούς πρόσβασης από τη μνήμη. Για να χρησιμοποιήσετε τις εντολές του module sekurlsa, πρέπει να έχετε δικαιώματα admin ή SYSTEM.
Αρχικά, εκτελέστε την εντολή:
mimikatz # privilege::debug
Η έξοδος θα δείξει αν έχετε τα κατάλληλα δικαιώματα για να συνεχίσετε.
Στη συνέχεια, ξεκινήστε τις λειτουργίες καταγραφής, ώστε να μπορείτε να ανατρέξετε στην εργασία σας.
mimikatz # log nameoflog.log
Και τέλος, εξάγετε όλους τους κωδικούς πρόσβασης καθαρού κειμένου που είναι αποθηκευμένοι σε αυτόν τον υπολογιστή.
mimikatz # sekurlsa::logonpasswords
Χρήση άλλων μονάδων του Mimikatz
Η ενότητα crypto σάς επιτρέπει να έχετε πρόσβαση στο CryptoAPI στα Windows, το οποίο σας επιτρέπει να παραθέτετε και να εξάγετε πιστοποιητικά και τα ιδιωτικά τους κλειδιά, ακόμη και αν αυτά έχουν χαρακτηριστεί ως μη εξαγώγιμα.
Η ενότητα Kerberos αποκτά πρόσβαση στο Kerberos API, ώστε να μπορείτε να παίξετε με αυτή τη λειτουργικότητα εξάγοντας και χειριζόμενοι τα Kerberos
.Η ενότητα service σας επιτρέπει να εκκινήσετε, να σταματήσετε, να απενεργοποιήσετε κ.λ.π. Υπηρεσίες των Windows.
Και τέλος, η εντολή coffee επιστρέφει τέχνη ASCII του καφέ. Επειδή όλοι χρειαζόμαστε περισσότερο καφέ :D
Πώς να αμυνθείτε από το Mimikatz;
Η άμυνα κατά του Mimikatz μπορεί να είναι δύσκολη, επειδή για να μπορέσει ένας εισβολέας να το εκτελέσει, έχει ήδη αποκτήσει πρόσβαση root σε ένα μηχάνημα Windows. Συχνά μπορεί να περιορίζετε μόνο τη ζημιά που έχει ήδη προκαλέσει ο επιτιθέμενος. Ακολουθούν μερικοί από τους τρόπους με τους οποίους μπορείτε να αμυνθείτε κατά των επιθέσεων Mimikatz.
- Restrict admin privileges. Αυτό μπορεί να γίνει με τον περιορισμό των προνομίων διαχειριστή μόνο στους χρήστες που τα χρειάζονται.
- Disable password-caching. Τα Windows αποθηκεύουν τα πρόσβασης που χρησιμοποιήθηκαν πρόσφατα μέσω του μητρώου συστήματος. Το Mimikatz μπορεί στη συνέχεια να αποκτήσει πρόσβαση σε αυτούς τους αποθηκευμένους κωδικούς πρόσβασης, γι’ αυτό είναι σημαντικό να αλλάξετε τις προεπιλεγμένες ρυθμίσεις σας ώστε να αποθηκεύονται στην προσωρινή μνήμη πρόσφατοι κωδικοί πρόσβασης. Η πρόσβαση σε αυτό γίνεται μέσω των Ρυθμίσεων των .
- Turn off debug privileges. Οι προεπιλεγμένες ρυθμίσεις των Windows επιτρέπουν στους διαχειριστές να αποσφαλματώνουν το σύστημα, κάτι που μπορεί να εκμεταλλευτεί ο Mimikatz. Η απενεργοποίηση των προνομίων εντοπισμού σφαλμάτων σε μηχανήματα αποτελεί βέλτιστη πρακτική για την προστασία του συστήματός σας.
- Configure additional local security authority (LSA) protection. Η αναβάθμιση σε Windows 11 μπορεί να βοηθήσει στον μετριασμό των τύπων επιθέσεων ελέγχου ταυτότητας που επιτρέπει το Mimikatz. Ωστόσο, όταν αυτό δεν είναι εφικτό, η Microsoft διαθέτει πρόσθετα στοιχεία διαμόρφωσης LSA που βοηθούν στη μείωση της επιφάνειας των επιθέσεων.
Ακόμα και με όλα όσα συνοψίζονται σε αυτό το άρθρο, υπάρχουν τόσα πολλά ακόμα να μάθετε και να μάθετε για το Mimikatz. Σε μελλοντικούς οδηγούς θα δούμε αναλυτικά όλες τις μορφές επιθέσεων με το Mimikatz.