Δοκίμασα να σπάσω τους δικούς μου κωδικούς πρόσβασης: Εδώ είναι τι έμαθα για την ασφάλειά τους

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

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

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

Δοκίμασα να σπάσω τους δικούς μου κωδικούς πρόσβασης: Εδώ είναι τι έμαθα για την ασφάλειά τους

Τι σημαίνει να σπάσεις έναν κωδικό πρόσβασης;

Τι σημαίνει να σπάσεις έναν κωδικό πρόσβασης;

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

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

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

Εάν η τιμή κατακερματισμού ενός πιθανού κωδικού πρόσβασης ταιριάζει με οποιεσδήποτε εγγραφές στη βάση δεδομένων, ο χάκερ γνωρίζει ότι κάθε αποτέλεσμα ταιριάζει Πιθανός κωδικός πρόσβασης Το οποίο έχει δοκιμαστεί.

Πώς χάκαρα τους κωδικούς πρόσβασής μου χρησιμοποιώντας το HashCat

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

Σε αυτές τις δοκιμές, θα σπάσω τους ακόλουθους κωδικούς πρόσβασης:

  1. 123456Κλασικός κωδικός πρόσβασης και εφιάλτης κυβερνοασφάλειας, το 123456 είναι ο πιο χρησιμοποιούμενος κωδικός πρόσβασης στον κόσμο. Εκείνη μέτρησε Nord Pass 3 εκατομμύρια λογαριασμοί χρησιμοποιούσαν 123456 κωδικούς πρόσβασης, 1.2 εκατομμύρια από τους οποίους προορίζονταν για την προστασία λογαριασμών σε εταιρικό επίπεδο.
  2. Σούζαν 48!: Ένας κωδικός πρόσβασης που ακολουθεί τα μοτίβα που χρησιμοποιούν οι περισσότεροι χρήστες για να δημιουργήσουν έναν ασφαλή κωδικό πρόσβασης. Αυτή η λέξη-κλειδί πληροί συνήθως τις βασικές απαιτήσεις υγιεινής κωδικού πρόσβασης, αλλά όπως θα εξερευνήσουμε αργότερα, περιέχει ορισμένα κρίσιμα τρωτά σημεία που μπορούν να αξιοποιηθούν.
  3. t9^kJ$2q9a: Ένας κωδικός πρόσβασης που δημιουργήσατε χρησιμοποιώντας Bitwarden Generator. Έχει ρυθμιστεί να δημιουργεί έναν κωδικό πρόσβασης μήκους 10 χαρακτήρων χρησιμοποιώντας κεφαλαία και πεζά γράμματα, σύμβολα και αριθμούς.

Τώρα που είχαμε τους κωδικούς μας, τους κρυπτογραφούσα χρησιμοποιώντας MD5. Έτσι θα εμφανίζονται οι κωδικοί πρόσβασης εάν βρίσκονται σε ένα αρχείο κωδικού πρόσβασης που είναι αποθηκευμένο στον διακομιστή:

  1. 123456: e10adc3949ba59abbe56e057f20f883e
  2. Σούζαν 48!: df1ce7227606805745ee6cbc644ecbe4
  3. t9^kJ$2q9a: 450e4e0ad3ed8766cb2ba83081c0a625

Τώρα, ήρθε η ώρα να το αναλύσουμε.

Εκτελέστε ένα απλό διάλειμμα χρησιμοποιώντας μια επίθεση λεξικού

Εκτελέστε ένα απλό διάλειμμα χρησιμοποιώντας μια επίθεση λεξικού

Ας ξεκινήσουμε, ας ξεκινήσουμε Επίθεση λεξικού, που είναι ένας από τους πιο συνηθισμένους τρόπους επίθεσης σε κωδικούς πρόσβασης. Είναι μια απλή επίθεση όπου δημιουργώ μια λίστα με πιθανούς κωδικούς πρόσβασης, λέω στη Hashcat να τους μετατρέψει σε MD5 και δω αν κάποιο από αυτά ταιριάζει με τις τρεις παραπάνω καταχωρίσεις. Για αυτό το πείραμα, χρησιμοποιώ το αρχείο "rockyou.txt" ως λεξικό, το οποίο ήταν μία από τις μεγαλύτερες διαρροές κωδικού πρόσβασης στην ιστορία.

Για να ξεκινήσω τη διαδικασία hacking, πηγαίνω στο φάκελο όπου βρίσκεται το Hashcat, κάνω δεξί κλικ σε ένα κενό χώρο και, στη συνέχεια, πατάω «Άνοιγμα στο τερματικό». Τώρα που το Terminal είναι ανοιχτό και έχει οριστεί στον κατάλογο Hashcat, επικαλούμαι την εφαρμογή Hashcat χρησιμοποιώντας την ακόλουθη εντολή:

