Tải bản đầy đủ (.pdf) (56 trang)

Tích hợp các công cụ quyét lỗ hổng bảo mật

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.25 MB, 56 trang )

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

TÍCH HỢP CÁC CÔNG CỤ
QUÉT LỖ HỔNG BẢO MẬT

Sinh viên thực hiện

Cán bộ hướng dẫn

Huỳnh Duy Khiêm

Ths. Phạm Hữu Tài

MSSV: 1071679

Ths. Lâm Chí Nguyện


TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

TÍCH HỢP CÁC CÔNG CỤ
QUÉT LỖ HỔNG BẢO MẬT
Sinh viên thực hiện

Cán bộ hướng dẫn



Huỳnh Duy Khiêm

Ths. Phạm Hữu Tài

MSSV: 1071679

Ths. Lâm Chí Nguyện

Cán bộ phản biện
Ths. Nguyễn Công Huy
Ths. Lâm Nhựt Khang

Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Mạng máy
tính & Truyền thông, khoa Công Nghệ Thông Tin, trường Đại học Cần Thơ
vào ngày 13 tháng 05 năm 2011

Có thể tìm hiểu luận văn tại:



Thư viện Khoa Công nghệ Thông tin, Trường Đại học Cần Thơ
Website: />

LỜI CẢM ƠN
Đầu tiên em xin gửi lời cảm ơn chân thành đến thầy Phạm Hữu Tài người đã
hướng dẫn cũng như giúp đỡ em rất nhiệt tình trong suốt quá trình thực hiện luận văn
vừa qua. Nhờ sự tận tình và qua tâm của thầy em mới có đủ kiến thức và kinh nghiệm
để hoàn thành tốt luận văn tốt nghiệp này. Đồng thời, em cũng xin gửi lời cảm ơn đến
thầy Lâm Chí Nguyện đã giúp đỡ em rất tận tình trong việc lập trình và vẽ các giao

diện điều khiển cho bộ công cụ .
Em cũng xin gửi lời cảm ơn đến tất cả thầy cô khoa Công nghệ thông tin &
Truyền thông, trường Đại học Cần Thơ. Thầy cô đã tận tình giảng dạy và truyền đạt
những kiến thức bổ ích cho em trong suốt những năm học qua, giúp em có được những
kiến thức cần thiết cho việc thực hiện bài luận văn cũng như những tri thức làm hành
trang cho em vào đời.
Cuối cùng xin dành lời cám ơn cho ba mẹ, bạn bè những người đã ủng hộ em
thực hiện luận văn này.

Cần Thơ, ngày 05 tháng 04 năm 2011

Huỳnh Duy Khiêm


NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................

......................................................................................................................................
......................................................................................................................................
......................................................................................................................................

Cần Thơ, ngày …… tháng …… năm 2011
Cán bộ hướng dẫn

Ths. Phạm Hữu Tài


NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................


Cần Thơ, ngày …… tháng …… năm 2011
Cán bộ hướng dẫn

Ths. Lâm Chí Nguyện


NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................

Cần Thơ, ngày …… tháng …… năm 2011
Cán bộ phản biện

Ths. Nguyễn Công Huy



NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................

Cần Thơ, ngày …… tháng …… năm 2011
Cán bộ phản biện

Ths. Lâm Nhựt Khang
GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang i


MỤC LỤC
MỤC LỤC ...................................................................................................................1

TÓM TẮT ...................................................................................................................iv
ABSTRACT.................................................................................................................v
TỪ KHÓA ...................................................................................................................v
CHƯƠNG 1: TỔNG QUAN ........................................................................................1
1.1 ĐẶT VẤN ĐỀ .................................................................................................1
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ ..................................................................1
1.3 PHẠM VI ĐỀ TÀI...........................................................................................2
1.4 PHƯƠNG PHÁP NGHIÊN CỨU / HƯỚNG GIẢI QUYẾT............................2
1.4.1

Phương pháp nghiên cứu .........................................................................2

1.4.2

Hướng giải quyết.....................................................................................2

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .............................................................................4
2.1 TẤN CÔNG MẠNG........................................................................................4
2.1.1

