HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN
Học phần: An tồn mạng
Bài báo cáo:
Tìm hiểu về Kali tools : HAITI
Cài đặt thử nghiệm HAITI
Giảng viên hướng dẫn: TS. Đặng Minh Tuấn
Sinh viên thực hiện : Lê Minh Hiếu
Mã sinh viên
: B18DCAT085
Nhóm
: 02
Hà Nội 2021
Mục lục
Danh sách các thuật ngữ viết tắt .......................................................................................... 3
Danh mục hình ảnh .............................................................................................................. 4
Lời mở đầu........................................................................................................................... 6
Chương 1: Khái quát về Kali linux và HAITI ..................................................................... 7
1.1
Khái quát về Kali linux .......................................................................................... 7
1.2
Khái quát về HAITI ............................................................................................... 8
Chương 2: Hướng dẫn cài đặt............................................................................................ 10
2.1
Hướng dẫn cài kali linux trên máy ảo Vitrual Box .............................................. 10
2.2
Hướng dẫn cài đặt HAITI trên Kali linux ............................................................ 15
Chương 3: Hướng dẫn sử dụng HAITI ............................................................................. 18
Chương 4: Demo ............................................................................................................... 20
4.1
Nhận dạng mã băm MD5 (option: extended) ...................................................... 20
4.2
Nhận dạng mã băm SHA-1 (options: no-color and short) ................................... 21
4.3
Nhận dạng mã băm SHA-256 (option: hashcat-only) ......................................... 22
4.4
Nhận dạng mã băm Haval256 (option: john-only) .............................................. 24
4.5
Nhận dạng mã băm Ripemd128 (option: debug) ................................................. 25
Chương 5: Tổng kết ........................................................................................................... 26
5.1
So sánh ................................................................................................................. 26
5.2
Đánh giá ............................................................................................................... 27
5.3
Kết luận ................................................................................................................ 28
Lời cảm ơn ......................................................................................................................... 29
Tài liệu tham khảo ............................................................................................................. 30
Danh sách các thuật ngữ viết tắt
Từ viết tắt
Thuật ngữ tiếng anh
Thuật ngữ tiếng việt
Kali Linux
Kali Linux
Hệ điều hành máy tính
HAITI
HAsh IdenTifIer
Công cụ nhận diện hàm băm
Md5
Message-Digest algorithm 5
Hàm băm Md5
SHA-1
Secure Hash Algorithm 1
Hàm băm SHA-1
JTP
John the Ripper
Công cụ phá mật khẩu
NTH
Name That Hash
Công cụ nhận diện hàm băm
Python
Python
Ngôn ngữ lập trình
Ruby
Ruby
Ngôn ngữ lập trình
SHA-256
Secure Hash Algorithm 256-bit
Hàm băm SHA-256
OSCP
Offensive Security Certified Professional
Chứng chỉ công nghệ
Nmap
Network mapper
Công cụ khai thác mạng
SHA-3
Secure Hash Algorithm 3
Hàm băm
Danh mục hình ảnh
Hình 1: Tạo máy ảo mới .................................................................................................... 10
Hình 2: Chọn file kali.iso .................................................................................................. 10
Hình 3: Đặt tên host ........................................................................................................... 11
Hình 4: Đặt mật khẩu kali.................................................................................................. 11
Hình 5: Cấu hình ổ đĩa ....................................................................................................... 12
Hình 6: Chọn ổ đĩa............................................................................................................. 12
Hình 7: Xác nhận các thông số đã cài đặt ......................................................................... 13
Hình 8: Kali linux đang tiến hành cài đặt .......................................................................... 13
Hình 9: Cài đặt Kali linux thành công ............................................................................... 14
Hình 10: Đăng nhập Kali linux ......................................................................................... 15
Hình 11: Giao diện chính của Kali linux ........................................................................... 16
Hình 12: Giao diện dòng lệnh ........................................................................................... 16
Hình 13: Cài đặt rubygems ................................................................................................ 17
Hình 14: Cài đặt haiti-hash ................................................................................................ 17
Hình 15: Lấy các options của haiti .................................................................................... 18
Hình 16: Các options haiti hỗ trợ ...................................................................................... 18
Hình 17: Lấy ra phiên bản hiện tại của haiti ..................................................................... 19
Hình 18: Mã hóa “0” bằng hàm MD5 ............................................................................... 20
Hình 19: Kết quả nhận dạng được md5 ............................................................................. 21
Hình 20: Mã hóa “1” bằng SHA-1 .................................................................................... 21
Hình 21: Nhận dạng được SHA-1 ..................................................................................... 22
Hình 22: Mã hóa “1” bằng SHA-256 ................................................................................ 23
Hình 23: Kết quả nhận dạng được SHA-256 và tham chiếu hashcat: 140 ........................ 23
Hình 24: Mã hóa “1” bằng hàm Haval256 ........................................................................ 24
Hình 25: Kết quả nhận dạng được Haval256(5 vòng)....................................................... 24
Hình 26: Mã hóa "1" bằng hàm Ripemd128 ..................................................................... 25
Hình 27: Kết quả nhận dạng được Ripemd128 ................................................................. 25
Lời mở đầu
Công nghệ thông tin đã và đang phát triển với một tớc độ chóng mặt, mang lại rất
nhiều lợi ích cho nhân loại. Từ đời sớng sinh hoạt đến các hoạt động kinh doanh, các hoạt
động quản lý, chỉ đạo trong bộ máy nhà nước thì đều có sự hiện diện và đóng góp của Công
Nghệ Thông Tin. Tuy nhiên, bên cạnh các mặt tích cực mà nó mang lại thì vẫn cịn tồn tại
nhiều mặt tiêu cực và ngày càng trở nên nghiêm trọng, nhức nhối cho xã hội như: các nguy
cơ tấn công mạng nhằm phá hoại hệ thống mạng, hệ thống thông tin, nguy cơ bị đánh cắp
các thông tin “nhạy cảm” của cá nhân, tổ chức, doanh nghiệp, các cơ quan nhà nước…
Với sự phát triển không ngừng của kĩ thuật máy tính, nguy cơ bị hacker tấn công
vào hệ thống thông tin ngày càng gia tăng, vấn đề password ngày càng trở nên phức tạp,
giờ đây password không chỉ đơn thuần là một ch̃i kí tự bí mật của riêng user, mà nó
ln ở trong nguy cơ bị cracking cao độ, do đó đòi hỏi người dùng cần có kiến thức về
password.
Để tấn công và đánh cắp password, các hacker phải có kịch bản tấn công và sử dụng
các công cụ để thực hiện quá trình đánh cắp. Một trong số các công cụ được các hacker sử
dụng phổ biến là bộ công cụ Kali linux. Kali Linux hỗ trợ rất nhiều công cụ để tấn công và
crack password. Trong bài này chúng ta sẽ đi tìm hiểu công cụ HAITI trong Kali Linux.
Chương 1: Khái quát về Kali linux và HAITI
1.1 Khái quát về Kali linux
- Kali Linux là một bản phân phối Linux dựa trên Debian, được tài trợ và phát
triểu bởi công ty Offensive Security Ltd hoạt động trong lĩnh vực bảo mật thông
tin, kiểm tra thâm nhập
- Kali Linux là giải pháp tiện lợi và tiện dụng cho những ai học tập và hoạt động
trong lĩnh vực bảo mật bởi vì nó cung cấp rất nhiều công cụ cho những tác vụ
liên quan đến bảo mật như chuẩn bị, phân loại, thu thập và cập nhật các công cụ
bảo mật
- Năm 2006 năm Mati Aharoni, Devon Kearns and Raphaël Hertzog là những
người đã phát hành một bản phân phối Linux dựa trên nền Ubuntu mang tên
Backtrack
- Ngày 13 tháng 3 năm 2013 công ty Offensive Security Ltd chính thức phát hành
Kali Linux, một bản nâng cấp toàn diện của Backtrack
- Offensive Security Ltd là một tổ chức lớn và đáng tin cậy trong thế giới bảo mật,
họ còn là đơn vị chứng nhận một số chứng chỉ bảo mật cao cấp như: OSCP,
OSCE, OSWP, OSEE
- Kali Linux là một hệ điều hành được sử dụng nhiều trong lĩnh vực bảo mật, bởi
cả những hacker tìm cách xâm nhập hệ thống và những chuyên gia về bảo mật
muốn bảo vệ các tài nguyên thông tin
- Kali cung cấp rất nhiều các công cụ kiểm thử thâm nhập và bảo mật, bên cạnh
đó còn cung cấp nhiều công cụ mã nguồn mở giúp cho bạn dễ dàng trong việc
tiến hành kiểm tra bảo mật giúp tiết kiệm thời gian
- Kali chứa rất nhiều công cụ với mục đích hổ trợ các nhiệm vụ bảo mật thơng tin
khác nhau, ví dụ như Penetration Testing, Security research, Computer Forensics
và Reverse Engineering,…
- Kali cung cấp một loạt các tính năng không thể tìm thấy trên các bản phân phới
Linux trùn thớng:
• Trên 600 cơng cụ kiểm thử bảo mật hacking, pentest,…
• Các cơng cụ thu thập thơng tin mạng Nmap, Wireshark,…
• Các cơng cụ tập trung tấn cơng, khai thác vào Wifi như Aircrack-ng,
Kismet và Pixie.
• Đới với các nhu cầu kiểm thử tấn công khai thác vào mật khẩu sẽ có
Hydra, Crunch, Hashcat và John the Ripper
• Có rất nhiều các công cụ hacking được cập nhật liên tục
1.2 Khái quát về HAITI
- HAITI (HAsh IdenTifIer) là một cơng cụ dịng lệnh (và thư viện) để xác định
loại của một hàm băm nhất định. Thư viện được sử dụng cho việc viết kịch bản
vì khơng phải sử dụng dịng lệnh trong một quy trình con.
- HAITI có thể phát hiện hơn 382 loại hàm băm khác nhau
- HAITI hỗ trợ các thuật toán hiện đại như SHA3, Keccak, Blake2, v.v
- Có thể sử dụng HAITI bằng công cụ dòng lệnh hoặc thư viện CLI
- HAITI hỗ trợ đầu ra có màu sắc
- HAITI tham chiếu tới Hashcat và John the Ripper
- HashID không được nâng cấp kể từ tháng 3 năm 2015, hash-identifier cũng
không được nâng cấp từ năm 2011 còn Dagon không được nâng cấp từ tháng 6
năm 2018 và findmyhash cũng không được bảo trì từ năm 2011. Tất cả các công
cụ trên đều không thể hoặc nhận dạng sai các hàm băm hiện đại như Keccak /
SHA3 / Blake2, v.v.
- Ngồi ra, một cơng cụ như hash – identifier khơng có tùy chọn và khơng tiện
dụng cho việc tạo tập lệnh. findmyhash cũng rất hạn chế. Công cụ tốt hơn cả là
hashID (để xác định hàm băm) nhưng vì nó không có gì thay đổi trong hơn 5
năm, các vấn đề và PR mở đang xếp chồng lên nhau, lỡi vẫn cịn và một sớ tính
năng vẫn còn thiếu.
- Đó là động cơ thúc đẩy tạo ra một công cụ mới và bằng cách thêm hỗ trợ màu
và thư viện. Thư viện đặc biệt tốt cho việc viết kịch bản vì người ta không phải
sử dụng dòng lệnh.
- Kể từ tháng 1 năm 2021, gần hai năm sau khi Haiti được phát triển, một dự án
có tên Name-That-Hash nổi lên được viết bằng Python. Cho tới hiện này, có hai
tùy chọn để xác định hàm băm đó là HAITI và NTH.
- Tuy nhiên NTH hỗ trợ ít hàm băm hơn và có 1 số chức năng bị hỏng hoặc chưa
hoàn thành. Vì Vậy, cho đến thời điểm hiện tại, HAITI vẫn là công cụ xác định
hàm băm tốt và được sử dụng phổ biến.
Chương 2: Hướng dẫn cài đặt
2.1 Hướng dẫn cài kali linux trên máy ảo Vitrual Box
Hình 1: Tạo máy ảo mới
Hình 2: Chọn file kali.iso
Hình 3: Đặt tên host
Hình 4: Đặt mật khẩu kali
Hình 5: Cấu hình ổ đĩa
Hình 6: Chọn ổ đĩa
Hình 7: Xác nhận các thông số đã cài đặt
Hình 8: Kali linux đang tiến hành cài đặt
Hình 9: Cài đặt Kali linux thành công
2.2 Hướng dẫn cài đặt HAITI trên Kali linux
Hình 10: Đăng nhập Kali linux
Hình 11: Giao diện chính của Kali linux
Hình 12: Giao diện dòng lệnh
- Nhập dòng lệnh: sudo apt install rubygems
Hình 13: Cài đặt rubygems
- Nhập dòng lệnh: sudo gem install haiti-hash
Hình 14: Cài đặt haiti-hash
Chương 3: Hướng dẫn sử dụng HAITI
- Gõ câu lệnh: haiti -h hoặc haiti -help để xem các option được hỗ trợ
haiti -h
Hình 15: Lấy các options của haiti
haiti -help
Hình 16: Các options haiti hỗ trợ
Cú pháp sử dụng haiti:
Haiti [options] <hash>
Trong đó:
+ options: là các lựa chọn được hỗ trợ
+ <hash> là mã băm cần nhận dạng
- Haiti hỗ trợ các options sau:
+ --no-color : kết quả không hiện màu sắc
+ -e, --extened : hiển thị tất cả các thuật toán băm có thể được sử dụng
+ --short : kết quả hiển thị dưới dạng rút gọn, không hiển thị tham chiếu đến
hashcat và john the ripper
+ --hashcat-only: kết quả chỉ hiển thị tham chiếu với hashcat
+ --john-only: kết quả chỉ hiển thị tham chiếu với john the ripper
- Gõ lệnh: haiti --version để xem phiên biển hiện tại
-
Hình 17: Lấy ra phiên bản hiện tại của haiti
Chương 4: Demo
4.1 Nhận dạng mã băm MD5 (option: extended)
- Mã hóa ký tự “0” bằng hàm băm MD5
Hình 18: Mã hóa “0” bằng hàm MD5
- Sử dụng haiti nhận diện mã băm: cfcd208495d565ef66e7dff9f98764da
- Gõ câu lệnh: haiti -e cfcd208495d565ef66e7dff9f98764da
- Option -e: liệt kê tất cả các hàm băm có thể có
Hình 19: Kết quả nhận dạng được md5
- Kết quả haiti nhận diện được ra hàm băm md5
4.2 Nhận dạng mã băm SHA-1 (options: no-color and short)
-
Mã hóa ký tự “1” bằng hàm băm SHA-1
Hình 20: Mã hóa “1” bằng SHA-1
- Dùng haiti nhận diện mã băm:
356a192b7913b04c54574d18c28d46e6395428ab
- Gõ câu lệnh:
haiti --no-color --short 356a192b7913b04c54574d18c28d46e6395428ab
--no-color: để ko hiện màu sắc
--short: hiển thị ở dạng ngắn gọn, không hiện tham chiếu hashcat và john the
ripper
Hình 21: Nhận dạng được SHA-1
- Kết quả haiti nhận ra hàm băm SHA-1
4.3 Nhận dạng mã băm SHA-256 (option: hashcat-only)
- Mã hóa ký tự “1” bằng hàm băm SHA-256
Hình 22: Mã hóa “1” bằng SHA-256
- Dùng haiti nhận diện mã băm:
6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b
- Gõ câu lệnh: haiti --hashcat-only
6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b
- Hashcat-only: chỉ hiện tham chiếu hashcat
Hình 23: Kết quả nhận dạng được SHA-256 và tham chiếu hashcat: 140
- Kết quả haiti nhận ra được hàm băm SHA-256 với tham chiếu hashcat: 1400
4.4 Nhận dạng mã băm Haval256 (option: john-only)
- Mã hóa ký tự “1” bằng hàm băm HAVAL256,5
Hình 24: Mã hóa “1” bằng hàm Haval256
- Dùng haiti nhận diện mã băm:
7045e5094aee9618214c1218b575d7f2325645e2830622a706ec39616e16a936
- Gõ câu lệnh: haiti --john-only
7045e5094aee9618214c1218b575d7f2325645e2830622a706ec39616e16a936
- john-only: chỉ hiện tham chiếu john the ripper
Hình 25: Kết quả nhận dạng được Haval256(5 vòng)
4.5 Nhận dạng mã băm Ripemd128 (option: debug)
- Mã hóa ký tự “1” bằng hàm băm ripemd128
Hình 26: Mã hóa "1" bằng hàm Ripemd128
- Dùng haiti nhận diện mã băm: 964297086cacedf34c500708065bca73
- Gõ câu lệnh: haiti --debug 964297086cacedf34c500708065bca73
- debug: hiển thị trạng thái các tham số
Hình 27: Kết quả nhận dạng được Ripemd128