Tryhackme - Crack the hash
Đây sẽ là challenge dành riêng cho những bạn nào muốn học về các kiểu mã hóa, hàm băm và cách phá những đoạn mã hóa bằng các công cụ có sẵn. Bắt đầu nào:
1) Level 1:
Trước khi bắt đầu việc giải ra một đoạn mã nào đó nó là gì, ta cần phải xác định xem nó thuộc kiểu mã hóa nào hay có gì đặc biệt trong cái đoạn mã đó hay không. Và nếu ai dùng Kali Linux thì chắc sẽ biết đến tool hash-identifier. Cho những ai chưa biết thì hash-identifier là một tool dùng để nhận dạng kiểu mã hóa. Công cụ này sẽ là 1 công cụ khá quan trọng trong suốt quá trình giải challenge.
Ở trong câu hỏi đầu tiên ta sẽ sử dụng hash-identifier để nhận dạng kiểu mã hóa:
Ở đây chúng ta có thể thấy hệ thống cho chúng ta hai kết quả, MD5 mà MD4. Và mình sẽ thử với MD5 đầu tiên. Và chúng ta sẽ có 3 cách để giải:
- Dùng hashcat
- Dùng john the ripper
- Dùng web trên mạng: https://www.md5online.org/md5-decrypt.html
Các bạn có thể chọn cách nào cũng được, riêng mình mình sẽ chọn giải bằng công cụ ở trên mạng:
Với câu hỏi thứ 2, tương tự với câu 1, ta sẽ sử dụng hash-identifier để nhận dạng mã hóa:
Ta có thể thấy đoạn mã trên có thể là hai dạng như trên hình, và mình sẽ giải với SHA-1, vì nó khá phổ biến. Trong trường hợp này mình sẽ sử dụng hashcat để giải: hashcat -m 100 <hash_file> /usr/wordlists/rockyou.txt:
Tương tự với câu hỏi thứ 3:
Câu hỏi thứ 4: ở đây mình không thể sử dụng hash-identifier:
Nhưng chúng ta có thể dùng công cụ ở trên mạng: https://www.tunnelsup.com/hash-analyzer/
Ở đây họ cho ta biết được rằng hash thuộc kiểu mã hóa bcrypt, nó làm tôi mất rất nhiều thời gian để dải, và bạn có thể đi ăn một tô mì hoặc uống một tách cà phê để đợi nó đấy:
Đáp án: bleh
Câu hỏi thứ 5: bạn có thể sử dụng link mình để ở bài 4 để nhận dạng, và nó sẽ cho ra hai kiểu là MD5 và MD4. Nhưng các cụ nói rồi: "Không ai tắm hai lần trên một dòng sông", câu đầu tiên đã MD5 rồi thì câu này không thể dùng bài cũ được. MD4 thẳng tiến, và mình đã đúng :))) :
2) Level 2:
Bắt đầu lên level nha; câu đầu tiên cũng không có gì để bàn, quá dễ rồi, dựa theo kinh nghiệm những bài trước mà làm thôi:
Câu hỏi thứ hai mình sử dụng hash-identifier và những tool nhận dạng ở trên đều cho ra kết quả là md5 và md4 nhưng mình không thể giải được. Và lúc này mình cần đến sự trợ giúp, mình nhìn hint và biết được rằng đây là kiểu mã hóa NTML. Nếu các bạn muốn hiểu rõ hơn hãy đọc bài viết này: https://doubleoctopus.com/security-wiki/protocol/nt-lan-manager/
Khó dần rồi đúng không? Còn hai câu nữa thôi, cố lên nào. Câu hỏi tiếp theo là 1 đoạn hash khá dài + có salt. Vậy salt là gì, salt là giá trị mà đầu tiên nó là duy nhất, một đoạn hash chỉ có duy nhất một salt, thứ hai là nó có thể thêm vào cuối mật khẩu để tạo ra giá trị khác nhau. Đây chính là cách mà mật khẩu của chúng ta được bảo vệ. Và mình nhận thấy đầu đoạn hash là $6$ và mình thấy quen quen. Mình thử tìm trong hashcat và mình thấy được kiểu mã hóa có đặc điểm như này, đó là sha512crypt $6$, SHA512 (Unix). Ngon rồi, giải thôi
Đáp án: waka99
Đáp án: waka99
Câu hỏi cuối cùng nó cho một đoạn mã và 1 một đoạn salt, và ta có thể thấy là trong đoạn mã chưa có salt, vậy ta chỉ việc thêm salt vào cuối hash là xong, rồi hãy sử dụng hết khả năng của mình để giải nha:
Nếu thấy bài viết hay thì hãy chia sẻ trang blog của mình tới nhiều người và mình sẽ rất vui nếu như các bạn để lại những góp ý của các bạn ở dưới phần bình luận. Cảm ơn mọi người rất nhiều, Tạm biệt và hẹn gặp lại trong những bài viết lần sau.
Nhận xét
Đăng nhận xét