Παραβίαση κρυφού κωδικού πρόσβασης με Smbexec

Παραβίαση κρυφού κωδικού πρόσβασης με Smbexec

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

Από την άλλη, δεν θα ήθελα να δαιμονοποιήσω τους υπαλλήλους γιατί κανείς δεν θέλει να εργαστεί σε ένα επιχειρηματικό περιβάλλον αμέσως μετά το 1984 του Όργουελ. Ευτυχώς, υπάρχουν πολλά πρακτικά βήματα και life hacks που μπορούν να κάνουν τη ζωή πολύ πιο δύσκολη για τους μυημένους. Θα εξετάσουμε μέθοδοι κρυφής επίθεσης, που χρησιμοποιείται από χάκερ από υπαλλήλους με κάποιο τεχνικό υπόβαθρο. Και λίγο παρακάτω θα συζητήσουμε επιλογές για τη μείωση τέτοιων κινδύνων - θα μελετήσουμε τόσο τις τεχνικές όσο και τις οργανωτικές επιλογές.

Τι συμβαίνει με το PsExec;

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

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

Οι οργανωτικοί υπάλληλοι δεν βρίσκονται πάντα στη μοναδική θέση του Σνόουντεν, αλλά υπάρχουν πολλά μαθήματα που πρέπει να ληφθούν από την έννοια της «επιβίωσης με βοσκή» που πρέπει να γνωρίζουν - να μην συμμετέχουν σε καμία κακόβουλη δραστηριότητα που μπορεί να ανιχνευθεί και να είναι ιδιαίτερα προσεκτικοί με τη χρήση των διαπιστευτηρίων. Θυμηθείτε αυτή τη σκέψη.

Psexec και ο ξάδερφός του crackmapexec έχουν εντυπωσιάσει αμέτρητους διεισδυτές, χάκερ και μπλόγκερ για την ασφάλεια στον κυβερνοχώρο. Και όταν συνδυάζεται με το mimikatz, το psexec επιτρέπει στους εισβολείς να κινούνται μέσα σε ένα δίκτυο χωρίς να χρειάζεται να γνωρίζουν τον κωδικό πρόσβασης καθαρού κειμένου.

Το Mimikatz παρεμποδίζει τον κατακερματισμό NTLM από τη διαδικασία LSASS και στη συνέχεια μεταβιβάζει το διακριτικό ή τα διαπιστευτήρια - τα λεγόμενα. επίθεση "πέρασε τον κατακερματισμό". – στο psexec, επιτρέποντας σε έναν εισβολέα να συνδεθεί σε άλλο διακομιστή ως ενός άλλου χρήστης. Και με κάθε επόμενη κίνηση σε έναν νέο διακομιστή, ο εισβολέας συλλέγει πρόσθετα διαπιστευτήρια, επεκτείνοντας το εύρος των δυνατοτήτων του στην αναζήτηση διαθέσιμου περιεχομένου.

Όταν άρχισα να δουλεύω για πρώτη φορά με το psexec μου φαινόταν μαγικό - ευχαριστώ Μαρκ Ρουσίνοβιτς, ο λαμπρός προγραμματιστής του psexec - αλλά ξέρω και για τον δικό του θορυβώδης συστατικά. Δεν είναι ποτέ κρυφός!

Το πρώτο ενδιαφέρον γεγονός για το psexec είναι ότι χρησιμοποιεί εξαιρετικά πολύπλοκο Πρωτόκολλο αρχείου δικτύου SMB από τη Microsoft. Χρησιμοποιώντας SMB, το psexec μεταφέρει μικρές δυάδικος αρχεία στο σύστημα προορισμού, τοποθετώντας τα στο φάκελο C:Windows.

Στη συνέχεια, το psexec δημιουργεί μια υπηρεσία Windows χρησιμοποιώντας το αντιγραμμένο δυαδικό αρχείο και την εκτελεί με το εξαιρετικά «απροσδόκητο» όνομα PSEXECSVC. Ταυτόχρονα, μπορείτε πραγματικά να τα δείτε όλα αυτά, όπως και εγώ, παρακολουθώντας ένα απομακρυσμένο μηχάνημα (δείτε παρακάτω).

Παραβίαση κρυφού κωδικού πρόσβασης με Smbexec

Τηλεκάρτα Psexec: υπηρεσία "PSEXECSVC". Εκτελεί ένα δυαδικό αρχείο που τοποθετήθηκε μέσω SMB στο φάκελο C:Windows.

Ως τελευταίο βήμα, ανοίγει το αντιγραμμένο δυαδικό αρχείο Σύνδεση RPC στον διακομιστή προορισμού και στη συνέχεια δέχεται εντολές ελέγχου (μέσω του κελύφους cmd των Windows από προεπιλογή), εκκινώντας τις και ανακατευθύνοντας την είσοδο και την έξοδο στον οικιακό μηχάνημα του εισβολέα. Σε αυτήν την περίπτωση, ο εισβολέας βλέπει τη βασική γραμμή εντολών - το ίδιο σαν να ήταν απευθείας συνδεδεμένος.