Các kiểu tấn công mạng...........................................................................4

2.1.2

Các bước tấn công mạng .........................................................................4

2.2 GIỚI THIỆU KỸ THUẬT QUÉT....................................................................5
2.2.1

Quá trình thực hiện việc tấn công ............................................................7


2.2.2

Kiểm tra hệ thống đang hoạt động ...........................................................8

2.2.3

Kiểm tra các cổng đang mở .....................................................................8

2.2.4

Xác định hệ điều hành (OS Fingerprinting)/ Lấy banner........................15

2.2.5

Quét lỗ hổng, điểm yếu của hệ thống:....................................................16

CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU.........................................17
3.1 NỘI DUNG THỰC HIỆN .............................................................................17
GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang ii


3.2 GIỚI THIỆU CÁC CHƯƠNG TRÌNH ĐƯỢC SỬ DỤNG............................19
3.2.1

Nmap ....................................................................................................19

3.2.2

Nikto .....................................................................................................21


3.2.3

Sqlmap ..................................................................................................23

3.2.4

W3af .....................................................................................................25

3.2.5

P0f.........................................................................................................26

3.3 GIỚI THIỆU CÁC GIAO DIỆN ĐƯỢC VIẾT CHO CÁC CHƯƠNG TRÌNH
DÒNG LỆNH.........................................................................................................26
3.3.1

Giao diện Nmap ....................................................................................27

3.3.2

Giao diện Nikto .....................................................................................29

3.3.3

Giao diện Sqlmap ..................................................................................30

3.4 MÔ TẢ CÁC CHỨC NĂNG CỦA BỘ CÔNG CỤ .......................................31
Chương 4: KẾT LUẬN VÀ ĐỀ NGHỊ .......................................................................33
4.1 KẾT LUẬN ...................................................................................................33

4.2 ĐỀ NGHỊ.......................................................................................................33
PHỤ LỤC...................................................................................................................34
TÀI LIỆU THAM KHẢO ..........................................................................................45

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang iii


TÓM TẮT
Ngày nay, có rất nhiều công cụ quét hệ thống mạng. Mỗi công cụ đều có các điểm
mạnh, yếu riêng biệt. Thêm vào đó, các công cụ lại có giao diện hoặc cấu trúc câu lệnh
khác nhau. Điều này dẫn đến một yêu cầu cần phải tích hợp các công cụ quét lại để tạo
thành một bộ công cụ có thể tập hợp được các điểm mạnh của từng công cụ riêng biệt.
Đề tài: “TÍCH HỢP CÁC CÔNG CỤ QUÉT LỖ HỔNG BẢO MẬT” được đưa ra
nghiên cứu để giải quyết vấn đề này.
Đề tài được nghiên cứu theo phương pháp nghiên cứu ứng dụng. Mục tiêu của đề tài là
tích hợp một bộ công cụ có thể quét lỗ hổng cũng như thu thập thông tin của một hệ
thống mạng. Nhằm hỗ trợ các nhà quản trị có bộ công cụ quét để tìm ra các lỗ hổng của
hệ thống. Từ đó có thể khắc phục các lỗ hổng hay điểm yếu của hệ thống.

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang iv


ABSTRACT
Today, there are many network scanning tools. Each tool has strengths, weak
individually. In addition, tools have interfaces or command structures differently. This
lead to a requirement what integrate a lot of scanning tools into a toolkit. Thesis :
“INTEGRATING SCANNING TOOLS VULNERABILITIES” are made to resolve
this problem.
The objective of the project built a toolkit that can scan vulnerabilities as
well as collect information of a network. This toolkid can support administrator to find

vulnerabilities of network. So that, they can overcome vulnerabilities of network.

TỪ KHÓA
Công cụ quét.
An ninh mạng.
Lỗ hổng mạng.

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang v


