Kali là gì, và không phải là gì
Kali Linux là bản phân phối miễn phí, mã nguồn mở, dựa trên Debian, dùng cho kiểm thử thâm nhập nâng cao và kiểm toán bảo mật, tiền thân là BackTrack Linux. Tài liệu chính thức giới thiệu nó đi kèm vài trăm công cụ, cấu hình và script, bao trùm các công việc như forensics máy tính, kỹ thuật đảo ngược, phát hiện lỗ hổng... Nó là một phần của dự án cộng đồng OffSec, bản quyền thuộc OffSec Services Limited.
Phía chính thức có hai câu định vị đáng nhớ: Kali "được thiết kế riêng cho nhu cầu của những người kiểm thử thâm nhập có kinh nghiệm"; toàn bộ tài liệu trên trang đều giả định bạn đã hiểu và quen thuộc Linux. Phía chính thức không nói rõ nó không phù hợp cho dùng hàng ngày; cách nói "không khuyến nghị" dưới đây là quan điểm của tôi: bộ công cụ và kịch bản sử dụng của nó đều được thiết kế cho kiểm thử bảo mật; nếu bạn vẫn đang bổ sung nền tảng Linux, hãy dùng bản phân phối khác luyện quen quản lý gói, quyền và thao tác hằng ngày trước, rồi mới dùng Kali; đặt nó trong máy ảo sẽ đỡ phiền hơn là dùng làm hệ thống chính.
Kiểm chứng ảnh trước khi cài
Ảnh tải từ cdimage.kali.org. Phía chính thức đưa ra một bộ phương pháp xác minh: dùng chữ ký để xác nhận danh sách checksum do Kali ký, rồi dùng danh sách checksum để xác nhận ảnh không bị thay đổi.
Trước tiên tải danh sách checksum và chữ ký về thư mục chứa ảnh:
wget -q https://cdimage.kali.org/current/SHA256SUMS{.gpg,}
Nhập khóa ký chính thức của Kali, chọn một trong hai cách sau:
wget -q -O - https://archive.kali.org/archive-key.asc | gpg --import
gpg --keyserver hkps://keyserver.ubuntu.com --recv-key 827C8569F2518CC677FECA1AED65462EC8D5E4C5
Sau đó đối chiếu fingerprint:
gpg --fingerprint 827C8569F2518CC677FECA1AED65462EC8D5E4C5
Kết quả phải trùng khớp hoàn toàn với fingerprint chính thức công bố: 827C 8569 F251 8CC6 77FE CA1A ED65 462E C8D5 E4C5. Bước này không được bỏ qua. Phía chính thức đặc biệt lưu ý rằng khóa này chưa được một chữ ký mà bạn tin tưởng xác nhận, nghĩa là bạn vẫn chưa xác nhận nó thực sự thuộc về Kali; đối chiếu fingerprint chính là làm việc xác nhận đó. Fingerprint khớp rồi mới xác minh chữ ký:
gpg --verify SHA256SUMS.gpg SHA256SUMS
Trong kết quả phải có dòng Good signature from. Nếu không thấy dòng này, hoặc key ID không khớp, hãy dừng lại, kiểm tra xem tệp có được tải từ mirror Kali chính thống hay không.
Cuối cùng đối chiếu checksum của chính tệp ảnh. Trang chính thức này không đưa ra lệnh; lệnh dưới đây tôi đã thử trong container Kali rolling:
sha256sum -c SHA256SUMS --ignore-missing
Khi ảnh tồn tại và khớp, kết quả là tên tệp: OK, mã thoát bằng 0; --ignore-missing chỉ kiểm tra các tệp thực sự tồn tại trong thư mục hiện tại, phù hợp với trường hợp chỉ tải một ảnh.
Tài khoản mặc định
Các loại ảnh khác nhau, trước khi cài phải xác định rõ mình đang cầm loại nào:
- Ảnh installer (amd64): không có tài khoản mặc định, quá trình cài sẽ yêu cầu bạn tạo một người dùng thường.
- Ảnh live và ảnh dựng sẵn (máy ảo, ARM): tên người dùng
kali, mật khẩukali.
Phía chính thức cho biết Kali áp dụng chiến lược người dùng non-root. Với các ảnh live và ảnh dựng sẵn có mật khẩu công khai, đề nghị của tôi là đổi mật khẩu kali ngay lần đăng nhập đầu tiên. Ngoài ra, trong ảnh container kalilinux/kali-rolling không hề có người dùng kali; ảnh container và các ảnh trên không phải là một chuyện, đừng dùng nó để suy ra tình hình tài khoản.
Chọn metapackage nào
Công cụ của Kali được nhóm theo metapackage, cách cài đều như nhau:
sudo apt update
sudo apt install -y kali-linux-default
Các metapackage chính theo trang chính thức:
kali-linux-core: hệ thống cơ sở luôn được bao gồm.kali-linux-headless: bản cài mặc định không có giao diện đồ họa.kali-linux-default: công cụ có trong ảnh desktop mặc định.kali-linux-large: bộ công cụ mặc định thời trước.kali-linux-everything: tất cả metapackage và công cụ được liệt kê trên trang chính thức.kali-desktop-live: dùng cho phiên live khởi động từ ảnh.kali-linux-arm: công cụ phù hợp với thiết bị ARM.kali-linux-nethunter: công cụ mà Kali NetHunter sử dụng.
Phía chính thức không đưa ra dung lượng tải xuống hay chiếm đĩa của từng metapackage, chỉ nhắc cập nhật trước khi cài, việc cập nhật "có thể mất một khoảng thời gian". Tôi đã mô phỏng bằng apt install -s trong container kalilinux/kali-rolling (Kali GNU/Linux Rolling 2026.3, môi trường tối thiểu), số gói phần mềm cần cài là: kali-linux-headless 1813 gói, kali-linux-default 2335 gói, kali-linux-large 2755 gói. Con số đến từ môi trường tối thiểu, trên hệ thống đã cài desktop sẽ ít hơn, nhưng về quy mô có thể tham khảo được.
Lần đầu cài, khởi đầu với kali-linux-default là đủ. Ngoài ra trong kho phần mềm còn có kali-tools-top10 không được liệt kê trong tài liệu metapackage chính thức; trong cùng môi trường mô phỏng cần cài 768 gói, nếu muốn cài ít trước cho quen môi trường thì có thể chỉ cài nó. Quy mô kali-linux-everything chỉ có thể lớn hơn large, cần gì thì bổ sung nấy.
Chỉ sử dụng trên hệ thống được ủy quyền
Đây là giới hạn cuối cùng khi dùng Kali: chỉ kiểm thử trên hệ thống bạn tự sở hữu, hoặc hệ thống bạn đã có ủy quyền bằng văn bản.
- Ủy quyền phải viết thành văn bản, ghi rõ phạm vi và thời gian của mục tiêu kiểm thử. Máy ngoài phạm vi, thao tác vượt thời gian đều không làm.
- Đừng luyện tập trên mạng bạn không sở hữu, mạng trường học hay công ty, dù chỉ là quét một cổng.
- Quy định của các nước về quét và tấn công trái phép khác nhau, cụ thể thế nào là vi phạm pháp luật phải xem khu vực bạn đang ở. Nếu không chắc mục tiêu nào có thể kiểm thử thì cứ xử lý là không được kiểm thử.
Môi trường luyện tập
Luyện tay dùng môi trường chuyên dụng:
- Chạy Kali trong máy ảo, cách ly với máy dùng hằng ngày.
- Cách ly cả mạng, để lưu lượng luyện tập không xuất hiện trên mạng của người khác.
- Dùng các lab luyện tập được chuẩn bị riêng, hoặc môi trường thí nghiệm tự dựng. Lab cung cấp môi trường có lỗ hổng không có nghĩa là mọi thao tác trong đó đều được phép; trước khi dùng hãy đọc kỹ mục tiêu được phép rõ ràng, phạm vi thao tác và điều khoản sử dụng của nó.
Câu hỏi thường gặp
Khi xác minh mà fingerprint không khớp thì sao? Không dùng ảnh này. Xác nhận tệp đến từ cdimage.kali.org hoặc mirror chính thống của nó, tải lại tệp kiểm tra và đối chiếu lần nữa; nếu vẫn không khớp thì bỏ.
Cài everything hay cài theo nhu cầu? Cài theo nhu cầu. Gánh nặng cập nhật và bảo trì sẽ tăng theo số lượng công cụ.
Có thể cài lên máy chính dùng làm hệ thống hằng ngày không? Phía chính thức không cấm, tôi không khuyến nghị. Lý do ở phần đầu: đây là bản phân phối thiết kế cho kiểm thử bảo mật, tài liệu mặc định bạn đã quen Linux.




