hashcat Αρκετοί τρόποι επίθεσης hashcat

Το hashcat έχει πολλές λειτουργίες επίθεσης Χρησιμοποιήστε την παράμετρο – βοήθεια για να δείτε την πλήρη βοήθεια. Μπορείτε να δείτε τον πίνακα "Attack Modes", όπως φαίνεται παρακάτω:

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

1.Straight

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

Παράδειγμα:

  hashcat -a 0 -m 400 example400.hash  example.dict

2.Combination

Η Baidu μου είπε ότι ο συνδυασμός είναι ουσιαστικό, που σημαίνει: "συνδυασμός, ένωση, συνδυασμός κωδικών πρόσβασης, φόρμα". Αυτή η λειτουργία επίθεσης είναι στην πραγματικότητα πολύ απλή, δηλαδή συνδυάζοντας το περιεχόμενο δύο λεξικών κωδικών πρόσβασης. Η χρήση αυτής της λειτουργίας επίθεσης απαιτεί τον καθορισμό δύο λεξικών κωδικών πρόσβασης. Ας υποθέσουμε ότι έχουμε δύο λεξικά κωδικών πρόσβασης dict1.txt και dict2.txt, τα περιεχόμενα των οποίων είναι:

  κυνήγι 
  Κίτι 
  Ουράνιο τόξο

και

  Παρίσι 
  rock

Τότε η εντολή:

  hashcat -m 0 -a 1 hash.txt dict1.txt dict2.txt

Το λεξικό που στην πραγματικότητα δοκιμάστηκε είναι:

  huntingparis 
  Χάντινγκροκ 
  kittyparis 
  Γατάροκ 
  ουράνιο τόξο Παρίσι 
Οι λέξεις στο   rainbowrock

dict1.txt είναι στα αριστερά και οι λέξεις στο dict2.txt είναι στα δεξιά, συνολικά 3×2=6.

Οι παράμετροι που σχετίζονται με αυτό το μοτίβο είναι:

  -j, --κανόνας-αριστερά 
Ο κανόνας μετά το   -k, --rule-right

-j ενεργεί στα αριστερά και ο κανόνας μετά το -k ενεργεί στα δεξιά, όπως η προσθήκη της παραμέτρου -j '$- ', τότε το πραγματικό λεξικό που δοκιμάστηκε είναι:

  hunting-paris 
  κυνηγετικό βράχο 
  kitty-paris 
  kitty-rock 
  βροχή-τόξοΠαρίσι 
  rain-bowrock

Προσθήκη παραμέτρων -j '^!', Το πραγματικό λεξικό που δοκιμάστηκε είναι:

  ! κυνηγιοΠαρίσι 
  ! Χάντινγκροκ 
  ! kittyparis 
  ! Κίττιροκ 
  ! ουράνιο τόξο Παρίσι 
  ! rainbowrock

Προσθέστε την παράμετρο -k '^>', τότε το πραγματικό λεξικό που δοκιμάστηκε είναι:

  κυνήγι>Παρίσι 
  κυνήγι>βράχος 
  kitty>Παρίσι 
  kitty>Βράχος 
  βροχή>τόξοΠαρίσι 
  rain>bowrock

Ποιος είναι ο κανόνας; Οι χρήσεις των "$" και "^" είναι παρόμοιες με τις κανονικές εκφράσεις, άρα είναι κανονικές; Στην πραγματικότητα, όχι, οι κανόνες του hashcat εφαρμόζονται μόνοι σας, κάτι που είναι ένα άλλο μεγάλο κομμάτι περιεχομένου Για λεπτομέρειες, ανατρέξτε στην επίθεση που βασίζεται σε κανόνες

3.Brute-force

. Δοκιμάστε διάφορους συνδυασμούς ενός δεδομένου συνόλου χαρακτήρων. Σύμφωνα με το επίσημο wiki του hashcat, αυτή η μέθοδος είναι ξεπερασμένη και έχει αντικατασταθεί πλήρως από το Mask-Attack, επομένως δεν υπάρχει έρευνα

4.Mask Attack

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

  hashcat -a 3 -m 0 md5.hash ; Λ; Λ; Λ; Λ; l

Αν και σύμφωνα με τον πίνακα "Λειτουργίες επίθεσης", το -A 3 αντιστοιχεί σε ωμή βία, στην πραγματικότητα, το -A 3 χρησιμοποιεί επίθεση μάσκας. Η επίθεση μάσκας μπορεί να θεωρηθεί ως προηγμένη ωμή δύναμη. Η παράμετρος

-m χρησιμοποιείται για τον καθορισμό του τύπου συνάρτησης κατακερματισμού και η τιμή md5 αποθηκεύεται στο αρχείο md5.hash. Το κλειδί είναι η τελευταία συμβολοσειρά "? l? l? l? l? l? l? l", η οποία ονομάζεται μάσκα.

