Dictionary Attack, hay còn gọi là tấn công bẻ khóa từ điển, là một kỹ thuật tấn công được sử dụng để phá mã hoặc vượt qua các cơ chế xác thực bằng cách thử tất cả các từ trong một danh sách dài được gọi là từ điển.
Cách thức hoạt động:
- Kẻ tấn công thu thập thông tin
về mục tiêu, bao gồm tên người dùng, mật khẩu được băm (hash), v.v.
- Chuẩn bị một từ điển chứa các từ phổ biến, tên riêng, mật
khẩu thường dùng, v.v.
- Sử dụng phần mềm bẻ khóa để thử
từng từ trong từ điển với thuật toán băm tương ứng.
- Nếu
mật khẩu được băm khớp với một từ trong từ điển, kẻ tấn công sẽ có quyền
truy cập vào tài khoản của mục tiêu.
Chúng ta sử dụng app WGen để tạo từ điển. Bạn đọc có thể tạo và chỉnh sửa các pattern dựa theo suy đoán về mục tiêu. Hoặc có thể sử dụng config của mình bằng cách import file wgen_config.json vào app. Tuy nhiên app cũng có một số khiếm khuyết như không hỗ trợ tốt cho người có tên gồm 4 từ. Các bạn có thể tải xuống bản WGen offline và chỉnh sửa lại source code theo ý mình để đạt được kết quả mong muốn.
Sau khi đã tạo được từ điển, chúng ta có thể sử dụng nhiều công cụ, ví dụ như Burp Suite Intruder chẳng hạn. Tuy nhiên, phản ứng của mỗi ứng dụng khi bị bruteforce một tính năng nào đó sẽ khác nhau, do đó chúng ta nên tự xây dựng request và bộ xử lý response thì hơn.
Trong repo mình có để file intruder.py, đó là bản mẫu cho một tool brute force đơn giản. Bản mẫu này đọc từ điển từ 1 file .txt, có sử dụng multi thread để đẩy nhanh tốc độ brute force bằng thư viện threading. Tool cũng validate chuỗi mong muốn từ file từ điển, ví dụ có thể chỉ muốn test các chuỗi có 8 - 12 ký tự trong khi từ điển có cả chuỗi 6 ký tự. Và chức năng hiển thị tiến trình chạy của các thread, ngừng tool khi tìm được chuỗi đúng cũng được xây dựng giúp người sử dụng dễ dàng hơn.
Bạn đọc có thể xây dựng tool mong muốn dựa trên các tính năng có sẵn này :3.