CHƯƠNG 1: TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Khi khoa học máy tính và Internet ngày càng phát triển, thì các vấn đề về an ninh
mạng ngày càng được chú trọng. Do các hacker (kẻ xâm nhập) luôn tìm cách đột nhập
vào các hệ thống máy nhằm phá hoại hay trộm cấp các thông tin quan trọng trong hệ
thống máy tính đó. Một vấn đề được đặt ra đối vối mọi hacker dù mũ đen hay mũ trắng
là khi đối mặt với một hệ thống máy tính, họ phải biết hệ thống đó hoạt động như thế
nào để từ đó đưa ra những phương pháp tấn công hay phòng thủ một cách hữu hiệu.
Các thông tin như các dịch vụ, hệ điều hành, webserver… sẽ chỉ ra cho hacker
biết hệ thống hoạt động như thế nào và có những lỗ hổng gì. Và kỹ thuật quét
(scanning) có thể giúp họ có được các thông tin ấy.
Hiện nay có rất nhiều chương trình hỗ trợ cho việc quét (scanning) nhưng mỗi
chương trình có những chức năng cũng như các ưu, nhược điểm riêng. Dựa trên thực tế
là mỗi khi muốn thực hiện việc quét một hệ thống máy tính chúng ta cần tìm những
chương trình phù hợp với mục đích quét của mình và thử nghiệm xem các chương trình
đó có hoạt động hiệu quả hay không. Dẫn đến việc rất mất thời gian và công sức của
người sử dụng. Điều này dẫn đến một nhu cầu cần phải có một bộ cộng cụ tích hợp
nhiều công quét có thể thực hiện được hầu hết các loại quét một cách hiệu quả.
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Hiện tại đã có một số công cụ quét tích hợp nhiều loại quét khác nhau vào trong

chương trình của mình nhưng vẫn chưa có công cụ nào có thể thực hiện được hầu hết
các loại quét. Vì vậy đây là một đề tài mới cần được nghiên cứu và giải quyết.

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 1


CHƯƠNG 1: TỔNG QUAN
1.3 PHẠM VI ĐỀ TÀI
Đề tài phải thực hiện được một bộ công cụ tích hợp có các chức năng chính sau:
 Kiểm tra các host nào đang hoạt động.
 Xác định các cổng mở hay đóng.
 Xác định hệ điều hành trên host.
 Xác định webserver.
 Xác định các lỗ hổng bảo mật.
Bộ công cụ có thể chạy trên hệ Linux cụ thể là Ubuntu 10.10 với nền tảng JRE v6
trở lên.
1.4 PHƯƠNG PHÁP NGHIÊN CỨU / HƯỚNG GIẢI QUYẾT
1.4.1 Phương pháp nghiên cứu
Phương pháp nghiên cứu ứng dụng: là loại hình nghiên cứu tìm ra những quy
trình vận dụng các kết quả nghiên cứu cơ bản vào thực tiễn nhằm tạo ra các quy trình
công nghệ mới, các nguyên lý quản lý xã hội…
1.4.2 Hướng giải quyết
- Tìm kiếm và thử nghiệm các công cụ quét:
Hiện tại, có rất nhiều công cụ quét nhưng không phải công cụ nào cũng hiệu
quả, dễ sử dụng và có thể chạy trên Linux. Để có thể tìm được những công cụ quét hữu
hiệu ta phải tiến hành cài đặt và thử nghiệm các công cụ đó để kiểm tra độ chính xác
của việc quét. Từ đó chọn ra những công cụ quét phù hợp nhất để tích hợp vào bộ công
cụ
- Viết các giao diện người dùng cho bộ công cụ:
Cần phải có một giao diện để người dùng có thể chon lựa các công cụ trong bộ

công cụ một cách dễ dàng. Đồng thời, đối với các công cụ chạy trên dòng lệnh có cú

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 2


