You are on page 1of 34

Translated from English to Vietnamese - www.onlinedoctranslator.

com
CƠ BẢN VỀ LINUX DÀNH CHO CÁC Hacker

Bắt đầu với Mạng, Tập lệnh và Bảo mật


ở Kali

bởi OccupyTheWeb

San Francisco
LINUX CƠ BẢN DÀNH CHO CÁC Hacker.Bản quyền © 2019 của ChiếmTheWeb.

Đã đăng ký Bản quyền. Không được sao chép hoặc truyền bất kỳ phần nào của tác phẩm này dưới bất kỳ hình thức nào hoặc bằng
bất kỳ phương tiện nào, điện tử hoặc cơ học, bao gồm sao chụp, ghi âm hoặc bằng bất kỳ hệ thống lưu trữ hoặc truy xuất thông tin
nào mà không có sự cho phép trước bằng văn bản của chủ sở hữu bản quyền và nhà xuất bản.

ISBN-10: 1-59327-855-1
ISBN-13: 978-1-59327-855-7

Nhà xuất bản: William Pollock


Biên tập sản xuất: Serena Yang và Meg Sneeringer
Minh họa bìa: Josh Ellingson
Thiết kế nội thất: Octopod Studios Biên
tập phát triển: Liz Chadwick Người đánh
giá kỹ thuật: Cliff Janzen Biên tập viên:
Barton D. Reed
Nhạc sĩ: Serena Yang và Meg Sneeringer
Người soát lỗi: Paula L. Fleming
Người lập chỉ mục: JoAnne Burek

Để biết thông tin về phân phối, bản dịch hoặc bán số lượng lớn, vui lòng liên hệ trực tiếp với No Starch Press,
Inc.:
Không có Starch Press, Inc.
245 8th Street, San Francisco, CA 94103 điện
thoại: 1.415.863.9900;info@nostarch.com
www.nostarch.com

Dữ liệu Biên mục của Thư viện Quốc hội


Tên: Chiếm TheWeb, tác giả.
Tiêu đề: Khái niệm cơ bản về Linux dành cho tin tặc: bắt đầu với kết nối mạng, tập lệnh,
và bảo mật trong Kali/OccupyTheWeb.
Mô tả: Ấn bản đầu tiên. | San Francisco : No Starch Press, Inc., [2018]. Định danh:
LCCN 2018030544 (bản in) | LCCN 2018032646 (ebook) | ISBN
9781593278564 (epub) | ISBN 159327856X (epub) | ISBN 9781593278557 (bản in) | ISBN
1593278551 (bản in) | ISBN 9781593278564 (sách điện tử) | ISBN 159327856X (sách điện tử)

Đối tượng: LCSH: Kiểm tra thâm nhập (Bảo mật máy tính) | KaliLinux. |
tin tặc. | Hệ điều hành (Máy tính)
Phân loại: LCC QA76.9.A25 (ebook) | LCC QA76.9.A25 O325 2018 (bản in) |
DDC 005.8--dc23
Hồ sơ LC có tại https://lccn.loc.gov/2018030544

No Starch Press và logo No Starch Press là các nhãn hiệu đã đăng ký của No Starch Press, Inc.
Các sản phẩm và tên công ty khác được đề cập ở đây có thể là nhãn hiệu của các chủ sở hữu
tương ứng. Thay vì sử dụng biểu tượng nhãn hiệu với mỗi lần xuất hiện tên đã đăng ký nhãn
hiệu, chúng tôi chỉ sử dụng tên theo cách biên tập và vì lợi ích của chủ sở hữu nhãn hiệu, không
có ý định vi phạm nhãn hiệu.

Thông tin trong cuốn sách này được phân phối trên cơ sở “Nguyên trạng”, không có bảo đảm. Trong khi mỗi
các biện pháp phòng ngừa đã được thực hiện trong quá trình chuẩn bị cho tác phẩm này, cả
tác giả và No Starch Press, Inc. trong đó.
Tôi dành tặng cuốn sách này cho ba cô con gái tuyệt vời của mình.
Em là cả thế giới đối với anh.
Giới thiệu về tác giả

OccupyTheWeb (OTW) là bút danh của người sáng lập và tác giả chính của
trang web đào tạo hacker và pentester,https://www.hackersarise.com/. Ông
là cựu giáo sư đại học và có hơn 20 năm kinh nghiệm trong ngành công
nghệ thông tin. Ông đã đào tạo tin tặc trên khắp Hoa Kỳ, bao gồm các chi
nhánh của quân đội Hoa Kỳ (Lục quân, Không quân và Hải quân) và cộng
đồng tình báo Hoa Kỳ (CIA, NSA và DNI). Anh ấy cũng là một người đam mê
đi xe đạp leo núi và trượt tuyết.
Giới thiệu về Người đánh giá kỹ thuật

Kể từ những ngày đầu của Commodore PET và VIC-20, công nghệ đã là người bạn đồng hành
thường xuyên (và đôi khi là nỗi ám ảnh!) đối với Cliff Janzen. Cliff phát hiện ra niềm đam mê
nghề nghiệp của mình khi chuyển sang lĩnh vực bảo mật thông tin vào năm 2008 sau một thập
kỷ hoạt động trong lĩnh vực CNTT. Kể từ đó, Cliff đã có may mắn được làm việc cùng và học hỏi
từ một số người giỏi nhất trong ngành bao gồm OccupyTheWeb và những người tốt ở No
Starch trong quá trình sản xuất cuốn sách này. Anh ấy hạnh phúc khi được tuyển dụng với tư
cách là nhà tư vấn bảo mật, làm mọi việc từ đánh giá chính sách đến kiểm tra thâm nhập. Anh
ấy cảm thấy may mắn khi có một nghề nghiệp cũng là sở thích của anh ấy và một người vợ
luôn ủng hộ anh ấy.
NỘI DUNG TÓM TẮT

Sự nhìn nhận

Giới thiệu

Chương 1: Bắt đầu với những điều cơ bản

Chương 2: Thao tác với văn bản

Chương 3: Phân tích và quản lý mạng

Chương 4: Thêm và Gỡ bỏ Phần mềm

