Πώς να χρησιμοποιήσετε το λογισμικό hashcat για να ανατινάξετε διάφορους κατακερματισμούς

Μηδέν, γνώση υπόβαθρου

1. Συνάρτηση κατακερματισμού

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

  • Μονοκατευθυντικότητα: Η έξοδος υπολογίζεται από την είσοδο είναι απλή και γρήγορη, αλλά η είσοδος από την έξοδο είναι μαθηματικά αδύνατη

  • Περιορισμός σύγκρουσης: Είναι εξαιρετικά δύσκολο να βρεθούν δύο διαφορετικές εισόδους με την ίδια έξοδο

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

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

2.hashcat

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

Με βάση αυτή την ιδέα, το hashcat δημιουργήθηκε. Λέγεται ότι το hashcat γεννήθηκε για να αποδείξει ότι η ανατίναξη του hash είναι πολύ απλή. Το hashcat ισχυρίζεται ότι είναι το ταχύτερο εργαλείο εκτόξευσης κατακερματισμού στον κόσμο και υποστηρίζει ακόμη και GPU και FGPA, αν έχετε.


Το hashcat δεν είναι μόνο γρήγορο, αλλά υποστηρίζει επίσης επαγγελματικά περισσότερες από διακόσιες λειτουργίες κατακερματισμού Χρησιμοποιήστε την εντολή:

hashcat --help

Μπορείτε να δείτε μια λίστα με όλες τις λειτουργίες κατακερματισμού που υποστηρίζονται από το hashcat Υπάρχουν πάρα πολλές, οπότε δεν θα τις δημοσιεύσω εδώ. Το hashcat είναι εγκατεστημένο από προεπιλογή στο

Kali και μπορεί να χρησιμοποιηθεί απευθείας.Αλλά το Kali μου είναι εγκατεστημένο στο VirtualBox και πάντα αισθάνομαι ότι οι εικονικές ευκαιρίες είναι πιο αργές, οπότε θέλω να χρησιμοποιήσω το hashcat στον φυσικό κεντρικό υπολογιστή. Πρώτα μεταβείτε στον επίσημο ιστότοπο του hashchat για να κατεβάσετε το hashcat Μέχρι στιγμής, η πιο πρόσφατη έκδοση είναι v3.5.0, η οποία κυκλοφόρησε στις 5 Απριλίου 2017. Από την ημερομηνία ενημέρωσης φαίνεται ότι το hashchat είναι γεμάτο ζωντάνια. Εξαλείφετε τον κόπο της μεταγλώττισης και κατεβάστε απευθείας το δυαδικό πακέτο, το οποίο είναι μόνο 2,7M, το οποίο είναι πολύ μικρό σε σύγκριση με ένα παιχνίδι που κοστίζει συχνά δεκάδες GB

Αφού ολοκληρωθεί η λήψη, αποσυμπιέστε το hashcat και δείτε:

, αντίστοιχα Για εκτελέσιμα αρχεία στο linux και στα windows κάτω από 32-bit και 64-bit, απλώς επιλέξτε ένα από αυτά ανάλογα με τις συνθήκες του υπολογιστή σας. Επέλεξα το hashcat64.bin Για λόγους ομορφιάς, πρόσθεσα μια γραμμή στο αρχείο ~/.bashrc:

alias hashcat='διαδρομή του hashcat64.bin '

Αφού αποθηκεύσετε, ανοίξτε ξανά το εικονικό τερματικό για να τεθεί σε ισχύ το αρχείο ~/.bashrc Με αυτόν τον τρόπο, ανεξάρτητα από το πού βρίσκεστε, μπορείτε απλώς να εισαγάγετε απευθείας την εντολή hashcat χωρίς να αλλάξετε τους καταλόγους ή να εισαγάγετε το άσχημο "64.bin", όπως φαίνεται στην παρακάτω εικόνα.

Εντάξει, τώρα μπορείτε να αρχίσετε να χρησιμοποιείτε το hashcat για να ανατινάξετε διάφορους κατακερματισμούς.

1. Blasting md5

