Tải bản đầy đủ (.docx) (48 trang)

BÁO CÁO BÀI TẬP LỚN NGHIÊN CỨU CÔNG CỤ NMAP SCANER

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 (1.17 MB, 48 trang )

BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ

BÁO CÁO BÀI TẬP LỚN
NGHIÊN CỨU CÔNG CỤ NMAP SCANER
Lớp L01- Kỹ thuật lập trình

Sinh viên thực hiện:
Nguyễn Minh Hồng

- AT170522

Trương Thị Khánh Hịa - AT170520
Trần Bình Lâm

- AT170529

Trần Bá Qn

- AT170539

Giảng viên hướng dẫn:
TS. Nguyễn Mạnh Thắng
Khoa An tồn thơng tin – Học viện Kỹ thuật mật mã

Hà Nội, tháng 2 năm 2023


LỜI MỞ ĐẦU
 Lí do chọn đề tài
Bước vào thế kỷ XXI, sự phát triển của cuộc cách mạng khoa học và công nghệ


hiện đại và sự bùng nổ các cơng nghệ cao, trong đó cơng nghệ thơng tin là yếu tố
quan trọng có tác động sâu sắc đến tồn xã hội. Cùng với tốc độ phát triển của công
nghệ, các chuyên gia bảo mật và các nhà quản trị mạng đã, đang và sẽ phải đối mặt
với một trận chiến không bao giờ kết thúc trên chiến trường an ninh mạng. Họ phải
liên tục kiểm tra rà soát hệ thống mạng của của mình để sớm phát hiện các tác nhân
gây hại cũng như những lỗ hổng bảo mật ẩn chứa bên trong. Trong khi hiện nay có
khơng ít các cơng cụ giám sát có sẵn hỗ trợ cho các chuyên gia trong việc việc lập
bản đồ hệ thống mạng và kiểm sốt bảo mật nhưng Nmap vẫn ln là sự lựa chọn số
một về tính linh hoạt và khả năng vận hành của nó. Chính những ưu điểm vượt trội
này đã làm cho Nmap trở thành một công cụ quét cổng và lỗ hổng bảo mật tiêu chuẩn
được thừa nhận rộng rãi trên toàn thế giới.
Chúng ta hãy cùng tìm hiểu sâu hơn về bộ cơng cụ này qua đề tài “Nghiên cứu
công cụ Nmap scaner” qua bài báo cáo dưới đây.
 Mục tiêu nghiên cứu
Mục tiêu mà nhóm mong muốn đạt được sau khi hồn thành báo cáo đó là:
- Giới thiệu về Nmap, cách thức hoạt động của bộ cơng cụ trong dị qt mạng.
- Giới thiệu tổng quan Nmap Scrip Engine (NSE)
- Đưa ra một số phương pháp phát hiện các lỗ hổng bảo mật trong hệ thống
thông tin thông qua các module trong ngôn ngữ lập trình python.
- Cuối cùng là thực nghiệm cụ thể để hiểu hơn về bộ công cụ này.

1


Mục lục
Danh mục hình vẽ........................................................................................................4
Danh mục từ viết tắt....................................................................................................5
CHƯƠNG 1: QUY TRÌNH TẤN CƠNG HỆ THỐNG MẠNG.............................6
I.


Tổng quan về bài tốn tấn cơng........................................................................6
1.

Cyber kill chain.............................................................................................6

2.

Mitre ATT&CK kill chain.............................................................................8

Kết luận...................................................................................................................11
CHƯƠNG 2: GIỚI THIỆU TỔNG QUAN VỀ NMAP.........................................12
I.

Giới thiệu chung Nmap..................................................................................12
1.

Lịch sử Nmap..............................................................................................12

2.

Khái niệm Nmap..........................................................................................12

3.

Những ưu điểm của Nmap...........................................................................13

4.

Những tính năng của Nmap.........................................................................14


5.

Những nhu cầu sử dụng Nmap....................................................................14

6.

Nmap chạy được trong những hệ điều hành................................................14

II.

Nmap trong quét cổng....................................................................................15
1.

Trạng thái các cổng Nmap...........................................................................15

2.

Kỹ thuật quét cổng mà Nmap hỗ trợ...........................................................16

III. Cách sử dụng Nmap cơ bản............................................................................18
1.

Xác định mục tiêu cần quét.........................................................................18

2.

Kỹ thuật phát hiện máy chủ (Host Discovery)............................................19

IV. Giới thiệu Nmap Script Engine......................................................................21
1.


Phân loại NSE..............................................................................................22

2.

Vị trí của NSE script....................................................................................22