Πολλά εξαρτήματα και πολύ θορυβώδης διαδικασία!

Τα περίπλοκα εσωτερικά του psexec εξηγούν το μήνυμα που με μπέρδεψε κατά τη διάρκεια των πρώτων δοκιμών μου πριν από αρκετά χρόνια: "Starting PSEXECSVC..." ακολουθούμενο από μια παύση πριν εμφανιστεί η γραμμή εντολών.

Παραβίαση κρυφού κωδικού πρόσβασης με Smbexec

Το Psexec του Impacket δείχνει πραγματικά τι συμβαίνει κάτω από την κουκούλα.

Δεν αποτελεί έκπληξη: η psexec έκανε τεράστια δουλειά κάτω από την κουκούλα. Εάν ενδιαφέρεστε για μια πιο λεπτομερή εξήγηση, ρίξτε μια ματιά εδώ από ότι υπέροχη περιγραφή.

Προφανώς, όταν χρησιμοποιείται ως εργαλείο διαχείρισης συστήματος, το οποίο ήταν αρχικός σκοπός psexec, δεν υπάρχει τίποτα κακό με το «βουητό» όλων αυτών των μηχανισμών των Windows. Για έναν εισβολέα, ωστόσο, το psexec θα δημιουργούσε επιπλοκές, και για έναν προσεκτικό και πονηρό χρήστη όπως ο Snowden, το psexec ή ένα παρόμοιο βοηθητικό πρόγραμμα θα ήταν υπερβολικά μεγάλος κίνδυνος.

Και μετά έρχεται το Smbexec

Το SMB είναι ένας έξυπνος και μυστικός τρόπος μεταφοράς αρχείων μεταξύ διακομιστών και οι χάκερ διεισδύουν απευθείας στο SMB εδώ και αιώνες. Νομίζω ότι όλοι γνωρίζουν ήδη ότι δεν αξίζει τον κόπο Άνοιξε Οι θύρες SMB 445 και 139 στο Διαδίκτυο, σωστά;

Στο Defcon 2013, ο Eric Millman (brav0hax) παρουσιάζονται smbexec, έτσι ώστε οι διεισδυτές να μπορούν να δοκιμάσουν το stealth hacking SMB. Δεν ξέρω όλη την ιστορία, αλλά μετά ο Impacket βελτίωσε περαιτέρω το smbexec. Μάλιστα, για τις δοκιμές μου, κατέβασα τα σενάρια από το Impacket στην Python από Github.

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

Να τι κάνει: περνά μια εντολή από το μηχάνημα που επιτίθεται μέσω SMB σε ένα ειδικό αρχείο εισόδου και, στη συνέχεια, δημιουργεί και εκτελεί μια σύνθετη γραμμή εντολών (όπως μια υπηρεσία Windows) που θα φαίνεται οικεία στους χρήστες Linux. Εν ολίγοις: εκκινεί ένα εγγενές κέλυφος cmd των Windows, ανακατευθύνει την έξοδο σε άλλο αρχείο και στη συνέχεια το στέλνει μέσω SMB πίσω στο μηχάνημα του εισβολέα.

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

Παραβίαση κρυφού κωδικού πρόσβασης με Smbexec

Δεν είναι αυτός ο καλύτερος τρόπος ανακατεύθυνσης I/O; Παρεμπιπτόντως, η δημιουργία υπηρεσίας έχει αναγνωριστικό συμβάντος 7045.

Όπως το psexec, δημιουργεί επίσης μια υπηρεσία που κάνει όλη τη δουλειά, αλλά η υπηρεσία μετά από αυτό διαγράφηκε – χρησιμοποιείται μόνο μία φορά για την εκτέλεση της εντολής και μετά εξαφανίζεται! Ένας αξιωματικός ασφάλειας πληροφοριών που παρακολουθεί τη μηχανή ενός θύματος δεν θα είναι σε θέση να εντοπίσει φανερός Ενδείξεις επίθεσης: Δεν εκκινείται κακόβουλο αρχείο, δεν εγκαθίσταται καμία μόνιμη υπηρεσία και δεν υπάρχουν ενδείξεις ότι χρησιμοποιείται RPC, καθώς το SMB είναι το μόνο μέσο μεταφοράς δεδομένων. Λαμπρός!

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

Παραβίαση κρυφού κωδικού πρόσβασης με Smbexec

Για την επιστροφή δεδομένων από το μηχάνημα-στόχο στο μηχάνημα του εισβολέα, χρησιμοποιείται smbclient. Ναι, είναι η ίδια Samba χρησιμότητα, αλλά μετατράπηκε μόνο σε σενάριο Python από το Impacket. Στην πραγματικότητα, το smbclient σάς επιτρέπει να φιλοξενείτε κρυφά μεταφορές FTP μέσω SMB.