CHƯƠNG 1: TỔNG QUAN
pháp câu lệnh phức tạp cũng cần phải có một giao diện người dùng với các tùy chọn
tương ứng với các chức năng của công cụ để người dùng có thể dễ sử dụng.
-Chọn công nghệ thực hiện:
+Nền tảng: hệ điều hành Ubuntu
Các năm gần đây, hệ điều hành Linux ngày càng phát triển và hoàn thiện
đặc biệt là Ubuntu. Đây cũng là một hệ điều hành có một cộng đồng người sử dụng khá
đông đúc. Chính vì tính phổ biến này nên nó sẽ được nhiều nhà phát triển lựa chọn làm
nền tảng cho nhiều ứng dụng nói chung và các công cụ quét nói riêng. Việc lựa chọn
một hệ điều hành mã nguồn mở cũng nhằm mục đích an toàn cho người sử dụng, bởi
các công cụ quét đôi khi cũng chính là con dao hai lưỡi khi bản thân nó cũng là một
Trojan.
+Ngôn ngữ: Java
Việc sử dụng một ngôn ngữ mở cho một hệ điều hành mã nguồn mở là
phù hợp. Hơn thế nữa, java có một bộ thư viện đồ sộ cho phép gọi và thực thi các
chương trình cũng như xử lý việc hiển thị một cách hoàn hảo. Và sử dụng java sẽ dễ
tìm kiếm sự hỗ trợ do có một cộng đồng người sử dụng đông đảo.

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 3


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 TẤN CÔNG MẠNG
2.1.1 Các kiểu tấn công mạng
Có rất nhiều cách để một hacker có thể tiếp cận được với một hệ thống. Tuy

nhiên, hacker phải tìm được các điểm yếu hoặc lỗ hổng bảo mật của hệ thống đó. Sau
đây là cách mà hacker sử dụng để xâm nhập hoặc tấn công các hệ thống:
_Tấn công hệ điều hành: Các hệ điều hành ngày nay thường rất phức tạp, có
thể chạy rất nhiều dịch vụ và các phương thức để truy cập. Ở chế độ mặc định, các hệ
điều hành thường cho phép chạy một lượng lớn các dịch vụ cũng như mở rất nhiều
cổng không cần thiết. Các hacker có thể tìm kiếm các lỗ hổng trên hệ điều hành để từ
đó tiếp cận đến các hệ thống mạng.
_Tấn công tầng ứng dụng: Đây là nơi giao tiếp trực tiếp với các ứng dụng.
Các hacker sẽ lợi dụng các lỗ hổng của các ứng dụng này (như lỗi tràn bộ đệm…) để
tiếp cận đến hệ thống.
_Tấn công thư viện người dùng: các framework thường sử dụng chung một
số thư viện người dùng (như dll trong Window) phổ biến. Bằng cách tấn công vào các
thư viện này các hacker sẽ có thể tấn công vào các framework chạy trên hệ thống.
_Tấn công dựa vào lỗi cấu hình: Do hệ thống quá lớn hay do người quản trị
không có các kiến thức cần thiết để cấu hình một cách chính xác dẫn đến các lỗi cấu
hình cho hệ thống. Từ đó các hacker có thể lợi dụng các lỗi cấu hình này để tấn công
hệ thống.[1]
2.1.2 Các bước tấn công mạng
Theo Certified Ethical Hacker (CEH) các bước tấn công một hệ thống sẽ bao
gồm các bước sau:

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 4


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
-Bước 1: Thăm dò
Đây là bước thuộc giai đoạn chuẩn bị. Hacker sẽ cố gắng thu thập càng
nhiều thông tin càng tốt về một hệ thống trước khi thực hiện việc tấn công. Các thông
tin được thu thập có thể là tên miền của website thuộc hệ thống hay email của người
quản trị hệ thống…

