Password CrackerCách phá/đoán mật khẩu

⚡ Tóm tắt thông minh

Tấn công bẻ khóa mật khẩu là hành vi khôi phục thông tin đăng nhập bằng cách đoán, so sánh hoặc tính toán chúng một cách có hệ thống dựa trên các mã băm đã lưu trữ. Bài tổng quan này giải thích cách thức hoạt động của kẻ tấn công, các công cụ chúng sử dụng, các yếu tố bảo mật giúp chống lại chúng và các biện pháp kiểm soát mà quản trị viên phải thực thi.

  • 🧭 FoundationNguyên tắc al: Độ mạnh của mật khẩu phụ thuộc vào độ dài, độ phức tạp của ký tự và tính khó đoán để chống lại tấn công vét cạn và khôi phục bằng từ điển.
  • 🔐 Hàm băm so với mã hóa: Thông tin đăng nhập được lưu trữ được bảo vệ bằng các hàm băm một chiều như MD5, SHA-256 hoặc bcrypt thay vì mã hóa đảo ngược.
  • 🎯 Các kỹ thuật tấn công phổ biến: Các phương pháp như sử dụng từ điển, tấn công vét cạn, bảng cầu vồng, phương pháp lai, thu thập dữ liệu tự động và tấn công nhồi nhét thông tin đăng nhập đều khai thác hành vi có thể dự đoán được của con người.
  • 🛠️ Bộ công cụ bẻ khóa: John the Ripper, Hashcat, Cain & Abel, OphcrackHydra tự động thực hiện khôi phục ngoại tuyến và trực tuyến dựa trên các mã băm đã thu thập được.
  • 🤖 Các cuộc tấn công do trí tuệ nhân tạo điều khiển: Các mô hình tạo sinh dự đoán mật khẩu thực tế từ các dữ liệu bị rò rỉ, cải thiện đáng kể hiệu quả của từ điển đối với các thông tin đăng nhập yếu.
  • 🛡️ Các biện pháp kiểm soát phòng thủ: Các thuật toán băm có thêm muối, xác thực đa yếu tố, chính sách khóa tài khoản và trình quản lý mật khẩu giúp vô hiệu hóa hầu hết các nỗ lực tấn công trong môi trường sản xuất.

Làm thế nào để bẻ khóa (hack) mật khẩu?

Tấn công bẻ khóa mật khẩu là một trong những kỹ thuật lâu đời nhất trong an ninh mạng tấn công, nhưng nó vẫn giữ nguyên tính актуальность vì người dùng vẫn tiếp tục chọn những mật khẩu dễ đoán. Trong hướng dẫn này, chúng ta sẽ giới thiệu các kỹ thuật phổ biến mà kẻ tấn công sử dụng để khôi phục mật khẩu, các công cụ tự động hóa quá trình này và các biện pháp đối phó mà quản trị viên có thể triển khai để bảo vệ hệ thống khỏi các cuộc tấn công này.

Bẻ khóa mật khẩu là gì?

Tấn công bẻ khóa mật khẩu là quá trình cố gắng truy cập trái phép vào một hệ thống bị hạn chế bằng cách khôi phục bí mật bảo vệ cơ chế xác thực. Quá trình bẻ khóa có thể bao gồm việc so sánh các mã băm mật khẩu đã lưu trữ với một danh sách từ được tính toán trước hoặc chạy các thuật toán tạo ra các mật khẩu ứng cử viên cho đến khi tìm thấy sự trùng khớp. Khi tìm thấy sự trùng khớp, kẻ tấn công có thể xác thực với tư cách là người dùng hợp pháp mà không cần phải đoán mật khẩu trực tuyến.

Độ mạnh mật khẩu là gì?

Độ mạnh của mật khẩu là thước đo hiệu quả của mật khẩu trong việc chống lại các cuộc tấn công bẻ khóa mật khẩu. Độ mạnh của bất kỳ mật khẩu nào được xác định bởi ba thuộc tính:

  • Chiều dài: Tổng số ký tự mà mật khẩu chứa.
  • Phức tạp: Cho dù nó sử dụng sự kết hợp giữa chữ cái viết hoa, chữ cái viết thường, số và ký hiệu.
  • không thể đoán trước: Liệu mật khẩu có thể dễ dàng bị đoán bởi kẻ tấn công biết người dùng hay không.