Chương 5: Kiểm soát quyền đối với tệp và thư mục

Chương 6: Quản lý quy trình

Chương 7: Quản lý biến môi trường người dùng

Chương 8: Bash Scripting

Chương 9: Nén và lưu trữ

Chương 10: Quản lý thiết bị lưu trữ và hệ thống tập tin

Chương 11: Hệ thống ghi nhật ký

Chương 12: Sử dụng và Lạm dụng Dịch vụ

Chương 13: Trở nên an toàn và ẩn danh

Chương 14: Tìm Hiểu Và Kiểm Tra Mạng Không Dây

Chương 15: Quản lý hạt nhân Linux và các mô-đun hạt nhân có thể tải

Chương 16: Tự động hóa nhiệm vụ với lập lịch công việc

Chương 17: Khái niệm cơ bản về Python Scripting cho Hacker

Mục lục
NỘI DUNG CHI TIẾT

SỰ NHÌN NHẬN

GIỚI THIỆU
Có gì trong cuốn sách này
Hack đạo đức là gì?
Kiểm tra thâm nhập
Quân sự và gián điệp
Tại sao tin tặc sử dụng Linux
Linux là mã nguồn mở
Linux là minh bạch
Linux cung cấp kiểm soát chi tiết
Hầu hết các công cụ hack được viết cho
Linux Tương lai thuộc về Linux/Unix Tải
xuống Kali Linux
Máy ảo
Cài đặt VirtualBox
Thiết lập máy ảo của bạn Cài đặt
Kali trên máy ảo
Thiết lập Kali

1
BẮT ĐẦU VỚI CƠ BẢN
Thuật ngữ và khái niệm giới thiệu Chuyến
tham quan Kali
nhà ga
Hệ thống tập tin Linux
Các lệnh cơ bản trong Linux
Tìm lại chính mình với pwd Kiểm tra
đăng nhập của bạn với whoami Điều
hướng hệ thống tệp Linux Nhận trợ
giúp
Tham khảo các trang hướng dẫn với người đàn
ông Tìm công cụ
Tìm kiếm với định vị
Tìm nhị phân với whereis
Tìm các tệp nhị phân trong Biến PATH để thực
hiện các tìm kiếm mạnh mẽ hơn với find Lọc bằng
grep
Sửa đổi tập tin và thư mục
Tạo tập tin
Tạo một thư mục
Sao chép một tập tin

Đổi tên một tập tin


Xóa một tệp
Loại bỏ một thư mục
Đi chơi ngay!
bài tập

2
THAO TÁC VĂN BẢN
Xem tập tin
lấy đầu
Nắm lấy cái đuôi đó
Đánh số các dòng
Lọc văn bản bằng grep
Thử thách Hacker: Sử dụng grep, nl, tail và head Sử
dụng sed để Tìm và Thay thế
Xem tệp với nhiều hơn và ít hơn
Kiểm soát Hiển thị với nhiều Hiển
thị và Lọc hơn với ít hơn Tóm tắt

bài tập

3
PHÂN TÍCH VÀ QUẢN LÝ MẠNG
Phân tích mạng với ifconfig
Kiểm tra thiết bị mạng không dây bằng iwconfig
Thay đổi thông tin mạng của bạn
Thay đổi địa chỉ IP của bạn
Thay đổi mặt nạ mạng và địa chỉ quảng bá Giả mạo
địa chỉ MAC của bạn
Chỉ định địa chỉ IP mới từ máy chủ DHCP Thao tác
với hệ thống tên miền
Kiểm tra DNS với Dig Thay đổi
máy chủ DNS của bạn Ánh xạ địa
chỉ IP của riêng bạn Tóm tắt

bài tập

4
THÊM BỎ PHẦN MỀM
Sử dụng apt để xử lý phần mềm
Tìm kiếm một gói thêm
phần mềm
Xóa phần mềm
Cập nhật gói
Gói nâng cấp
Thêm kho lưu trữ vào tệp nguồn.list của bạn bằng
Trình cài đặt dựa trên GUI
Cài đặt phần mềm với git
Tóm tắt
bài tập

5
KIỂM SOÁT PHÉP FILE VÀ THƯ MỤC
Các loại người dùng cấp
quyền khác nhau
Cấp quyền sở hữu cho một người dùng cá nhân
Cấp quyền sở hữu cho một nhóm
Kiểm tra quyền
Thay đổi quyền
Thay đổi quyền bằng ký hiệu thập phân Thay
đổi quyền bằng UGO
Cấp quyền thực thi gốc trên công cụ mới Thiết
lập quyền mặc định an toàn hơn với mặt nạ Quyền đặc
biệt
Cấp quyền root tạm thời với SUID Cấp quyền
nhóm người dùng root SGID Bit dính đã lỗi thời

Quyền đặc biệt, Nâng cao đặc quyền và Tóm tắt về


Hacker
bài tập

6
QUẢN LÝ QUY TRÌNH
Xem quy trình
Lọc theo tên quy trình
Tìm các quy trình tham lam nhất với các quy
trình quản lý hàng đầu
Thay đổi mức độ ưu tiên của quy trình với các
quy trình tiêu diệt tốt
Các quy trình đang chạy ở chế độ nền Di
chuyển một quy trình lên các quy trình
lập lịch ở nền trước
Bản tóm tắt
bài tập

7
QUẢN LÝ CÁC BIẾN MÔI TRƯỜNG NGƯỜI DÙNG
Xem và sửa đổi các biến môi trường
Xem tất cả các biến môi trường Lọc
các biến cụ thể Thay đổi giá trị biến
cho một phiên
Thực hiện các thay đổi về giá trị thay đổi Thay đổi
vĩnh viễn Dấu nhắc Shell của bạn
Thay đổi ĐƯỜNG của bạn
Thêm vào biến PATH Cách không thêm
vào biến PATH Tạo biến do người dùng
xác định Tóm tắt

bài tập