-Bước 2: Quét hệ thống
Đây là giai đoạn trước khi tiến hành tấn công một hệ thống. Hacker tiến
hành quét hệ thống mạng để xác định các thông tin cụ thể của một hệ thống mạng. Đây
cũng là bước mà luận văn thực hiện.
-Bước 3: Truy cập thành công
Hacker thâm nhập thành công vào hệ thống do lợi dụng các điểm yếu hoặc
lỗ hổng trên hệ thống mà hacker đã thu thập được ở hai bước trên.
-Bước 4: Duy trì truy cập
Đây là giai đoạn hacker cố gắng giữ lại quyền truy cập hay sở hữu hệ thống
đã xâm nhập bằng cách tạo các backdoor, trojan, rookit… trên các hệ thống đó. Và cố
gắng đảm bảo quyền độc quyền sở hữu hệ thống của mình đối với các hacker khác.
-Bước 5: Xóa dấu vết
Sau khi đã thực hiện thành công việc tấn công một hệ thống, hacker sẽ che
dấu các hành động trong quá trình tấn công của mình, để kéo dài thời gian cho một
cuộc tấn công khác, tiếp tục sử dụng các tài nguyên hoặc xóa các bằng chứng của việc
tấn công nhằm loại bỏ trách nhiệm của mình với pháp luật.
2.2 GIỚI THIỆU KỸ THUẬT QUÉT
Quét là một trong ba kĩ thuật thu thập thông tin (sau In dấu ấn_Footprintting và
Liệt kê mạng_ Network Enumeration) của một hacker. Những kẻ xâm nhập thường
phải tốn đến 90% thời gian để thu thập thông tin và chỉ có 10% thời gian cho cuộc
tấn công. Vì thế đây là một trong các bước quan trọng của hacker cũng như đối với
GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 5


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
các nhà quản trị mạng. Và phạm vi thực hiện của luận văn cũng sẽ thực hiện trong
bước này. Qua việc quét một hệ thống, hacker hay các nhà quản trị mạng có thể có
được các thông tin sau:
 Địa chỉ IP.
 Hệ điều hành.

 Cấu trúc hệ thống.
 Các chương trình, dịch vụ nào đang chạy trên máy tính .
Có ba loại quét khác nhau:
1. Quét cổng (Port scanning): Các gói tin được gửi đến các cổng máy mục
tiêu để tìm hiểu về các dịch vụ mạng của máy tính đó. Nếu các liên kết có
thể thực hiện chứng tỏ cổng đó đang hoạt động. Từ đó có thể tiếp tục xác
định dịch vụ đang chạy trên cổng đó.
2. Quét hệ thống mạng (Network scanning): Sử dụng các kỹ thuật quét để
xác định thông tin của các host đang hoạt động trên một hệ thống mạng.
Loại quét này có thể phục vụ cho tấn công hay đánh giá tính bảo mật của
hệ thống mạng.
3. Quét lỗ hổng (Vulnerability Scanning): Dựa trên việc phân tích các thông
tin thông thập từ hai loại quét trên cộng với việc sử dụng một số kỹ thuật
để tìm ra các lỗ hổng của hệ thống. Từ đó có thể tấn công hay khắc phục
các lỗ hổng được phát hiện.

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 6


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.2.1 Quá trình thực hiện việc tấn công

Hình 2.1-Các bước thực hiện việc tấn công.[1]
Do phạm vi đề tài chỉ thực hiện trong bước quét nên ta chỉ tiến hành nghiên cứu
ở 5 bước đầu tiên đó là:
1. Kiểm tra hệ thống đang hoạt động: Bước này nhằm xác định máy mục tiêu
hiện đang hoạt trên hệ thống mạng hay không.
2. Kiểm tra cổng đang mở: Xác định các cổng mà máy mục tiêu mở nhằm
khám phá các dịch vụ chạy trên máy mục tiêu ở bước tiếp theo.
3. Xác định dịch vụ: Dựa vào bước thứ hai ta có tiếp tục thực hiện việc quét

để xác định được các dịch đang chạy trên các cổng đó.
4. Lấy banner/ Xác định hệ điều hành: Thu thập các banner và các thông tin
mà máy mục tiêu tiết lộ để xác định hệ điều hành hay các webserver, các hệ
quản trị cơ sở dữ liệu được sử dụng.
5. Quét lỗ hổng: Dựa vào các thông tin thu thập được, tiếp tục thực hiện việc
quét để tìm kiếm các thông tin nhạy cảm. Từ đó xác định các lỗ hổng của
hệ thống.

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 7


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.2.2 Kiểm tra hệ thống đang hoạt động
Kiểm tra một hệ thống có hoạt động hay không bằng cách gửi một gói ICMP
(Internetwork Control Message Protocol) ECHO request đến nó. Nếu hệ thống đó hoạt
động nó sẽ phản hồi bằng một gói ICMP ECHO reply. Chúng ta cũng có thể gửi cùng
lúc đến nhiều host để xác định một dãi IP có hoạt động hay không (kỹ thuật ping
sweep).
2.2.3 Kiểm tra các cổng đang mở
 Giới thiệu