Chúng ta hãy so sánh ba mật khẩu sau: mật khẩu, mật khẩu1#mật khẩu1$Trong ví dụ này, chúng ta sẽ sử dụng chỉ báo độ mạnh mật khẩu của cPanel. Các hình ảnh bên dưới hiển thị độ mạnh của từng mật khẩu ứng cử viên.

Chỉ báo độ mạnh mật khẩu cPanel hiển thị mức độ rất yếu cho giá trị "password".

Lưu ý: mật khẩu được sử dụng là mật khẩu; độ mạnh là 1, rất yếu.

Chỉ báo độ mạnh mật khẩu cPanel hiển thị mức yếu cho giá trị password1.

Lưu ý: mật khẩu được sử dụng là mật khẩu1; sức mạnh là 28, vẫn còn yếu.

Chỉ báo độ mạnh mật khẩu cPanel hiển thị xếp hạng mạnh cho giá trị hashpassword1dollar

Lưu ý: mật khẩu được sử dụng là #mật khẩu1$Độ mạnh của mật khẩu là 60, khá mạnh. Số độ mạnh càng cao thì mật khẩu càng an toàn.

Bây giờ giả sử chúng ta cần lưu trữ các mật khẩu tương tự bằng cách sử dụng thuật toán băm MD5. Chúng ta sẽ sử dụng một công cụ tạo mã băm MD5 trực tuyến để chuyển đổi mỗi mật khẩu thành giá trị băm của nó. Bảng dưới đây hiển thị các mã băm thu được.

Mật khẩu MD5 Hashing Chỉ báo độ mạnh cPanel
mật khẩu 5f4dcc3b5aa765d61d8327deb882cf99 1
mật khẩu1 7c6a180b36896a0a8c02787eeafb0e4c 28
#mật khẩu1$ 29e08fb7103c327d68327f23d8d9256c 60

Chúng ta sẽ sử dụng một trang web tra cứu ngược MD5 công khai để giải mã các mã băm trên. Các hình ảnh bên dưới hiển thị kết quả giải mã mật khẩu cho mỗi giá trị.

Kết quả tra cứu ngược MD5 cho mã băm của giá trị password

Kết quả tra cứu ngược MD5 cho mã băm của giá trị password1

Kết quả tra cứu ngược MD5 cho thấy không thể bẻ khóa giá trị mạnh hashpassword1dollar.

Như các kết quả trên cho thấy, chúng tôi đã giải mã được mật khẩu thứ nhất và thứ hai, vốn có độ mạnh thấp hơn. Chúng tôi không thể giải mã được mật khẩu thứ ba, mật khẩu này dài hơn, phức tạp hơn và khó đoán hơn. Mật khẩu này cũng có độ mạnh cao hơn.

Kỹ thuật bẻ khóa mật khẩu

Có một số kỹ thuật đã được chứng minh mà kẻ tấn công sử dụng để khôi phục mật khẩu. Chúng tôi sẽ mô tả các loại kỹ thuật được sử dụng phổ biến nhất dưới đây.

  • Tấn công từ điển: Phương pháp này sử dụng danh sách các từ có khả năng chứa mật khẩu và so sánh từng từ với mật khẩu người dùng hoặc mã băm mật khẩu đã thu thập được.
  • Tấn công bạo lực: Tấn công vét cạn kết hợp các ký tự chữ số và ký hiệu bằng thuật toán để tạo ra một cách có hệ thống mọi mật khẩu có thể cho đến khi tìm thấy mật khẩu trùng khớp. Ví dụ, một mật khẩu như sau: mật khẩu cũng có thể thử như p@$$word sử dụng quy tắc vét cạn kết hợp.
  • Tấn công bảng cầu vồng: Phương pháp này dựa trên các hàm băm được tính toán trước. Giả sử cơ sở dữ liệu lưu trữ mật khẩu dưới dạng hàm băm MD5. Kẻ tấn công tạo một bảng khác lưu trữ các hàm băm MD5 của các mật khẩu phổ biến và so sánh hàm băm thu được với bảng đã tính toán trước. Nếu tìm thấy sự trùng khớp, mật khẩu sẽ được khôi phục.
  • Đoán: Như tên gọi cho thấy, phương pháp này liên quan đến việc đoán mật khẩu. Các mật khẩu như... qwerty, mật khẩuquản trị viên Chúng thường được sử dụng hoặc đặt làm mặc định. Nếu không được thay đổi, chúng có thể bị xâm phạm nhanh chóng.
  • Nhện: Hầu hết các tổ chức đều sử dụng mật khẩu chứa thông tin công ty. Thông tin này có thể được thu thập từ các trang web của công ty và các mạng xã hội như Facebook và Twitter. Kỹ thuật "spider" thu thập dữ liệu từ các nguồn này để xây dựng danh sách từ khóa mục tiêu, sau đó được sử dụng trong các cuộc tấn công bằng từ điển và tấn công vét cạn.
  • Nhồi nhét thông tin xác thực: Kẻ tấn công sử dụng lại các cặp tên người dùng và mật khẩu bị rò rỉ từ một vụ xâm nhập vào các dịch vụ không liên quan, lợi dụng thói quen tái sử dụng thông tin đăng nhập của người dùng.