số 8
BASH Script
Một khóa học cấp tốc ở Bash
Kịch bản đầu tiên của bạn: “Xin chào, Hackers-Arise!”
Đặt quyền thực thi chạy
HelloHackersArise
Thêm chức năng với các biến và người dùng nhập Tập
lệnh Hacker đầu tiên của bạn: Quét các cổng mở
Nhiệm vụ của chúng ta

Máy quét đơn giản


Cải thiện Trình quét MySQL
Các lệnh Bash tích hợp phổ biến Tóm
tắt
bài tập

9
NÉN VÀ LƯU TRỮ
Nén là gì?
Tarring tập tin cùng nhau
Nén tập tin
Nén bằng gzip
Nén bằng bzip2
Nén bằng nén
Tạo bản sao Bit-by-Bit hoặc vật lý của thiết bị lưu trữ
Tóm tắt
bài tập

10
QUẢN LÝ THIẾT BỊ LƯU TRỮ VÀ HỆ THỐNG TỆP TIN
Thư mục thiết bị /dev
Cách Linux đại diện cho thiết bị lưu trữ
Phân vùng ổ đĩa
Ký tự và khối thiết bị
Liệt kê các thiết bị và thông tin khối với lsblk
Mounting và Unmounting
Tự gắn thiết bị lưu trữ Gỡ kết nối
với umount
Giám sát hệ thống tập tin
Nhận thông tin về các đĩa được gắn
Kiểm tra lỗi
Bản tóm tắt
bài tập

11
HỆ THỐNG ĐĂNG NHẬP
Daemon ghi nhật ký rsyslog
Tệp cấu hình rsyslog Quy tắc ghi nhật
ký rsyslog Tự động dọn dẹp nhật ký
với logrotate vẫn còn tàng hình

Xóa bằng chứng


Vô hiệu hóa ghi nhật ký
Bản tóm tắt
bài tập

12
SỬ DỤNG VÀ LẠM DỤNG DỊCH VỤ
Bắt đầu, dừng và khởi động lại dịch vụ
Tạo một máy chủ web HTTP với máy chủ web Apache
Bắt đầu với Apache
Chỉnh sửa tệp index.html
Thêm một số HTML
Nhìn thấy những gì xảy ra
OpenSSH và Raspberry Spy Pi
Thiết lập Raspberry Pi Xây
dựng Raspberry Spy Pi Cấu
hình máy ảnh
bắt đầu do thám
Trích xuất thông tin từ MySQL
Khởi động MySQL
Tương tác với MySQL
Đặt mật khẩu MySQL Truy
cập cơ sở dữ liệu từ xa Kết
nối với cơ sở dữ liệu Bảng cơ
sở dữ liệu
Kiểm tra dữ liệu
PostgreSQL với Metasploit
Tóm tắt
bài tập

13
TRỞ THÀNH AN TOÀN VÀ VÔ TÍCH
Cách Internet mang lại cho chúng ta hệ
thống bộ định tuyến củ hành
Cách thức hoạt động của Tor

Mối quan tâm về an ninh

Máy chủ proxy


Đặt proxy trong tệp cấu hình Một
số tùy chọn thú vị hơn Mối quan
tâm về bảo mật
Mạng riêng ảo Email
được mã hóa
Bản tóm tắt
bài tập

14
TÌM HIỂU VÀ KIỂM TRA MẠNG KHÔNG DÂY
Mạng Wi-Fi
Các lệnh không dây cơ bản
Điều khiển Wi-Fi với aircrack-ng
Phát hiện và kết nối với Bluetooth
Bluetooth hoạt động như thế nào

Tóm tắt quét và trinh sát Bluetooth

bài tập

15
QUẢN LÝ LINUX KERNEL VÀ CÁC MÔ-đun KERNEL CÓ THỂ TẢI

Mô-đun hạt nhân là gì? Kiểm


tra phiên bản hạt nhân Điều
chỉnh hạt nhân với sysctl Quản
lý mô-đun hạt nhân
Tìm thêm thông tin với modinfo Thêm và xóa
mô-đun bằng modprobe Chèn và xóa mô-đun
hạt nhân Tóm tắt

bài tập

16
TỰ ĐỘNG HÓA NHIỆM VỤ VỚI LỊCH TRÌNH CÔNG VIỆC
Lên lịch một sự kiện hoặc công việc để chạy trên cơ sở tự động
Lập lịch tác vụ sao lưu
Sử dụng crontab để lên lịch cho các phím tắt crontab
MySQLscanner của bạn
Sử dụng rc Script để chạy công việc khi khởi động
Mức chạy Linux
Thêm dịch vụ vào rc.d
Thêm dịch vụ vào Bootup của bạn thông qua Tóm
tắt GUI
bài tập

17
PYTHON Script CƠ BẢN DÀNH CHO CÁC HACKER
Thêm các mô-đun Python
sử dụng pip
Cài đặt các mô-đun của bên thứ
ba Bắt đầu viết kịch bản với Python
Biến
Bình luận
Chức năng
danh sách

mô-đun
Truyền thông mạng lập trình hướng
đối tượng (OOP) trong Python
Xây dựng ứng dụng khách TCP Tạo từ
điển trình nghe TCP, vòng lặp và câu
lệnh điều khiển
từ điển
Tuyên bố kiểm soát
vòng lặp

Cải thiện ngoại lệ tập lệnh hack và phần


mềm bẻ khóa mật khẩu của chúng tôi
Tóm tắt
bài tập

MỤC LỤC
SỰ NHÌN NHẬN

Cuốn sách này không thể được viết ra nếu không có sự cộng tác của một số người
chủ chốt.
Đầu tiên, tôi muốn cảm ơn và ghi nhận Liz Chadwick vì đã đề xuất cuốn sách
này và là người biên tập chính nội dung của nó. Sự kiên trì và cống hiến của cô
ấy đã làm nên cuốn sách này.
Thứ hai, tôi muốn cảm ơn Bill Pollock, nhà xuất bản No Starch Press, vì
đã tin tưởng và ủng hộ cuốn sách này.
Thứ ba, tôi muốn ghi nhận những nỗ lực siêng năng của người đánh giá kỹ
thuật của tôi, Cliff Janzen, vì đã đảm bảo nội dung kỹ thuật trong cuốn sách này là
chính xác.
Mọi lỗi hoặc thiếu sót còn lại hoàn toàn là lỗi của tôi.
Cuối cùng, tôi muốn cảm ơn và ghi nhận tất cả các chuyên gia tận tụy tại No
Starch Press vì những nỗ lực của họ để hoàn thành cuốn sách và đưa ra thị
trường. Cảm ơn.
GIỚI THIỆU

Hacking là bộ kỹ năng quan trọng nhất của thế kỷ 21! Tôi không đưa ra tuyên bố đó
một cách nhẹ nhàng. Các sự kiện trong những năm gần đây dường như tái khẳng định
tuyên bố này với tiêu đề mỗi buổi sáng. Các quốc gia đang theo dõi lẫn nhau để lấy bí
mật, tội phạm mạng đang đánh cắp hàng tỷ đô la, sâu kỹ thuật số đòi tiền chuộc đang
được tung ra, các đối thủ đang gây ảnh hưởng đến cuộc bầu cử của nhau và các đối
thủ đang hạ gục các tiện ích của nhau. Đây đều là công việc của tin tặc và ảnh hưởng
của chúng đối với thế giới ngày càng kỹ thuật số của chúng ta chỉ mới bắt đầu được
cảm nhận.
Tôi quyết định viết cuốn sách này sau khi làm việc với hàng chục nghìn tin tặc đầy
tham vọng thông qua Null-Byte,https://www.hackers-arise.com/, và gần như mọi chi
nhánh của quân đội Hoa Kỳ và các cơ quan tình báo (NSA, DIA, CIA và FBI). Những kinh
nghiệm này đã dạy tôi rằng nhiều tin tặc khao khát có ít hoặc không có kinh nghiệm
với Linux và sự thiếu kinh nghiệm này là rào cản chính ngăn họ bắt đầu hành trình trở
thành tin tặc chuyên nghiệp. Hầu như tất cả các công cụ dành cho hacker tốt nhất đều
được viết bằng Linux, vì vậy một số kỹ năng cơ bản về Linux là điều kiện tiên quyết để
trở thành một hacker chuyên nghiệp. Tôi đã viết cuốn sách này để giúp các tin tặc đầy
tham vọng vượt qua rào cản này.
Hacking là một nghề ưu tú trong lĩnh vực CNTT. Như vậy, nó đòi hỏi sự hiểu
biết sâu rộng và chi tiết về các khái niệm và công nghệ CNTT. Ở cấp độ cơ bản
nhất, Linux là một yêu cầu. Tôi thực sự khuyên bạn nên đầu tư thời gian và
năng lượng vào việc sử dụng và hiểu nó nếu bạn muốn biến việc hack và bảo
mật thông tin thành sự nghiệp của mình.
Cuốn sách này không dành cho hacker có kinh nghiệm hoặc quản trị viên
Linux có kinh nghiệm. Thay vào đó, nó dành cho những người muốn bắt đầu
con đường thú vị của hack, an ninh mạng và pentesting. Nó cũng không nhằm mục
đích là một chuyên luận hoàn chỉnh về Linux hay hack mà là điểm khởi đầu cho
những thế giới này. Nó bắt đầu với các yếu tố cần thiết của Linux và mở rộng thành
một số tập lệnh cơ bản trong cả bash và Python. Bất cứ khi nào thích hợp, tôi đã cố
gắng sử dụng các ví dụ từ thế giới hack để dạy các nguyên tắc của Linux.

Trong phần giới thiệu này, chúng ta sẽ xem xét sự phát triển của hack
đạo đức để bảo mật thông tin và tôi sẽ hướng dẫn bạn quy trình cài đặt
máy ảo để bạn có thể cài đặt Kali Linux trên hệ thống của mình mà không
làm phiền hệ điều hành bạn đang chạy .

Có gì trong cuốn sách này

Trong loạt chương đầu tiên, bạn sẽ cảm thấy thoải mái với các nguyên tắc cơ bản của
Linux;Chương 1sẽ giúp bạn làm quen với hệ thống tệp và thiết bị đầu cuối, đồng thời
cung cấp cho bạn một số lệnh cơ bản.chương 2chỉ cho bạn cách thao tác với văn bản
để tìm, kiểm tra và thay đổi phần mềm và tệp.
TRONGChương 3bạn sẽ quản lý mạng. Bạn sẽ quét các mạng, tìm thông
tin về các kết nối và ngụy trang bản thân bằng cách che giấu thông tin DNS
và mạng của bạn.
Chương 4hướng dẫn bạn cách thêm, xóa và cập nhật phần mềm cũng như cách giữ cho hệ
thống của bạn được sắp xếp hợp lý. TRONGChương 5, bạn sẽ thao tác các quyền đối với tệp và
thư mục để kiểm soát ai có thể truy cập vào nội dung nào. Bạn cũng sẽ tìm hiểu một số kỹ
thuật leo thang đặc quyền.
Chương 6hướng dẫn bạn cách quản lý các dịch vụ, bao gồm bắt đầu và
dừng các quy trình cũng như phân bổ tài nguyên để giúp bạn kiểm soát tốt
hơn. TRONG Chương 7bạn sẽ quản lý các biến môi trường để có hiệu suất
tối ưu, sự thuận tiện và thậm chí là tàng hình. Bạn sẽ tìm và lọc các biến, thay
đổi biến PATH và tạo các biến môi trường mới.
Chương 8giới thiệu cho bạn về bash scripting, một yếu tố chính cho bất kỳ hacker nghiêm
túc nào. Bạn sẽ tìm hiểu kiến thức cơ bản về bash và xây dựng tập lệnh để quét các cổng mục
tiêu mà sau này bạn có thể xâm nhập.
Chương 9Và10cung cấp cho bạn một số kỹ năng quản lý hệ thống tệp cần
thiết, chỉ cho bạn cách nén và lưu trữ tệp để giữ cho hệ thống của bạn sạch sẽ,
sao chép toàn bộ thiết bị lưu trữ cũng như nhận thông tin về tệp và ổ đĩa được
kết nối.
Các chương sau đào sâu hơn vào các chủ đề hack. TRONGchương 11bạn sẽ sử
dụng và điều khiển hệ thống ghi nhật ký để lấy thông tin về hoạt động của mục
tiêu và che dấu vết của chính bạn.Chương 12chỉ cho bạn cách sử dụng và lạm
dụng ba dịch vụ cốt lõi của Linux: máy chủ web Apache, OpenSSH và MySQL. Bạn
sẽ tạo một máy chủ web, xây dựng một trình theo dõi video từ xa và tìm hiểu về cơ
sở dữ liệu cũng như các lỗ hổng của chúng.Chương 13sẽ chỉ cho bạn cách giữ an
toàn và ẩn danh với máy chủ proxy, mạng Tor, VPN và email được mã hóa.

Chương 14giao dịch với các mạng không dây. Bạn sẽ tìm hiểu các lệnh kết nối mạng cơ
bản, sau đó bẻ khóa các điểm truy cập Wi-Fi cũng như phát hiện và kết nối với tín hiệu
Bluetooth.
Chương 15tìm hiểu sâu hơn về chính Linux với cái nhìn cấp cao về cách thức hoạt động của
nhân và cách các trình điều khiển của nó có thể bị lạm dụng để cung cấp phần mềm độc hại.
TRONGChương 16bạn sẽ học các kỹ năng lập kế hoạch thiết yếu để tự động hóa các tập lệnh
hack của mình.Chương 17sẽ dạy cho bạn các khái niệm cốt lõi của Python và bạn sẽ viết kịch
bản cho hai công cụ hack: một trình quét để theo dõi các kết nối TCP/IP và một công cụ bẻ
khóa mật khẩu đơn giản.

Hack đạo đức là gì?


Với sự phát triển của lĩnh vực bảo mật thông tin trong những năm gần đây đã dẫn
đến sự phát triển mạnh mẽ trong lĩnh vực hack đạo đức, còn được gọi làmũ trắng(
người tốt) hack. Ethical hacking là thực hành cố gắng xâm nhập và khai thác một
hệ thống để tìm ra điểm yếu của nó và bảo mật nó tốt hơn. Tôi chia lĩnh vực hack
đạo đức thành hai thành phần chính: thử nghiệm thâm nhập cho một công ty bảo
mật thông tin hợp pháp và làm việc cho các cơ quan tình báo hoặc quân đội của
quốc gia bạn. Cả hai đều là những khu vực đang phát triển nhanh chóng và nhu
cầu rất lớn.

Kiểm tra thâm nhập


Khi các tổ chức ngày càng có ý thức về bảo mật và chi phí vi phạm bảo mật tăng
theo cấp số nhân, nhiều tổ chức lớn bắt đầu ký hợp đồng với các dịch vụ bảo mật.
Một trong những dịch vụ bảo mật quan trọng này là thử nghiệm thâm nhập. MỘT
kiểm tra sự xâm nhậpvề cơ bản là một vụ hack hợp pháp, được ủy quyền để chứng
minh tính dễ bị tổn thương của mạng và hệ thống của một công ty.
Nói chung, trước tiên, các tổ chức tiến hành đánh giá lỗ hổng để tìm lỗ hổng
tiềm ẩn trong mạng, hệ điều hành và dịch vụ của họ. tôi nhấn mạnhtiềm năng,
vì quá trình quét lỗ hổng này bao gồm một số lượng đáng kể các thông tin xác
thực sai (những thứ được xác định là lỗ hổng nhưng thực tế không phải vậy).
Nhiệm vụ của người kiểm tra thâm nhập là cố gắng hack hoặc xâm nhập vào
các lỗ hổng này. Chỉ sau đó, tổ chức mới có thể biết liệu lỗ hổng có thật hay
không và quyết định đầu tư thời gian và tiền bạc để đóng lỗ hổng.

Quân sự và gián điệp


Gần như mọi quốc gia trên trái đất hiện đang tham gia vào hoạt động gián điệp mạng và
chiến tranh mạng. Người ta chỉ cần lướt qua các tiêu đề để thấy rằng các hoạt động mạng
là phương pháp được lựa chọn để theo dõi và tấn công các hệ thống quân sự và công
nghiệp.
Việc hack đóng một vai trò quan trọng trong các hoạt động quân sự và thu thập thông tin
tình báo này, và điều đó sẽ càng đúng hơn khi thời gian trôi qua. Hãy tưởng tượng một cuộc
chiến trong tương lai, nơi tin tặc có thể truy cập vào các kế hoạch chiến tranh của đối thủ và
đánh sập mạng lưới điện, nhà máy lọc dầu và hệ thống nước của họ. Những hoạt động này
đang diễn ra mỗi ngày bây giờ. Do đó, tin tặc trở thành một thành phần quan trọng trong hệ
thống phòng thủ của quốc gia họ.

Tại sao tin tặc sử dụng Linux


Vậy tại sao tin tặc sử dụng Linux hơn các hệ điều hành khác? Chủ yếu là vì Linux cung cấp mức
độ kiểm soát cao hơn nhiều thông qua một số phương pháp khác nhau.

Linux là mã nguồn mở
Không giống như Windows, Linux là mã nguồn mở, nghĩa là bạn có thể sử dụng mã
nguồn của hệ điều hành. Như vậy, bạn có thể thay đổi và thao tác nó theo ý muốn.
Nếu bạn đang cố gắng làm cho một hệ thống hoạt động theo cách mà nó không được
dự định, thì việc có thể thao tác mã nguồn là điều cần thiết.

Linux minh bạch


Để hack hiệu quả, bạn phải biết và hiểu hệ điều hành của mình
và ở một mức độ lớn là hệ điều hành mà bạn đang tấn công. Linux hoàn toàn trong suốt, nghĩa là
chúng ta có thể nhìn thấy và thao tác với tất cả các bộ phận đang hoạt động của nó.

Không phải như vậy với Windows. Microsoft cố gắng hết sức để làm cho việc biết hoạt
động bên trong của các hệ điều hành của họ trở nên khó khăn nhất có thể, vì vậy bạn
không bao giờ thực sự biết điều gì đang diễn ra “dưới mui xe”, trong khi ở Linux, bạn có
ánh đèn sân khấu chiếu trực tiếp vào từng thành phần của hệ điều hành. hệ điều hành.
Điều này giúp làm việc với Linux hiệu quả hơn.

Linux cung cấp kiểm soát chi tiết


Linux là chi tiết. Điều đó có nghĩa là bạn có quyền kiểm soát gần như vô hạn đối với
hệ thống. Trong Windows, bạn chỉ có thể kiểm soát những gì Microsoft cho phép
bạn kiểm soát. Trong Linux, mọi thứ đều có thể được kiểm soát bởi thiết bị đầu
cuối, ở cấp độ nhỏ nhất hoặc cấp độ vĩ mô nhất. Ngoài ra, Linux làm cho việc viết
kịch bản bằng bất kỳ ngôn ngữ kịch bản nào trở nên đơn giản và hiệu quả.

Hầu hết các công cụ hack được viết cho Linux


Hơn 90 phần trăm tất cả các công cụ hack được viết cho Linux. Tất nhiên, có những trường hợp
ngoại lệ, chẳng hạn như Cain và Abel và Wikto, nhưng những trường hợp ngoại lệ đó chứng
minh quy luật. Ngay cả khi các công cụ hack như Metasploit hoặc nmap được chuyển cho
Windows, không phải tất cả các khả năng đều chuyển từ Linux.

Tương lai thuộc về Linux/Unix


Điều này có vẻ như là một tuyên bố cấp tiến, nhưng tôi tin chắc rằng tương lai của công
nghệ thông tin thuộc về các hệ thống Linux và Unix. Microsoft đã thành công trong những
năm 1980 và 1990, nhưng tốc độ tăng trưởng của nó đang chậm lại và đình trệ.
Kể từ khi Internet ra đời, Linux/Unix đã là hệ điều hành được lựa chọn cho
các máy chủ web do tính ổn định, độ tin cậy và sức mạnh của nó. Thậm chí ngày
nay, Linux/Unix được sử dụng trong 2/3 số máy chủ web và thống trị thị trường.
Các hệ thống nhúng trong bộ định tuyến, bộ chuyển mạch và các thiết bị khác
hầu như luôn sử dụng nhân Linux và thế giới ảo hóa do Linux thống trị, với cả
VMware và Citrix được xây dựng trên nhân Linux.
Hơn 80 phần trăm thiết bị di động chạy Unix hoặc Linux (iOS là Unix và
Android là Linux), vì vậy nếu bạn tin rằng tương lai của máy tính nằm trong các
thiết bị di động như máy tính bảng và điện thoại (thật khó để tranh luận
nếu không), thì tương lai là Unix/Linux. Microsoft Windows chỉ chiếm 7%
thị trường thiết bị di động. Đó có phải là toa xe mà bạn muốn được quá
giang?

Tải xuống Kali Linux


Trước khi bắt đầu, bạn cần tải xuống và cài đặt Kali Linux trên máy tính của mình.
Đây là bản phân phối Linux mà chúng ta sẽ làm việc trong suốt cuốn sách này.
Linux được phát triển lần đầu tiên bởi Linus Torvalds vào năm 1991 như một nguồn
mở thay thế cho Unix. Vì nó là mã nguồn mở nên các nhà phát triển tình nguyện
viết mã nhân, các tiện ích và ứng dụng. Điều này có nghĩa là không có thực thể
doanh nghiệp quan trọng nào giám sát sự phát triển và kết quả là thường thiếu các
quy ước và tiêu chuẩn hóa.
KaliLinux được phát triển bởi Offensive Security dưới dạng một hệ điều hành
hack được xây dựng trên bản phân phối Linux có tên là Debian. Có nhiều bản
phân phối Linux và Debian là một trong những bản tốt nhất. Có lẽ bạn đã quen
thuộc nhất với Ubuntu như một bản phân phối máy tính để bàn phổ biến của
Linux. Ubuntu cũng được xây dựng trên Debian. Các bản phân phối khác bao
gồm Red Hat, CentOS, Mint, Arch và SUSE. Mặc dù tất cả chúng đều chia sẻ cùng
một nhân Linux (trái tim của hệ điều hành điều khiển CPU, RAM, v.v.), mỗi cái
đều có các tiện ích, ứng dụng và lựa chọn giao diện đồ họa (GNOME, KDE, v.v.)
riêng cho các mục đích khác nhau. mục đích. Do đó, mỗi bản phân phối Linux
này trông và cảm thấy hơi khác nhau. Kali được thiết kế dành cho những người
kiểm tra thâm nhập và tin tặc, đồng thời đi kèm với rất nhiều công cụ hack.

Tôi thực sự khuyên bạn nên sử dụng Kali cho cuốn sách này. Mặc dù bạn có thể sử
dụng một bản phân phối khác, nhưng có thể bạn sẽ phải tải xuống và cài đặt các công cụ
khác nhau mà chúng tôi sẽ sử dụng, điều này có thể có nghĩa là phải mất nhiều giờ để tải
xuống và cài đặt các công cụ. Ngoài ra, nếu bản phân phối đó không được xây dựng trên
Debian, thì có thể có những khác biệt nhỏ khác. Bạn có thể tải xuống và cài đặt Kali từ
https://www.kali.org/.
Từ trang chủ, nhấp vào nútTải xuốngliên kết ở đầu trang. Trên trang
Tải xuống, bạn sẽ phải đối mặt với nhiều lựa chọn tải xuống. Điều quan
trọng là chọn tải xuống phù hợp. Dọc phía bên trái của bảng, bạn sẽ thấy
Tên Hình ảnh, là tên của phiên bản mà liên kết tải xuống. Chẳng hạn,
danh sách tên hình ảnh đầu tiên tôi thấy là Kali Linux 64
Bit, nghĩa là nó là Kali Linux đầy đủ và phù hợp với các hệ thống 64 bit—hầu hết các
hệ thống hiện đại đều sử dụng CPU Intel hoặc AMD 64 bit. Để xác định loại
CPU nằm trên hệ thống của bạn, hãy truy cậpBảng điều khiển▸Hệ thống và Bảo mật▸ Hệ
thống, và nó sẽ được liệt kê. Nếu hệ thống của bạn là 64 bit, hãy tải xuống và cài đặt phiên
bản 64 bit của Kali đầy đủ (không phải Light hoặc Lxde hoặc bất kỳ lựa chọn thay thế nào
khác).
Nếu bạn đang chạy một máy tính cũ hơn có CPU 32 bit, bạn sẽ cần cài đặt phiên
bản 32 bit, phiên bản này xuất hiện bên dưới trên trang.
Bạn có thể lựa chọn tải xuống qua HTTP hoặc Torrent. Nếu bạn chọn HTTP,
Kali sẽ tải trực tiếp xuống hệ thống của bạn giống như bất kỳ bản tải xuống nào
và nó sẽ được đặt trong thư mục Tải xuống của bạn. Tải xuống torrent là tải
xuống ngang hàng được nhiều trang web chia sẻ tệp sử dụng. Bạn sẽ cần một
ứng dụng tải torrent như BitTorrent để thực hiện việc này. Sau đó, tệp Kali sẽ tải
xuống thư mục mà ứng dụng torrent lưu trữ các bản tải xuống của nó.