3.

Ví dụ về NSE...............................................................................................23

V.

Module python-nmap.....................................................................................24
1.

Cách cài đặt Python-nmap...........................................................................24

2.

Các chế độ quét của python-nmap...............................................................24

VI. Sử dụng nmap thông qua os và subprocess module của python....................26
1.

Subprocess module trong pyhton................................................................26

2.

Os module trong python..............................................................................27

2


Chương 3: Thực nghiệm Nmap trên Kali Linux....................................................28
I.

Mơ hình thực nghiệm:....................................................................................28

II.

Kịch bản:.........................................................................................................28
1. Mục tiêu:.........................................................................................................28
2. Tiến hành thực nghiệm:...................................................................................28

III. Đánh giá và hạn chế:.........................................................................................38
1. Đánh giá:.........................................................................................................38
2. Hạn chế:..........................................................................................................38
Phụ lục........................................................................................................................40
I.

Hướng dẫn tải và cài đặt Nmap......................................................................40
1.

Trên hệ điều hành Windows........................................................................40

2.

Trên một số các bản phân phối Linux khác.................................................40

II.


Giao thức TCP và TCP three-way handshak..................................................40
1.

Giao thức TCP.............................................................................................40

2.

TCP Three-way handshake..........................................................................42

Kết luận......................................................................................................................43
Bảng phân chia công việc..........................................................................................44
Tài liệu tham khảo....................................................................................................45

3


Danh mục hình vẽ
Hình 1: TCP connect scan…………………………………………………………...16
Hình 2: SYN scan……………………..………………………………….………….
17
Hình

3:

FIN

scan………..……………………………………………...

…………….18

Hình 4: Xmas scan……………………….………………………………..…………
18
Hình 5: Mơ hình minh họa thực nghiệm…….……………………………..…………
28
Hình 6: Kết quả quét cổng………………….………………………………..………29
Hình 7: Kết quả chạy lệnh với module OS ………………………………..…………
30
Hình 8: Kết quả của script banner………...………………………………..………..31
Hình 9: Kết quả của script vulner…………………………………………..…...……
32
Hình 10: Kết quả của script ssl-heartbleed…………………………………..….……
32
Hình 11: Kiểm tra kết nối……………….…………………………………..….……33
Hình 12: Kết quả qt dịch vụ FTP…………………………………..….…………..38
Hình 13: Cấu tạo gói tin TCP…….…………………………………..….…………..41

4


Hình 14: Tiến trình bắt tay ba bước.…………………………………..….
…………..42

5


Danh mục từ viết tắt
Từ viết tắt

Tiếng Anh


UDP

User Datagram Protocol

TCP

Transmission Control Protocol

IP

Internet Protocol

XML

Extensible Markup Language

DNS

Domain Name System

ICMP

Internet control massage protocol

IT

Information technology

SCTP


Stream Control Transmission Protocol

FTP

File Transfer Protocol

HTTP

Hypertext Transfer Protocol

ACK

Acknowledge bit

SYN

Synchronise

RST

Reset

6


CHƯƠNG 1: QUY TRÌNH TẤN CƠNG HỆ THỐNG MẠNG
I.

Tổng quan về bài tốn tấn cơng
Hệ thống mạng bao gồm một số lượng các thiết bị ngoại vi, máy tính có sự liên


kết với nhau tạo thành cho nên việc kiểm soát và đảm bảo vấn đề an ninh là một việc
vô cùng cấp thiết trước các mối đe dọa tấn cơng bên ngồi.
Tấn cơng mạng(cyper attack) là tất cả các hình thức xâm nhập trái phép vào một
hệ thống máy tính, website, cơ sở dữ liệu, hạ tầng mạng, thiết bị của một cá nhân
hoặc tổ chức thông qua mạng internet với những mục đích bất hợp pháp.
Các tổ chức hacker dành thời gian để tìm hiểu và có thể khai phá các lỗ hổng bảo
mật trong hệ thống từ đó xây dựng nên các kịch bản tấn công nguy hiểm đe dọa đến
tài nguyên cũng như tiến hành phá hoại cơ sở dữ kiệu trong hệ thống mạng máy tính.
Đặc biệt có hai loại kịch bản tấn công mà kẻ tấn công thường hay sử dụng đến đó
là: Cyber kill chain và Mitre ATT&CK kill chain.
1. Cyber kill chain
1.1.

Khái niệm