Một danh sách từ khóa tổng hợp cho một công ty hư cấu có thể kết hợp: 1976 (năm sinh của người sáng lập); Smith, Jones (họ); Acme (tên công ty); Built, To, Last (từ khóa tầm nhìn); Golfing, Chess, Soccer (sở thích).

Bảng dưới đây so sánh các kỹ thuật dựa trên tốc độ, điều kiện tiên quyết và khả năng phát hiện.

Kỹ thuật Tốc độ Cần mã băm? Có thể phát hiện trực tuyến không?
Từ điển NHANH CHÓNG Tùy chọn
Lực lượng vũ phu Chậm Tùy chọn
Bàn cầu vồng Rất nhanh Không (ngoại tuyến)
Đoán Biến Không
Thêu thùa Chậm Không
Nhồi nhét thông tin xác thực NHANH CHÓNG Không

Password Cracker CÔNG CỤ

Các công cụ bẻ khóa mật khẩu là các chương trình phần mềm tự động hóa các kỹ thuật được mô tả ở trên. Chúng ta đã đề cập đến một tiện ích như vậy trong ví dụ về độ mạnh trước đó, trong đó việc tra cứu MD5 công khai sử dụng bảng cầu vồng để đảo ngược các hàm băm phổ biến. Bây giờ chúng ta sẽ xem xét thêm các công cụ mà các chuyên gia dựa vào trong quá trình đánh giá được ủy quyền.

1) John the Ripper
John the Ripper Chương trình sử dụng dấu nhắc lệnh và chấp nhận danh sách từ có quy tắc để tạo ra các từ ứng cử viên. Nó tự động phát hiện nhiều định dạng băm phổ biến. Chương trình này miễn phí, trong khi các danh sách từ thương mại được tuyển chọn có sẵn riêng. Truy cập https://www.openwall.com/john/.

2) Cain & Abel
Cain & Abel chạy trên Windows và có chức năng khôi phục mật khẩu người dùng, thực hiện nghe lén mạng, và nhiều hơn nữa. Giao diện đồ họa của nó khiến nó trở nên phổ biến với người mới bắt đầu. Công cụ này không được bảo trì tích cực kể từ năm 2014, vì vậy chỉ nên sử dụng nó trên các hệ thống phòng thí nghiệm cũ. Xem thêm https://sectools.org/tool/cain/.

3) Ophcrack
Ophcrack là một nền tảng chéo Windows Công cụ bẻ khóa mật khẩu sử dụng bảng cầu vồng. Nó chạy trên... Windows, Linux, và macOSvà bao gồm một mô-đun tấn công vét cạn. Truy cập https://ophcrack.sourceforge.io/.

4) Hashcat
Hashcat là tiêu chuẩn hiện đại cho việc khôi phục mật khẩu ngoại tuyến. Nó hỗ trợ hơn 300 thuật toán băm, tận dụng khả năng tăng tốc GPU và cung cấp các cuộc tấn công dựa trên quy tắc. Tài liệu hướng dẫn có tại [địa chỉ tài liệu]. https://hashcat.net/hashcat/.