Το md5 θα πρέπει να είναι μια από τις πιο διάσημες και ευρέως χρησιμοποιούμενες συναρτήσεις κατακερματισμού. Χρησιμοποιήστε πρώτα την Python για να δημιουργήσετε αρκετές τιμές md5 για εκτόξευση Ο κωδικός είναι ο εξής:

  import hashlib 
  Κωδικοί πρόσβασης = ['123123', 'bond007', 'xxxxxx', '*H@&(NT*@BR#^'] 
  για κωδικό πρόσβασης σε κωδικούς πρόσβασης: 
    md5 = hashlib.md5() 
    md5.update(κωδικός πρόσβασης) 
    print md5.hexdigest()

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

  4297f44b13955235245b2497399d7a93 
  cbdb7e2b1ed566ceb796af2df07205a3 
  dad3a37aa9d50688b5157698acfd7aee 
  d77db958c179bbffae04b2b908b75c26

Αποθηκεύστε το αποτέλεσμα εξόδου στο αρχείο md5.hash, μία τιμή hahs ανά γραμμή. Στη συνέχεια, χρησιμοποιήστε το hashcat για να ανατινάξετε αυτές τις τιμές κατακερματισμού Η εντολή είναι η εξής:

  hashcat -w 3 -a 0 -m 0 --αφαίρεση -o md5.out md5.hash wordlist.dic

Η παράμετρος -w χρησιμοποιείται για τον καθορισμό της λειτουργίας εργασίας Υπάρχουν τέσσερις τύποι, όπως φαίνεται στον παρακάτω πίνακα:

NPerformanceRuntimePower ConsumptionDesktop Impact
1Low2 msLowMinimal
2Default12 msΟικονομικόΑισθητό
3High96 msHighUnresponsive
4Nightmare480 msInsaneHeadless

Η παράμετρος -a χρησιμοποιείται για τον καθορισμό της λειτουργίας επίθεσης. Η έννοια του 0 είναι άμεση και συνεχής, δηλαδή εκτόξευση με λεξικό κωδικού πρόσβασης. Η τιμή του -a Υπάρχουν πέντε τύποι, όπως φαίνεται στον παρακάτω πίνακα:

NMode
0ευθεία
1συνδυασμός
3Brute-force
6Υβριδική λίστα λέξεων + μάσκα
7υβριδική μάσκα + λίστα λέξεων

-m Η συνάρτηση κατακερματισμού που χρησιμοποιείται για τον καθορισμό της τιμής κατακερματισμού που πρόκειται να εκραγεί, 0 σημαίνει ότι η συνάρτηση κατακερματισμού είναι md5, άλλες Οι τιμές φαίνονται στον παρακάτω πίνακα:

NNameCategory
0MD5Raw Hash
300MySQL4.1/MySQL5Διακομιστής βάσης δεδομένων
1000NTLMΛειτουργικά συστήματα
1800sha512crypt $6$, SHA512 (Unix)Λειτουργικά συστήματα
2611vBulletin < v3.8.5Φόρουμ, CMS, ηλεκτρονικό εμπόριο, πλαίσια

Αυτός ο πίνακας είναι πολύ μεγάλος. Θα δείξω μόνο μερικές λειτουργίες κατακερματισμού που εμπλέκονται σε αυτό το άρθρο. Η παράμετρος

– αφαίρεση σημαίνει ότι εάν μια συγκεκριμένη τιμή κατακερματισμού εκραγεί με επιτυχία, η τιμή θα αφαιρεθεί από το md5.hash.

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

md5.hash και wordlist.dic είναι οι τιμές κατακερματισμού και το λεξικό κωδικού πρόσβασης που πρόκειται να εκραγούν αντίστοιχα. Το περιεχόμενο στο md5.hash έχει υπολογιστεί από την Python Εάν δεν έχετε κατάλληλο λεξικό κωδικού πρόσβασης, μπορείτε να χρησιμοποιήσετε την εντολή:

  wget -O wordlist.dic https://samsclass.info/123/proj10/500_passwords.txt