Ας κάνουμε ένα βήμα πίσω και ας σκεφτούμε τι μπορεί να κάνει αυτό για τον εργαζόμενο. Στο πλασματικό μου σενάριο, ας πούμε, ένας blogger, ένας οικονομικός αναλυτής ή ένας ακριβοπληρωμένος σύμβουλος ασφαλείας επιτρέπεται να χρησιμοποιεί έναν προσωπικό φορητό υπολογιστή για εργασία. Ως αποτέλεσμα κάποιας μαγικής διαδικασίας, προσβάλλεται στην εταιρεία και «πηγαίνει εντελώς άσχημα». Ανάλογα με το λειτουργικό σύστημα του φορητού υπολογιστή, χρησιμοποιεί είτε την έκδοση Python από το Impact είτε την έκδοση των Windows του smbexec ή του smbclient ως αρχείο .exe.

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

Hacking DCC: Δεν χρειαζόμαστε κανέναν «ανόητο» Mimikatz

Σε προηγούμενες αναρτήσεις μου για το pentesting χρησιμοποιούσα πολύ συχνά το mimikatz. Αυτό είναι ένα εξαιρετικό εργαλείο για την υποκλοπή διαπιστευτηρίων - κατακερματισμοί NTLM και ακόμη και κωδικοί πρόσβασης καθαρού κειμένου που είναι κρυμμένοι μέσα σε φορητούς υπολογιστές, απλώς περιμένουν να χρησιμοποιηθούν.
Οι καιροί έχουν αλλάξει. Τα εργαλεία παρακολούθησης έχουν γίνει καλύτερα στον εντοπισμό και τον αποκλεισμό του mimikatz. Οι διαχειριστές ασφάλειας πληροφοριών έχουν επίσης τώρα περισσότερες επιλογές για τη μείωση των κινδύνων που σχετίζονται με τις επιθέσεις pass the hash (PtH).
Τι πρέπει λοιπόν να κάνει ένας έξυπνος υπάλληλος για να συλλέξει πρόσθετα διαπιστευτήρια χωρίς να χρησιμοποιεί mimikatz;

Το κιτ Impacket περιλαμβάνει ένα βοηθητικό πρόγραμμα που ονομάζεται μυστικό χωματερή, το οποίο ανακτά διαπιστευτήρια από την προσωρινή μνήμη διαπιστευτηρίων τομέα ή εν συντομία DCC. Καταλαβαίνω ότι εάν ένας χρήστης τομέα συνδεθεί στον διακομιστή αλλά ο ελεγκτής τομέα δεν είναι διαθέσιμος, το DCC επιτρέπει στον διακομιστή να ελέγξει την ταυτότητα του χρήστη. Εν πάση περιπτώσει, το secretsdump σάς επιτρέπει να απορρίψετε όλα αυτά τα hashes, εάν είναι διαθέσιμα.

Οι κατακερματισμοί DCC είναι όχι κατακερματισμοί NTML και δεν μπορεί να χρησιμοποιηθεί για προσβολή PtH.

Λοιπόν, μπορείτε να δοκιμάσετε να τα χακάρετε για να λάβετε τον αρχικό κωδικό πρόσβασης. Ωστόσο, η Microsoft έχει γίνει πιο έξυπνη με το DCC και τα hashes DCC έχουν γίνει εξαιρετικά δύσκολο να σπαστούν. Ναι έχω hashcat, "ο πιο γρήγορος εικαστικός κωδικός πρόσβασης στον κόσμο", αλλά απαιτεί μια GPU για να λειτουργεί αποτελεσματικά.

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

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

Εάν τώρα προσπαθείτε να το αναπαράγετε στο σπίτι, τότε μπορείτε να κατεβάσετε ένα μικρό "C" κώδικας, το οποίο υλοποιεί τον αλγόριθμο κατακερματισμού DCC και τον μεταγλωττίζει. Ιωάννης ο Αντεροβγάλτης, παρεμπιπτόντως, πρόσθεσε υποστήριξη για DCC, ώστε να μπορεί επίσης να χρησιμοποιηθεί. Ας υποθέσουμε ότι ένας χρήστης δεν θέλει να ασχοληθεί με την εκμάθηση του John the Ripper και του αρέσει να τρέχει το "gcc" σε κώδικα C παλαιού τύπου.

Προσποιούμενος τον ρόλο του μυητού, δοκίμασα πολλούς διαφορετικούς συνδυασμούς και τελικά κατάφερα να ανακαλύψω ότι ο κωδικός πρόσβασης του Cruella ήταν "Yankees2019" (δείτε παρακάτω). Αποστολή εξετελέσθη!

Παραβίαση κρυφού κωδικού πρόσβασης με Smbexec

Λίγη κοινωνική μηχανική, λίγη τύχη και λίγο Maltego και είστε σε καλό δρόμο για να σπάσετε τον κατακερματισμό του DCC.

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

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο