Trong chuyên đề giải mã mật khẩu ở phần này chuyên gia an ninh mạng Ngô Cao Đại sẽ hướng dẫn các bạn các phương pháp giải mã mật khẩu trên cả Windows và Linux, WEP và WPA2, vượt qua tầng xác thực các form đăng nhập online.
Giải mã mật khẩu là một nghệ thuật với nhiều kỹ thuật khác nhau. Phần 1 của chuyên đề giải mã mật khẩu sẽ giới thiệu với các bạn các nguyên lý và kỹ thuật giải mã mật khẩu cơ bản. Sau đó sẽ là hướng dẫn sử dụng các công cụ và công nghệ. Sau đây, từng bước một, chuyên gia Ngô Cao Đại sẽ chỉ cho các bạn làm thế nào để sử dụng các nguyên lý và kỹ thuật để giải mã mật khẩu hiệu quả.
>> Phần 2: Chiến thuật giải mã mật khẩu
Tầm quan trọng và phương pháp giải mã mật khẩu
Mật khẩu là một trong những phương pháp bảo mật được sử dụng phổ biến nhất trên thế giới. Tài khoản đăng nhập và mật khẩu được sử dụng trên các hệ thống máy tính, tài khoản ngân hàng, ATM và rất nhiều ứng dụng khác. Giải mã mật khẩu giúp bạn có quyền truy cập vào hệ thống, tài khoản email mà bạn muốn.
Mặc dù một số mật khẩu rất dễ để giải mã, tuy nhiên một số mật khẩu cực kì khó giải mã. Trong trường hợp này bạn có thể kết hợp sức mạnh của phần cứng (GPU, Siêu máy tính, ASIC, …) hoặc là có thể lấy mật khẩu dựa trên một số phương pháp khác.
Đôi khi bạn không cần mật khẩu để truy cập. Ví dụ: nếu bạn có thể sự dụng lại một cookie, session ID, access token. Bằng các phương thức này có thể có biết được mật khẩu dễ dàng hơn nhiều lần so với việc giải mã mật khẩu phức tạp. Kiểu tấn công này được gọi là REPLAY. Tôi sẽ hướng dẫn trong các phần sau (Có thể là lấy cắp access_token Facebook để vào facebook của người khác).
Và tất nhiên, bạn không nên bỏ qua trường hợp này rồi: ” Cách hacker lấy được mật khẩu, mã PIN chính xác tới 100%“
Bây giờ thì sẽ bắt đầu từ những thứ cơ bản nhất.
Nguyên lý và kỹ thuật giải mã mật khẩu
1.Lữu trữ mật khẩu
Nói chung, mật khẩu thường không được lưu trữ trong hệ thống dưới dạng cleartext. Theo nguyên tắc, mật khẩu sẽ được lữu trữ dưới dạng mã băm (Hash). Mã băm là mã hóa một chiều duy nhất cho một đầu vào nhất định. Các hệ thống thường sử dụng mã hóa MD5 hoặc SHA1 để mã hóa mật khẩu lưu trữ.
Trong hệ điều hành Windows, mật khẩu trong hệ thống được lưu trữ trong file SAM. Còn hệ điều hành Linux thì lưu trữ chúng trong file /etc/shadow. Các file này chỉ có thể truy cập bởi quyền root hoặc Administrator. Trong cả hai trường hợp, bạn đều có thể lấy nội dung của các file đó và giải mã mật khẩu. Chi tiết tôi sẽ chỉ cho các bạn ở phần sau.
2.Các kiểu giải mã mật khẩu
2.1.Từ điển(Dictionary):
Giải mã mật khẩu sử dụng từ điển là cách đơn giản và nhanh nhất. Nguyên lý đơn giản là nó so sánh từng từ trong từ điển có giống với mật khẩu cần giải mã hay không.
Với cách tiếp cận này, nếu bạn thực hiện bằng tay dường như là không thể, nhưng máy tính sẽ giúp bạn thực hiện việc này rất nhanh và hiệu quả có thể so sánh hàng triệu từ trong vài giờ. Đây thường là cách tiếp cận đầu tiên của bạn để giải mã bất kì mật khẩu nào, và trong một số trường hợp, nó có thể thành công trong vài giây.
2.2 Rainbow Table:
Phần lớn các hệ thống hiện đại lưu mật khẩu dưới dạng một mã băm (hash). Điều này có nghĩa là ngay cả khi bạn có thể có nội dung của các file chứa mật khẩu thì bạn cũng chỉ có các mật khẩu đã được mã hóa mà thôi. Phương pháp giải mã sử dụng từ điển lấy tập tin từ điển và mã hóa mỗi các từ sau đó so sánh với mật khẩu đã mã hóa. Tuy nhiên sẽ mất thời gian và tốn hiệu năng của CPU. Phương pháp sử dụng Rainbow Table sẽ sử dụng một bảng chứa tất cả các từ trong từ điển đã được mã hóa và so sánh với mật khẩu cần giải mã. Nếu có cái khớp nhau thì tức là bạn đã giải mã thành công.
Vét cạn (Brute Force):
Theo tôi đánh giá, đây là phương pháp tốn nhiều thời gian nhất để giải mã mật khẩu (khi bạn không có một chút gợi ý gì về mật khẩu). Tôi luôn luôn sử dụng nó cuối cùng khi không còn phương án nào khác. Phương pháp này cố gắng thử tất cả các kí tự chữ hoa, chữ thường, số, kí tự đặc biệt kết hợp với nhau để so sánh với mật khẩu cần giải mã. Phương pháp này phụ thuộc nhiều vào hiệu năng phần cứng mà bạn sử dụng để giải mã.
Hỗn hợp(Hybrid)
Là phương pháp kết hợp ưu điểm của 2 kiểu tấn công từ điển và vét cạn. Thường thì sẽ sử dụng các kí tự thêm vào đầu hoặc cuối các từ trong từ điển. Ví dụ, trong từ điển có từ “password”, kiểu tấn công hỗn hợp sẽ kết hợp các kí tự vào cuối tứ “password” như là “password123”, “password@123”, …
Thay thế
Là một phương pháp giải mã mật khẩu Hybrid đặc biệt, sẽ sử dụng các rule thay thế để tạo ra các từ điển mới. Các rule có thể là thay thế các kí tự, số thành các kí tự khác. Ví dụ, từ điển có từ “password” thì trong bộ từ điển mới sử dụng phương pháp thay thế có thể có các từ sau “PassWord”, “p@ssw0rd”, “drowssap” …
Các mật khẩu thông dụng
Việc đặt mật khẩu dựa vào thói quen của chủ tài khoản, thường thì một số người hay đặt mật khẩu dựa vào các số, ngày sinh, tên, các từ trong từ điển, mật khẩu mặc định… Trong những năm gần đây các hệ thống bị hack và thông tin tài khoản của hàng triệu người dùng bị rò rỉ (Như vu 5 triệu tài khoản mật khẩu gmail bị rò rỉ) trong đó có rất nhiều mật khẩu đơn giản và thông dụng có thể giải mã trong vòng chưa đến 1s. Như top 10 mật khẩu thông dụng dưới đây:
Chiến lược giải mã
Một số bạn mới tìm hiểu về mảng giải mã mật khẩu này, các bạn thường chọn một công cụ và một vài danh sách từ điển, sau một vài lần không ra kết quả, các bạn cảm thấy chán nản và từ bỏ. Các bạn nên biết là một chuyên gia giải mã mật khẩu đều có một chiến lược. Chiến lược giải mã mật khẩu với mình nhiều khi còn quan trọng hơn mức độ bao phủ của từ điển hay là sức mạnh của phần cứng. Ngay cả các chuyên gia cũng không thể nào giải mã được hết các mật khẩu, nhưng với một chiến lược giải mã tốt, họ có thể giải mã được hầu hết các mật khẩu trong thời gian ngắn nhất. Đây là phần mà tôi thấy thích nhất và cảm thấy quan trọng nhất. Tôi sẽ chia sẻ kinh nghiệm của tôi về xây dựng chiến lược giải mã mật khẩu trong phần cuối cùng của loạt bài này.
Các công cụ phổ biến
John
John the Ripper là công cụ giải mã mật khẩu nối tiếng nhất thế giới. Nó có cả phiên bản cho Windows và Linux. Tuy nhiên trên Linux nó không có giao diện đồ họa mà sử dụng dòng lệnh nên khá khó khăn cho những người mới bắt đâu để khai thách toàn bộ tính năng của nó cho việc giải mã mật khẩu hiệu quả.
Một trong những điều tuyệt vời ở công cụ này là nó được sử dụng trong các chiến lược giải mã mật khẩu mặc định. Trước tiên nó sẽ sử dụng phương pháp từ điển, nếu không thành công, nó sẽ cố gắng sử dụng phương pháp kết hợp. Cuối cùng nó mới sử dụng đến phương pháp Brute Force.
Ophcrack
Đây là công cụ miến phí trên Windows, giải mã mật khẩu dựa trên phương pháp rainbow table. Đây là một trong những công cụ phổ biến nhất trên Windows (Chỉ sau Cain and Abel), công cụ này cũng được sử dụng trên Linux và Mac.
Nó giải mã các mật khẩu định dạng LM và NTLM (Windows). Để giải mã mật khẩu Windows, bạn có thể tải về các rainbow table hoàn toàn miễn phí.
L0phtCrack
L0phtCrack là một giải pháp có thể thay thế cho Ophcrack, nó cố gắng giải mã mật khẩu Windows từ tập tin SAM hoặc Active Directory (AD). Nó cũng sử dụng các phương pháp từ điển và Brute Force.
L0phtCrack đã được mua lại bởi Symantec vào năm 2006. Nhưng sau đó họ lại mua lại nó vào năm 2009.
Cain And Abel
Cain and Abel được biết đến là công cụ giải mã mật khẩu nối tiếng nhất hành tinh. Dùng trên HĐH Windows. Nó có thể crack nhiều loại mã băm như là NTLM, NTLMv2, MD5, Wireless, Oracle, MySQL, SQL Server, SHA1, SHA2, Cisco, VoIP và nhiều loại khác.
Nó sử dụng các phương pháp giải mã như từ điển, rainbow table, và brute force. Ngoài ra nó có tình năng chọn độ dài mật khẩu khi sử dụng phương pháp brute force. Ngoài ra nó còn là một công cụ tuyệt vời để triển khai tấn công MItM sử dụng ARP Poisoning. Ngay sau loạt bài về giải mã mật khẩu, tôi sẽ giới thiệu đến các bạn loạt bài về tấn công MItM thú vị này.
Hashcat
Hashcat là công cụ yêu thích của tôi, nó hỗ trợ GPU, có thể giải mã hơn 200 loại mã hóa kể cả WPA/ WPA2 Đây là công cụ hoàn toàn miễn phí trên cả Windows và Linux.
Nó hỗ trợ toàn bộ các phương pháp giải mã mật khẩu đã nêu ở trên. Đây là một công cụ mới được phát triển, nó kế thừa toàn bộ những ưu điểm của các công cụ giải mã mật khẩu offline trước đây.
THC-Hydra
THC-Hydra là công cụ dò mật khẩu online được sử dụng phổ biến nhất trên thế giới. Nó có thể dò mật khẩu từ form đăng nhập của các website. Và khi được sử dụng kết hợp với các công cụ khác như Tamper Data, nó có thể là một công cụ mạnh mẽ và hiệu quả để crack gần như mọi loại cơ chế xác thực trực tuyến.
Aircrack-Ng
Đây là bộ công cụ giải mã và thu thập mật khẩu wifi mà tôi thích nhất, nó có khả năng giải mã mật khẩu wifi WEP và WPA/WPA2. Ngoài ra nó còn có rất nhiều tiện ích khác:
– Tạo một soft AP
– Tạo một cuộc tấn công Evil Twin
– Tạo một Rogue AP
– Tấn công DoS môt Wifi AP
Nó chỉ có sẵn cho Linux và yêu cầu một số kiến thức nhất định để tiếp cận sử dụng, bù lại bạn sẽ có được thành quả rất đáng mong đợi khi bạn đầu tư thời gian vào nó. Một điều lưu ý bạn phải sử dụng card wifi tương thích với phần mềm này.
Phần cứng giải mã mật khẩu
Botnet
Giải mã mật khẩu cơ bản chỉ là sức mạnh của hiệu năng tính toán. Những gì mà một máy tính có thể làm được trong 1h, hai máy tính có thể chỉ mất 30 phút. Tương tự, hãy tưởng tượng bạn có một hệ thống mạng Botnet một triệu máy tính. Một số Botnet có sẵn trên thế giới, cung cấp cho bạn với mục đích giải mã mật khẩu. Nếu bạn có mật khẩu có thể mất một năm để giải mã với 1 máy tính, thì với một hệ thống có một triệu máy tính thời gian có thể giảm xuống 1 triệu lần.
GPU
GPU là phương án đơn giản nhất giúp bạn cải thiện sức mạnh của phần cứng, phương án này thích hợp với công cụ hashcat mà tôi đã trình bày ở trên.
ASIC
Trong những năm gần đây, một số IC chuyên dụng được phát triển cho việc giải mã mật khẩu. Các IC này giúp tăng khả năng giải mã mật khẩu nhanh hơn so với 100 CPU làm việc đối xứng.
Cảm ơn bạn đã quan tâm đến lĩnh vực giải mã mật khẩu, mong các bạn đón chờ các phần khác của loạt bài này.
XEM NHIỀU NHẤT: Bảo mật email, gmail bằng 5 cách thông minh
Securitybox giải pháp an ninh mạng toàn diện. Đánh giá bảo mật mạng từ các chuyên gia hàng đầu trong lĩnh vực an ninh mạng.
Thông tin liên hệ:
Công ty cổ phần An toàn thông tin MVS – SecurityBox
Địa chỉ: Tầng 9, Tòa nhà Bạch Dương, Số 459 Đội Cấn, Ba Đình, Hà Nội
Hotline: 092 711 8899
Email: [email protected]