5) Hydra
Hydra (THC-Hydra) nhắm mục tiêu vào các dịch vụ trực tuyến như SSH, FTP, RDP và các biểu mẫu đăng nhập HTTP. Nó được cung cấp kèm theo... Kali Linux và được sử dụng rộng rãi trong các hoạt động tấn công giả lập (red-team) được ủy quyền.

Làm thế nào để bảo vệ chống lại các cuộc tấn công bẻ khóa mật khẩu?

Một tổ chức có thể sử dụng các biện pháp sau để giảm nguy cơ mật khẩu bị bẻ khóa:

  • Cần có tối thiểu 12 ký tự và tránh các mẫu dễ đoán như 11552266 hoặc qwerty1234.
  • Nên lưu trữ mật khẩu bằng hàm băm một chiều chậm như bcrypt, scrypt hoặc Argon2 thay vì các hàm băm nhanh như MD5 hoặc SHA-1.
  • Thêm muối vào mỗi mật khẩu trước khi băm; muối giúp vô hiệu hóa việc tra cứu bảng băm cầu vồng ngay cả khi bản thân hàm băm nhanh.
  • Hãy áp dụng các chính sách mật khẩu ưu tiên điểm mạnh cao và khuyến khích sử dụng cụm mật khẩu, như khuyến nghị của NIST SP 800-63B.
  • Hãy bật xác thực đa yếu tố (MFA) để chỉ cần mật khẩu bị đánh cắp cũng không đủ để truy cập.
  • Hãy sử dụng trình quản lý mật khẩu để tạo thông tin đăng nhập duy nhất cho mỗi dịch vụ, vô hiệu hóa các cuộc tấn công đánh cắp thông tin đăng nhập.
  • Thiết lập khóa tài khoản, giới hạn tốc độ truy cập và giám sát liên tục để phát hiện sớm các hoạt động tấn công vét cạn mật khẩu trực tuyến.

Hoạt động hack: Hack ngay!

Trong tình huống thực tế này, chúng ta sẽ giải mã một... Windows tài khoản sử dụng mật khẩu đơn giản. Windows Lưu trữ thông tin đăng nhập cục bộ dưới dạng hàm băm NTLM (một lược đồ dựa trên MD4), và chúng ta sẽ sử dụng mô-đun bẻ khóa NTLM trong Cain and Abel để khôi phục giá trị.

Cain và Abel có thể bẻ khóa mật khẩu bằng cách sử dụng tấn công từ điển, tấn công vét cạn hoặc phân tích mật mã (bảng tính toán trước). Chúng ta sẽ sử dụng tấn công từ điển ở đây. Tải xuống danh sách từ. 10k-Phổ biến nhất.zip từ một máy chủ phản chiếu đáng tin cậy. Để minh họa, chúng tôi đã tạo một tài khoản có tên là Trợ Lý Giám Đốc với mật khẩu qwerty trên Windows 7 máy thí nghiệm.

Windows 7 người dùng lab có tên Accounts được tạo với mật khẩu đơn giản là qwerty để minh họa.

Cách bẻ khóa mật khẩu

Hướng dẫn bên dưới sẽ ghép mỗi màn hình Cain và Abel với hành động cần thực hiện. Hãy làm theo các bước theo đúng thứ tự trên tài khoản phòng thí nghiệm của riêng bạn, tuyệt đối không làm trên hệ thống mà bạn không sở hữu.

Bước 1) Mở truyện Cain và Abel.
Khởi động ứng dụng; bạn sẽ thấy màn hình chính như sau.

Giao diện chính của Cain và Abel với tab Cracker hiển thị.

Bước 2) Tìm nút Thêm.
Hãy đảm bảo tab Cracker được chọn như hình trên và nhấp vào nút Thêm trên thanh công cụ.

Tab Cracker được chọn và nút Thêm được tô sáng trên thanh công cụ Cain and Abel.

Bước 3) Chọn nguồn nhập khẩu.
Cửa sổ thoại sau sẽ xuất hiện. Chọn Nhập các mã băm từ hệ thống cục bộ và nhấn Next.

Cuộc đối thoại giữa Cain và Abel hỏi nên nhập các hàm băm NTLM từ nguồn nào.