.hashcat -μ 0 -a0 αρχείο κωδικού πρόσβασης. Txt βράχος εσύ. Txt -ο αποτελέσματα. Txt

Δείτε τι κάνει η εντολή:

  1. .\hashcat Καλεί το Hashcat.
  2. -m 0: Καθορίζει την κρυπτογράφηση που θα χρησιμοποιήσουμε. Σε αυτή την περίπτωση, θα χρησιμοποιήσουμε MD5, το οποίο αναφέρεται ως 0 στο έγγραφο βοήθειας Hashcat.
  3. -Α'0: Καθορίζει την επίθεση που θέλουμε να εκτελέσουμε. Το έγγραφο βοήθειας Hashcat αναφέρει την επίθεση λεξικού ως 0, γι' αυτό την ονομάζουμε εδώ.
  4. passwordfile.txt rockyou.txtΤο πρώτο αρχείο περιλαμβάνει τους τρεις κρυπτογραφημένους κωδικούς πρόσβασης που ετοιμάσαμε προηγουμένως. Το δεύτερο αρχείο είναι ολόκληρη η βάση δεδομένων κωδικών πρόσβασης rockyou.
  5. -ο αποτελέσματα.txt: Αυτή η μεταβλητή καθορίζει πού τοποθετούμε το αποτέλεσμα. Η εντολή που έκανα τοποθετεί τους χακαρισμένους κωδικούς πρόσβασης σε ένα αρχείο TXT που ονομάζεται "αποτελέσματα".

Παρά το τεράστιο μέγεθος του βράχου σας, το Hashcat σάρωσε όλο το περιεχόμενο σε έξι δευτερόλεπτα. Στο αρχείο αποτελεσμάτων, η Hashcat είπε ότι μπόρεσε να σπάσει τον κωδικό πρόσβασης 123456, αλλά οι κωδικοί πρόσβασης της Susan και της Bitwarden παρέμειναν χωρίς συμβιβασμούς. Αυτό συμβαίνει επειδή ο κωδικός πρόσβασης 123456 χρησιμοποιήθηκε από κάποιον άλλο στο αρχείο rockyou.txt, αλλά κανείς άλλος δεν χρησιμοποίησε τους κωδικούς πρόσβασης της Susan ή του Bitwarden, πράγμα που σημαίνει ότι ήταν αρκετά μοναδικοί για να παραμείνουν ασφαλείς από αυτήν την επίθεση.

Εκτελέστε πιο περίπλοκο hacking χρησιμοποιώντας επιθέσεις ωμής βίας και μάσκες

Εκτελέστε πιο περίπλοκο hacking χρησιμοποιώντας επιθέσεις ωμής βίας και μάσκες

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

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

Αυτή είναι η εντολή που χρησιμοποίησα για να εκτελέσω την "πραγματική" επίθεση ωμής δύναμης:

.hashcat -μ 0 -a3 στόχος. Txt--αύξηση ?a?a?a?a?a?a?a?a?a?a -o έξοδος. Txt

Αυτό κάνει η εντολή:

  • -ένα 3: Αυτή η μεταβλητή καθορίζει την επίθεση που θέλουμε να εκτελέσουμε. Η τεκμηρίωση βοήθειας Hashcat αναφέρει τις επιθέσεις ωμής βίας ως 3, γι' αυτό το ονομάζουμε εδώ.
  • target.txt: Το αρχείο που περιέχει τον κρυπτογραφημένο κωδικό πρόσβασης που θέλουμε να χακάρουμε.
  • - αύξηση: Αυτό λέει στη Hashcat να δοκιμάσει όλους τους κωδικούς πρόσβασης που είναι ένα γράμμα, μετά δύο, μετά τρεις και ούτω καθεξής μέχρι να βρούμε τη λύση.
  • ?α?α?α?α?α?α?α?α?α?α?α?α?α?α?α?: Αυτό ονομάζεται «μάσκα». Οι μάσκες μας επιτρέπουν να πούμε στο Hashcat ποιους χαρακτήρες να χρησιμοποιήσουμε πού. Κάθε ερωτηματικό υποδεικνύει τη θέση ενός γράμματος στον κωδικό πρόσβασης και το γράμμα καθορίζει τι προσπαθούμε να κάνουμε σε κάθε θέση. Το γράμμα "a" αντιπροσωπεύει κεφαλαία και πεζά γράμματα, αριθμούς και σύμβολα, επομένως αυτή η μάσκα λέει: "Δοκιμάστε τα πάντα σε κάθε κουτί". Είναι μια τρομερή μάσκα, αλλά θα τη χρησιμοποιήσουμε καλά αργότερα.
  • -o output.txt: Αυτή η μεταβλητή καθορίζει πού τοποθετούμε το αποτέλεσμα. Η εντολή μου τοποθετεί τους σπασμένους κωδικούς πρόσβασης σε ένα αρχείο TXT που ονομάζεται "output".

