Mật khẩu Windows có thể bị crack như thế nào?

Quản trị mạng


Trong bài này chúng tôi sẽ giới thiệu cho các bạn cách Windows tạo và lưu các hash mật khẩu và cách các hash mật khẩu đó bị crack như thế nào.

Giới thiệu

Mật khẩu (Password) thường là con đường chủ đạo trong việc phòng chống sự xâm nhập bừa bãi. Tuy vậy dù một kẻ tấn công không có truy cập vật lý (trực tiếp) đến máy tính, chúng vẫn có thể truy vập vào máy chủ thông qua giao thức máy trạm từ xa (remote desktop) hoặc xác thực một dịch vụ thông qua một ứng dụng web bên ngoài.

Mục đích của bài viết này nhằm giới thiệu cho các bạn cách Windows tạo và lưu các hash mật khẩu và cách các hash mật khẩu đó bị crack như thế nào. Sau khi giới thiệu cách crack mật khẩu Windows, chúng tôi sẽ cung cấp cho các bạn một số mẹo để bảo vệ bạn tránh được các lỗ hổng trong các kiểu tấn công này.

Windows lưu mật khẩu như thế nào

Windows sử dụng hai phương pháp hash mật khẩu người dùng, cả hai đều có những điểm mạnh và điểm yếu riêng. Đó là LAN Manager (LM) và NT LAN Manager version 2 (NTLMv2). Hàm hash (hash function) là hàm một chiều mà nếu đưa một lượng dữ liệu bất kì qua hàm này sẽ cho ra một chuỗi có độ dài cố định ở đầu ra.

Hash mật khẩu LAN Manager (LM)

Hash LAN Manager là một trong những thuật toán hash mật khẩu đầu tiên được sử dụng bởi các hệ điều hành Windows, chỉ có một phiên bản duy nhất được hỗ trợ cho tới khi xuất hiện NTLMv2 sử dụng trong Windows 2000, XP, Vista và Windows 7. Các hệ điều hành mới này vẫn hỗ trợ sử dụng các hash LM để có khả năng tương thích. Mặc dù vậy, nó đã bị vô hiệu hóa mặc định trong Windows Vista và Windows 7.