Cyber Kill Chain là một chuỗi các bước theo dõi những giai đoạn của một cuộc tấn
cơng mạng (cyberattack), được bắt đầu tính từ giai đoạn thu thập thông tin
(reconnaissance) cho đến khi thực hiện đánh cắp dữ liệu.
Cyber Kill Chain giúp các quản trị viên có thể hiểu thêm về ransomware, vi phạm
bảo mật, tấn công APT, cũng như cách ngăn chặn chúng.
1.2.

Cách thức hoạt động của Cyer kill chain

Để thực hiện Cyber kill chain trải qua 7 giai đoạn chính bao gồm:
 Reconnaissance (Trinh sát – Thu thập thông tin).
Giai đoạn quan sát và thu thập thông tin: Các hacker sẽ thường đánh giá tình hình
theo chiều từ ngồi vào trong, nhằm xác định cả mục tiêu lẫn chiến thuật cho cuộc
tấn cơng.

Trong giai đoạn này, các hacker sẽ tìm kiếm những thơng tin có thể bị tiết lộ về
các lỗ hổng bảo mật hay điểm yếu xuất hiện bên trong hệ thống. Các thơng tin này có
thể xuất hiện từ nhiều nguồn khác nhau: có thể qua nhân viên bên trong hệ thống tiết
lộ, qua mạng xã hội, hay sử dụng các tool cơng cụ tìm kiếm. Đối tượng mà các
7


hacker nhắm đến thường là server, firewall, các hệ thống IPS hay tài khoản mạng xã
hội đều được nhắm làm mục tiêu để thu thập thơng tin.
 Weaponization (Vũ khí hóa).
Sau khi trải qua giai đoạn thu thập thơng tin, các tin tặc đã nắm được cơ bản về
các lỗ hổng của mục tiêu, chúng sẽ tiến hành bắt đầu phát triển các loại công cụ
dùng để sử dụng tấn công nạn nhân.
Đây là giai đoạn mà những kẻ tấn công tạo ra một cách cẩn thận một công cụ
mạng lý tưởng chẳng hạn như payload hoặc phần mềm độc hại có thể gây sát thương
tối đa cho nạn nhân.
Quá trình này hồn tồn diễn ra âm thầm ở phía kẻ tấn công mà không liên quan
đến nạn nhân.
 Delivery (Vận chuyển).
Trong giai đoạn vận chuyển phân tán, những kẻ tấn công tiến hành gửi payload
độc hại hoặc phần mềm nguy hiểm vào cho nạn nhân bằng mọi phương tiện xâm
nhập có thể dùng đến.
Có một số phương pháp mà tin tặc thường hay sử dụng để phân phối payload đến
cho nạn nhân chẳng hạn như gửi email lừa đảo, link liên kết web độc hại, chèn SQL,
XSS, tấn công phiên, tấn công man-in-the-middle….
Đây là giai đoạn khởi nguồn tấn cơng khi đã có sự can thiệp vào máy nạn nhân
của các tin tặc.
 Exploitation (Khai thác lỗ hổng).
Sau khi tiến hành bước phân tán mã độc vào máy nạn nhân, tin tặc tiến hành khai
thác các lỗ hổng bảo mật, phát tán mã độc vào trong hệ thống thể thuận lợi hơn cho

tấn cơng.
Trong đó, các hacker có thể xâm nhập vào hệ thống, cài đặt thêm một số công cụ
bổ sung, sửa đổi các chứng chỉ bảo mật và tạo các file script mới phục vụ cho
backdoor và các mục đích phạm pháp khác.
 Installation (Cài đặt phần mềm độc hại).
Lúc này tin tặc đã đánh bại hệ thống bảo mật của máy mục tiêu, chúng có thể bắt
đầu cài đặt phần mềm độc hại và các tệp độc hại khác trong môi trường của nạn
nhân.
8


Đây là giai đoạn tùy chọn trong các cuộc tấn công mạng và chỉ xuất hiện khi kẻ
tấn công sử dụng phần mềm độc hại cài đặt trên hệ thống của mục tiêu. Tùy vào ý
nghĩa của các cuộc tấn công mà tin tặc nhắm đến để chúng cài đặt những phần mềm
độc hại khác nhau gây ảnh hưởng trực tiếp đến hệ thống nạn nhân.
 Command & Control (Giành quyền kiểm soát).
Lúc này Payload hoặc các tệp độc hại được phân phối và cài đặt trên hệ thống
của nạn nhân bắt đầu tạo các kênh kết nối với kẻ tấn cơng.
Sau đó, những kẻ tấn cơng có thể điều khiển từ xa các hệ thống và thiết bị bị
nạn thơng qua mạng và có thể chiếm quyền kiểm sốt toàn bộ hệ thống bị ảnh hưởng
từ chủ sở hữu là quản trị viên thực sự.
 Actions on objectives (Hành động theo mục tiêu).