下载一个。现在完事具备,按下回车,结果华丽地报错:(

  clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR

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

  sudo apt-get install gcc make p7zip-full git lsb-core 
  wget http://registrationcenter-download.intel.com/akdlm/irc_nas/9019/opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz 
  tar -xvf opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz 
  cd opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25 
  sudo ./install.sh

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

  /sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic σύνδεσμος 
  /sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic  σύνδεσμος

αλλά δεν φαίνεται να επηρεάζει τίποτα, απλά αγνοήστε το. Μετά την εγκατάστασή τους, πατήστε ξανά το Enter για να εκτελέσετε την αρχική εντολή σφάλματος και διαπιστώσατε ότι δεν υπήρχε άλλο σφάλμα και η εκτέλεση ολοκληρώθηκε εν ριπή οφθαλμού. Μετά την εκτέλεση της εντολής, ελέγξτε τα περιεχόμενα των αρχείων md5.hash και md5.out και διαπιστώστε ότι έχει απομείνει μόνο ένας κατακερματισμός στο md5.hash Οι τρεις κατακερματισμοί που έχουν εκραγεί με επιτυχία έχουν μεταφερθεί στο αρχείο md5.out Οι τρεις κατακερματισμοί στο md5.out είναι οι τιμές κατακερματισμού και οι αρχικές τους τιμές φαίνονται στο παρακάτω σχήμα:

2. Εκρηκτική κατακερματισμός του κωδικού πρόσβασης σύνδεσης των Windows 7

Η τιμή κατακερματισμού του κωδικού πρόσβασης σύνδεσης των Windows αποθηκεύεται στο αρχείο SAM, το οποίο είναι η συντομογραφία του "security account manager". Συνήθως, βρίσκεται στη διεύθυνση

  C:\Windows\system32\config\SAM

Το αρχείο SAM προστατεύεται από τα Windows και δεν μπορεί να διαβαστεί απευθείας απαιτεί τη βοήθεια εργαλείων, όπως το SAMInside. Βρείτε μια εικονική μηχανή Windows 7, δημιουργήστε έναν νέο χρήστη διαχειριστή που ονομάζεται hashcat και ορίστε έναν κωδικό πρόσβασης, κατεβάστε και αποσυμπιέστε το SAMInside στα Windows 7 και εκτελέστε το με δικαιώματα διαχειριστή και, στη συνέχεια, κάντε κλικ στο File->Import Local Users vis Scheduler, όπως φαίνεται στην παρακάτω εικόνα: Το SAMInside μπορεί να "δεν ανταποκρίνεται" μετά από

, αλλά δεν έχει σημασία, περιμένετε υπομονετικά μερικά δευτερόλεπτα και το SAMInside ανταποκρίνεται στις προσδοκίες και διαβάζει τον κατακερματισμό που θέλουμε, όπως φαίνεται στην παρακάτω εικόνα:

Επιλέξτε τον χρήστη "hashcat" του οποίου θέλουμε να σπάσουμε τον κωδικό πρόσβασης, πατήστε Ctrl+5 για να αντιγράψετε το NT-hash και, στη συνέχεια, επιστρέψτε στο Ubuntu όπου είναι εγκατεστημένο το hashcat, χρησιμοποιήστε την ακόλουθη εντολή για να αποθηκεύσετε την αντιγραμμένη τιμή κατακερματισμού στο αρχείο win7.hash:

  echo 356ceae0c89fbb19} 
  356ceae0c89fb65ed6d6aa7a445c4ce5:rush2112

Για να λάβετε το αρχείο SAM, ανατρέξτε στο "Πώς να εξάγετε τη σειρά κατακερματισμών Windows 1". Τα παρακάτω καταγράφουν τη διαδικασία ανάγνωσης του αρχείου SAM στην εικονική μηχανή Windows 7.

Εάν πρόκειται για φυσικό μηχάνημα, χρησιμοποιήστε το Win PE για να εκκινήσετε το μηχάνημα και να διαβάσετε το αρχείο SAM στο δίσκο. Το δικό μου είναι μια εικονική μηχανή. Μπορείτε να διαβάσετε τα αρχεία στον εικονικό δίσκο τοποθετώντας το αρχείο εικονικού δίσκου στο σύστημα αρχείων. Η εικονική μηχανή που χρησιμοποιώ είναι το VirtualBox, το οποίο μπορεί να γίνει χρησιμοποιώντας την εντολή vdfuse. Εάν δεν έχετε vdfuse, πρέπει πρώτα να εγκαταστήσετε το virtualbox-fuse:

  sudo apt-get install virtualbox-fuse

Μπορείτε επίσης να κατεβάσετε το πακέτο εγκατάστασης του virtualbox-fuse εγκαταστήστε μόνοι σας.