Có các phiên bản khác dành cho các loại CPU khác, chẳng hạn như kiến trúc
ARM thường được sử dụng trong rất nhiều thiết bị di động. Nếu bạn đang sử dụng
Raspberry Pi, máy tính bảng hoặc thiết bị di động khác (người dùng điện thoại có
thể sẽ thích Kali NetHunter hơn), hãy đảm bảo bạn tải xuống và cài đặt phiên bản
kiến trúc ARM của Kali bằng cách cuộn xuống Tải xuống hình ảnh ARM và nhấp
vàoHình ảnh Kali ARM.
Bạn đã tải xuống Kali, nhưng trước khi bạn cài đặt bất cứ thứ gì, tôi muốn
nói một chút về máy ảo. Nói chung, đối với người mới bắt đầu, cài đặt Kali
vào máy ảo là giải pháp tốt nhất cho việc học và thực hành.

Máy ảo
Công nghệ máy ảo (VM) cho phép bạn chạy nhiều hệ điều hành từ một phần
cứng như máy tính xách tay hoặc máy tính để bàn của bạn. Điều này có
nghĩa là bạn có thể tiếp tục chạy hệ điều hành Windows hoặc MacOS mà bạn
quen thuộc và chạy một máy ảo Kali Linuxbên tronghệ điều hành đó. Bạn
không cần ghi đè lên hệ điều hành hiện tại của mình để tìm hiểu Linux.

Nhiều ứng dụng máy ảo có sẵn từ VMware, Oracle, Microsoft và các


nhà cung cấp khác. Tất cả đều tuyệt vời, nhưng ở đây tôi sẽ chỉ cho bạn
cách tải xuống và cài đặt miễn phí của Oraclehộp ảo.
Cài đặt VirtualBox
Bạn có thể tải xuống VirtualBox tạihttps://www.virtualbox.org/, như được
hiển thị trong Hình 1. Nhấn vàoTải xuốngtrong menu bên trái và chọn gói
VirtualBox cho hệ điều hành hiện tại của máy tính của bạn, gói này sẽ lưu trữ
VirtualBox VM. Đảm bảo tải xuống phiên bản mới nhất.

Hình 1: Trang chủ VirtualBox

Khi quá trình tải xuống hoàn tất, hãy nhấp vào tệp thiết lập và bạn sẽ được chào đón bởi
Trình hướng dẫn cài đặt quen thuộc, được hiển thị trongHình 2.
Hình 2: Hộp thoại Setup Wizard

Nhấp chuộtKế tiếp, và bạn sẽ được chào đón bằng màn hình Cài đặt tùy chỉnh, như
trongHình 3.

Hình 3: Hộp thoại Custom Setup

Từ màn hình này, chỉ cần nhấp vàoKế tiếp. Tiếp tục nhấpKế tiếpcho đến khi bạn đến
màn hình cảnh báo Giao diện mạng và sau đó nhấp vàoĐúng.
Nhấp chuộtCài đặtđể bắt đầu quá trình. Trong quá trình này, bạn có
thể sẽ được nhắc nhiều lần về việc cài đặtphần mềm thiết bị. Đây là những
thiết bị mạng ảo cần thiết để máy ảo của bạn giao tiếp. Nhấp chuộtCài
đặtcho từng cái.
Khi cài đặt hoàn tất, nhấp vàoHoàn thành.

Thiết lập máy ảo của bạn


Bây giờ hãy bắt đầu với máy ảo của bạn. VirtualBox sẽ mở sau khi được cài
đặt—nếu không, hãy mở nó—và bạn sẽ được Trình quản lý VirtualBox
chào đón, như đã thấy tronghinh 4.

Hình 4: Trình quản lý VirtualBox

Vì chúng tôi sẽ tạo một máy ảo mới với Kali Linux, hãy nhấp vào Mớiở
góc trên bên trái. Thao tác này sẽ mở hộp thoại Tạo máy ảo được hiển thị
trongHình 5.
Đặt tên cho máy của bạn (tên gì cũng được, nhưng tôi chỉ dùng Kali thôi) rồi
chọnLinuxtừKiểutrình đơn thả xuống. Cuối cùng, chọnDebian (64-bit)từ trình đơn
thả xuống thứ ba (trừ khi bạn đang sử dụng phiên bản 32-bit của Kali, trong trường
hợp đó, hãy chọn phiên bản Debian 32-bit). Nhấp chuộtKế tiếp,
và bạn sẽ thấy một màn hình nhưHình 6. Tại đây, bạn cần chọn dung
lượng RAM muốn phân bổ cho máy ảo mới này.

Hình 5: Hộp thoại Tạo máy ảo

Hình 6: Cấp phát bộ nhớ