Bước 4) RevXem các tài khoản đã nhập.
Danh sách tài khoản người dùng cục bộ được hiển thị như sau. Kết quả chính xác sẽ phản ánh các tài khoản người dùng trên máy tính trong phòng thí nghiệm của bạn.

Danh sách các sản phẩm địa phương nhập khẩu Windows Những tài khoản sắp bị phá vỡ bên trong Cain và Abel

Bước 5) Nhấp chuột phải vào tài khoản mục tiêu.
Nhấp chuột phải vào tài khoản bạn muốn bẻ khóa. Trong hướng dẫn này, chúng ta sẽ sử dụng tài khoản... Trợ Lý Giám Đốc người sử dụng.

Nhấp chuột phải vào menu ngữ cảnh trên người dùng Tài khoản trong Cain and Abel

Bước 6) Mở bảng điều khiển tấn công từ điển.
Trong cửa sổ tấn công từ điển, nhấp chuột phải vào phần từ điển và chọn Thêm vào danh sách như hình dưới đây.

Bảng tấn công từ điển với tùy chọn "Thêm vào danh sách" được tô sáng.

Bước 7) Tìm đến tệp danh sách từ.
Duyệt đến 10k-most-common.txt Chọn tập tin bạn vừa tải xuống.

Trình duyệt tập tin được mở bên trong Cain và Abel để chọn danh sách 10 mật khẩu phổ biến nhất.

Bước 8) RevXem mật khẩu đã được khôi phục.
Nếu người dùng chọn một mật khẩu đơn giản như qwertyBạn sẽ thấy kết quả tương tự như hình ảnh bên dưới, với giá trị dạng văn bản rõ ràng nằm cạnh tài khoản người dùng.

Cain và Abel đang hiển thị mật khẩu dạng văn bản gốc đã được khôi phục là qwerty cho người dùng Tài khoản.

Lưu ý: Thời gian cần thiết để bẻ khóa mật khẩu phụ thuộc vào độ mạnh của mật khẩu, độ phức tạp của danh sách mật khẩu ứng cử và sức mạnh xử lý của máy tính bạn. Nếu phương pháp tấn công bằng từ điển không khôi phục được mật khẩu, hãy thử phương pháp tấn công vét cạn hoặc phân tích mật mã tiếp theo.

AI là Resha như thế nào?ping Phá mật khẩu và phòng thủ

Trí tuệ nhân tạo đã trở thành một thế lực đáng gờm ở cả hai phía của cuộc chiến bẻ khóa mật khẩu. Kẻ tấn công huấn luyện các mô hình ngôn ngữ dựa trên các thông tin đăng nhập bị rò rỉ để dự đoán các cụm mật khẩu thực tế, trong khi bên phòng thủ kết hợp các mô hình tương tự với các hệ thống thu thập dữ liệu để phát hiện sự xâm nhập nhanh hơn.

Đây là cách trí tuệ nhân tạo đang thay đổi lĩnh vực này hiện nay:

  • Công cụ tạo danh sách từ thông minh hơn: Các mô hình tạo sinh như PassGAN học các mẫu mật khẩu của con người và tạo ra các danh sách ứng viên có khả năng giải mã nhiều hàm băm hơn so với các từ điển tĩnh.
  • Hệ thống chấm điểm rủi ro hành vi: Trí tuệ nhân tạo phòng thủ kiểm tra vị trí đăng nhập, dấu vân tay thiết bị và loại hình.ping nhịp điệu, gửi các ngữ cảnh bất thường để tăng cường xác thực.
  • Phát hiện bất thường theo thời gian thực: Các thuật toán phân loại học máy theo dõi nhật ký xác thực và gắn cờ các hành vi tấn công đánh cắp thông tin đăng nhập hoặc các chiến dịch tấn công vét cạn mật khẩu mà các quy tắc chữ ký bỏ sót.
  • Huấn luyện chính sách tự động: Các nền tảng xác thực danh tính sẽ đánh giá các cụm mật khẩu mới dựa trên kho dữ liệu cụ thể của tổ chức và đề xuất các cụm mật khẩu thay thế mạnh hơn trước khi người dùng hoàn tất việc sử dụng.
  • Phòng thủ chống lừa đảo trực tuyến: Trí tuệ nhân tạo (AI) đẩy nhanh quá trình triển khai FIDO2 và quy trình xác thực bằng mã khóa bằng cách phân tích các tín hiệu rủi ro và giảm thiểu khó khăn cho người dùng.