Μετά την ολοκλήρωση της εγκατάστασης, υπάρχει η εντολή vdfuse και μπορείτε να ξεκινήσετε τη χαρτογράφηση και την τοποθέτηση εικονικού δίσκου:

  mkdir -p ~/vmdisk 
  sudo vdfuse -t vmdk -f Win7Pro32.vmdk ~/vmdisk/

Μετά την εκτέλεση αυτού του βήματος, δείτε τον κατάλογο ~/vmdisk, ο οποίος έχει τρία αρχεία: EntireDisk, Partition1 και Partition2, δημιουργήστε έναν νέο κατάλογο:

  mkdir -p ~/vmdisk_en 
  mkdir -p ~/vmdisk_1 
  mkdir -p ~/vmdisk_2

Χρησιμοποιήστε την εντολή mount για να τοποθετήσετε τα τρία αρχεία EntireDisk, Partition1 και Partition2 αντίστοιχα:

  sudo mount ~/vmdisk/EntireDisk   ~/vmdisk_en 
  sudo mount ~/vmdisk/Partition1   ~/vmdisk_1 
  sudo mount ~/vmdisk/Partition2   ~/vmdisk_2

Διαπιστώθηκε ότι η τοποθέτηση του ολόκληρου του δίσκου απέτυχε, το περιεχόμενο στο Partition1 δεν είναι αυτό που ήθελα, το Partition2 είναι το αρχείο από την εικονική μηχανή των Windows 7, ακριβώς αυτό που ήθελα. Αντιγράψτε το αρχείο SAM προορισμού μας από το vmdisk_fs:

  cp ~/vmdisk_2/Windows/System32/config/SAM ./

Παρεμπιπτόντως, αντιγράψτε επίσης το αρχείο συστήματος:

  cp ~/vmdisk_2/Windows/System32/config/SYSTEM ./

Ελέγξτε τα περιεχόμενα του αρχείου SAM, όπως φαίνεται στην παρακάτω εικόνα, δεν είναι απλό αρχείο κειμένου, είναι πράγματι το στυλ των Windows,

Λοιπόν, αν και το αρχείο SAM άνοιξε με επιτυχία, ακόμα δεν έχουμε λάβει τον κατακερματισμό, τι πρέπει να κάνουμε στη συνέχεια; Το περιεχόμενο του αρχείου SAM μπορεί να αναλυθεί μόνο με τη βοήθεια του εργαλείου. Βάλτε τόσο το αρχείο sam όσο και το αρχείο συστήματος στο Kali και εκτελέστε την εντολή:

  samdump2 -o sam.hash SYSTEM sam

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

   Όνομα χρήστη: RID: LM-hash value: NTLM-hash value 

Σημειώστε ότι αυτή η μορφή είναι η μορφή εξόδου εντολής samdump2 και όχι "μορφή κωδικού πρόσβασης κατακερματισμού κάτω από τα Windows".

3. Ανατινάξτε τον κατακερματισμό κωδικού πρόσβασης σύνδεσης linux

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

  sudo adduser justforfun