Khi các hacker đã truy cập được vào hệ thống, họ có thể bắt đầu thực hiện giai
đoạn lây lan lân cận trong hệ thống để có được quyền cao hơn, nhiều dữ liệu hơn, hay
có được nhiều quyền truy cập hơn vào hệ thống.
Các hacker sẽ tìm kiếm những dữ liệu quan trọng, các thơng tin nhạy cảm, quyền
truy cập của admin và email server. Thông thường, giai đoạn này sử dụng các công
cụ như PowerShell để gây ra được những thiệt hại lớn nhất.
Trong giai đoạn này kẻ tấn công được hưởng các quyền như một quản trị viên hệ
thống và có thể tiến hành các cuộc đánh cắp hoặc hủy hoại tài nguyên dẫn đến hậu

quả rất khó kiểm sốt.
2. Mitre ATT&CK kill chain.
2.1.

Khái niệm

Mitre ATT & CK là viết tắt của Mitre Adversarial Tactics, Techniques, and
Common Knowledge (ATT & CK). Mitre ATT & CK là một cơ sở kiến thức và mơ
hình quản lý hành vi về kẻ đe dọa trên mạng, phản ánh các giai đoạn khác nhau của
vịng đời tấn cơng của kẻ thù và các nền tảng mà chúng nhắm mục tiêu.
Sự đa dạng hóa các chiến thuật và kỹ thuật trong mơ hình, cung cấp các hành động
cho từng nhóm đe dọa riêng biệt, theo chiến thuật tấn cơng và phịng thủ của an ninh
mạng. Nó cung cấp một bảng phân loại theo mức độ đối với hành động của đối thủ
và các cách phòng thủ cụ thể, để chống lại nó.
9


Mitre ATT & CK chứa một tập hợp các kỹ thuật mà các hacker sử dụng, để đạt
được một mục tiêu cụ thể. Các mục tiêu được trình bày từ thời điểm do thám, đến
mục tiêu cuối cùng là đánh cắp, sao chép dữ liệu hoặc “tác động”.
2.2.

Cách thức hoạt động Mitre ATT & CK

Nhìn vào mơ hình ATT & CK cho doanh nghiệp bao gồm: Windows, MacOS,
Linux, AWS, GCP, Azure, Azure AD, Office 365, SaaS và môi trường mạng, Mitre
ATT & Ck gồm 14 giai đoạn như sau:
 Reconnaissance (Thăm dị).
Đây là giai đoạn thu thập thơng tin về tổ chức mà các tin tặc hướng đến, lên kế
hoạch hoạt động để đạt mục tiêu đề ra.

 Resource Development (Phát triển tài nguyên).
Trong giai đoạn này hacker sẽ phát triển các nguồn lực như cơ sở hạ tầng và mơ
hình kiểm sốt, để hỗ trợ hoạt động cho các bước tiếp theo.
 Initial Access (Tiếp cận ban đầu).
Lúc này các tin tặc sẽ cố gắng truy cập vào hệ thống mạng của nạn nhân tiến
hành thực hiện trò lừa đảo trực tuyến.
 Execution (Thực thi sau xâm nhập).
Sau khi truy cập thì tin tặc sẽ thử chạy các mã độc hại như chạy một công cụ từ
xa.
 Persistence (Thường trú để chạy lại).
Tin tặc cố gắng duy trì sự tồn tại bên trong máy nạn nhân như thay đổi cấu hình
hiện tại. Sự hiện diện của tin tặc sẽ qua mặt lớp bảo mật và hiện hưu như một phần
trong máy nạn nhân.
 Privilede Escalation (Nâng quyền).
Lúc này, tin tặc sẽ cố gắng đạt được cấp cao hơn với nhiều quyền lợi hơn bên
trong hệ thống. Để làm được điều này, sẽ cần phải tận dụng các lỗ hổng bảo mật để
tiến hành nâng quyền.
 Defense Evasion (Ẩn nấp).
Tin tặc sử dụng phần mềm độc hại nhưng ngụy trang dưới dạng một phần mềm
hợp pháp hoạt động trong máy nạn nhân để cố gắng tránh bị phát hiện.
10


 Credential Access (Lấy cắp thông tin đăng nhập).
Tin tặc sẽ tận dụng mã độc để lấy cắp tên tài khoản, mật khẩu như ghi lại thông
tin đăng nhập ngay trên máy nạn nhân.
 Discovery (Khám phá).
