Một số chế độ tấn công cho mèo băm Hashcat

hashcat có nhiều chế độ tấn công, hãy dùng tham số – help để xem trợ giúp đầy đủ, bạn có thể thấy bảng "Chế độ tấn công" như sau:

# Mode
0 thẳng
1 Combination
3 Brute-force
6 Hybrid Wordlist + Mask
7 Hybrid Mask + Wordlist

1.Straight

Chế độ tấn công này còn được gọi là" Tấn công từ điển ". Không có gì để nói, chỉ là cho một từ điển, hashcat sẽ đọc nội dung trong từ điển từng dòng, tính toán giá trị băm của mỗi dòng và so sánh với giá trị băm mục tiêu.

Ví dụ:

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

2.Combination

Baidu nói với tôi rằng kết hợp là một danh từ, có nghĩa là: "kết hợp; liên minh; kết hợp mật khẩu; quần lót". Chế độ tấn công này thực ra rất đơn giản, đó là kết hợp nội dung của hai từ điển mật khẩu. Sử dụng chế độ tấn công này đòi hỏi phải chỉ định hai từ điển mật khẩu không nhiều, không ít. Giả sử chúng ta có hai từ điển mật khẩu dict1.txt và dict2.txt, nội dung của chúng là:

     săn bắn 
    kitty 
    Cầu vồng 

và

     paris 
    rock 

sau đó lệnh:

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

Thực sự đã thử từ điển là:

     huntingparis 
Đá săn bắn 
Mèo mèo Paris 
Mèo mèo đá 
    cầu vồng Paris 
    rainbowrock 

Các từ trong dict1.txt ở bên trái và các từ trong dict2.txt ở bên phải, tổng cộng 3×2=6.

Các tham số liên quan đến chế độ này là:

     -j,   - -rule-left 
    -k,   - -rule-right 

-Quy tắc sau j hoạt động ở bên trái và quy tắc sau-k hoạt động ở bên phải, chẳng hạn như thêm tham số-j' $-', thì từ điển thực tế được thử là:

     hunting-paris 
    Săn đá 
    kitty-paris 
Mèo-đá 
    Mưa-BowParis 
    rain-bowrock 

Thêm tham số-j'^!', Sau đó từ điển thực sự được thử là:

    ! săn bắnParis 
  ! Đá săn 
  ! mèo con paris 
  ! mèo đá 
  ! Cầu vồng Paris 
  ! rainbowrock 

thêm tham số-k '^ >', sau đó từ điển thực tế được thử là:

     săn bắn > paris 
    Săn đá > 
Mèo con mèo paris 
    kitty > rock 
    Mưa > bowparis 
    rain > bowrock 

Quy tắc này là gì? Việc sử dụng "$" và "^" tương tự như các biểu thức chính quy, vậy chúng có đều không? Trên thực tế, không phải vậy. Các quy tắc của hashcat được tự thực hiện. Đây là một phần lớn nội dung khác. Để biết chi tiết, hãy xem Tấn công dựa trên quy tắc

3. Brute-force

Thử các kết hợp khác nhau của một tập ký tự nhất định. Theo wiki chính thức của hashcat, phương pháp này đã lỗi thời và được thay thế hoàn toàn bằng Mask-Attack nên không có nghiên cứu nào được thực hiện,

4.Mask Attack

Đây là một phương pháp tấn công tương đối mới, ví dụ như sau:

     hashcat   -a   3   -m   0   md5.hash  ? Tôi? Tôi? Tôi? Tôi? l 

Mặc dù theo bảng "Chế độ tấn công", -A 3 tương ứng với Brute-force, nhưng thực tế, -A 3 sử dụng Mask Attack. Mask Attack có thể được coi là lực thô bạo nâng cao. Tham số

-m được sử dụng để chỉ định loại hàm băm và giá trị md5 được lưu trữ trong tệp md5.hash. Chìa khóa là chuỗi cuối cùng "? l? l? l? l? l? l". Chuỗi như vậy được gọi là mặt nạ.