Kết hợp giám sát bằng AI với xác thực đa yếu tố, thuật toán băm hiện đại như Argon2 và nguồn cấp thông báo vi phạm nhanh chóng để giữ cho hệ thống phòng thủ tự động luôn đi trước các cuộc tấn công tự động.

Câu Hỏi Thường Gặp

Việc bẻ khóa mật khẩu chỉ hợp pháp khi được thực hiện với sự cho phép bằng văn bản rõ ràng, chẳng hạn như trong các hoạt động kiểm thử xâm nhập, kiểm toán nội bộ hoặc khôi phục thông tin đăng nhập của chính bạn. Việc bẻ khóa trái phép vi phạm luật về lạm dụng máy tính ở hầu hết các quốc gia.

Hàm băm là một phép biến đổi một chiều: giá trị gốc không thể được khôi phục. Mã hóa có thể đảo ngược với khóa phù hợp. Mật khẩu luôn phải được lưu trữ dưới dạng hàm băm có thêm muối bằng các thuật toán như bcrypt, scrypt hoặc Argon2, chứ không bao giờ được lưu trữ dưới dạng chuỗi mã hóa.

Đối với việc bẻ khóa ngoại tuyến, Hashcat Đây thường là phương pháp nhanh nhất vì nó sử dụng khả năng tăng tốc GPU và hỗ trợ các cuộc tấn công dựa trên quy tắc trên hơn 300 định dạng băm. John the Ripper Vẫn được ưa chuộng khi tài nguyên GPU bị hạn chế.

Salt là một giá trị ngẫu nhiên duy nhất được thêm vào mỗi mật khẩu trước khi băm. Việc thêm salt giúp chống lại các cuộc tấn công bảng cầu vồng vì các bảng được tính toán trước chỉ hoạt động với các hàm băm không có salt. Salt cũng đảm bảo rằng hai người dùng có cùng mật khẩu sẽ tạo ra các giá trị được lưu trữ khác nhau.

Một mật khẩu 12 ký tự kết hợp chữ cái, số và ký hiệu có thể mất hàng thế kỷ để tấn công bằng phương pháp vét cạn đối với một thuật toán băm chậm như bcrypt. Ngược lại, đối với thuật toán băm MD5 nhanh và không dùng muối, cùng một mật khẩu đó có thể bị phá vỡ chỉ trong vài ngày. Việc lựa chọn thuật toán băm và độ dài của mật khẩu đều quan trọng.

Kẻ tấn công huấn luyện các mô hình tạo sinh như PassGAN trên các dữ liệu đăng nhập bị rò rỉ để chúng dự đoán các mật khẩu giống người thật. Danh sách từ thu được có khả năng bẻ khóa nhiều hàm băm hơn đáng kể so với từ điển tĩnh trong cùng một khoảng thời gian, đặc biệt khi kết hợp với các biến thể dựa trên quy tắc. Hashcat.

Đúng vậy. Trí tuệ nhân tạo phòng thủ (Defensive AI) thiết lập đường cơ sở cho hành vi đăng nhập thông thường, đánh giá rủi ro cho mỗi lần thử và gắn cờ các đợt tấn công đánh cắp thông tin đăng nhập hoặc các chiến dịch tấn công vét cạn mật khẩu chậm mà các công cụ quy tắc bỏ sót. Kết hợp giám sát bằng AI với xác thực đa yếu tố và các thuật toán băm hiện đại như Argon2 để đạt được kết quả tốt nhất.

Xác thực đa yếu tố ngăn chặn phần lớn các nỗ lực tấn công vì chỉ khôi phục mật khẩu thôi thì không đủ để hoàn tất quá trình đăng nhập. Các yếu tố chống lừa đảo như khóa bảo mật FIDO2 và passkey cung cấp khả năng bảo vệ mạnh mẽ nhất và nên được kích hoạt bất cứ khi nào có thể.

Tóm tắt bài viết này với: