Câu trả lời:
Mật khẩu trên hệ thống linux không được mã hóa, chúng được băm là một sự khác biệt rất lớn.
Theo định nghĩa, không thể đảo ngược hàm băm. Để biết thêm thông tin, xem mục Hash Wikipedia .
Hàm băm nào được sử dụng, tùy thuộc vào cấu hình hệ thống của bạn. MD5 và blowfish là những ví dụ phổ biến cho các hàm băm được sử dụng.
Vì vậy, mật khẩu "thực" của người dùng không bao giờ được lưu trữ trên hệ thống.
Nếu bạn đăng nhập, chuỗi bạn nhập làm mật khẩu sẽ được băm và kiểm tra đối với tệp / etc / bóng của bạn. Nếu nó khớp, rõ ràng bạn đã nhập đúng mật khẩu.
Dù sao, vẫn còn một số vectơ tấn công chống lại băm mật khẩu. Bạn có thể giữ một từ điển các mật khẩu phổ biến và tự động thử chúng. Có rất nhiều từ điển có sẵn trên internet. Một cách tiếp cận khác là chỉ cần thử tất cả các tổ hợp nhân vật có thể sẽ tiêu tốn một lượng lớn thời gian. Điều này được gọi là cuộc tấn công bruteforce.
Rainbowtables là một vector tấn công tốt đẹp khác chống lại băm. Ý tưởng đằng sau khái niệm này, chỉ đơn giản là tính toán trước tất cả các giá trị băm có thể và sau đó chỉ cần tra cứu một hàm băm trong các bảng để tìm mật khẩu tương ứng. Có một số dự án điện toán phân tán để tạo các bảng như vậy , kích thước khác nhau trên các ký tự được sử dụng và chủ yếu là vài TB.
Để giảm thiểu rủi ro của các bảng tra cứu như vậy, đây là cách thông thường và hành vi mặc định trong Unix / Linux để thêm cái gọi là " muối " vào hàm băm mật khẩu. Bạn băm mật khẩu của mình, thêm một giá trị muối ngẫu nhiên vào hàm băm và băm lại chuỗi mới này. Bạn cần lưu hàm băm mới và muối để có thể kiểm tra xem giá trị đã nhập có phải là mật khẩu chính xác hay không. Ưu điểm lớn của phương pháp này là, bạn sẽ phải tạo các bảng tra cứu mới cho mỗi loại muối duy nhất.
Một công cụ phổ biến để thực hiện các cuộc tấn công từ điển hoặc vũ phu chống lại mật khẩu người dùng của các hệ điều hành khác nhau là John The Ripper (hoặc JTR). Xem trang chủ của dự án để biết thêm chi tiết:
John the Ripper là một công cụ bẻ khóa mật khẩu nhanh, hiện có sẵn cho nhiều hương vị của Unix, Windows, DOS, BeOS và OpenVMS. Mục đích chính của nó là phát hiện mật khẩu Unix yếu.
Thực tế không thể giải mã những mật khẩu đó vì chúng được mã hóa một chiều.
Như những người khác đã nói, bạn thực sự không thể giải mã tập tin bóng.
Điều duy nhất bạn có thể thử là vũ phu đoán mật khẩu bằng một công cụ như John the Ripper . Điều này có thể hoặc không thể thành công, và gần như chắc chắn sẽ mất một thời gian dài.
Mật khẩu được mã hóa bằng thuật toán sẽ lấy mật khẩu và tạo một hàm băm duy nhất cho mật khẩu đó. Hàm băm này được lưu trữ trong tệp / etc / bóng. Không thể khôi phục mật khẩu từ hàm băm. Các phương pháp duy nhất để khôi phục mật khẩu là vũ phu toàn bộ không gian phím hoặc sử dụng một số loại tấn công từ điển . Các hàm băm sớm đã sử dụng tiêu chuẩn DES. Sự gia tăng sức mạnh tính toán đã giúp có thể vũ trang không gian phím DES trong một thời gian hợp lý. Các hàm băm hiện đại được sử dụng để mã hóa mật khẩu bao gồm MD5, SHA, v.v. Thông tin thêm về thư viện mật mã (3) có thể được tìm thấy ở đây .