Hacker sẽ cố gắng tìm kiếm thêm các lỗ hổng bảo mật trên hệ thống của nạn nhân
để có thể nắm nhiều quyền kiểm soát hệ thống.
 Lateral Movement (Lây lan bên trong).

Lúc này, tin tặc sử dụng thông tin đăng nhập hợp pháp ở trên để tiến hành đăng
nhập sâu vào bên trong hệ thống để truy cập nhiều tài nguyên hơn.
 Collection (Thu thập).
Tin tặc sẽ thu thập dữ liệu quan trọng trong việc lưu trữ đám mây để nhắm đến
gây thiệt hại cho mục tiêu.
 Command and Control (Thực hiện lệnh và điều khiển).
Lúc này, hacker sẽ sử dụng các hệ thống bị xâm nhập như lưu lượng web để kết
nối với mạng nạn nhân.
 Exfiltration (Truyền tải dữ liệu đi).
Sau khi tiến hành các bước trên thì kẻ tấn cơng sẽ đánh cắp dữ liệu và chuyển dữ
liệu sang tài khoản đám mây.
 Impact (Tác động).
Hồn tất các cơng đoạn trên kẻ tấn công sẽ thao túng, làm gián đoạn hoặc phá
hủy hệ thống và dữ liệu như mã hóa dữ liệu bằng ransomware.

11


Kết luận
Một cuộc tấn công trước khi được thực hiện đều trải qua rất nhiều công đoạn tỉ
mỉ khác nhau từ khâu chuẩn bị, do thám cho đến cài đặt payload độc hại rồi triển khai
xâm nhập khai thác tài nguyên, phá hủy cơ sở dữ liệu bên trong hệ thống nạn nhân.
Mỗi một cơng đoạn đều có một vai trị cực kì thiết yếu và có sự liên kết với các
khâu trong cuộc tấn công tạo nên một chuỗi cơng việc hồn chỉnh. Chính vì điều này
nên chỉ cần thiếu xót hay một khâu chưa được chuẩn bị kĩ đều có thể dẫn đến thất bại
trong cuộc tấn cơng. Và trong số đó, một bước cực kì quan trọng mà trước mỗi cuộc
tấn cơng thì kẻ tấn cơng ln giành thời gian để nghiên cứu kĩ lưỡng đó là khâu thăm
dị, thu thập thơng tin từ máy nạn nhân.
Chính vì lẽ đó, sự xuất hiện của bộ cơng cụ Nmap đóng góp vai trị thu thập dữ
liệu vơ cùng lớn, góp phần xây dựng cái nhìn tổng quan đến hệ thống một cách rõ

ràng nhất và là một phần thiết yếu không thể thiếu trong mỗi cuộc tấn công.

12


CHƯƠNG 2: GIỚI THIỆU TỔNG QUAN VỀ NMAP
I.

Giới thiệu chung Nmap
1. Lịch sử Nmap
Nmap được viết trên nền tảng C ++ và được giới thiệu lần đầu tiên cùng với mã

nguồn trong tạp chí Phrack vào tháng 9 năm 1997. Sau đó nó được mở rộng với C,
Perl và Python. Tác giả Gordon Lyon đã sử dụng bút danh Fyodor Vaskovitch.
Fyodor Vaskovitch cho biết sở dĩ ông lựa chọn bút danh này là do ông đã bị ấn tượng
mạnh sau khi đọc những dòng ghi chú của Fyodor Dostoevsky từ Underground.
Như đã biết, Nmap với phiên bản mới nhất hiện nay là 7.80 là một công cụ quét
mạng với mã nguồn mở, được sử dụng rất phổ biến bởi các chuyên gia an ninh bởi
tính hiệu quả, minh bạch mà nó đem lại vì một cơng cụ có mã nguồn mở có thể cho
phép cộng đồng An ninh mạng trên thế giới cùng nhau tham gia đóng góp và xây
dựng, phát triển.
2. Khái niệm Nmap
Network Mapper (Nmap) là một công cụ mã nguồn mở và miễn phí dùng để quét
cổng và lỗ hổng bảo mật. Các chuyên gia quản trị mạng sử dụng Nmap để xác định
xem thiết bị nào đang chạy trên hệ thống của họ, cũng như tìm kiếm ra các máy chủ
có sẵn và các dịch vụ mà các máy chủ này cung cấp, đồng thời dị tìm các cổng mở
và phát hiện các nguy cơ về bảo mật.
Nmap có thể được sử dụng để giám sát các máy chủ đơn lẻ cũng như các cụm
mạng lớn bao gồm hàng trăm nghìn thiết bị và nhiều mạng con hợp thành.
Mặc dù Nmap đã không ngừng được phát triển, cải tiến qua nhiều năm và cực kỳ