Η τιμή κατακερματισμού του κωδικού πρόσβασης σύνδεσης χρήστη στο linux αποθηκεύεται στο αρχείο /etc/shadow (σημείωση: όχι /etc/passwd Χρησιμοποιήστε την ακόλουθη εντολή για να δείτε την τιμή κατακερματισμού του κωδικού πρόσβασης σύνδεσης του νέου χρήστη:

test@test-VirtualBox:~$ sudo tail -n 1 /etc/shadow 
justforfun:$6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0:17373:0:99999:7:::

Η εντολή tail χρησιμοποιείται για την ανάγνωση των τελευταίων γραμμών ενός αρχείου, η προεπιλογή είναι 10 γραμμές, χρησιμοποιήστε την παράμετρο -n για να καθορίσετε τον αριθμό των γραμμών. Ο νέος χρήστης που μόλις δημιουργήσαμε βρίσκεται φυσικά στην τελευταία γραμμή, επομένως διαβάζεται με tail -n 1. Το αποτέλεσμα που διαβάζετε είναι τα δεδομένα χωρισμένα με ":" Το πρώτο μέρος είναι το όνομα χρήστη "justforfun" και το δεύτερο μέρος είναι η τιμή κατακερματισμού του κωδικού πρόσβασης. Εστιάζουμε στο δεύτερο μέρος. Το "$6$" που ξεκινά με το

σημαίνει ότι ο τύπος της χρησιμοποιούμενης συνάρτησης κατακερματισμού είναι SHA-512 Εκτός από το "$6$", στο linux, το "$1$" αναφέρεται στο MD5 και το "$2a$". αναφέρεται στο Blowfish, το "$2y$" αναφέρεται στο Blowfish (σωστός χειρισμός χαρακτήρων 8 bit), "$5$" Αναφέρεται στο SHA-256, ανατρέξτε στη Wikipedia:passwd για λεπτομέρειες. Επιπλέον, το αρχείο /etc/login.defs περιγράφει επίσης τον αλγόριθμο κατακερματισμού.

Το τμήμα "0fokwg59" από την αρχή του "$6$" μέχρι το επόμενο "$" είναι αλάτι. Τι είναι το αλάτι; Η Baidu γνωρίζει ότι η απάντηση του CNB2009 στην ερώτηση " Ποια είναι η τιμή αλατιού md5 " είναι απλή και κατανοητή:

Με απλά λόγια, είναι ένας τρόπος για να κάνετε τον ίδιο κωδικό πρόσβασης να έχει διαφορετικές τιμές κατακερματισμού Το μέσο είναι η αλάτωση. Το ίδιο το MD5 είναι μη αναστρέψιμο, αλλά υπάρχουν επί του παρόντος πολλές βάσεις δεδομένων στο Διαδίκτυο που υποστηρίζουν αντι-ερωτήματα Εάν η βάση δεδομένων κωδικού πρόσβασης χρήστη διαρρεύσει κατά λάθος, οι χάκερ μπορούν να λάβουν τον κωδικό πρόσβασης χρήστη μέσω αντι-ερωτήματος ή να λάβουν κωδικούς κατακερματισμού που εμφανίζονται συχνότερα στη βάση δεδομένων. (δηλαδή, χρησιμοποιείται από πολλούς ανθρώπους) για βίαιο σπάσιμο (επειδή είναι συνήθως αδύναμος κωδικός πρόσβασης). Η τιμή αλατιού είναι μια πρόσθετη τυχαία τιμή που προστίθεται κατά τη διαδικασία κατακερματισμού κωδικού πρόσβασης Για παράδειγμα, το αναγνωριστικό μου είναι 123456 και ο κωδικός πρόσβασης είναι 123456. Όταν αποθηκεύεται στη βάση δεδομένων, μπορώ να εκτελέσω κατακερματισμό στη συμβολοσειρά "123456/123456/ Με αυτόν τον τρόπο, όταν ένας άλλος ηλίθιος κωδικός πρόσβασης είναι 123456, μπορείτε ακόμα να κατασκευάσετε διαφορετικές τιμές κατακερματισμού και να επαληθεύσετε με επιτυχία. Αυτή τη στιγμή, το αναγνωριστικό μου χρησιμοποιείται ως τιμή αλατιού για να εκτελέσει σύνθετο κατακερματισμό του κωδικού πρόσβασης. Λοιπόν. . Ο ρόλος της τιμής αλατιού είναι να μειώσει τις απώλειες που προκαλούνται από διαρροές βάσεων δεδομένων. Εάν το RP σας είναι πολύ καλό και μαντέψετε σωστά ότι ο κωδικός πρόσβασής μου είναι 123456, δεν μπορώ να σας σταματήσω

Αυτή η απάντηση είναι για το md5 και το ίδιο ισχύει για άλλες λειτουργίες κατακερματισμού. Το μέρος μετά το αλάτι είναι η τιμή κατακερματισμού. Τώρα αντιγράψτε ολόκληρο το δεύτερο μέρος στο αρχείο linux.hash Το περιεχόμενο στο linux.hash θα πρέπει να είναι:

 $6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0

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

  hashcat -w 3 -a 0 -m 1800 --αφαίρεση -o linux.out linux.hash wordlist.dic

Μετά από λίγο, η ανατίναξη ολοκληρώνεται, δείτε τα αποτελέσματα:

werner@Yasser:~/hashcat$ cat linux.out 
$6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0:4321

Μπορεί να φανεί ότι η ανατίναξη ήταν επιτυχής.

4. Ανατινάξτε τον κωδικό πρόσβασης σύνδεσης Mysql hash

Πρώτα απ 'όλα, πρέπει να έχετε Mysql. Τυχαίνει να το έχω στην εικονική μου μηχανή. Η Baidu γνωρίζει ότι η τιμή κατακερματισμού του κωδικού πρόσβασης σύνδεσης Mysql είναι αποθηκευμένη στο αρχείο user.MYD. Πού είναι το αρχείο user.MYD; Ούτε εγώ ξέρω, οπότε απλά ψάξτε για αυτό:

  test@test-VirtualBox:~$ sudo find / -name user.MYD 
  /var/lib/mysql/mysql/user.MYD

Βρέθηκε στο /var/lib/mysql/mysql/user.MYD, δείτε το περιεχόμενο του αρχείου:

  sudo cat /var/lib/mysql/mysql/user.MYD

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

  6B825255FB466413D6B1B724644E23428C94BBCB

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

 { }{

}

Μετά από λίγη στιγμή, η ανατίναξη ολοκληρώθηκε, δείτε τα αποτελέσματα:

  werner@Yasser:~/hashcat$ cat mysql.out 
  6b825255fb466413d6b1b724644e23428c94bbcb:viper

Μπορεί να φανεί ότι η ανατίναξη ήταν επιτυχής.

5. Ανατινάξτε το Discuz! Κωδικός πρόσβασης φόρουμ

Discuz! Είναι ένα γνωστό πρόγραμμα φόρουμ php στην Κίνα και χρησιμοποιείται ευρέως. Τώρα ας ανατινάξουμε το Discuz! Η τιμή κατακερματισμού του κωδικού πρόσβασης χρήστη. Πρώτα πρέπει να βρείτε την τιμή κατακερματισμού Πού να τη βρείτε; Από το Discuz βέβαια! στη βάση δεδομένων.

Μπορεί να συζητηθεί! Πού είναι η βάση δεδομένων; Έτσι το έλυσα, κατεβάστε την πιο πρόσφατη έκδοση του Discuz από τον επίσημο ιστότοπό του! Πηγαίος κώδικας, εκτελέστε την εγκατάσταση και πάρτε το Discuz! Βάση δεδομένων :smile:

Discuz! Το προεπιλεγμένο όνομα βάσης δεδομένων είναι ultrax και ο πίνακας pre_ucenter_members αποθηκεύει την τιμή κατακερματισμού του κωδικού πρόσβασης σύνδεσης "pre_" είναι το προεπιλεγμένο πρόθεμα και μπορεί να αλλάξει κατά την εγκατάσταση. Χρησιμοποιήστε την ακόλουθη εντολή sql για να αναζητήσετε την τιμή κατακερματισμού του κωδικού πρόσβασης σύνδεσης:

  select password,salt from pre_ucenter_members; 

Αποθηκεύστε την τιμή κατακερματισμού και την τιμή αλατιού στο αρχείο:

  echo 69bcba126b93c6f397983629a0f70553:c13fd9 > discuz.hash

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

  hashcat -w 3 -a 0 -m 2611 --remove -o discuz.out discuz.hash wordlist.dic

Μετά από λίγη στιγμή, η ανατίναξη ολοκληρώθηκε, δείτε τα αποτελέσματα:

  werner@Yasser:~/hashcat$ cat discuz.out 
  69bcba126b93c6f397983629a0f70553:c13fd9:winter

Μπορεί να φανεί ότι η ανατίναξη ήταν επιτυχής.

6. Μεγάλη δοκιμή λεξικού

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

Υπολογίστε πρώτα την τιμή md5:

  import hashlib 
  md5 = hashlib.md5() 
  md5.update("werner123456!!!") 
  print md5.hexdigest()

Η έξοδος είναι:

  b17133f9abff287ed0546c1af2b171f7

Στη συνέχεια επιλέξτε ένα λεξικό μεγέθους 10,5G που περιέχει 940 εκατομμύρια κωδικούς πρόσβασης, ξεκινήστε να ανατινάξετε:

  hashcat -w 3 -a 0 -m 0 --remove -o big.out b17133f9abff287ed0546c1af2b171f7 big.dic

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

  Started: Wed Jul 26 22:55:27 2017 
  Stopped: Wed Jul 26 23:02:28 2017

Αποδείχθηκε ότι χρειάστηκε μόνο 7 λεπτά! Νόμιζα ότι θα χρειαστούν 7 ώρες, 60 φορές πιο γρήγορα από ό,τι περίμενα! Είναι λυπηρό το γεγονός ότι η τιμή κατακερματισμού δεν καταρρίφθηκε με επιτυχία Φαίνεται ότι το "werner123456!!!" δεν βρίσκεται στο λεξικό κωδικών πρόσβασης. Φαίνεται ότι πρέπει να ετοιμάσω ένα λεξικό κωδικών πρόσβασης 100G, αλλά είναι πολύ άβολο να αποθηκεύσω και να μεταφέρω ένα τόσο μεγάλο λεξικό. Δεν υπάρχει άλλος τρόπος; Φυσικά, θυμάστε τη λειτουργία επίθεσης; Χρησιμοποιούμε τη λειτουργία "Straight". Στη συνέχεια, ας μελετήσουμε αρκετές άλλες λειτουργίες.

7. Περίληψη

Για να χρησιμοποιήσετε το hashcat για να ανατινάξετε τον κατακερματισμό, το πρώτο πράγμα είναι να βρείτε τον κατακερματισμό Διαφορετικά συστήματα και διαφορετικά λογισμικά έχουν διαφορετικές τοποθεσίες αποθήκευσης κατακερματισμού και πρέπει να βρείτε με ακρίβεια την τιμή κατακερματισμού. Το δεύτερο είναι να κρίνετε σωστά τον τύπο κατακερματισμού, να προσδιορίσετε εάν το hashcat υποστηρίζει αυτό το είδος κατακερματισμού και να επιλέξετε τη σωστή παράμετρο -m, διαφορετικά είναι σχεδόν αδύνατο να πετύχετε. Το τρίτο είναι ότι το λεξικό κωδικού πρόσβασης είναι καλύτερο Το αν μπορεί τελικά να ανατινάξει με επιτυχία εξαρτάται από το λεξικό. Αν και το λεξικό κωδικού πρόσβασης δεν είναι μεγαλύτερο, τόσο το καλύτερο, είναι πάντα καλύτερο να είναι μεγαλύτερο το hashcat είναι επίσης γνωστό για την ταχύτητά του. Εδώ είναι ένα καλύτερο λεξικό: Προηγούμενες πόρτες διαρροής + συλλογή λεξικών αδύναμων κωδικών πρόσβασης που χρησιμοποιούνται συνήθως. 7Z, ο κωδικός πρόσβασης αποσυμπίεσης είναι: anywlan. Επιπλέον, εάν συλλέξετε πολλά μικρά λεξικά, μπορείτε να συγχωνεύσετε, να ταξινομήσετε και να αντιγράψετε τα μικρά λεξικά για να αποκτήσετε ένα μεγάλο λεξικό για τη διευκόλυνση της ανατίναξης hashcat. Εάν το μικρό λεξικό βρίσκεται στον ίδιο κατάλογο, μπορείτε να το κάνετε χρησιμοποιώντας μια εντολή:

    cat * | sort | uniq > Merge.dic

Τι γίνεται αν το μικρό λεξικό οργανωθεί ανά κατηγορία και διανεμηθεί σε πολυεπίπεδο κατάλογο; Η χρήση μόνο της εντολής cat προφανώς δεν αρκεί, αλλά στην πραγματικότητα χρειάζεται μόνο μία εντολή Υποθέτοντας ότι όλα τα μικρά λεξικά είναι αποθηκευμένα στον κατάλογο MyDictionary, η εντολή μπορεί να γραφτεί ως εξής:

  .   find ./MyDictionary -type f -exec cat {} \;  | sort | uniq > Merge.dic

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

Τελευταία άρθρα

Καρφιτσωμένο άρθρο

  • Focus on Word, Excel, PPT, PDF, RAR, ZIP, 7Z, Compressed File, Office Encrypted File Unlock Decryption
  • We provide users with high-quality file compression password recovery, PDF unlocking, and Word password recovery services.
  • Copyright © Document Password Recovery Master Online Decryption Platform