Tấn công Brute Force là gì?
Tấn công Brute Force (Brute Force Attack) là phương pháp thử sai liên tục (trial-and-error) để đoán mật khẩu, khóa mã hóa, PIN, hoặc tìm thư mục/đường dẫn ẩn trên web server. Kẻ tấn công tự động hóa việc thử mọi tổ hợp có thể cho đến khi tìm thấy cái đúng.
Cơ chế hoạt động
For each candidate_password in password_space:
attempt_login(username, candidate_password)
if success: return candidate_password
Không gian tìm kiếm (password space) phụ thuộc vào:
- Độ dài mật khẩu (length).
- Tập ký tự (charset): chữ thường, hoa, số, ký tự đặc biệt.
- Entropy (độ ngẫu nhiên): Entropy = log2(N^L) bit (N = kích thước charset, L = độ dài).
Các biến thể phổ biến
| Loại tấn công | Mô tả | Hiệu quả |
| Simple Brute Force | Thử mọi tổ hợp ký tự từ độ dài 1 trở lên (aaaa, aaab...). | Chỉ hiệu quả với mật khẩu rất ngắn (<8 ký tự) và charset nhỏ. |
| Dictionary Attack | Dùng danh sách từ phổ biến (rockyou.txt, 10-million-password-list-top-10000). | Rất hiệu quả vì người dùng thường dùng từ điển, pattern quen thuộc. |
| Hybrid Attack | Kết hợp dictionary + quy tắc biến đổi (append số, thay chữ số, viết hoa chữ cái đầu...). | Cân bằng tốc độ và độ phủ. Hashcat rules, John the Ripper rules. |
| Credential Stuffing | Dùng cặp user/pass rò rỉ từ breach khác để thử đăng nhập trang khác (tự động hóa). | Cực kỳ hiệu quả do thói quen dùng lại mật khẩu. |
| Password Spraying | Thử 1-2 mật khẩu phổ biến trên nhiều tài khoản (tránh lockout account). | Hiệu quả đối với AD/Azure AD, O365, VPN - bypass account lockout. |
| Rainbow Table | Bảng tra cứu trước hash → plaintext (time-memory tradeoff). | Hiệu quả với hash không salt (MD5, SHA1 cũ). Vô hiệu với salt + slow hash (bcrypt, Argon2, PBKDF2). |
| Mask Attack | Chỉ thử theo pattern đã biết (ví dụ: 8 ký tự, bắt đầu bằng chữ hoa, kết thúc bằng số). | Rất nhanh khi biết cấu trúc mật khẩu. |
Ví dụ thực tế
- Mật khẩu "123456": Crack ngay lập tức (top 1 rockyou.txt).
- Mật khẩu "Password123": Crack trong <1 giây (dictionary + rule: capitalize first + append numbers).
- Mật khẩu "Tr0ub4dor&3": ~3 ngày trên GPU RTX 4090 (Hashcat, bcrypt cost 12).
- Mật khẩu "correct-horse-battery-staple": ~550 năm (diceware 4 từ, entropy ~44 bit).
- WPA2 Handshake: Bắt gói tin 4-way handshake > offline brute force PSK (Hashcat -m 22000).
- RDP/SSH/FTP/VPN: Online brute force (hydra, medusa, ncrack) - chậm, dễ bị block.
Công cụ tấn công phổ biến (Chỉ để hiểu & phòng thủ)
| Công cụ | Đặc điểm | Hỗ trợ |
| Hashcat | Nhanh nhất, GPU acceleration, hỗ trợ 300+ hash mode, rule engine mạnh | Windows, Linux, macOS |
| John the Ripper (Jumbo) | CPU-based, hỗ trợ nhiều format, wordlist + rules, community lớn | Unix, Windows, macOS, OpenVMS |
| Hydra / Medusa / Ncrack | Online brute force dịch vụ mạng (SSH, RDP, FTP, HTTP, SMB, PostgreSQL...) | Cross-platform |
| Aircrack-ng | Wi-Fi: crack WEP, WPA/WPA2-PSK (offline từ handshake) | Linux (Kali, Parrot), Windows (hạn chế) |
| L0phtCrack | Chuyên crack Windows password (SAM, NTDS.dit, DCC2) | Windows |
Phòng thủ chống Brute Force
1. Mật khẩu mạnh & Quản lý mật khẩu
- Độ dài ≥ 12 ký tự (khuyên ≥ 16), entropy cao.
- Dùng Passphrase (diceware) hoặc Password Manager sinh ngẫu nhiên.
- Không dùng lại mật khẩu giữa các hệ thống.
- Kiểm tra mật khẩu bị rò rỉ: Have I Been Pwned.
2. Xác thực đa yếu tố (MFA/2FA) - Quan trọng nhất
- Bật MFA cho: Email, Cloud (AWS/Azure/GCP), VPN, SSH, Admin panel, Social media, Ngân hàng.
- Ưu tiên: FIDO2/WebAuthn (YubiKey, Passkey) > Authenticator App (TOTP) > SMS/Email (yếu).
- MFA làm vô hiệu hóa brute force online ngay cả khi mật khẩu bị biết.
3. Khóa tài khoản & Giám sát (Account Lockout & Monitoring)
- Cấu hình: Account lockout threshold (5-10 lần sai), Lockout duration (15-30 phút), Reset counter.
- Giám sát log: Event ID 4625 (Windows), auth.log (Linux), CloudTrail (AWS), Azure AD Sign-in logs.
- Alert: Brute force pattern, password spraying, impossible travel.
4. Rate Limiting & WAF
- Giới hạn request/phút trên login API, /wp-login.php, /admin, VPN portal.
- WAF (Cloudflare, AWS WAF, ModSecurity) chặn IP nghi ngờ, challenge CAPTCHA/JS.
5. Bảo vệ Offline Hash (Nếu hash bị rò rỉ)
- Dùng Slow Hash + Salt: Argon2id (khuyên dùng), bcrypt (cost ≥ 12), PBKDF2 (iterations ≥ 600,000), scrypt.
- KHÔNG dùng: MD5, SHA-1, SHA-256 đơn lẻ, DES, crypt() cũ.
- Salt: Ngẫu nhiên, ≥ 16 bytes, duy nhất cho mỗi mật khẩu.
6. Hardening dịch vụ mạng
- SSH: Tắt PasswordAuthentication, chỉ dùng Public Key + MFA. Thay port mặc định. Fail2ban.
- RDP: Chỉ cho phép qua VPN/Zero Trust. Network Level Authentication (NLA). RDP Gateway.
- VPN: Certificate + MFA. Không dùng PSK đơn lẻ.
- Database/Redis/Mongo: Bind localhost, auth enabled, TLS, strong password.
7. Deception & Honeypot
- Triển khai Canary tokens, Thinkst Canary, Cowrie SSH honeypot.
- Phát hiện sớm kẻ dò tìm/tấn công brute force.
Đánh giá rủi ro Brute Force
| Vector | Mức độ rủi ro | Biện pháp ưu tiên |
| Online: SSH/RDP/VPN/Web Login | Cao (tự động hóa dễ dàng) | MFA, Rate limit, Fail2ban, VPN/Zero Trust, Key-based auth |
| Offline: Hash dump (SAM, NTDS, /etc/shadow, DB leak) | Rất cao (không giới hạn tốc độ) | Slow hash (Argon2id/bcrypt), Salt, Pepper (HSM), MFA |
| Wi-Fi WPA2-PSK | Trung bình (cần bắt handshake) | WPA3 (SAE), Passphrase mạnh ≥ 20 chars, Enterprise (802.1X) |
| Credential Stuffing | Rất cao (dữ liệu breach dồi dào) | MFA, Passwordless, Breach monitoring, Unique password per site |