Chương 3 Demo
3.3. Demo bẻ khóa mã băm MD5
3.3.1. Kịch bản
Thực hiện tạo bảng cầu vồng để tra cứu cho thuật toán băm MD5, với charset: mixalpha-numeric, bản rõ có độ dài: 1→ 5, chain-len: 2100, chain-num: 900000,
34 table_index: 0 → 4, sẽ tạo ra 5 bảng cầu vồng. Với xác xuất thành cơng tính được là 99.9%.
Sau đó thực hiện bẻ khóa mật khẩu cho mã băm riêng lẻ, cho file chứa mã băm.
3.3.2. Demo
Ở đây sẽ thực hiện demo với mã băm MD5 của bản rõ là chuỗi có độ dài từ 1 → 5 và là kết hợp của chữ cái in hoa, in thường và chữ số.
Thực hiện “rtgen” cho mã băm MD5 sử dụng các câu lệnh: ▪ rtgen md5 mixalpha-numeric 1 5 0 2100 900000 0
▪ rtgen md5 mixalpha-numeric 1 5 1 2100 900000 0
▪ rtgen md5 mixalpha-numeric 1 5 2 2100 900000 0
▪ rtgen md5 mixalpha-numeric 1 5 3 2100 900000 0
▪ rtgen md5 mixalpha-numeric 1 5 4 2100 900000 0
Câu lệnh được thực hiện và chạy như sau:
Hình 3.14 Giao diện dịng lệnh thực hiện 1 câu lệnh “rtgen md5”
Sau khi chạy xong tất cả các câu lệnh, ta sẽ thu được 5 file định dạng “.rt”, mỗi file có kích thước 14 MB.
Hình 3.15 Các file bảng cầu vồng cho thuật toán MD5 vừa tạo
Tiếp đến, ta sẽ thực hiện quá trình sắp xếp lại các bảng cầu vồng sử dụng câu lệnh:
35
Hình 3.16 Giao diện dịng lệnh thực hiện rtsort bảng MD5
Trong Raibowcrack chỉ hỗ trợ bẻ khóa mã băm MD5 có độ dài 16 bytes và bản rõ có độ dài từ 0 → 15.
lm HashLen=16 PlaintextLen=0-15
a. Thực hiện bẻ khóa cho 1 mã băm MD5 đơn
Thực hiện bẻ khóa với mã băm MD5 “a384b6463fc216a5f8ecb6670f86456a” có bản rõ là “qwert”.
Để thực hiện bẻ khóa với mã băm đơn ta sử dụng optiton “-h” ,câu lệnh thực hiện bẻ khóa với mã băm trên như sau:
rcrack ./rainbow_tables_md5 -h a384b6463fc216a5f8ecb6670f86456a
36 Q trình “rcrack” mã băm MD5 đơn thành cơng.
b. Thực hiện bẻ khóa cho nhiều mã băm MD5
Khi thực hiện bẻ khóa nhiều mã băm MD5 thì các mã băm được lưu trữ trong 1 file .txt mỗi mã băm sẽ được viết trên 1 dòng, trong demo này ta sử dụng file
hash_md5.txt có các mã băm như sau:
Hình 3.18 File hash_md5.txt chứa mã băm MD5
Để thực hiện bẻ khóa cho nhiều mã băm được chứa trong 1 file, ta sử dụng option “-l”, câu lệnh thực hiện bẻ khóa với danh sách mã băm trên như sau:
rcrack ./rainbow_tables_md5 -l hash_md5.txt
37 Q trình bẻ khóa thành cơng mã băm MD5 trong file hash_md5.txt.