Hướng dẫn cài kali linux trên vmware ceh việt nam năm 2024

  • 1. CEH VIETNAM 1 Đông Dương Giáo Chủ 2. Getting Comfortable with Kali Linux Xin chào các bạn. Kali Linux hiện nay rất nổi tiếng và có thể xem là bộ công cụ số 1 trong thế giới bảo mật thông tin, được yêu thích bởi các hacker và chuyên gia bảo mật hay cả các script kiddy. Kali Linux được phát triển, tài trợ và duy trì bởi Offensive Security. Đây là bản phân phối Linux dựa trên Debian nhằm mục đích Kiểm tra thâm nhập (pentesting) và Kiểm tra bảo mật nâng cao. Kali chứa hàng trăm công cụ hướng đến các nhiệm vụ bảo mật thông tin khác nhau như Kiểm tra thâm nhập, Nghiên cứu bảo mật, Pháp y máy tính và Kỹ thuật đảo ngược. Tất cả các chương trình được đóng gói với hệ điều hành đã được đánh giá về tính phù hợp và hiệu quả. Chúng bao gồm Metasploit để kiểm tra khả năng thâm nhập mạng, Nmap để quét cổng và lỗ hổng, Wireshark để theo dõi lưu lượng mạng và Aircrack-ng để kiểm tra tính bảo mật của các mạng không dây. Mục tiêu của mô-đun này là cung cấp cơ sở và chuẩn bị cho người dùng ở tất cả các cấp độ kỹ năng cho các mô-đun sắp tới. Chúng tôi sẽ khám phá các mẹo và thủ thuật dành cho người dùng mới và xem xét một số tiêu chuẩn mà người dùng nâng cao hơn có thể đánh giá cao. Bất kể cấp độ kỹ năng, chúng tôi đề xuất các bạn nên dành mức độ tập trung cao vào mô-đun này. Như người ta đồn rằng Abraham Lincoln đã nói: “Hãy cho tôi sáu giờ để chặt một cái cây, và tôi sẽ dành bốn tiếng đầu tiên để mài rìu”. Ngoài ra, người dùng ở mọi cấp độ kỹ năng được khuyến khích xem lại khóa đào tạo trực tuyến miễn phí trên trang Kali Training. Trang web này bao gồm sách Kali Linux Revealed, các bài tập được thiết kế để kiểm tra sự hiểu biết của bạn, một diễn đàn hỗ trợ chuyên dụng, v.v. Các tài nguyên miễn phí này cung cấp thông tin chi tiết có giá trị cho người dùng ở mọi cấp độ kỹ năng và đóng vai trò như một người bạn đồng hành tuyệt vời cho việc đào tạo được trình bày trong khóa học này. Hoặc các bạn có thể tham khảo và đăng kí khóa học Hacking Với Kali Linux Căn Bản của Securiy365 hay CEH VIETNAM để trang bị cho mình kiến thức vững vàng trước khi nghiên cứu PreOSCP và sau đó là Get OSCP với chương trình của OffSec. 2.1 Booting Up Kali Linux - Khởi Động Với Kali Linux Để bắt đầu, hãy tải xuống máy ảo Kali Linux 64-bit (amd64) VMware virtual machine (VM)1 và phần mềm VMware bạn chọn sử dụng. VMware cung cấp bản dùng thử miễn phí cho cả VMware WorkStation Pro và VMware Fusion cho Mac. Lợi ích của việc sử dụng một trong các phiên bản thương mại này là khả năng snapshot mà bạn có thể revert nếu bạn cần đặt lại máy ảo của mình về một phương tiện chặn sạch. VMware cũng cung cấp một phiên bản phần mềm miễn phí của họ, VMware WorkStation Player. Tuy nhiên, chức năng snapshot không có sẵn trong phiên bản miễn phí . Chúng tôi sẽ sử dụng máy ảo Kali Linux 64 bit (amd64), vì vậy, để có kết quả tốt nhất và nhất quán với hướng dẫn trong phòng thí nghiệm, chúng tôi khuyên bạn nên sử dụng nó. Không được đi lệch khỏi việc xây dựng tiêu chuẩn này vì điều này có thể tạo ra một môi trường làm việc không phù hợp với tài liệu đào tạo của khóa học. Bạn có thể tìm thấy hình ảnh máy ảo Kali Linux mới nhất cũng như các hướng dẫn cập nhật để xác minh kho lưu trữ đã tải xuống trên trang web hỗ trợ Offensive Security. Là một chuyên gia bảo mật, bạn nên luôn dành thời gian để xác minh chính xác bất kỳ tệp nào bạn tải xuống trước khi sử dụng. Không làm như vậy có thể khiến bạn và khách hàng của bạn gặp rủi ro không đáng có. Hiện nay Kali Linux đã ra phiên bản 2021 .2 (vào thời điểm tài liệu này được biên soạn) 1 (Offensive Security, 2019), https://support.offensive-security.com/#!pwk-kali-vm.md 1 (VMware, 2019), https://www.vmware.com/products/workstation-pro.html
  • 2. Kali Linux 2.0 Đông Dương Giáo Chủ 1 (VMware, 2019), https://www.vmware.com/products/fusion.html 1 (VMware, 2019), https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html 1 (Offensive Security, 2019), https://support.offensive-security.com/#!pwk-kali-vm.md Để sử dụng máy ảo Kali Linux, trước tiên chúng ta sẽ giải nén kho lưu trữ và mở tệp .vmx bằng VMware. Nếu tùy chọn được hiển thị, hãy chọn “Tôi đã sao chép nó” để hướng dẫn máy ảo tạo địa chỉ MAC ảo mới và tránh xung đột tiềm ẩn. Thông tin đăng nhập mặc định cho máy ảo là : • Username: kali • Password: kali Trong lần khởi động đầu tiên, điều quan trọng là phải thay đổi tất cả mật khẩu mặc định từ một thiết bị đầu cuối bằng lệnh passwd. Chúng tôi đang kết nối với một phòng thí nghiệm trực tuyến cùng với các sinh viên khác và mật khẩu mặc định trên thực tế sẽ đảm bảo hành vi lạm dụng một cách nghịch ngợm! Cũng có thể user sẽ là root và password là toor tùy thuộc phiên bản các bạn sử dụng. Để thay đổi mật khẩu, hãy nhấp vào biểu tượng thiết bị đầu cuối và sử dụng lệnh mật khẩu cài sẵn: kali@kali:~$ passwd Changing password for kali. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Listing 1 - Changing the default password for the kali user Máy ảo Kali Linux sẽ chứa hai người dùng mặc định, "root" và "kali". Chúng tôi sẽ sử dụng tài khoản người dùng kali. Mặc dù có thể hấp dẫn hơn nếu đăng nhập với tư cách người dùng root, nhưng điều này không được khuyến khích. Người dùng root có quyền truy cập không hạn chế và một lệnh lạc có thể làm hỏng hệ thống của chúng ta. Tồi tệ nhất, nếu kẻ thù khai thác một quy trình đang chạy dưới quyền root, họ sẽ có toàn quyền kiểm soát máy của chúng ta. Nhiều lệnh sẽ yêu cầu các đặc quyền nâng cao để chạy, và lệnh sudo có thể khắc phục được vấn đề này. Các bạn hãy nhập sudo theo sau là lệnh mà chúng ta muốn chạy và cung cấp mật khẩu khi được nhắc. kali@kali:~$ whoami kali kali@kali:~$ sudo whoami [sudo] password for kali: root Listing 2 - Using sudo to run a command as root Cuối cùng, hãy khám phá tính năng snapshot của VMware, cho phép chúng tôi hoàn nguyên hoặc đặt lại máy ảo về một phương tiện chặn rõ ràng. Snapshot thường xuyên có thể tiết kiệm rất nhiều thời gian và sự thất vọng nếu có sự cố.
  • 3. Kali Linux 2.0 Đông Dương Giáo Chủ 2.2 The Kali Menu Menu Kali Linux bao gồm các liên kết phân loại cho nhiều công cụ có trong bản phân phối. Cấu trúc này giúp làm rõ vai trò chính của từng công cụ cũng như bối cảnh sử dụng nó. Hãy dành một chút thời gian để điều hướng các menu của Kali Linux để giúp bạn làm quen với các công cụ có sẵn và danh mục của chúng. Figure 3: The Kali Menu 2.3 Tài Liệu Kali Là một hệ điều hành toàn diện, Kali Linux cung cấp nhiều tính năng và khả năng mà chúng ta không thể khám phá hết trong khóa học này. Tuy nhiên, có một số tài nguyên Kali Linux chính thức có sẵn để nghiên cứu và học tập thêm như:  The Kali Linux Official Documentation  The Kali Linux Support Forum  The Kali Linux Tools Site  The Kali Linux Bug Tracker  The Kali Linux Training 2.3.1 Tài Liệu Chính Thức Của Kali Linux Trang web Kali Docs là kho tài liệu chính thức của Kali Linux. Trang web này trình bày tài liệu Kali mới nhất, trình bày chi tiết nhiều quy trình phổ biến và nên là điểm dừng đầu tiên để khắc phục sự cố và tìm sự hỗ trợ về Kali Linux.
  • 4. Kali Linux 2.0 Đông Dương Giáo Chủ 2.3.2 Diễn Đàn Kali Linux Support Forum Điểm dừng tiếp theo để khắc phục sự cố và hỗ trợ là diễn đàn hỗ trợ Kali Linux. Trước khi đăng, hãy đọc các quy tắc và hướng dẫn của diễn đàn vì các bài đăng không tuân thủ thường được kiểm duyệt hoặc bỏ qua. Trước khi tạo một chủ đề mới, hãy nhớ tìm kiếm kỹ lưỡng các diễn đàn để tìm giải pháp đã đăng trước đó. 2.3.3 Trang Web Kali Linux Tools Site Kali có nhiều công cụ kiểm tra thâm nhập từ các ngách khác nhau của lĩnh vực bảo mật và pháp y máy tính. Trang web Kali Tools nhằm mục đích liệt kê tất cả và cung cấp tài liệu tham khảo nhanh cho từng loại. Các phiên bản của công cụ có thể được theo dõi dựa trên các nguồn của chúng. Ngoài ra, thông tin về từng gói nhỏ cũng có sẵn. Metapackages cung cấp sự linh hoạt để cài đặt các tập hợp con cụ thể của các công cụ dựa trên nhu cầu cụ thể, bao gồm mạng không dây, ứng dụng web, pháp y số, đài phát thanh được xác định bằng phần mềm, v.v.. 2.3.4 The Kali Linux Bug Tracker Đôi khi, một số công cụ có thể gặp sự cố hoặc tạo ra kết quả không mong muốn. Khi điều này xảy ra, việc tìm kiếm thông báo lỗi đã cho trên trang web của Kali Linux Bug Tracker có thể giúp xác định xem vấn đề có phải là lỗi hay không và nếu có thì cách giải quyết. Người dùng cũng có thể giúp đỡ cộng đồng bằng cách báo cáo lỗi thông qua trang web. 2.3.5 The Kali Training Site Trang web Đào tạo Kali Linux tổ chức khóa đào tạo và Hướng dẫn sử dụng Kali Linux chính thức. Trang web miễn phí này dựa trên cuốn sách Kali Linux Revealed và lưu trữ nội dung sách ở dạng bài tập định dạng HTML và PDF để kiểm tra kiến thức của bạn về tài liệu, diễn đàn hỗ trợ, v.v. Trang web này bao gồm vô số thông tin hữu ích để giúp người dùng làm quen tốt hơn với Kali Linux 2.3.6 Bài Tập (Không cần báo cáo cho các bài tập này) 1. Khởi động hệ điều hành Kali của bạn và thay đổi mật khẩu người dùng kali thành một thứ gì đó an toàn, mật khẩu an toàn mặc định của CEH VIETNAM là 123qwe!@#$. 2. Dành một chút thời gian để tự làm quen với menu Kali Linux. 3. Sử dụng trang Kali Tools, tìm công cụ yêu thích của bạn và xem lại tài liệu của nó. Nếu bạn không có công cụ yêu thích, hãy chọn bất kỳ công cụ nào. 2.4 Finding Your Way Around Kali 2.4.1 The Linux Filesystem Kali Linux tuân theo tiêu chuẩn phân cấp hệ thống tệp (FHS), cung cấp một bố cục quen thuộc và phổ biến cho tất cả người dùng Linux. Các thư mục bạn sẽ thấy hữu ích nhất là: • /bin - basic programs (ls, cd, cat, etc.) • /sbin - system programs (fdisk, mkfs, sysctl, etc) • /etc - configuration files • /tmp - temporary files (typically deleted on boot) • /usr/bin - applications (apt, ncat, nmap, etc.) • /usr/share - application support and data files
  • 5. Kali Linux 2.0 Đông Dương Giáo Chủ Có rất nhiều thư mục khác, hầu hết trong số đó bạn sẽ hiếm khi cần phải nhập, nhưng việc hiểu rõ về bố cục của hệ thống tệp Linux sẽ giúp bạn rất nhiều trong quá trình vận hành và sử dụng các công cụ trên Kali Linux vào công tác kiểm thử bảo mật. 2.4.2 Basic Linux Commands 2.4.2.1 Man Page Tiếp theo, hãy tìm hiểu cách sử dụng Kali Linux và khám phá một số lệnh Linux cơ bản. Hầu hết các chương trình thực thi được dành cho dòng lệnh Linux đều cung cấp một phần tài liệu chính thức thường được gọi là các trang hướng dẫn sử dụng. Một chương trình đặc biệt được gọi là man được sử dụng để xem các trang này. Các trang dành cho Man thường có tên, tóm tắt, mô tả mục đích của lệnh và các tùy chọn, tham số hoặc công tắc tương ứng. Hãy xem trang man để biết lệnh /s: kali@kali:~$ man ls Listing 3 - Exploring the man page for the ls command Trang Man không chỉ chứa thông tin về các lệnh của người dùng mà còn chứa tài liệu liên quan đến các lệnh quản trị hệ thống, giao diện lập trình, v.v. Nội dung của sổ tay được chia thành các phần được đánh số thứ tự như sau: Section Contents 1 User Commands 2 Programming interfaces for kernel system calls 3 Programming interfaces to the C library 4 Special files such as device nodes and drivers 5 File formats 6 Games and amusements such as screen-savers 7 Miscellaneous 8 System administration commands Table 2 - man page organization Để xác định phần thủ công thích hợp, chỉ cần thực hiện tìm kiếm từ khóa. Ví dụ: giả sử chúng tôi muốn tìm hiểu thêm một chút về định dạng tệp của tệp / etc / passwd. Nhập man passwd tại dòng lệnh sẽ hiển thị thông tin liên quan đến lệnh passwd từ phần 1 của sách hướng dẫn (Hình 4), đây không phải là điều chúng ta quan tâm
  • 6. Kali Linux 2.0 Đông Dương Giáo Chủ Figure 4: Requesting the manual entry for the passwd file Tuy nhiên, nếu chúng ta sử dụng tùy chọn -k với man, chúng ta có thể thực hiện tìm kiếm từ khóa như hình dưới đây: kali@kali:~$ man -k passwd chgpasswd (8) - update group passwords in batch mode chpasswd (8) - update passwords in batch mode exim4_passwd (5) - Files in use by the Debian exim4 packages exim4_passwd_client (5) - Files in use by the Debian exim4 packages expect_mkpasswd (1) - generate new password, optionally apply it to a user fgetpwent_r (3) - get passwd file entry reentrantly getpwent_r (3) - get passwd file entry reentrantly gpasswd (1) - administer /etc/group and /etc/gshadow grub-mkpasswd-pbkdf2 (1) - generate hashed password for GRUB htpasswd (1) - Manage user files for basic authentication ... Listing 4 - Performing a passwd keyword search with man Các bạn có thể thu hẹp hơn nữa tìm kiếm với sự trợ giúp của một biểu thức chính quy: kali@kali:~$ man -k '^passwd$' passwd (1) - change user password passwd (1ssl) - compute password hashes passwd (5) - the password file Listing 5 - Narrowing down our search
  • 7. Kali Linux 2.0 Đông Dương Giáo Chủ Trong lệnh trên, biểu thức chính quy được bao bởi dấu mũ (^) và dấu đô la ($), để khớp toàn bộ dòng và tránh khớp chuỗi con. Bây giờ chúng ta có thể xem trang hướng dẫn sử dụng mật khẩu chính xác mà chúng ta quan tâm bằng cách tham khảo phần thích hợp: kali@kali:~$ man 5 passwd Listing 6 - Using man to look at the manual page of the /etc/passwd file format Trang Man thường là cách nhanh nhất để tìm tài liệu về một lệnh nhất định, vì vậy hãy dành chút thời gian để khám phá chúng chi tiết hơn một chút. 2.4.2.2 apropos Với lệnh apropos, các bạn có thể tìm kiếm danh sách mô tả trang man để tìm một kết quả phù hợp có thể dựa trên một từ khóa. Mặc dù điều này hơi thiếu tinh tế, nhưng nó thường hữu ích cho việc tìm kiếm một lệnh cụ thể dựa trên mô tả. Hãy xem một ví dụ. Giả sử rằng chúng ta muốn phân vùng ổ cứng nhưng không thể nhớ tên của lệnh. Chúng tôi có thể tìm ra điều này với tìm kiếm apropos cho "phân vùng". kali@kali:~$ apropos partition addpart (8) - tell the kernel about the existence of a partition cfdisk (8) - display or manipulate a disk partition table cgdisk (8) - Curses-based GUID partition table (GPT) manipulator cgpt (1) - Utility to manipulate GPT partitions with Chromium OS ... delpart (8) - tell the kernel to forget about a partition extundelete (1) - utility to undelete files from an ext3 or ext4 partition. fdisk (8) - manipulate disk partition table fixparts (8) - MBR partition table repair utility gdisk (8) - Interactive GUID partition table (GPT) manipulator gparted (8) - GNOME Partition Editor for manipulating disk partitions. ... Listing 7 - Using apropos to look for commands that have ‘partition’ as part of their description Lưu ý rằng apropos dường như thực hiện chức năng tương tự như man -k; trên thực tế, chúng tương đương nhau. 2.4.2.3 Listing Files Lệnh ls in ra màn hình một danh sách tệp cơ bản. Chúng tôi có thể sửa đổi kết quả đầu ra bằng các ký tự đại diện khác nhau. Tùy chọn -a được sử dụng để hiển thị tất cả các tệp (bao gồm cả những tệp bị ẩn) và tùy chọn -1 hiển thị mỗi tệp trên một dòng, rất hữu ích cho tự động hóa.
  • 8. Kali Linux 2.0 Đông Dương Giáo Chủ kali@kali:~$ ls Desktop Documents Downloads Music Pictures Public Templates Videos kali@kali:~$ ls /etc/apache2/sites-available/*.conf /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default-ssl.conf kali@kali:~$ ls -a1 . .. .bash_history .bashrc .cache .config Desktop Documents ... Listing 8 - Listing files 2.4.2.4 Moving Around Linux không sử dụng ký tự ổ đĩa kiểu Windows. Thay vào đó, tất cả các tệp, thư mục và thiết bị đều là con của thư mục gốc, được biểu thị bằng ký tự “/”. Chúng ta có thể sử dụng lệnh cd theo sau là một đường dẫn để thay đổi đến thư mục được chỉ định. Lệnh pwd sẽ in thư mục hiện tại (rất hữu ích nếu bạn bị lạc) và chạy cd ~ sẽ trở lại thư mục chính. kali@kali:~$ cd /usr/share/metasploit-framework/ kali@kali:/usr/share/metasploit-framework$ pwd /usr/share/metasploit-framework kali@kali:/usr/share/metasploit-framework$ cd ~ kali@kali:~$ pwd /home/kali Listing 9 - Moving around the filesystem 2.4.2.5 Creating Directories Lệnh mkdir theo sau là tên của một thư mục sẽ tạo ra một thư mục được chỉ định. Tên thư mục có thể chứa khoảng trắng nhưng vì chúng ta sẽ dành nhiều thời gian cho dòng lệnh, nên chúng ta sẽ tự tránh được rất nhiều rắc rối bằng cách sử dụng dấu gạch ngang hoặc dấu gạch dưới. Các ký tự này sẽ giúp việc hoàn thành tự động (thực hiện bằng phím Tab) dễ dàng hơn nhiều
  • 9. Kali Linux 2.0 Đông Dương Giáo Chủ kali@kali:~$ mkdir notes kali@kali:~$ cd notes/ kali@kali:~/notes$ mkdir module one kali@kali:~/notes$ ls module one kali@kali:~/notes$ rm -rf module/ one/ kali@kali:~/notes$ mkdir "module one" kali@kali:~/notes$ cd module one/ kali@kali:~/notes/module one$ Listing 10 - Creating directories in Kali Chúng ta có thể tạo nhiều thư mục cùng một lúc với mkdir -p cực kỳ hữu ích, nó cũng sẽ tạo bất kỳ thư mục mẹ nào được yêu cầu. Điều này có thể được kết hợp với việc mở rộng dấu ngoặc nhọn để tạo ra một cấu trúc thư mục một cách hiệu quả, ví dụ, lưu trữ các ghi chú kiểm tra thâm nhập của bạn. Trong ví dụ dưới đây, chúng tôi đang tạo một thư mục được gọi là thử nghiệm và trong thư mục đó, tạo ba thư mục con được gọi là trinh sát, khai thác và báo cáo: kali@kali:~$ mkdir -p test/{recon,exploit,report} kali@kali:~$ ls -1 test/ exploit recon report Listing 11 - Creating a directory structure 2.4.3 Finding Files in Kali Linux Ba trong số các lệnh Linux phổ biến nhất được sử dụng để định vị tệp trong Kali Linux bao gồm find, locate, và which. Các tiện ích này có những điểm tương đồng, nhưng dữ liệu hoạt động và trả về theo những cách khác nhau và do đó có thể được sử dụng trong các trường hợp khác nhau. 2.4.3.1 which Lệnh which tìm kiếm thông qua các thư mục được xác định trong biến môi trường $ PATH cho một tên tệp nhất định. Biến này chứa danh sách các thư mục mà Kali tìm kiếm khi lệnh được đưa ra mà không có đường dẫn của nó. Nếu tìm thấy một kết quả phù hợp, nó sẽ trả về đường dẫn đầy đủ đến tệp như được hiển thị bên dưới:
  • 10. Kali Linux 2.0 Đông Dương Giáo Chủ kali@kali:~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin kali@kali:~$ which sbd /usr/bin/sbd Listing 12 - Exploring the which command 2.4.3.2 locate Lệnh locate là cách nhanh nhất để tìm vị trí của các tệp và thư mục trong Kali. Để cung cấp thời gian tìm kiếm ngắn hơn nhiều, xác định locate sẽ tìm kiếm một cơ sở dữ liệu được tích hợp sẵn có tên là locate.db thay vì toàn bộ đĩa cứng. Cơ sở dữ liệu này được cập nhật tự động thường xuyên bởi bộ lập lịch cron. Để cập nhật thủ công cơ sở dữ liệu locate.db, bạn có thể sử dụng lệnh updatedb kali@kali:~$ sudo updatedb kali@kali:~$ locate sbd.exe /usr/share/windows-resources/sbd/sbd.exe Listing 13 - Exploring the locate command 2.4.3.3 find Lệnh find là công cụ tìm kiếm phức tạp và linh hoạt nhất trong ba công cụ này. Việc nắm vững cú pháp của nó đôi khi có thể hơi phức tạp, nhưng khả năng của nó vượt xa cách tìm kiếm tệp thông thường. Cách sử dụng cơ bản nhất của lệnh find được hiển thị trong Listing 14, nơi chúng tôi thực hiện tìm kiếm đệ quy bắt đầu từ thư mục hệ thống tệp gốc và tìm kiếm bất kỳ tệp nào bắt đầu bằng các chữ cái “sbd”. kali@kali:~$ sudo find / -name sbd* /usr/bin/sbd /usr/share/doc/sbd /usr/share/windows-resources/sbd /usr/share/windows-resources/sbd/sbd.exe /usr/share/windows-resources/sbd/sbdbg.exe /var/cache/apt/archives/sbd_1.37-1kali3_amd64.deb /var/lib/dpkg/info/sbd.md5sums /var/lib/dpkg/info/sbd.list Listing 14 - Exploring the find command Ưu điểm chính của tìm qua định vị (find over locate ) là nó có thể tìm kiếm các tệp và thư mục không chỉ bằng tên. Với find, chúng tôi có thể tìm kiếm theo tuổi, kích thước, chủ sở hữu, loại tệp, dấu thời gian, quyền và hơn thế nữa. 2.4.3.4 Exercises 1. Sử dụng man để xem trang man để biết một trong các lệnh ưa thích của bạn. 2. Sử dụng man để tìm một từ khóa liên quan đến nén tệp. 3. Sử dụng which để định vị lệnh pwd trên máy ảo Kali của bạn. 4. Sử dụng locate để xác định vị trí wce32.exe trên máy ảo Kali của. 5. Sử dụng find để xác định bất kỳ tệp nào (không phải thư mục) được sửa đổi trong ngày qua, KHÔNG thuộc sở hữu của người dùng root và thực thi lệnh ls -l trên chúng. Các lệnh chuỗi / đường ống KHÔNG được phép!
  • 11. Kali Linux 2.0 Đông Dương Giáo Chủ 2.5 Managing Kali Linux Services Kali Linux là một bản phân phối Linux chuyên biệt hướng đến các chuyên gia bảo mật. Do đó, nó chứa một số tính năng phi chuẩn. Cài đặt Kali mặc định đi kèm với một số dịch vụ được cài đặt sẵn, chẳng hạn như SSH, HTTP, MySQL, v.v. Do đó, các dịch vụ này sẽ tải tại thời điểm khởi động, điều này sẽ dẫn đến việc Kali hiển thị một số cổng đang mở theo mặc định - điều mà chúng tôi muốn tránh vì lý do bảo mật . Kali giải quyết vấn đề này bằng cách cập nhật cài đặt của nó để ngăn các dịch vụ mạng khởi động lúc khởi động Kali cũng chứa một cơ chế để đưa cả các dịch vụ khác nhau vào danh sách trắng và danh sách đen. Các phần sau sẽ thảo luận về một số dịch vụ này, cũng như cách vận hành và quản lý chúng. 2.5.1 SSH Service Dịch vụ Secure SHell (SSH) được sử dụng phổ biến nhất để truy cập từ xa vào máy tính, sử dụng giao thức được mã hóa an toàn. Dịch vụ SSH dựa trên TCP và lắng nghe theo mặc định trên cổng 22. Để bắt đầu dịch vụ SSH trong Kali, chúng tôi chạy systemctl với tùy chọn start theo sau là tên dịch vụ (ssh trong ví dụ này): kali@kali:~$ sudo systemctl start ssh kali@kali:~$ Listing 15 - Using systemctl to start the ssh service in Kali Khi lệnh hoàn tất thành công, nó không trả về bất kỳ đầu ra nào nhưng chúng tôi có thể xác minh rằng dịch vụ SSH đang chạy và lắng nghe trên cổng TCP 22 bằng cách sử dụng lệnh ss và chuyển đầu ra vào grep để tìm kiếm đầu ra cho “sshd”: kali@kali:~$ sudo ss -antlp | grep sshd LISTEN 0 128 *:22 *:* users:(("sshd",pid=1343,fd=3)) LISTEN 0 128 :::22 :::* users:(("sshd",pid=1343,fd=4)) Listing 16 - Using ss and grep to confirm that ssh has been started and is running Nếu chúng ta muốn dịch vụ SSH tự động bắt đầu tại thời điểm khởi động (như nhiều người dùng thích), chúng ta chỉ cần kích hoạt nó bằng lệnh systemctl. Tuy nhiên, hãy nhớ thay đổi mật khẩu mặc định trước kali@kali:~$ sudo systemctl enable ssh Synchronizing state of ssh.service with SysV service script with /lib/systemd/systemd- Executing: /lib/systemd/systemd-sysv-install enable ssh Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service. Listing 17 - Using systemctl to configure ssh to start at boot time Chúng tôi có thể sử dụng systemctl để bật và tắt hầu hết các dịch vụ trong Kali Linux. 2.5.2 HTTP Service Dịch vụ Apache HTTP thường được sử dụng trong quá trình kiểm tra thâm nhập, để lưu trữ một trang web hoặc cung cấp nền tảng để tải tệp xuống máy nạn nhân. Dịch vụ HTTP dựa trên TCP và lắng nghe theo mặc định trên cổng 80. Để bắt đầu dịch vụ HTTP trong Kali, chúng ta có thể sử dụng systemctl như khi khởi động dịch vụ SSH, thay thế tên dịch vụ bằng “apache2”: kali@kali:~$ sudo systemctl start apache2 kali@kali:~$ Listing 18 - Using systemctl to start the apache service in Kali Như với dịch vụ SSH, chúng tôi có thể xác minh rằng dịch vụ HTTP đang chạy và lắng nghe trên cổng TCP 80 bằng các lệnh ss và grep.
  • 12. Kali Linux 2.0 Đông Dương Giáo Chủ kali@kali:~$ sudo ss -antlp | grep apache LISTEN 0 128 :::80 :::* users:(("apache2",pid=1481,fd=4),("apach e2",pid=1480,fd=4),("apache2",pid=1479,fd=4),("apache2",pid=1478,fd=4),("apache2 ",pid= 1477,fd=4),("apache2",pid=1476,fd=4),("apache2",pid=1475,fd=4)) Listing 19 - Using ss and grep to confirm that apache has been started and is running Để dịch vụ HTTP bắt đầu tại thời điểm khởi động, giống như với dịch vụ SSH, chúng ta cần kích hoạt nó một cách rõ ràng với systemctl và tùy chọn enable của nó: kali@kali:~$ sudo systemctl enable apache2 Synchronizing state of apache2.service with SysV service script with /lib/systemd/syst Executing: /lib/systemd/systemd-sysv-install enable apache2 Listing 20 - Using systemctl to enable apache to start at boot time Hầu hết các dịch vụ trong Kali Linux đều được vận hành theo cách giống như SSH và HTTP, thông qua các tập lệnh dịch vụ hoặc init của chúng. Để xem bảng tất cả các dịch vụ có sẵn, hãy chạy systemctl với tùy chọn list-unitfiles: kali@kali:~$ systemctl list-unit-files ... UNIT FILE STATE proc-sys-fs-binfmt_misc.automount static -.mount generated dev-hugepages.mount static dev-mqueue.mount static media-cdrom0.mount generated proc-sys-fs-binfmt_misc.mount static run-vmblockx2dfuse.mount disabled sys-fs-fuse-connections.mount static sys-kernel-config.mount static sys-kernel-debug.mount static ... Listing 21 - Displaying all available services Để biết thêm thông tin về quản lý dịch vụ trong Kali Linux, bao gồm cả việc sử dụng systemctl, hãy tham khảo trang web Đào tạo Kali. 2.5.3 Bài Tập (Không cần báo cáo cho những bài tập này) Tuy nhiên, các bạn hãy thực hành lại tất cả các lệnh trên và 2 thao tác sau đây (có một số phần BQT để tiếng Anh vì đó là lệnh hoặc một cụm từ trong bản beta). 1. Practice starting and stopping various Kali services. 2. Enable the SSH service to start on system boot. 2.6 Searching, Installing, & Removing Tools Hình ảnh Kali VMware chứa các công cụ phổ biến nhất được sử dụng trong lĩnh vực kiểm tra thâm nhập. Tuy nhiên, sẽ không thực tế nếu đưa mọi công cụ duy nhất có trong kho lưu trữ Kali vào hình ảnh VMware. Do đó, chúng ta sẽ cần thảo luận về cách tìm kiếm, cài đặt hoặc xóa các công cụ. Trong phần này, chúng ta sẽ khám phá bộ công cụ Advanced Package Tool (APT) cũng như các lệnh khác hữu ích trong việc thực hiện các hoạt động bảo trì trên Kali Linux OS APT là một bộ công cụ giúp quản lý các gói hoặc ứng dụng trên hệ thống dựa trên Debian. Vì Kali dựa trên Debian 45 nên chúng ta có thể sử dụng APT để cài đặt và gỡ bỏ ứng dụng, cập nhật gói và thậm chí nâng
  • 13. Kali Linux 2.0 Đông Dương Giáo Chủ cấp toàn bộ hệ thống. Sự kỳ diệu của APT nằm ở chỗ nó là một hệ thống quản lý gói hoàn chỉnh có thể cài đặt hoặc xóa gói được yêu cầu bằng cách đáp ứng đệ quy các yêu cầu và phụ thuộc của nó.. 2.6.1 apt update Thông tin liên quan đến các gói APT được lưu vào bộ nhớ cache cục bộ để tăng tốc bất kỳ loại hoạt động nào liên quan đến việc truy vấn cơ sở dữ liệu APT. Do đó, bạn nên cập nhật danh sách các gói có sẵn, bao gồm thông tin liên quan đến phiên bản, mô tả của chúng, v.v. Chúng ta có thể thực hiện việc này bằng lệnh apt update như sau: kali@kali:~$ sudo apt update Hit:1 http://kali.mirror.globo.tech/kali kali-rolling InRelease Reading package lists... Done Building dependency tree Reading state information... Done 699 packages can be upgraded. Run 'apt list --upgradable' to see them. Listing 22 - Using apt update to update the list of packages in Kali 2.6.2 apt upgrade Sau khi cơ sở dữ liệu APT đã được cập nhật, chúng tôi có thể nâng cấp các gói và hệ thống lõi đã cài đặt lên phiên bản mới nhất bằng lệnh apt upgrade. Để nâng cấp một gói duy nhất, hãy thêm tên gói sau lệnh apt upgrade, chẳng hạn như apt upgrade metasploit-framework. Mặc dù bạn có thể nâng cấp cài đặt Kali Linux của mình bất kỳ lúc nào, nhưng bạn nên chụp ảnh nhanh máy ảo ở trạng thái sạch (trước khi thực hiện bất kỳ thay đổi nào) trước khi thực hiện. Điều này có hai lợi ích chính. Trước hết, nó sẽ đảm bảo rằng bạn có ảnh chụp nhanh bản dựng đã thử nghiệm sẽ hoạt động cho tất cả các bài tập và thứ hai, nếu bạn gặp sự cố và phải liên hệ với nhóm hỗ trợ của chúng tôi, họ sẽ biết các phiên bản công cụ bạn đang sử dụng và cách chúng hành xử. Đối với một thử nghiệm thâm nhập thực tế, những mối quan tâm tương tự cũng sẽ được áp dụng. Bạn sẽ tìm hiểu thêm về cách cân bằng giữa việc có các công cụ mới nhất với việc có một bản dựng đáng tin cậy khi bạn có thêm kinh nghiệm và sự quen thuộc với Kali Linux. 2.6.3 apt-cache search và apt show Lệnh tìm apt-cache search hiển thị nhiều thông tin được lưu trữ trong cơ sở dữ liệu gói được lưu trong bộ nhớ cache nội bộ. Ví dụ: giả sử chúng tôi muốn cài đặt ứng dụng pure-ftpd qua APT. Điều đầu tiên chúng ta phải làm là tìm hiểu xem ứng dụng có hiện diện trong kho lưu trữ Kali Linux hay không. Để làm như vậy, chúng tôi sẽ tiến hành bằng cách chuyển cụm từ tìm kiếm trên dòng lệnh kali@kali:~$ apt-cache search pure-ftpd mysqmail-pure-ftpd-logger - real-time logging system in MySQL - Pure-FTPd traffic-logg pure-ftpd - Secure and efficient FTP server pure-ftpd-common - Pure-FTPd FTP server (Common Files) pure-ftpd-ldap - Secure and efficient FTP server with LDAP user authentication pure- ftpd-mysql - Secure and efficient FTP server with MySQL user authentication pure-ftpd- postgresql - Secure and efficient FTP server with PostgreSQL user authentica resource- agents - Cluster Resource Agents
  • 14. Kali Linux 2.0 Đông Dương Giáo Chủ Listing 23 - Using apt-cache search to search for the pure-ftpd application Kết quả ở trên chỉ ra rằng ứng dụng có trong kho lưu trữ. Ngoài ra còn có một số tiện ích mở rộng xác thực cho ứng dụng pure-ftpd có thể được cài đặt nếu cần. Điều thú vị là gói tác nhân tài nguyên đang hiển thị trong tìm kiếm của chúng tôi mặc dù tên của nó không chứa từ khóa “pure-ftpd”. Lý do đằng sau điều này là tìm kiếm apt-cache search từ khóa được yêu cầu trong mô tả của gói chứ không phải chính tên gói. Để xác nhận rằng mô tả gói tài nguyên-tác nhân thực sự chứa từ khóa “pure-ftpd”, hãy chuyển tên gói cho apt show như sau : kali@kali:~$ apt show resource-agents Package: resource-agents Version: 1:4.2.0-2 ... Description: Cluster Resource Agents This package contains cluster resource agents (RAs) compliant with the Open Cluster Framework (OCF) specification, used to interface with various services in a High Availability environment managed by the Pacemaker resource manager. . Agents included: AoEtarget: Manages ATA-over-Ethernet (AoE) target exports AudibleAlarm: Emits audible beeps at a configurable interval ... NodeUtilization: Node Utilization Pure-FTPd: Manages a Pure-FTPd FTP server instance Raid1: Manages Linux software RAID (MD) devices on shared storage ... Listing 24 - Using apt show to examine information related to the resource-agents package Trong kết quả đầu ra ở trên, apt show làm rõ lý do tại sao ứng dụng resource-agent lại hiển thị một cách bí ẩn trong lần tìm kiếm pure-ftpd trước đó. Điều này rất hữu ích, ví dụ trên kênh Youtube Security365 có một bài hướng dẫn chạy Parrot OS trong CEH v11, và thiếu một số tool để enum dịch vụ Samba hay tiện ích showmount, nhưng ta không biết chính xác tên của gói để cài do đó tôi đã sử dụng tính năng trên. Tham khảo tại đây https://www.youtube.com/watch?v=HyaQuIm-oPU 2.6.4 apt install Lệnh apt install có thể được sử dụng để thêm một gói vào hệ thống với apt install theo sau là tên gói. Hãy tiếp tục với việc cài đặt pure-ftpd: kali@kali:~$ sudo apt install pure-ftpd Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: pure-ftpd-common The following NEW packages will be installed: pure-ftpd pure-ftpd-common 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 309 kB of archives.
  • 15. Kali Linux 2.0 Đông Dương Giáo Chủ After this operation, 880 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://kali.mirror.globo.tech/kali kali-rolling/main amd64 pure-ftpd-common all Get:2 http://kali.mirror.globo.tech/kali kali-rolling/main amd64 pure-ftpd amd64 1.0.4 Fetched 309 kB in 4s (86.4 kB/s) Preconfiguring packages ... ... Listing 25 - Using apt install to install the pure-ftpd application Tương tự, chúng ta có thể xóa một gói bằng lệnh apt remove --purge. 2.6.5 apt remove --purge Lệnh apt remove –purge loại bỏ hoàn toàn các gói khỏi Kali. Điều quan trọng cần lưu ý là xóa gói bằng apt remove sẽ xóa tất cả dữ liệu gói, nhưng thường để lại các tệp cấu hình người dùng nhỏ (đã sửa đổi), trong trường hợp việc xóa là tình cờ. Thêm tùy chọn --purge sẽ loại bỏ tất cả thức ăn thừa. kali@kali:~$ sudo apt remove --purge pure-ftpd Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: pure-ftpd-common Use 'sudo apt autoremove' to remove it. The following packages will be REMOVED: pure-ftpd* 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 581 kB disk space will be freed. Do you want to continue? [Y/n] y (Reading database ... 388024 files and directories currently installed.) Removing pure-ftpd (1.0.47-3) ... Cannot find cached rlinetd's config files for service ftp, ignoring remove request Processing triggers for man-db (2.8.5-2) ... (Reading database ... 388011 files and directories currently installed.) Purging configuration files for pure-ftpd (1.0.47-3) ... Processing triggers for systemd (240-6) ... Listing 26 - Using apt remove –purge to completely remove the pure-ftpd application Giờ đây, bạn có thể tìm kiếm, cài đặt và gỡ bỏ các công cụ trong Kali Linux. Hãy khám phá một lệnh cuối cùng trong mô-đun này: dpkg 2.6.6 dpkg dpkg là công cụ cốt lõi được sử dụng để cài đặt một gói, trực tiếp hoặc gián tiếp thông qua APT. Nó cũng là công cụ được ưu tiên sử dụng khi hoạt động ngoại tuyến, vì nó không yêu cầu kết nối Internet. Lưu ý rằng dpkg sẽ không cài đặt bất kỳ phụ thuộc nào mà gói có thể yêu cầu. Để cài đặt gói có dpkg, hãy cung cấp tùy chọn -i hoặc --install và đường dẫn đến tệp gói .deb. Các bạn có thể tham khảo bài trình bày về cài đặt Nessus trên Kali với lệnh này tại đây : https://www.youtube.com/watch?v=jtDSRjySjVk Điều này giả định rằng tệp .deb của gói để cài đặt đã được tải xuống trước đó hoặc lấy theo một số cách khác
  • 16. Kali Linux 2.0 Đông Dương Giáo Chủ kali@kali:~$ sudo dpkg -i man-db_2.7.0.2-5_amd64.deb (Reading database ... 86425 files and directories currently installed.) Preparing to unpack man-db_2.7.0.2-5_amd64.deb ... Unpacking man-db (2.7.0.2-5) over (2.7.0.2-4) ... Setting up man-db (2.7.0.2-5) ... Updating database of manual pages ... Processing triggers for mime-support (3.58) ... ... Listing 27 - Using dpkg -i to install the man-db application 2.6.6.1 Exercises (Reporting is not required for these exercises) : Hãy thử cài lại các công cụ trong những bài hướng dẫn (video từ Security365) 1. Take a snapshot of your Kali virtual machine (optional). 2. Search for a tool not currently installed in Kali. 3. Install the tool. 4. Remove the tool. 5. Revert Kali virtual machine to previously taken snapshot (optional). 2.7 Wrapping Up Trong mô-đun này, chúng ta đặt đường cơ sở cho các mô-đun sắp tới. Các bạn đã khám phá các mẹo và thủ thuật dành cho người dùng mới và xem xét một số tiêu chuẩn mà người dùng nâng cao hơn có thể đánh giá cao. Tất cả học viên PreOSCP được khuyến khích xem lại khóa đào tạo trực tuyến miễn phí trên trang Kali Training. Trang web này bao gồm sách Kali Linux Revealed, các bài tập được thiết kế để kiểm tra sự hiểu biết của bạn, một diễn đàn hỗ trợ chuyên dụng, v.v. Các tài nguyên miễn phí này cung cấp thông tin chi tiết có giá trị cho người dùng ở mọi cấp độ kỹ năng và đóng vai trò như một người bạn đồng hành tuyệt vời cho quá trình đào tạo được trình bày trong khóa học này. Tuy nhiên, trong chương trình của chúng ta thì các bạn nên xem khóa học bằng tiếng Việt của Security365 trên LMS Stream với tên Hacking Với Kali Linux Cơ Bản Và Hãy đăng nhập stream để tham khảo các bài giảng sau đây của chương trình đào tạo PreOSCP Bài tham khảo : PreOSCP_(PWK v1) Lesson_1.1-Finding Your Way Around Kali : https://bit.ly/2T7zOc0 Bài chính thức PreOSCP_(PWK v2) 01_Lesson_1.1-2.5 Managing Kali Linux Services : https://bit.ly/3w7jNBr