Theo nguyên tắc thông thường, tôi khuyên bạn không nên sử dụng hơn 25 phần
trăm tổng RAM hệ thống của mình. Điều đó có nghĩa là nếu bạn đã cài đặt 4GB trên hệ
thống vật lý hoặc máy chủ của mình, thì chỉ chọn 1GB cho máy ảo của bạn và nếu bạn
có 16GB trên hệ thống vật lý của mình, thì hãy chọn 4GB. RAM càng nhiều
bạn cung cấp cho máy ảo của mình, máy sẽ chạy càng nhanh và càng tốt, nhưng bạn
cũng phải để đủ RAM cho hệ điều hành máy chủ của mình và bất kỳ máy ảo nào khác
mà bạn có thể muốn chạy đồng thời. Các máy ảo của bạn sẽ không sử dụng bất kỳ
RAM nào khi bạn không sử dụng chúng, nhưng chúng sẽ sử dụng dung lượng ổ cứng.

Nhấp chuộtKế tiếp, và bạn sẽ đến màn hình Đĩa cứng. ChọnTạo đĩa
cứng ảovà bấm vàoTạo nên.
Trong màn hình tiếp theo, bạn có thể quyết định xem bạn muốn ổ cứng bạn
đang tạo được phân bổ động hay ở một kích thước cố định. Nếu bạn chọn Phân
bổ động, hệ thống sẽkhônglấy toàn bộ kích thước tối đa mà bạn phân bổ cho
đĩa cứng ảo cho đến khi bạn cần, tiết kiệm thêm dung lượng đĩa cứng chưa sử
dụng cho hệ thống máy chủ của bạn. Tôi khuyên bạn nên chọn phân bổ động.

Nhấp chuộtKế tiếp, và bạn sẽ chọn dung lượng ổ cứng để phân bổ cho
VM và vị trí của VM (xemHình 7).

Hình 7: Cấp phát dung lượng ổ cứng

Mặc định là 8GB. Tôi thường thấy rằng dung lượng đó hơi nhỏ và khuyên bạn
nên phân bổ tối thiểu 20–25 GB. Hãy nhớ rằng, nếu bạn chọn phân bổ động dung
lượng ổ cứng, nó sẽ không sử dụng dung lượng cho đến khi bạn cần và việc mở
rộng ổ cứng của bạn sau khi đã được phân bổ có thể được thực hiện.
khó khăn, vì vậy tốt hơn là mắc lỗi ở phía cao.
Nhấp chuộtTạo nên, và bạn đã sẵn sàng để đi!

Cài đặt Kali trên máy ảo


Tại thời điểm này, bạn sẽ thấy một màn hình nhưHình 8. Bây giờ bạn sẽ cần cài
đặt Kali. Lưu ý rằng ở bên trái Trình quản lý VirtualBox, bạn sẽ thấy dấu hiệu cho
biết Kali VM đã tắt. Nhấn vàoBắt đầunút (biểu tượng mũi tên màu xanh lá cây).

Hình 8: Màn hình chào mừng của VirtualBox

Trình quản lý VirtualBox sau đó sẽ hỏi nơi tìm đĩa khởi động. Bạn đã tải
xuống một ảnh đĩa có phần mở rộng.iso, mà nên có trong của bạnTải xuống
thư mục (nếu bạn đã sử dụng torrent để tải xuống Kali, thư mục.isotập tin sẽ
ở trongTải xuốngthư mục của ứng dụng torrent của bạn). Nhấp vào biểu
tượng thư mục ở bên phải, điều hướng đếnTải xuốngvà chọn tệp hình ảnh
Kali (xemHình 9).
Hình 9: Chọn đĩa khởi động của bạn

Sau đó nhấn vàoBắt đầu. Xin chúc mừng, bạn vừa cài đặt Kali Linux
trên máy ảo!

Thiết lập Kali


Bây giờ Kali sẽ mở một màn hình nhưHình 10, cung cấp cho bạn một số lựa chọn khởi động.
Tôi khuyên bạn nên sử dụng cài đặt đồ họa cho người mới bắt đầu. Sử dụng các phím bàn
phím của bạn để điều hướng menu.
Nếu bạn gặp lỗi khi cài đặt Kali vào VirtualBox, có thể là do bạn chưa bật ảo
hóa trong BIOS của hệ thống. Mỗi hệ thống và BIOS của nó hơi khác nhau, vì
vậy hãy kiểm tra với nhà sản xuất của bạn hoặc tìm kiếm trực tuyến các giải
pháp cho hệ thống và BIOS của bạn. Ngoài ra, trên các hệ thống Windows, bạn
có thể cần phải tắt bất kỳ phần mềm ảo hóa cạnh tranh nào, chẳng hạn như
Hyper-V. Một lần nữa, tìm kiếm trên internet cho hệ thống của bạn sẽ hướng
dẫn bạn làm như vậy.
Hình 10: Lựa chọn phương thức cài đặt

Tiếp theo, bạn sẽ được yêu cầu chọn ngôn ngữ của mình. Hãy chắc chắn rằng bạn
chọn ngôn ngữ mà bạn cảm thấy thoải mái nhất khi làm việc và sau đó nhấp vàoTiếp
tục. Tiếp theo, chọn vị trí của bạn, nhấp vàoTiếp tục, rồi chọn bố cục bàn phím của
bạn.
Khi bạn nhấp vào Tiếp tục, VirtualBox sẽ trải qua quá trình phát hiện phần cứng và
bộ điều hợp mạng của bạn. Chỉ cần kiên nhẫn chờ đợi như nó làm như vậy. Cuối cùng,
bạn sẽ được chào đón bởi một màn hình yêu cầu bạn định cấu hình mạng của mình,
như trongHình 11.
Hình 11: Nhập tên máy chủ

Mục đầu tiên nó yêu cầu là tên máy chủ lưu trữ của bạn. Bạn có thể đặt tên cho nó là bất cứ
thứ gì bạn muốn, nhưng tôi để tên của tôi là “kali” mặc định.
Tiếp theo, bạn sẽ được yêu cầu tên miền. Không cần thiết phải nhập bất cứ điều gì
ở đây. Nhấp chuộtTiếp tục. Màn hình tiếp theo, hiển thị trongHình 12, là rất quan
trọng. Tại đây, bạn được hỏi mật khẩu bạn muốn sử dụng chonguồn gốc người dùng.

You might also like