Οδηγός Hashcat για αρχάριους


Το Hashcat είναι ο πιο δημοφιλής password cracker και έχει σχεδιαστεί για να σπάει ακόμα και τον πιο περίπλοκο κωδικό πρόσβασης.

 

Οι κωδικοί πρόσβασης προστατεύονται κυρίως με κλειδιά hash, όπως MD5, SHA, WHIRLPOOL, RipeMD, NTMLv1, NTMLv2 και ούτω καθεξής. Ορίζονται επίσης ως μονόδρομη συνάρτηση και πρόκειται για μια μαθηματική λειτουργία που είναι εύκολο να εκτελεστεί, αλλά είναι πολύ δύσκολο να αντιστραφεί.

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

Αυτό το άρθρο παρέχει ένα εισαγωγικό σεμινάριο για το σπάσιμο κωδικών πρόσβασης, χρησιμοποιώντας το λογισμικό Hashcat.

Πώς να σπάσετε Hashes

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

Οι επιθέσεις με έτοιμα λεξικά κωδικών και brute force είναι οι πιο συνηθισμένοι τρόποι εικασίας κωδικών πρόσβασης. Αυτές οι τεχνικές χρησιμοποιούν ένα αρχείο που περιέχει λέξεις, φράσεις, κοινούς κωδικούς πρόσβασης και άλλες συμβολοσειρές που είναι πιθανό να έχουν χρησιμοποιηθεί σαν κωδικός πρόσβασης σας.

Πρέπει να σημειωθεί ότι δεν υπάρχει εγγυημένος τρόπος για την αποτροπή επιθέσεων λεξικού ή επιθέσεων brute-force.

Άλλες προσεγγίσεις που χρησιμοποιούνται για το σπάσιμο κωδικών πρόσβασης:

  • Lookup tables (πίνακες αναζήτησης): Οι hashed κωδικοί υπολογίζονται εκ των προτέρων από ένα λεξικό και στη συνέχεια αποθηκεύονται σε ένα πίνακα μαζί με τον αντίστοιχο κωδικό πρόσβασης.
  • Reverse lookup tables (πίνακες αντίστροφης αναζήτησης): Αυτή η επίθεση επιτρέπει σε έναν εισβολέα να εφαρμόσει ένα λεξικό ή μια επίθεση brute-force σε πολλά hashes ταυτόχρονα.
  • Rainbow tables: Τα Rainbow tables είναι μια τεχνική χρόνου-μνήμης. Είναι παρόμοια με τους πίνακες αναζήτησης, εκτός από το ότι θυσιάζουν την ταχύτητα σπασίματος των hashes για να κάνουν τους πίνακες αναζήτησης μικρότερους.
  • Hashing with salt: Με αυτήν την τεχνική, τα hashes γίνονται randomized προσαρτώντας ή προετοιμάζοντας μια τυχαία συμβολοσειρά, που ονομάζεται «salt». Αυτό εφαρμόζεται στον κωδικό πρόσβασης πριν από τον hashing.

Σπάσιμο κωδικών πρόσβασης με το Hashcat

Μπορείτε να κατεβάσετε το Hashcat εδώ . Μπορεί να χρησιμοποιηθεί στο Kali Linux και είναι προεγκατεστημένο στο σύστημα. Διαθέτει τα ακόλουθα χαρακτηριστικά:

  • Είναι multi-threaded
  • Είναι multi-hash και για πολλαπλά λειτουργικά συστήματα (Linux, Windows και OSX)
  • Χρησιμοποιεί πολλούς αλγόριθμους (MD4, MD5, SHA1, DCC, NTLM, MySQL κ.λπ.)
  • Όλες οι λειτουργίες επίθεσης μπορούν να επεκταθούν με εξειδικευμένους κανόνες
  • Είναι δυνατό να συνεχίσετε ή να περιορίσετε τις συνεδρίες αυτόματα. Αναγνωρίζουν τα ανακτημένα hash από το αρχείο κατά την εκκίνηση
  • Μπορεί να φορτώσει μια λίστα salt από εξωτερικό αρχείο. Αυτό μπορεί να χρησιμοποιηθεί ως παραλλαγή επίθεσης brute-force
  • Ο αριθμός των threads μπορεί να ρυθμιστεί και να εκτελεστεί με βάση τη χαμηλότερη προτεραιότητα
  • Υποστηρίζει αρχεία hex-charset και hex-salt
  • Οι αλγόριθμοι 90+ μπορούν να εφαρμοστούν με γνώμονα την απόδοση και τη βελτιστοποίηση

Μια μικρή εργαστηριακή ρύθμιση για το πώς να σπάσετε έναν κωδικό πρόσβασης παρουσιάζεται στην επόμενη ενότητα. Μια επίθεση λεξικού θα προσομοιωθεί για ένα σύνολο hashes MD5 που δημιουργήθηκαν και αποθηκεύτηκαν αρχικά σε ένα αρχείο. Χρησιμοποιήθηκε η λίστα λέξεων «rockyou» που βρέθηκε στο Kali Linux.

Πώς να σπάσετε έναν κωδικό πρόσβασης μέσω μιας επίθεσης στο λεξικό

1. Δημιουργήστε ένα λεξικό με hashes MBD5

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

Αναλυτικά, στη συνέχεια θα εξάγονται σε ένα αρχείο που ονομάζεται “target_hashes.txt”. Κάθε εντολή πρέπει να εκτελείται στο τερματικό, όπως φαίνεται παρακάτω:

echo -n “Password” | md5sum | tr -d ” -” >> target_hashes.txt
echo -n “HELLO” | md5sum | tr -d ” -” >> target_hashes.txt
echo -n “MYSECRET” | md5sum | tr -d ” -” >> target_hashes.txt
echo -n “Test1234″ | md5sum | tr -d ” -” >> target_hashes.txt
echo -n “P455w0rd” | md5sum | tr -d ” -” >> target_hashes.txt
echo -n “GuessMe” | md5sum | tr -d ” -” >> target_hashes.txt
echo -n “S3CuReP455Word” | md5sum | tr -d ” -” >> target_hashes.txt

 

Η επιλογή -n καταργεί τη νέα γραμμή που προστέθηκε στο τέλος του “Κωδικού πρόσβασης”. Αυτό είναι σημαντικό καθώς δεν θέλουμε οι νέοι χαρακτήρες γραμμής να κατακερματίζονται με τον κωδικό πρόσβασής μας. Το τμήμα “tr –d ‘-‘” αφαιρεί τυχόν χαρακτήρες που είναι κενό ή παύλα από την έξοδο.

2. Ελέγξτε τις κατακερματισμούς κωδικού πρόσβασης

Για να γίνει αυτό, πρέπει να πληκτρολογήσουμε την ακόλουθη γραμμή εντολών στο τερματικό:

cat target_hashes.txt

Αυτό απεικονίζεται επίσης στον παρακάτω πίνακα:

root @ kali: ~ /Desktop # cat target_hashes.txt dc647eb65e6711e155375218212b3964 eb61eead90e3b899c6bcbe27ac581660 958152288f2d2303ae045cffc43a02cd 2c9341ca4cf3d87b9e4eb905d6a3ec45 75b71aa6842e450f12aca00fdf54c51d 031cbcccd3ba6bd4d1556330995b8d08 b5af0b804ff7238bce48adef1e0c213f

3. Ξεκινήστε το Hashcat στο Kali Linux

Το Hashcat μπορεί να ξεκινήσει στην κονσόλα Kali με την ακόλουθη γραμμή εντολών: hashcat -h .

Αυτό φαίνεται στο παρακάτω στιγμιότυπο οθόνης:

Μερικές από τις πιο σημαντικές επιλογές του hashcat είναι -m (το hashtype) και -a (attack mode). Σε γενικές γραμμές, πρέπει να χρησιμοποιήσουμε και τις δύο επιλογές στις περισσότερες προσπάθειες για το σπάσιμο ενός κωδικού πρόσβασης.

Το Hashcat έχει επίσης συγκεκριμένους κανόνες για χρήση σε ένα αρχείο λίστας λέξεων. Η λίστα χαρακτήρων μπορεί να προσαρμοστεί για να σπάσει τους κωδικούς πρόσβασης.

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

4. Επιλέξτε τη λίστα λέξεων

Το Kali Linux έχει πολλές ενσωματωμένες λίστες λέξεων. Για να τις βρείτε, χρησιμοποιήστε την παρακάτω γραμμή εντολών:

locate wordlists

Αυτό φαίνεται στην παρακάτω εικόνα:

Η λίστα λέξεων «rockyou» χρησιμοποιείται τώρα, όπως φαίνεται παρακάτω:

root @ kali: ~ / Desktop # locate rockyou.txt /usr/share/wordlists/rockyou.txt

5. Σπάσιμο των Hashes

Στο τελικό βήμα, μπορούμε να αρχίσουμε να σπάμε τα hashes που περιέχονται στο αρχείο target_hashes.txt . Θα χρησιμοποιήσουμε την παρακάτω γραμμή εντολών:

root @ kali: ~ / Desktop # hashcat -m 0 -a 0 -o cracked.txt target_hashes.txt /usr/share/wordlists/rockyou.txt

  • -m 0 προσδιορίζει τον τύπο κατακερματισμού που θα σπάσουμε (MD5)
  • -a 0 ορίζει επίθεση λεξικού
  • -o cracked.txt είναι το αρχείο εξόδου για τους κωδικούς πρόσβασης που έχουν καταστραφεί
  • Το target_hashes.txt είναι το αρχείο εισαγωγής κατακερματισμού
  • Το /usr/share/wordlists/rockyou.txt είναι η απόλυτη διαδρομή προς το αρχείο λίστας λέξεων για αυτήν την επίθεση στο λεξικό

6. Αποτελέσματα

root @ kali: ~ / Desktop # cat cracked.txt

dc647eb65e6711e155375218212b3964: Password

75b71aa6842e450f12aca00fdf54c51d: P455w0rd 

2c9341ca4cf3d87b9e4eb905d6a3ec45: test1234 

958152288f2d2303ae045cffc43a02cd: MySecret

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

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

Επιπλέον, υπάρχουν μερικά GUI που κάνουν το hashcat εύκολο στη χρήση. Το Hashview είναι ένα από αυτά τα project. Είναι ένα εργαλείο για επαγγελματίες ασφάλειας που βοηθούν στην οργάνωση και την αυτοματοποίηση των επαναλαμβανόμενων projects σπασίματος κωδικών πρόσβασης. Είναι μια web εφαρμογή που διαχειρίζεται τις εντολές Hashcat.

 

 

Sources

How to Crack Passwords, Part 3 (Using Hashcat), null-byte.wonderhowto.com

KALI – How to crack passwords using Hashcat – The Visual Guide, uwnthesis.wordpress.com

How to Crack MD5 Hashes Using hashcat, 4ARMED

Hashcat Tutorial – Bruteforce Mask Attack Example for Password Cracking, Cyber Pratibha

Palavras-passe e Honey Words, Segurança Informática

 


Διαβάστε τις Τεχνολογικές Ειδήσεις από όλο τον κόσμο, με την εγκυρότητα του iGuRu.gr

Ακολουθήσετε μας στο Google News iGuRu.gr at Google news