Ακόμη και με αυτήν την τρομερή μάσκα, ο κωδικός πρόσβασης 123456 έσπασε μέσα σε 15 δευτερόλεπτα. Αν και είναι ο πιο συνηθισμένος κωδικός πρόσβασης, είναι επίσης ένας από τους πιο αδύναμους.

Ο κωδικός πρόσβασης ήταν "Susan48!" Πολύ καλύτερα - ο υπολογιστής μου είπε ότι θα χρειάζονταν τέσσερις ημέρες για να το σπάσει στα τυφλά. Ωστόσο, υπήρχε ένα πρόβλημα. Θυμάστε όταν είπα ότι ο κωδικός πρόσβασης της Σούζαν είχε κάποια σημαντικά ελαττώματα; Το μεγαλύτερο είναι ότι ο κωδικός πρόσβασης έχει σχεδιαστεί με προβλέψιμο τρόπο.

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

Επομένως, μπορούμε να χρησιμοποιήσουμε τη μάσκα για να πούμε στο Hashcat να δοκιμάσει μόνο συγκεκριμένους χαρακτήρες σε συγκεκριμένα μέρη για να εκμεταλλευτεί πόσο προβλέψιμοι είναι οι άνθρωποι όταν δημιουργούν έναν κωδικό πρόσβασης. Σε αυτήν τη μάσκα, το "?u" θα χρησιμοποιεί μόνο κεφαλαία γράμματα σε αυτήν τη θέση, το "?l" θα χρησιμοποιεί μόνο πεζά γράμματα και το "?a" αντιπροσωπεύει οποιοδήποτε γράμμα:

.hashcat -μ 0 -a3 -1 ?a στόχος. Txt ?u?l?l?l?l?l?a?a?a -o έξοδος. Txt

Χρησιμοποιώντας αυτή τη μάσκα, το Hashcat σπάει τον κωδικό πρόσβασης σε τρία λεπτά και δέκα δευτερόλεπτα, το οποίο είναι πολύ πιο γρήγορο από τέσσερις ημέρες.

Ο κωδικός πρόσβασης που δημιουργείται από το Bitwarden είναι δέκα χαρακτήρες και δεν χρησιμοποιεί προβλέψιμα μοτίβα, επομένως πρέπει να κάνω μια επίθεση ωμής βίας χωρίς καμία μάσκα για να τον σπάσω. Δυστυχώς, όταν ζήτησα από τη Hashcat να το κάνει αυτό, έβγαλε ένα σφάλμα, λέγοντας ότι ο αριθμός των πιθανών συνδυασμών ξεπέρασε το ακέραιο όριο. Λέει Γκουρού ασφάλειας της πληροφορικής Ένας κωδικός πρόσβασης Bitwarden θα χρειαζόταν τρία χρόνια για να σπάσει, οπότε αυτό είναι αρκετά καλό για μένα.

Πώς να προστατέψετε τους λογαριασμούς σας από σπάσιμο κωδικού πρόσβασης

Λοιπόν, τι μπορούμε να μάθουμε από όλα αυτά; Οι κύριοι παράγοντες που με εμποδίζουν να σπάσω έναν κωδικό πρόσβασης Bitwarden ήταν το μήκος του (10 χαρακτήρες) και η απρόβλεπτη λειτουργία του. Επομένως, όταν δημιουργείτε κωδικούς πρόσβασης, προσπαθήστε να τους κάνετε όσο το δυνατόν μεγαλύτερους και προσθέστε σύμβολα, αριθμούς και κεφαλαία γράμματα σε όλο τον κωδικό πρόσβασης. Αυτό εμποδίζει τους χάκερ να χρησιμοποιούν μάσκες για να προβλέψουν τη θέση κάθε αντικειμένου και καθιστά πιο δύσκολο το χακάρισμα.

Πιθανότατα γνωρίζετε ήδη παλιά ρητά σχετικά με τους κωδικούς πρόσβασης όπως "Χρησιμοποιήστε μια σειρά χαρακτήρων" και "Κάντε το όσο το δυνατόν περισσότερο". Ελπίζουμε να γνωρίζετε γιατί οι άνθρωποι συνιστούν αυτές τις χρήσιμες συμβουλές — είναι η διαφορά ανάμεσα σε έναν γρήγορα σπασμένο κωδικό πρόσβασης και έναν ασφαλή. Τώρα μπορείτε να δείτε Πώς αυτές οι απλές τροποποιήσεις έκαναν τους κωδικούς πρόσβασής μου πιο ασφαλείς και ευκολότερους.

Κουμπί μετάβασης στην κορυφή