linh hoạt, nhưng nền tảng của nó vẫn là một cơng cụ qt cổng, thu thập thơng tin
bằng cách gửi các gói dữ liệu thơ đến các cổng hệ thống. Sau đó nó lắng nghe và
phân tích các phản hồi và xác định xem các cổng đó được mở, đóng hoặc lọc theo
một cách nào đó, ví dụ như tường lửa. Các thuật ngữ khác được sử dụng để chỉ hoạt
động quét cổng (port scanning) bao gồm dị tìm cổng (discovery) hoặc liệt kê cổng
(enumeration).
13


3. Những ưu điểm của Nmap


Linh hoạt: Hỗ trợ hàng chục kỹ thuật tiên tiến cho việc tạo lập sơ đồ mạng với
các thống kê về bộ lọc IP, firewall, router và các thành phần khác. Với bao
gồm nhiều cơ chế kĩ thuật port scanning (cả TCP và UDP), phát hiện hệ điều
hành và phiên bản, ping sweeps và nhiều thứ hay ho khác.



Mạnh mẽ: Nmap đã được sử dụng để quét (scan) mạng lớn với hàng trăm
nghìn máy.



Portable: Hỗ trợ hầu hết các hệ điều hành bao gồm Linux, Microsoft
Windows, FreeBSD, OpenBSD, Solaris, IRIX, Mac OS X, HP-UX, NetBSD,
Sun OS, Amiga và nhiều hệ điều hành khác nữa.




Dễ dàng: Nmap cung cấp bộ tính năng nâng cao phong phú và mạnh mẽ cho
người dùng, bạn có thể sử dụng lệnh đơn giản như “nmap –v –A targethost”.
Cả thao tác lệnh hay giao diện đều rất dễ và phù hợp. Có bản cài đặt sẵn nếu
khơng thích biên dịch từ mã nguồn ra.



Miễn phí: Mục tiêu chính của dự án Nmap là giúp internet trở nên an toàn hơn
và cung cấp cho quản trị viên (hoặc hacker) một công cụ để khai thác mạng.
Nmap hồn tồn miễn phí đi kèm mã nguồn đầy đủ, có thể tải về, sửa đổi và
phân phối lại theo các điều khoản của license.



Tài liệu đầy đủ: Có thể tìm được cả ebook, các bài hướng dẫn về Nmap dễ
dàng.



Hỗ trợ: Nmap là tiện ích mã nguồn mở, vì vậy nó được cộng đồng các nhà
phát triển và người dùng hỗ trợ rất tốt. Hầu hết các tương tác được gửi về mail
Nmap.



Sự công nhận: Nmap nhận được nhiều giải thưởng bao gồm “sản phẩm bảo
mật thông tin của năm” được trao bởi Linux Jonrnal, Info World và Codetalker
Digest. Nó được giới thiệu trong hàng trăm bài báo, các bộ phim, sách và
truyện tranh.




Phổ biến: Hàng ngàn người download Nmap mỗi ngày và được sử dụng trong
nhiều hệ điều hành như Redhat Linux, Debian Linux, Gentoo, FreeBSD…Nó
nằm trong top 10 chương trình hàng đầu (trong số 30000 chương trình) tại kho
lưu trữ Freshmeat.net.
14


4. Những tính năng của Nmap


Khám phá máy chủ: Xác định máy chủ trên mạng. Ví dụ, liệt kê các máy chủ
phản hồi request TCP hoặc ICMP hoặc mở một port cụ thể.



Port scanning: Liệt kê các port mở trên máy chủ đích.



Version Detection: Kiểm tra các dịch vụ mạng và xác định tên ứng dụng cũng
như phiên bản.



OS detection: Xác định hệ điều hành và đặc điểm phần cứng.




Thực hiện tương tác với đối tượng: Sử dụng Nmap scripting Engine (NSE)
và ngôn ngữ Lua để tương tác dịch vụ với đối tượng máy chủ.



Nmap có thể cung cấp thêm thông tin trên đối tượng, bao gồm DNS phân giải
ngược, loại thiết bị và địa chỉ MAC.

5. Những nhu cầu sử dụng Nmap
Nmap giúp kiểm tra tính bảo mật của thiết bị hoặc tường lửa bằng cách xác định
các kết nối mạng có thể được thực hiện hoặc thơng qua nó.


Xác định port mở trên máy chủ mục tiêu để xác định việc khai thác.



Kiểm tra mạng, lập sơ đồ mạng và duy trì quản lý tài sản IT.