Μια μάσκα είναι μια συμβολοσειρά που αποτελείται από πολλά κράτη θέσης. Το "?l" είναι ένα κράτημα θέσης, όπου το "?" είναι μια λέξη-κλειδί, η οποία χρησιμοποιείται για την τροποποίηση του επόμενου "l" μαζί αντιπροσωπεύει ένα σύνολο χαρακτήρων "?u", "?d", "?h", "?h", "?s", "?a" και "?b", που αντιπροσωπεύουν το σύνολο χαρακτήρων όπως φαίνεται στον παρακάτω πίνακα.

0 – 0xff
? Charset
labcdefghijklmnopqrstuvwxyz
uABCDEFGHIJKLMNOPQRSTUVWXYZ
d0123456789
h0123456789abcdef
h0123456789ABCDEF
s! "#$%&'()*+,-./:;<=>?@[\]^_`~{|}
a; Λ; Εσύ; Δ; s
b

Με αυτόν τον τρόπο, καταλαβαίνουμε, "?l ?l" είναι στην πραγματικότητα ισοδύναμο με το λεξικό κωδικών πρόσβασης:

aaaaa 
ΑΑΑΑΒ 
... 
zzzzz

Με τον ίδιο τρόπο, το "?l?u?d" ισοδυναμεί με λεξικό κωδικού πρόσβασης:

  aA0 
  ΑΑ1 
  ... 
  ΒΑ0 
  ... 
  zZ9

Το σύνολο χαρακτήρων στον παραπάνω πίνακα είναι ενσωματωμένο στο hashcat Μπορούμε επίσης να καθορίσουμε το σύνολο χαρακτήρων μόνοι μας:

  --custom-charset1=σύνολο χαρακτήρων 1 
  --custom-charset2=σύνολο χαρακτήρων 2 
  --custom-charset3=σύνολο χαρακτήρων 3 
  --custom-charset4=Σύνολο χαρακτήρων 4

Παράμετρος –custom-charsetN μπορεί να συντομογραφηθεί ως -N, για παράδειγμα, το –custom-charset1 μπορεί να συντομογραφηθεί ως -1. Το σύνολο χαρακτήρων που καθορίζεται με -N καθορίζεται στη μάσκα με τη μορφή κράτησης θέσης "?N", όπως:

  -1 abc123 ? 1? 1? 1 

ισοδυναμεί με λεξικό κωδικού πρόσβασης:

     aaa 
  ΑΑΒ 
  ... 
  ΑΑ3 
  ... 
Εκτός από τη συμβολοσειρά που αντιπροσωπεύει το σύνολο χαρακτήρων, το   333

-N μπορεί επίσης να είναι ένα αρχείο που τελειώνει σε .hcchr και το σύνολο χαρακτήρων είναι αποθηκευμένο στο αρχείο. Το hashcat συνοδεύεται από πολλά αρχεία .hcchr, που βρίσκονται στον κατάλογο charsets/του πακέτου εγκατάστασης.

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

  awerner0 
  awerner1 
  ... 
  zwerner9

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

Ας υποθέσουμε ότι γνωρίζουμε ότι ο κωδικός πρόσβασης κάποιου έχει συνολικά 7 ψηφία, το πρώτο ψηφίο είναι κεφαλαίο γράμμα, τα επόμενα 3 ψηφία είναι πεζά γράμματα και τα τελευταία 3 ψηφία είναι αριθμοί. Εάν πρόκειται για παραδοσιακό βίαιο πυρόλυμα, απαιτούνται σύνολα χαρακτήρων A-Z, A-Z και 0-9, συνολικά 62 χαρακτήρες, και απαιτούνται προσπάθειες έως και 62^7=3 521 614 606 208 φορές, που είναι επίπεδο τρισεκατομμυρίων. Όταν χρησιμοποιείτε μάσκα για να περιγράψετε αυτόν τον κωδικό πρόσβασης, είναι "\u\l\l\l\d\d\d", ο οποίος είναι εύκολος στον υπολογισμό Υπάρχουν συνολικά (26^4)×(10^3)=456 976000 δυνατότητες, που είναι δισεκατομμύρια επίπεδο, 4 τάξεις μεγέθους μικρότερο από την προηγούμενη μέθοδο.

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