Để đơn giản trong việc tiếp cận các kỹ thuật quét ta sẽ làm quen với một số
khái niệm sau:

Hình 2.2-Cấu trúc của một gói TCP [1]

-Các cờ (flag) của gói TCP:
1. Synchronize: viết tắt là "SYN", khởi tạo một kết nối giữa các host.
2. Acknowledgment: viết tắt là "ACK", thiết lập kết nối giữa các host.
3. Push: viết tắt là "PSH", hệ thống đang chuyển tiếp dữ liệu từ bộ nhớ
đệm.

4. Urgent: viết tắt là "URG", được dùng trong ngữ cảnh các dữ liệu trong
gói tin cần được xử lí trực tiếp, xử lí nhanh.
GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 8


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
5. Reset: viết tắt là "RST", tái kết nối .
6. Finish: viết tắt là "FIN", thông báo kết thúc một nối kết.
- Ba bước thực hiện nối kết (Three Way Handshake):
1. Client gửi cho server một gói với cờ SYN được thiết lập.
2. Server nếu đồng ý kết nói sẽ gửi cho client một gói với cờ
SYN/ACK được thiết lập.
3. Cuối cùng client gửi cho server một gói với cờ ACK được thiết
lập. Nếu không có biến chứng nào xảy ra, kết nối sẽ được thiết lập
giữ hai bên.

Hình 2.3-Minh họa ba bước kết nối giữa máy A(192.168.1.2) kết nối đến
máy B(192.168.1.3)[1]
Sau đây chúng ta sẽ đi vào chi tiết các kỹ thuật quét cổng.
 SYN Stealth / Quét một nữa (Half Open Scan):
Đây là kiểu quét một nữa vì nó không phải là một kết nối TCP hoàn chỉnh.
Đầu tiên Client sẽ gửi một gói TCP có cờ SYN (yêu cầu nối kết) đến một cổng của
server. Nếu server phản hồi bằng một gói TCP có cờ SYN/ACK chứng tỏ cổng đó
đang mở. Tuy nhiên, thay vì phản hồi lại bằng một gói có cờ là ACK thì client sẽ gửi
một gói có cờ RST để kết thúc việc nối kết. Ngược lại nếu server gửi trả một gói có cờ
RST chứng tỏ cổng đó không hoạt động.

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 9



CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Hình 2.4-Minh họa kỹ thuật quét SYN Stealth.[1]
Thuận lợi của kỹ thuật này là một số server sẽ không ghi lại các kết nối
chưa hoàn thành. Vì thế quá trình quét này sẽ không được ghi lại.
 Quét Xmas:
Xmas là một gói với các cờ FIN/URG/PSH được thiết lập. Gói này chỉ
hoạt động trên các hệ điều hành hỗ trợ đầy đủ giao thức TCP/IP hay RFC 793. RFC
(Request For Comment) là tập hợp những tài liệu về kiến nghị, đề xuất và những lời
bình luận liên quan trực tiếp hoặc gián tiếp đến công nghệ, giao thức mạng
INTERNET. Tuy nhiên Xmas sẽ không hoạt động trên bất kỳ phiên bản nào của
Microsoft. Nếu Xmas quét nhằm vào hệ thống nào của Microsoft sẽ cho kết quả là tất
cả các cổng đều đóng.

Hình 2.5-Minh họa kỹ thuật quét Xmas với máy B là máy cần thăm dò[1]
Thuận lợi của kỹ thuật này là một số Firewall chỉ kiểm tra các gói có cờ
SYN (có nghĩa là, các gói dữ liệu bắt đầu kết nối theo tiêu chuẩn). Gói Xmas không có
cờ SYN nên đi qua tường lửa dễ dàng và đến được hệ thống đích.

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 10


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
 Quét FIN:
Tương tự như Xmas nhưng quét FIN gửi một gói chỉ với một cờ FIN
được thiết lập.

Hình 2.6-Minh họa quét FIN với máy B là máy cần thăm dò.[1]
 Quét NULL:
Kỹ thuật này gửi đi một gói mà chẳng cờ nào được thiết lập nếu server