Kiểm tra bảo mật của hệ thống mạng và dịch vụ mạng.



Tạo lưu lượng (traffic) đến host trên mạng, phân tích phản hồi và đo thời gian
phản hồi.




Kiểm tra và khai thác lổ hổng trên hệ thống mạng.



Truy vấn DNS và subdomain.

6. Nmap chạy được trong những hệ điều hành
Một trong những lý do dẫn đến sự phổ biến rộng rãi của Nmap là nó có thể được
sử dụng được trên rất nhiều hệ điều hành khác nhau. Nó chạy được
trên Windows và macOS cũng như được hỗ trợ trên các bản phân phối của Linux bao
gồm Red Hat, Mandrake, SUSE và Fedora. Nó cũng hoạt động tốt trên các hệ điều
hành khác bao gồm BSD, Solaris, AIX và AmigaOS.

15


Nmap trong quét cổng

II.

1. Trạng thái các cổng Nmap


Open: Một ứng dụng tích cực chấp nhận kết nối các gói tin của TCP và UDP,
ngồi ra cịn có cả SCTP trên cổng này. Các Open Port thường là nơi thực hiện
các Scan Port vì những kẻ tấn cơng thường nhằm vào các cổng đang mở này
để tấn công, song song với tấn cơng thì các quản trị viên cố gắng đóng các
Open Port hoặc bảo vệ người dùng hợp pháp bằng firewalls. Cổng mở thì
khơng an tồn bởi chúng khi bị quét sẽ thể hiện các dịch vụ đang chạy khi sử
dụng trên mạng.




Closed: Một cổng đóng có thể truy cập (nó nhận và phản ứng với các gói tin
thăm dị của Nmap), nhưng khơng có ứng dụng nào được gửi và lắng nghe trên
đó. Closed Port hữu ích trong việc cho thấy các máy chủ đang online, sử dụng
một địa chỉ IP và một phần của hệ điều hành. Closed Port có thể truy cập nên
nócó thể được quét cổng trường hợp một số cổng được mở ra. Người quản trị
có thể chặn cổng như với ứng dụng firewall.



Filtered: Nmap không thể xác định bất kỳ cổng nào đang mở nếu gói tin được
lọc và ngăn cản trước khi tiến tới cổng. Filtering có thể từ một thiết bị tường
lửa, router rules, hoặc phần mền host-base firewall. Các cổng này làm thất bại
các kể tấn cơng bởi vì chúng cung cấp q ít thơng tin. Đơi khi chúng trả lời
với gói tin ICMP lỗi như kiểu 3 mã 13 (destination unreachable:
communication administratively prohibited), nhưng filter đơn giản là drop các
thăm dị khơng trả lời phổ biến.



Unfiltered: Đây là gói tin khơng được lọc có nghĩa là một cổng truy cập,
nhưng Nmap là khơng thể xác định xem nó là cổng mở hoặc cổng đóng. Chỉ có
ACK scan, được sử dụng để map firewalls rulesets và phân loại các cổng trong
trạng thái này. Quét cổng sử dụng các Scan Port như: Window scan, SYN
scan, hoặc FIN scan, có thể giúp giải quyết vấn đề an ninh cho dù các cổng
được mở.




Open/Filtered: Nmap đặt cổng ở trạng thái này khi nó là không thể xác định
được một cổng đang được mở hay lọc. Điều này xả ra khi các cổng mở không
đưa ra các trả lời phản hồi với các Scan Port dùng cho cổng mở. Không trả lời
16


phản hồi cũng có thể có nghĩa là một bộ lọc gói tin bị ngắt quãng hoặc đáp ứng
bất kỳ gợi ra. Nmap không biết chắc rằng cổng đang mở hay đang được
filtered. Scan kiểu UDP, IP protocol, FIN, NULL và Xmas là một trong những
cách để quét cổng dạng này.


Closed/Filtered: Trạng thái xuất hiện khi Nmap không biết được port đó đang
được đóng lại hay đang lọc. Nó chỉ được sử dụng cho quét IPID Idle.

2. Kỹ thuật quét cổng mà Nmap hỗ trợ
 sT (TCP Connect Scan): Quá trình TCP Connect Scans hoạt động bằng cách