Το πρόβλημα τώρα είναι ότι η μάσκα είναι σταθερή, πόσα κράτη θέσης είναι γραμμένα νεκρά και τι πρέπει να κάνουμε αν δεν γνωρίζουμε το μήκος του κωδικού πρόσβασης; Δεν πειράζει αν ο κωδικός πρόσβασης είναι πολύ μεγάλος Εάν ο κωδικός πρόσβασης κάποιου άλλου έχει μόνο 3 ψηφία και έχουμε 4 κράτες θέσης και δεν μπορούμε να το λύσουμε, δεν θα ήταν μεγάλη απώλεια; Πρέπει να ξεκινήσουμε από το 1 και να γράψουμε όλες τις μάσκες κάθε μήκους; Πόσο ενοχλητικό είναι αυτό.

Υπάρχουν δύο λύσεις Η μία είναι να χρησιμοποιήσετε ένα αρχείο μάσκας, να γράψετε πολλές μάσκες σε ένα αρχείο και, στη συνέχεια, να καθορίσετε αυτό το αρχείο στη γραμμή εντολών. Σημειώστε ότι το αρχείο μάσκας πρέπει να τελειώνει με .hcmask.

Για παράδειγμα, το περιεχόμενο του test.hcmask είναι:

  ; Λ 
  ? Λ; Λ 
  ? Λ; Λ; Λ 
  ? Λ; Λ; Λ; l

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

  hashcat -m 0 -a 3  --show md5.hash test.hcmask

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

  a:0cc175b9c0f1b6a831c399e269772661 
  b:92eb5ffee6ae2fec3ad71c777531578f 
  c:4a8a08f09d37b73795649038408b5f33 
  ab:187ef4436122d1cc2f40dc2b92f0eba0 
  ac:e2075474294983e013ee4dd2201c7a73 
  ba:07159c47ee1b19ae4fb9c40d480856c4 
  bc:5360af35bde9ebd8f01f492dc059593c 
  ca:5435c69ed3bcc5b2e4d580e393e373d3 
  cb:d0d7fdb6977b26929fb68c6083c0b439 
  abc:900150983cd24fb0d6963f7d28e17f72 
  abc:900150983cd24fb0d6963f7d28e17f72 
  bac:79ec16df80b57696a03bb364410061f3 
  bca:b64eab8ce39e013604e243089c687e4f 
  cba:3944b025c9ca7eec3154b44666ae04a0 
  cab:16ecfd64586ec6c1ab212762c2c38a90

Πριν από το ":" είναι η αρχική συμβολοσειρά για τον υπολογισμό της τιμής κατακερματισμού και μετά το ":" είναι η υπολογιζόμενη τιμή hasn. Αποθηκεύστε το παραπάνω περιεχόμενο στο αρχείο md5.hash και, στη συνέχεια, εκτελέστε την ακόλουθη εντολή:

  hashcat -m 0 -a 3 --show --username md5.hash abc

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

Το αποτέλεσμα της εκτέλεσης είναι ότι λύθηκε μόνο ένας κατακερματισμός:

  900150983cd24fb0d6963f7d28e17f72:abc

Τώρα προσθέστε την παράμετρο –increment και εκτελέστε ξανά:

  hashcat -m 0 -a 3 --show --increment --username md5.hash abc

Αυτή τη φορά, επιλύθηκαν δύο ακόμη κατακερματισμοί:

  0cc175b9c0f1b6a831c399e269772661:a 
  187ef4436122d1cc2f40dc2b92f0eba0:ab

ορατό, παίζει ρόλο η –αύξηση. Αλλά ταυτόχρονα, γνωρίζουμε επίσης ότι με αυτήν την παράμετρο, το hashcat θα δοκιμάσει μόνο τα A, ab και abc με τη σειρά και δεν θα τακτοποιήσει και θα συνδυάσει τα κράτη θέσης χωρίς σειρά για να δοκιμάσει διάφορες δυνατότητες.

5. Υβριδική επίθεση

Η υβριδική επίθεση είναι παρόμοια με την επίθεση συνδυασμού συνδυάζει δύο λεξικά, ενώ η υβριδική επίθεση συνδυάζει ένα λεξικό και μια μάσκα.

Ας υποθέσουμε ότι έχουμε ήδη ένα λεξικό example.dict, το οποίο έχει ως εξής:

  Γεια σας 
  werner

τότε η εντολή:

  hashcat -m 0 -a 6 md5.hash example.dict ; Δ; d

ισοδυναμεί με απλή χρήση του λεξικού:

  hello00 
  Γεια σας01 
  ... 
  Γεια σας99 
  werner00 
  werner01 
  ... 
  werener99

τότε εντολή:

  hashcat -m 0 -a 7 md5.hash ; Δ;  dexample.dict

ισοδυναμεί με απλή χρήση λεξικού:

  00Γεια σας 
  01Γεια σας 
  ... 
  99Γεια σας 
  00Βέρνερ 
  01Βέρνερ 
  ... 
  99werener

Προηγούμενο άρθρο:Πώς να χρησιμοποιήσετε το λογισμικό 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