You are on page 1of 16

Security365 / CERTMASTER \ CEH VIETNAM

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

1 Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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ố.

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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.

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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.

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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:

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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!

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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.

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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-vmblock\x2dfuse.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

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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.

Đông Dương Giáo Chủ


Penetration Testing with Kali Linux 2.0

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
Đông Dương Giáo Chủ
Penetration Testing with Kali Linux 2.0

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

Đông Dương Giáo Chủ

You might also like