thực hiện thủ tục bắt tay 3 bước với từng port của mục tiêu. Hay nói cách khác,
Nmap cố gắng kết nối đến từng port TCP được chỉ định và xác định xem dịch
vụ có được mở trên port đấy hay khơng bằng phản hồi mà nó nhận được.
Nếu Nmap gửi một gói request TCP với cờ SYN đến một port đã đóng
của máy Server (có thể là khơng có dịch vụ hoặc bị firewall chặn), máy Server
sẽ phản hồi lại một gói tin TCP với cờ RST, lúc này Nmap sẽ biết rằng port
này trên máy Server đã được đóng.
Ngược lại, nếu Nmap gửi một gói request TCP với cờ SYN đến một port
được mở (có chạy dịch vụ trên port này) trên máy Server thì máy Server sẽ
phản hồi lại một gói TCP với cờ SYN/ACK, lúc này Nmap sẽ đánh dấu port
này là port đang mở. Và cuối cùng, máy Server sẽ gửi phản hồi lại một gói
TCP với cờ ACK.


Hình 1: TCP connect scan


sS (SYN Scan): Đây là kiểu quét dựa trên TCP Connect Scan với sự khác biệt
là kết nối trên cổng khơng được thực hiện hồn tồn. Nếu cổng mục tiêu được
mở, máy chủ sẽ phản hồi bằng gói SYN-ACK. Sau đó, máy khách sẽ phản hồi
17


bằng gói RST để đóng kết nối trước khi hồn tất q trình bắt tay. Nếu cổng bị
đóng, mục tiêu sẽ ngay lập tức phản hồi bằng gói RST.

Hình 2: SYN scan
 sU (UDP Scan): Khi một gói tin được gửi đến port UDP mở, sẽ không nhận
được phản hồi. Khi điều này xảy ra, Nmap sẽ đánh dấu port này là open|
filtered. Nói cách khác, Nmap nghi ngờ rằng cổng đang mở hoặc cũng có thể
là bị tường lửa chặn. Nhưng vẫn sẽ có trường hợp UDP sẽ phản hồi lại.
Ngược lại khi một gói tin được gửi đến port UDP đóng, mục tiêu sẽ
phản hồi lại gói ICMP (ping) chứa tin nhắn là port is unreachable.


sA (TCP ACK Scan): Loại quét này cho biết máy mục tiêu có bất kỳ loại
tường lửa nào đang chạy. Tùy chọn quét này sẽ gửi một gói có cờ ACK được
kích hoạt cho máy mục tiêu. Nếu máy từ xa phản hồi với một gói đã kích hoạt
cờ RST, có thể xác định rằng cổng không bị lọc bởi bất kỳ bức tường lửa. Nếu
không nhận được phản hồi từ máy từ xa hoặc nhận được phản hồi với gói
ICMP, có thể xác định rằng có tường lửa đang lọc các gói được gửi đến cổng
được chỉ định.




sN (TCP NULL Scan): Đây là kiểu qt gửi một gói TCP đến đích máy khơng
có cờ. Nếu máy từ xa trả về phản hồi hợp lệ, nó có thể xác định rằng cổng
đang mở. Mặt khác, nếu máy từ xa trả về cờ RST, có thể nói rằng cổng đã bị
đóng.



sF (TCP FIN Scan): Đây là kiểu qt gửi một gói TCP đến đích máy có cờ
FIN. Nếu máy từ xa khơng trả về phản hồi, nó có thể xác định rằng cổng đang
mở. Nếu máy từ xa trả về cờ RST, có thể nói rằng cổng đã đóng.
18


Hình 3: FIN scan


sX (TCP XMAS Scan): Đây là kiểu qt gửi một gói TCP đến đích máy có cờ
PUSH, FIN hoặc URG. Nếu máy từ xa trả về giá trị hợp lệ phản hồi, có thể xác
định rằng cổng đang mở. Nếu máy từ xa trở lại một cờ RST, có thể nói
rằngcổng đã bị đóng.

Hình 4: Xmas scan

 Loại quét mặc định có thể khác nhau tùy thuộc vào người dùng đang chạy nó,
do quyền cho phép các gói được gửi trong q trình qt. sự khác biệt giữa
các kiểu quét là các gói được trả về từ máy mục tiêu và khả năng tránh bị phát
hiện bởi các hệ thống bảo mật như tường lửa hoặc hệ thống phát hiện xâm
nhập.

III.

Cách sử dụng Nmap cơ bản

1. Xác định mục tiêu cần quét
Có thể quét một hoặc nhiều địa chỉ IP, một miền hoặc một phạm vi địa chỉ IP. Hãy
xem các ví dụ sau:
 Để quét một địa chỉ IP duy nhất, sử dụng lệnh "nmap -v -sS 192.168.1.1" là
lệnh để thực hiện quá trình quét.
o -v: để hiển thị kết quả chi tiết.
o -sS: để sử dụng phương thức quét TCP SYN.
19



×