không trả lời chứng tỏ cổng đó mở và ngược lại. Quét NULL có các đặc điểm giống
như quét Xmas và FIN là không hoạt động trên các phiên bản của Microsoft và các hệ
thống không theo chuẩn RFC 793.

Hình 2.7-Minh họa quét NULL với máy B là máy cần thăm dò[1]
 Quét IDLE:
Như ta đã biết để thực hiện một kết nối client gửi đến server một gói có cờ
SYN. Nếu như client đến server một gói có cờ SYN/ACK trong khi server không yêu
cầu thì server sẽ trả về một gói có cờ RST được thiết lập.
GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 11


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Mỗi gói IP trên mạng đều có một số chứng minh thư khung (fragment
identification). Một số hệ đều hành đơn giản là chỉ tăng số này lên đơn vị cho mỗi gói
họ gửi đi. Vì thế kỹ thuật thăm dò này sẽ nói cho hacker biết những gói tin đã được gửi
đi như thế nào từ lần thăm dò trước.
Có 3 bước cơ bản trong kỹ thuật này

Hình 2.8-Minh họa bước 1 của kỹ thuật quét IDLE[1]

Hình 2.9-Minh họa bước 2 của kỹ thuật quét IDLE nếu cổng máy mục tiêu là mở [1]

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 12


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Hình 2.10-Minh họa bước 2 của kỹ thuật quét IDLE nếu cổng máy mục tiêu là đóng[1]


Hình 2.11-Minh họa bước 3 của kỹ thuật quét IDLE nếu cổng máy mục tiêu là mở [1]
- Bước 3 của kỹ thuật quét IDLE nếu cổng máy mục tiêu là đóng thì IPID vẫn
không tăng so với bước 1.

GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 13


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
 Kết nối TCP/ Quét mở hoàn toàn (Full Open Scan):
Khác với quét một nữa thì kỹ thuật này tạo ra một kết nối thực sự giữa 2
máy bằng cách gọi hàm hệ thống connect() được cung cấp bởi hệ đều hành. Nếu cổng
mở, hàm connect() sẽ thành công. Ngược lại, nếu cổng đóng thì không thể truy cập
vào máy kia. Đây là kỹ thuật có độ chính xác cao nhất vì có thể xác định chắc chắn
cổng đã mở khi kết nối thành công.
 SYN/FIN Quét sử dụng các khung IP:
Đây là kỹ thuật được kế thừa từ các kỹ thuật trước. Các header của TCP
được chia ra làm nhiều gói để các bộ lọc gói không xác định được các gói có ý định
làm gì.
 Quét UDP:
Đây là phương thức quét sử dụng giao thức UDP thay vì giao thức TCP.
UDP thì đơn giản hơn TCP nhưng quét thì lại khó khăn hơn. Quét UDP sẽ gửi một gói
UDP rỗng vào cổng mục tiêu. Mục tiêu phản hồi lại một lỗi không thể kết nối nếu
cổng đóng. Nếu cổng mở sẽ trả lời bằng một gói UDP.
 Quét ACK:
Kỹ thuật này không phải để xác định các cổng có mở hay không mà xem
các công có đươc lọc bởi tường lửa hay không. Nó cho phép xác nhận sự có mặt của
tường lửa và phát họa nên các quy luật của tường lửa.
Một gói tin chỉ với cờ ACK được thiết lập sẽ gửi đến hệ thống đích. Nếu
hệ thống đó không lọc (không có tường lửa hoặc không lọc trên những cổng đó) thì dù
là cổng đóng hay mở cũng trả về 1 gói RST. Nếu hệ thống có lọc trên cổng đó thì hoặc

là không trả lời hoặc là trả về một thông điệp lỗi ICMP.
 Quét window:
Tương tự như ACK quét, ngoại trừ việc đôi khi nó có thể phát hiện các
cổng mở, các cổng lọc hay không lọc do một sự bất thường trong các kích thước TCP
window được công bố của một số hệ điều hành.
GVHD: Th.S Phạm Hữu Tài, Th.S Lâm Chí Nguyện | SVTH: Huỳnh Duy Khiêm | Trang 14


×