Hash mật khẩu loại này được tính bằng một quá trình 6 bước sau:

  1. Mật khẩu người dùng được chuyển đổi thành tất cả các ký tự in hoa.
  2. Mật khẩu được bổ sung thêm các ký tự 0 vào cho tới khi có đủ 14 ký tự.
  3. Mật khẩu mới được chia thành hai hash có 7 ký tự.
  4. Các giá trị này được sử dụng để tạo hai khóa mã hóa DES, mỗi nửa đều được thêm vào một bit chẵn lẻ để tạo các khóa 64 bit.
  5. Mỗi khóa DES sẽ được sử dụng để mã hóa một chuỗi ASCII định sẵn (KGS!@#$%), cho kết quả ra trong hai chuỗi văn bản mật 8-byte.
  6. Hai chuỗi văn bản mật 8-byte này sẽ được kết hợp để tạo thành một giá trị 16-byte, giá trị này chính là một hash LM hoàn chỉnh.

Trong thực tế, mật khẩu “PassWord123” sẽ được chuyển đổi như sau:

  1. PASSWORD123
  2. PASSWORD123000
  3. PASSWOR and D123000
  4. PASSWOR1 and D1230001
  5. E52CAC67419A9A22 and 664345140A852F61
  6. E52CAC67419A9A22664345140A852F61
Mật khẩu Windows có thể bị crack như thế nào?
Hình 1: Một mật khẩu được biến đổi thành một LM hash

Các mật khẩu tuân theo phương pháp LM hash có một số nhược điểm. Nhược điểm đầu tiên cần kể đến là sự mã hóa ở đây dựa vào Data Encyrption Standard (DES). DES khởi đầu từ một dự án của IBM vào những năm 70, dự án sau đó bị sửa đổi bởi NIST, được bảo trợ bởi NSA và được phát hành như một chuẩn ANSI vào năm 1981. DES được cho là khá an toàn trong nhiều năm sau những nghiên cứu kỹ lưỡng trong những năm 90 nhờ kích thước key 56-bit của nó. Tuy nhiên đến đầu năm 1998, Electronic Frontier Foundation thông báo là đã có thể crack DES trong khoảng thời gian 23 giờ. Từ đó, DES được xem như đã lỗi thời và cũng từ đó nó được thay thế bằng Triple-DES và AES. Tuy nhiên đây cũng là các chuẩn mã hóa đã có nạn nhân thiệt mạng với sức mạnh tính toán hiện đại và có thể bị crack một cách dễ dàng.

Có lẽ điểm mạnh lớn nhất trong LM hash chính là trong quá trình tạo các khóa (key) DES. Trong quá trình này, một mật khẩu được cấp bởi người dùng sẽ tự động chuyển đổi tất cả thành in hoa, sau đó được chèn thêm thành chuỗi có độ dài 14 ký tự (đây là chiều dài tối đa cho mật khẩu theo phương pháp LM hash), tiếp đó được chia thành hai hash 7 ký tự. Đây là một điểm yếu khi bạn chuỗi mật mã bị chia nhỏ và chỉ được phép sử dụng các ký tự ASCII in hoa. Xét về bản chất, thuật toán này làm cho việc sử dụng các ký tự khác cũng như tăng chiều dài mật khẩu trở nên vô nghĩa, đó chính là điều làm cho các mật khẩu LM trở nên hổng đối với các cố gắng crack lặp lại nhiều lần (brute-force).

Hash mật khẩu NTLMv2

NT LAN Manager (NTLM) là một giao thức thẩm định của Microsoft, giao thức này được tạo ra để kế vị LM. Có nhiều tải tiến, NTLMv2 được chấp nhận như một phương pháp thẩm định mới đáng để lựa chọn và được thực thi trong Windows NT 4.

Quá trình tạo một NTLMv2 hash (từ lúc này trở về sau chúng ta viết tắt là NT hash) là một quá trình đơn giản hơn nhiều với những gì mà hệ điều hành thực hiện, nó dựa vào thuật toán hash MD4 để tạo hash nhờ một loạt các tính toán toán học. Thuật toán MD4 được sử dụng ba lần để tạo NT hash. Trong thực tế, mật khẩu “PassWord123” sẽ có kết quả là “94354877D5B87105D7FEC0F3BF500B33” sau khi sử dụng thuật toán MD4.

Mật khẩu Windows có thể bị crack như thế nào?
Hình 2: Mật khẩu được chuyển đổi thành một NTLMv2 hash

MD4 được coi là mạnh hơn đáng kể so với DES vì nó cho phép mật khẩu có chiều dài dài hơn, có sự phân biệt giữa các ký tự in thường và in hoa, không chia mật khẩu thành các phần nhỏ hơn (điều tạo sự dễ dàng trong việc crack).

Có lẽ phàn nàn lớn nhất với các NTLMv2 hash là rằng Windows không sử dụng kỹ thuật mang tên salting (tạm được dịch là ướp muối). Salting là một kỹ thuật mà trong đó một số ngẫu nhiên được tạo ra để tính toán hash cho mật khẩu. Điều này có nghĩa rằng cùng một mật khẩu có thể có hai giá trị hash khác nhau hoàn toàn, đây thực sự là điều lý tưởng.

Trong trường hợp này, người dùng có khả năng tạo những gì được gọi là các “bảng cầu vồng” (rainbow table). Các bảng cầu vồng này không phải  là các bảng được trang điểm rực rỡ; mà chúng thực sự là các bảng có chứa các giá trị hash cho số lượng mật khẩu có thể đối với một số lượng ký tự nào đó. Sử dụng bảng cầu vồng, bạn có thể lấy một cách đơn giản giá trị hash được trích rút được từ máy tính mục tiêu và thực hiện một tìm kiếm. Khi giá trị hash được tìm thấy trong bảng, bạn sẽ có mật khẩu. Như những gì bạn có thể hình dung, một bảng cầu vòng thậm chí chỉ với một số lượng nhỏ các ký tự cũng có thể trở thành rất lớn, có nghĩa rằng sự sinh sôi, lưu trữ và đánh chỉ số cho chúng sẽ là một nhiệm vụ khó khăn.

Kết luận

Trong phần đầu tiên của loạt bài này, chúng tôi đã giải thích cho các bạn về các hash mật khẩu và các cơ chế Windows sử dụng để tạo và lưu trữ các giá trị đó. Chúng tôi cũng đã giới thiệu những điểm yếu của mỗi phương pháp và những đại lộ có thể được sử dụng để crack các mật khẩu đó. Trong phần tiếp theo của loạt bài này chúng tôi sẽ giới thiệu cho các bạn về quá trình trích rút và crack các hash này để minh chứng cho những điểm yếu của nó. Khi đã minh chứng xong, chúng tôi sẽ cung cấp cho các bạn một số lớp bảo mật bổ sung và tạo một mật khẩu mạnh thực sự.

Văn Linh (Theo Windowsecurity)








Mat khau Windows co the bi crack nhu the nao?


Quan tri mang


Trong bai nay chung toi se gioi thieu cho cac ban cach Windows tao va luu cac hash mat khau va cach cac hash mat khau do bi crack nhu the nao.

Gioi thieu

Mat khau (Password) thuong la con duong chu dao trong viec phong chong su xam nhap bua bai. Tuy vay du mot ke tan cong khong co truy cap vat ly (truc tiep) den may tinh, chung van co the truy vap vao may chu thong qua giao thuc may tram tu xa (remote desktop) hoac xac thuc mot dich vu thong qua mot ung dung web ben ngoai.

Muc dich cua bai viet nay nham gioi thieu cho cac ban cach Windows tao va luu cac hash mat khau va cach cac hash mat khau do bi crack nhu the nao. Sau khi gioi thieu cach crack mat khau Windows, chung toi se cung cap cho cac ban mot so meo de bao ve ban tranh duoc cac lo hong trong cac kieu tan cong nay.

Windows luu mat khau nhu the nao

Windows su dung hai phuong phap hash mat khau nguoi dung, ca hai deu co nhung diem manh va diem yeu rieng. Do la LAN Manager (LM) va NT LAN Manager version 2 (NTLMv2). Ham hash (hash function) la ham mot chieu ma neu dua mot luong du lieu bat ki qua ham nay se cho ra mot chuoi co do dai co dinh o dau ra.

Hash mat khau LAN Manager (LM)

Hash LAN Manager la mot trong nhung thuat toan hash mat khau dau tien duoc su dung boi cac he dieu hanh Windows, chi co mot phien ban duy nhat duoc ho tro cho toi khi xuat hien NTLMv2 su dung trong Windows 2000, XP, Vista va Windows 7. Cac he dieu hanh moi nay van ho tro su dung cac hash LM de co kha nang tuong thich. Mac du vay, no da bi vo hieu hoa mac dinh trong Windows Vista va Windows 7.

Hash mat khau loai nay duoc tinh bang mot qua trinh 6 buoc sau:

  1. Mat khau nguoi dung duoc chuyen doi thanh tat ca cac ky tu in hoa.
  2. Mat khau duoc bo sung them cac ky tu 0 vao cho toi khi co du 14 ky tu.
  3. Mat khau moi duoc chia thanh hai hash co 7 ky tu.
  4. Cac gia tri nay duoc su dung de tao hai khoa ma hoa DES, moi nua deu duoc them vao mot bit chan le de tao cac khoa 64 bit.
  5. Moi khoa DES se duoc su dung de ma hoa mot chuoi ASCII dinh san (KGS!@#$%), cho ket qua ra trong hai chuoi van ban mat 8-byte.
  6. Hai chuoi van ban mat 8-byte nay se duoc ket hop de tao thanh mot gia tri 16-byte, gia tri nay chinh la mot hash LM hoan chinh.

Trong thuc te, mat khau “PassWord123” se duoc chuyen doi nhu sau:

  1. PASSWORD123
  2. PASSWORD123000
  3. PASSWOR and D123000
  4. PASSWOR1 and D1230001
  5. E52CAC67419A9A22 and 664345140A852F61
  6. E52CAC67419A9A22664345140A852F61
Mat khau Windows co the bi crack nhu the nao?
Hinh 1: Mot mat khau duoc bien doi thanh mot LM hash

Cac mat khau tuan theo phuong phap LM hash co mot so nhuoc diem. Nhuoc diem dau tien can ke den la su ma hoa o day dua vao Data Encyrption Standard (DES). DES khoi dau tu mot du an cua IBM vao nhung nam 70, du an sau do bi sua doi boi NIST, duoc bao tro boi NSA va duoc phat hanh nhu mot chuan ANSI vao nam 1981. DES duoc cho la kha an toan trong nhieu nam sau nhung nghien cuu ky luong trong nhung nam 90 nho kich thuoc key 56-bit cua no. Tuy nhien den dau nam 1998, Electronic Frontier Foundation thong bao la da co the crack DES trong khoang thoi gian 23 gio. Tu do, DES duoc xem nhu da loi thoi va cung tu do no duoc thay the bang Triple-DES va AES. Tuy nhien day cung la cac chuan ma hoa da co nan nhan thiet mang voi suc manh tinh toan hien dai va co the bi crack mot cach de dang.

Co le diem manh lon nhat trong LM hash chinh la trong qua trinh tao cac khoa (key) DES. Trong qua trinh nay, mot mat khau duoc cap boi nguoi dung se tu dong chuyen doi tat ca thanh in hoa, sau do duoc chen them thanh chuoi co do dai 14 ky tu (day la chieu dai toi da cho mat khau theo phuong phap LM hash), tiep do duoc chia thanh hai hash 7 ky tu. Day la mot diem yeu khi ban chuoi mat ma bi chia nho va chi duoc phep su dung cac ky tu ASCII in hoa. Xet ve ban chat, thuat toan nay lam cho viec su dung cac ky tu khac cung nhu tang chieu dai mat khau tro nen vo nghia, do chinh la dieu lam cho cac mat khau LM tro nen hong doi voi cac co gang crack lap lai nhieu lan (brute-force).

Hash mat khau NTLMv2

NT LAN Manager (NTLM) la mot giao thuc tham dinh cua Microsoft, giao thuc nay duoc tao ra de ke vi LM. Co nhieu tai tien, NTLMv2 duoc chap nhan nhu mot phuong phap tham dinh moi dang de lua chon va duoc thuc thi trong Windows NT 4.

Qua trinh tao mot NTLMv2 hash (tu luc nay tro ve sau chung ta viet tat la NT hash) la mot qua trinh don gian hon nhieu voi nhung gi ma he dieu hanh thuc hien, no dua vao thuat toan hash MD4 de tao hash nho mot loat cac tinh toan toan hoc. Thuat toan MD4 duoc su dung ba lan de tao NT hash. Trong thuc te, mat khau “PassWord123” se co ket qua la “94354877D5B87105D7FEC0F3BF500B33” sau khi su dung thuat toan MD4.

Mat khau Windows co the bi crack nhu the nao?
Hinh 2: Mat khau duoc chuyen doi thanh mot NTLMv2 hash

MD4 duoc coi la manh hon dang ke so voi DES vi no cho phep mat khau co chieu dai dai hon, co su phan biet giua cac ky tu in thuong va in hoa, khong chia mat khau thanh cac phan nho hon (dieu tao su de dang trong viec crack).

Co le phan nan lon nhat voi cac NTLMv2 hash la rang Windows khong su dung ky thuat mang ten salting (tam duoc dich la uop muoi). Salting la mot ky thuat ma trong do mot so ngau nhien duoc tao ra de tinh toan hash cho mat khau. Dieu nay co nghia rang cung mot mat khau co the co hai gia tri hash khac nhau hoan toan, day thuc su la dieu ly tuong.

Trong truong hop nay, nguoi dung co kha nang tao nhung gi duoc goi la cac “bang cau vong” (rainbow table). Cac bang cau vong nay khong phai  la cac bang duoc trang diem ruc ro; ma chung thuc su la cac bang co chua cac gia tri hash cho so luong mat khau co the doi voi mot so luong ky tu nao do. Su dung bang cau vong, ban co the lay mot cach don gian gia tri hash duoc trich rut duoc tu may tinh muc tieu va thuc hien mot tim kiem. Khi gia tri hash duoc tim thay trong bang, ban se co mat khau. Nhu nhung gi ban co the hinh dung, mot bang cau vong tham chi chi voi mot so luong nho cac ky tu cung co the tro thanh rat lon, co nghia rang su sinh soi, luu tru va danh chi so cho chung se la mot nhiem vu kho khan.

Ket luan

Trong phan dau tien cua loat bai nay, chung toi da giai thich cho cac ban ve cac hash mat khau va cac co che Windows su dung de tao va luu tru cac gia tri do. Chung toi cung da gioi thieu nhung diem yeu cua moi phuong phap va nhung dai lo co the duoc su dung de crack cac mat khau do. Trong phan tiep theo cua loat bai nay chung toi se gioi thieu cho cac ban ve qua trinh trich rut va crack cac hash nay de minh chung cho nhung diem yeu cua no. Khi da minh chung xong, chung toi se cung cap cho cac ban mot so lop bao mat bo sung va tao mot mat khau manh thuc su.

Van Linh (Theo Windowsecurity)

Mật khẩu Windows có thể bị crack như thế nào?

Quản trị mạng
Giới thiệu cho bạn bè
  • gplus
  • pinterest

Bình luận

Đăng bình luận

Đánh giá