Mặt nạ là một chuỗi bao gồm một số dấu chỗ giữ chỗ. "? l" là dấu chỗ chỗ, trong đó "?" là từ khóa, được sử dụng để sửa đổi "l" tiếp theo. "? l" cộng lại biểu thị một tập hợp ký tự. Ngoài "? l", nó cũng có thể có "? u", "? d", "? h", "? h", "? s", "? a" và "? b" đại diện cho tập hợp ký tự như trong bảng dưới đây.

0 – 0xff
? Bộ ký tự
l ABCDEFGHIJKLMNOPQRSTUVWXYZ
u ABCDEFGHIJKLMNOPQRSTUVWXYZ
d 0123456789
h 0123456789abcdef
h 0123456789abcdef
s ! "#$% & ' () * +, -. /:; < = >? @ [\] ^_` ~ {|}
a ? Tôi? Bạn? d? s
b

Bằng cách này, chúng ta hiểu rằng "? l? l? l? l? l? l" thực ra tương đương với từ điển mật mã:

 aaaaa 
aaaab 
... 
zzzzz 

Theo cách tương tự, "? l? u? d" tương đương với từ điển mật mã:

     aA0 
    aA1 
  ... 
    bA0 
  ... 
    zZ9 

Bộ ký tự trong bảng trên được tích hợp trong hashcat, chúng ta cũng có thể tự chỉ định bộ ký tự:

     - -custom-charset1= bộ ký tự 1 
    - -custom-charset2= bộ ký tự 2 
    - -custom-charset3= bộ ký tự 3 
    - -custom-charset4= bộ ký tự 4 

tham số – custom-charsetN có thể được viết tắt là-n, ví dụ – custom-charset1 có thể được viết tắt là-1. Tập ký tự được chỉ định bằng-n được chỉ định dưới dạng chỗ giữ chỗ "? N" trong Mặt nạ, chẳng hạn như:

     -1   abc123  ? 1? 1? 1 

tương đương với từ điển mật mã:

     aaa 
    aab 
  ... 
    aa3 
  ... 
Ngoài chuỗi đại diện cho tập ký tự sau     333 

-N, nó cũng có thể là một tệp kết thúc bằng. hcchr và tập ký tự được lưu trữ trong tệp. hashcat đi kèm với nhiều tệp. hcchr trong thư mục charsets/của gói cài đặt.

Tập hợp các ký tự được đại diện bởi chỗ giữ chỗ "??" là chính "?". Ngoài ra, khi các ký tự còn lại được sử dụng làm ký tự giữ chỗ, chúng đại diện cho chính các ký tự. Ví dụ, "? lwerner? d" tương đương với từ điển mật khẩu:

     awerner0 
    awerner1 
  ... 
    zwerner9 

Với những kiến thức trên, bạn sẽ dễ dàng hiểu Mặt nạ. Mặt nạ bao gồm một số ký tự giữ chỗ, mỗi ký tự giữ chỗ là một tập ký tự và mặt nạ là sự kết hợp của từng tập ký tự giữ chỗ. Số lượng chỗ giữ chỗ bằng độ dài của mật khẩu. Thiết kế này có lợi ích gì so với việc chỉ đơn giản đưa ra bộ ký tự và độ dài mật khẩu?

Giả sử chúng ta biết mật khẩu của ai đó có 7 chữ số, chữ số đầu tiên là chữ hoa, 3 chữ số tiếp theo là chữ nhỏ và 3 chữ số cuối cùng là số. Nếu đó là bẻ khóa brute force truyền thống, nó yêu cầu các tập ký tự A-Z, A-Z và 0-9, tổng cộng 62 ký tự và cần thử tối đa 62^7=3 521 614 606 208 lần, đó là mức nghìn tỷ. Sử dụng mặt nạ để mô tả mật khẩu này là "\u\l\l\l\d\d\d", dễ tính toán, có tổng cộng (26^4) × (10^3) =456 976.000 khả năng, đó là tỷ cấp, giảm 4 bậc lớn so với phương pháp trước.

Lùi lại một bước, ngay cả khi chúng ta không biết sự phân bố của mật khẩu, chúng ta có thể dễ dàng mô phỏng hiệu ứng của việc bẻ khóa brute force truyền thống bằng cách sử dụng mặt nạ.

Câu hỏi bây giờ là mặt nạ được cố định, có bao nhiêu chỗ giữ chỗ được ghi chết và chúng ta phải làm gì nếu không biết độ dài của mật khẩu. Mật khẩu quá dài cũng không sao, nếu mật khẩu của người khác chỉ có 3 chữ số và chúng ta có 4 chỗ giữ chỗ và không thể giải được thì chẳng phải là một thiệt hại lớn sao? Có nên bắt đầu từ 1 và viết lại tất cả các mặt nạ có độ dài không? Thật là rắc rối.

Có hai giải pháp, một là sử dụng tệp mask, viết nhiều mask vào một tệp, sau đó chỉ định tệp này ở dòng lệnh. Lưu ý rằng tệp mask cần kết thúc bằng. hcmask.

Ví dụ, nội dung của test.hcmask là:

    ? l 
  ? Tôi? l 
  ? Tôi? Tôi? l 
  ? Tôi? Tôi? Tôi? l 

sau đó sử dụng tệp với lệnh sau:

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

Một giải pháp khác là thêm tham số – increment, tham số này cho hashcat biết, nhấn mặt nạ mà chúng tôi đã đưa ra, bắt đầu với một chỗ giữ chỗ và thử hai, ba, cho đến khi chúng tôi đưa ra độ dài. Ví dụ, chúng ta viết chỗ giữ chỗ "abc" cho điều này, sau đó tính giá trị md5 của chuỗi sau:

     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 

Trước ":" là chuỗi gốc mà giá trị hash được tính toán và sau ":" là giá trị hasn được tính toán. Lưu nội dung trên trong tệp md5.hash, sau đó chạy lệnh sau:

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

Thêm tham số – username là do chúng tôi có chuỗi gốc trước mỗi giá trị băm. Nếu tham số này không được thêm vào, hashcat sẽ hiển thị rằng không tìm thấy giá trị băm chính xác. Thêm tham số này, hashcat sẽ nghĩ rằng chuỗi trước giá trị băm là tên người dùng của giá trị băm, để giá trị băm có thể được tải thành công.

Kết quả chạy là chỉ có một hash được giải quyết:

     900150983cd24fb0d6963f7d28e17f72:abc 

Bây giờ thêm tham số – increment và chạy lại:

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

Lần này, hai băm khác đã được giải quyết:

     0cc175b9c0f1b6a831c399e269772661:a 
    187ef4436122d1cc2f40dc2b92f0eba0:ab 

Có thể thấy, – increment đóng vai trò. Nhưng đồng thời, chúng ta cũng biết rằng với tham số này, hashcat sẽ chỉ thử a, ab và abc theo thứ tự, chứ không sắp xếp và kết hợp các dấu chỗ chỗ trống theo thứ tự và thử nhiều khả năng khác nhau.

5. Tấn công lai

Tấn công lai tương tự như Tấn công Combinator kết hợp hai từ điển, trong khi Tấn công lai kết hợp một từ điển và một mặt nạ. Cả hai đều giống nhau. Giả sử chúng ta đã có một từ điển example.dict với nội dung như sau:

     Xin chào 
    werner 

Sau đó lệnh:

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

tương đương với việc sử dụng từ điển đơn giản:

     hello00 
Xin chào 01 
  ... 
Xin chào 99 
    werner00 
    werner01 
  ... 
    werener99 

Sau đó lệnh:

     hashcat   -m   0   -a   7   md5.hash  ? d?   dexample.dict 

Tương đương với việc chỉ sử dụng từ điển:

     00hello 
Xin chào. 
  ... 
Xin chào. 
    00werner 
    01werner 
  ... 
    99werener 

Trước:Làm thế nào để nổ tất cả các loại hash bằng cách sử dụng phần mềm mèo băm hashcat
Tiếp theo:Cách sử dụng Hashcat Chia sẻ kỹ thuật
  • Tập trung vào Word, Excel, PPT, PDF, RAR, ZIP, 7Z, gói nén, mở khóa và giải mã tệp được mã hóa văn phòng
  • Chúng tôi cung cấp cho người dùng khôi phục mật khẩu gói nén tệp chất lượng cao, khôi phục mật khẩu từ mở khóa PDF
  • Bản quyền © Bậc thầy khôi phục mật khẩu tài liệu Nền tảng giải mã trực tuyến