1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu về công cụ dò quét mạng Nmap

52 745 7
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 52
Dung lượng 3,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong thời đại công nghiệp 4.0 hiện nay, thì vai trò của Công nghệ Thông tin nói chung và Internet nói riêng ngày càng vô cùng quan trọng. Điều này kéo theo đa phần các doanh nghiệp, công ty hay các tổ chức đều phải phụ thuộc vào máy vi tính. Chính vì vậy, luôn có nhiều ý đồ phá hoại đã nhắm vào hệ thống này, và yếu tố từ những sự cạnh tranh trên thị trường chính là một trong những nguyên nhân phổ biến khiến các hệ thống của các công ty tổ chức đó được nhắm đến. Do vậy để bảo đảm rằng các hệ thống, máy tính hoạt động trơn tru, liên tục đòi hỏi hệ thống phải trang bị những công cụ, những biện pháp phòng thủ, những hệ thống cảnh báo, bảo mật cao nhằm chống lại những tin tặc. Một trong những bộ công cụ được các chuyên gia an ninh mạng sử dụng và đề xuất đến đó chính là bộ công cụ Nmap (Network Mapped) một công cụ bảo mật được dùng để giám sát mạng, nó được phát triển bởi Flydor Vaskovich và công bố lần đầu tiên vào tháng 9 năm 1997. Nó đã và đang ngày cảng trở nên nổi tiếng. Và để hiểu rõ hơn về các tính năng cũng như cách thức áp dụng công cụ này thì trong bài báo cáo này chúng em sẽ mang đến cái nhìn tổng quan cũng như tác dụng rõ ràng và kèm đó là hướng dẫn sử dụng một cách cơ bản và dễ hiểu nhất về bộ công cụ Nmap – để chúng ta có thể làm chủ bộ công cụ này. Chúng em xin chân thành cảm ơn

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MÔN HỌC

HỆ PHÂN TÁN

ĐỀ TÀI:

Tìm hiểu bộ công cụ Nmap

Sinh viên thực hiện : DƯƠNG PHƯƠNG NAM

: MAI QUANG VINH

Hà Nội , tháng 05 năm 2019

LỜI CẢM ƠN

Trang 2

Trước tiên, chúng em xin gửi lời cám ơn chân thành tới thầy TS Ngô HảiAnh đã nhiệt tình giảng dạy và truyền đạt những kiến thức nền tảng quý báu về

môn học “Hệ phân tán” và đưa ra những nhật xét góp ý để chúng em có thể hoàn thành báo cáo Dưới đây là bài báo cáo phục vụ kiểm tra hết môn “Hệ

phân tán” của chúng em Trên ý tưởng là “Tìm hiểu về cách thức hoạt động của Nmap”.

Mặc dù có nhiều cố gắng trong quá trình học tập cũng như trong thời gianthực hiện báo cáo, nhưng với lượng kiến thức hạn hẹp nên báo cáo của chúng

em không thể tránh khỏi thiếu sót Chúng em rất mong nhận được sự góp ý quýbáu của tất cả các thầy, các cô cũng như tất cả các bạn để báo cáo của chúng emđược hoàn thiện hơn

Chúng em xin chân thành cảm ơn!

Trân trọng! Hà Nội, tháng 05 năm 2019

Sinh viên thực hiện:

Dương Phương Nam Mai Quang Vinh

Trang 3

MỤC LỤC

LỜI CẢM ƠN 2

TÓM TẮT VỀ NỘI DUNG ĐỀ TÀI 1

LỜI NÓI ĐẦU 2

CHƯƠNG 1: GIỚI THIỆU CHUNG 3

1.1 Giao thức TCP 3

1.1.1 Cấu tạo gói tin TCP 3

1.1.1 Quá trình một phiên làm việc TCP với Server 5

1.2 Nguyên tắc quét cổng trên một hệ thống 6

1.2.1 TCP Scan 6

1.2.2 UDP Scan 9

1.3 Giới thiệu bộ công cụ Nmap 10

CHƯƠNG II: CÁC TÍNH NĂNG VÀ CÁCH SỬ DỤNG NMAP 13

2.1 Các giai đoạn của Nmap Scan 13

2.2 Các trạng thái quét của Nmap 18

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

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

2.3.2 Kỹ thuật về phát hiện máy chú (Host Discovery) 20

2.4 Các tùy chọn quét và kỹ thuật chọn cổng 23

2.4.1 Các tùy chọn quét của Nmap 23

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

2.4.3 Kỹ thuật lựa chọn cổng khi quét 27

CHƯƠNG III: NMAP SCRIPT ENGINE 29

3.1 Giới thiệu Nmap Script Engine 29

3.2 Các lệnh cơ bản NSE 30

CHƯƠNG IV : DEMO SỬ DỤNG NMAP VỚI MỘT SỐ TRƯỜNG HỢP36 4.1 Demo sử dụng Nmap 36

4.1.1 Phát hiện máy chủ (Host Discovery) 36

4.1.2 Quét cổng (Scan Port) 40

4.1.3 Nmap Script Engine (NSE) 43

CHƯƠNG V: TỔNG KẾT 47

Trang 4

TÓM TẮT VỀ NỘI DUNG ĐỀ TÀI

Đề tài:

Tìm hiều bộ công cụ Nmap

Mục tiêu – Yêu cầu:

 Tìm hiểu về bộ công cụ Nmap

 Tìm hiểu về cách hoạt động, cách sử dụng công cụ Nmap

 Tìm hiểu về những cách thức Scan Port của Nmap

 Demo sử dụng bộ công cụ Nmap, Zenmap vào trường hợp cụ thể, thực tế

Kết quả đạt được:

 Hiểu về nguồn gốc, công dụng của bộ công cụ Nmap

 Biết cách sử dụng, ứng dụng bộ công cụ Nmap

 Hoàn thành báo cáo, thuyết trình

Trang 5

LỜI NÓI ĐẦU

Trong thời đại công nghiệp 4.0 hiện nay, thì vai trò của Công nghệ Thôngtin nói chung và Internet nói riêng ngày càng vô cùng quan trọng Điều này kéotheo đa phần các doanh nghiệp, công ty hay các tổ chức đều phải phụ thuộc vàomáy vi tính Chính vì vậy, luôn có nhiều ý đồ phá hoại đã nhắm vào hệ thốngnày, và yếu tố từ những sự cạnh tranh trên thị trường chính là một trong nhữngnguyên nhân phổ biến khiến các hệ thống của các công ty tổ chức đó được nhắmđến Do vậy để bảo đảm rằng các hệ thống, máy tính hoạt động trơn tru, liên tụcđòi hỏi hệ thống phải trang bị những công cụ, những biện pháp phòng thủ,những hệ thống cảnh báo, bảo mật cao nhằm chống lại những tin tặc Một trongnhững bộ công cụ được các chuyên gia an ninh mạng sử dụng và đề xuất đến đóchính là bộ công cụ Nmap (Network Mapped) một công cụ bảo mật được dùng

để giám sát mạng, nó được phát triển bởi Flydor Vaskovich và công bố lần đầutiên vào tháng 9 năm 1997 Nó đã và đang ngày cảng trở nên nổi tiếng Và đểhiểu rõ hơn về các tính năng cũng như cách thức áp dụng công cụ này thì trongbài báo cáo này chúng em sẽ mang đến cái nhìn tổng quan cũng như tác dụng rõràng và kèm đó là hướng dẫn sử dụng một cách cơ bản và dễ hiểu nhất về bộcông cụ Nmap – để chúng ta có thể làm chủ bộ công cụ này Chúng em xin chânthành cảm ơn!

Trang 6

CHƯƠNG 1: GIỚI THIỆU CHUNG

1.1 Giao thức TCP

TCP (Transmission Control Protocol - "Giao thức điều khiển truyền

vận") là một giao thức mạng cơ bản và quan trọng được sử dụng trong việctruyền dữ liệu qua một mạng nào đó Sử dụng TCP, các ứng dụng trên các máychủ được nối mạng có thể tạo các "kết nối" với nhau, mà qua đó chúng có thểtrao đổi dữ liệu hoặc các gói tin (packet)

Là một trong các giao thức cốt lõi của bộ giao thức TCP/IP

Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đángtin cậy và đúng thứ tự TCP còn phân biệt giữa dữ liệu của nhiều ứng dụng(chẳng hạn, dịch vụ Web và dịch vụ thư điện tử) đồng thời chạy trên cùng mộtmáy chủ

TCP hỗ trợ nhiều giao thức ứng dụng phổ biến nhất trên Internet và cácứng dụng kết quả, trong đó có WWW, thư điện tử và Secure Shell

1.1.1 Cấu tạo gói tin TCP

TCP là giao thức hướng kết nối (connection-oriented) nghĩa là khi muốntruyền dữ liệu thì phải thiết lập kết nối trước

Kết nối TCP hỗ trợ cơ chế full-duplex (truyền và nhận dữ liệu cùng mộtlúc)

Ngoài ra, nó còn cung cấp cơ chế đánh số gói tin (sequencing): để ráp cácgói tin cho đúng ở điểm nhận, cung cấp cơ chế báo nhận (Acknowledgement) vàđặc biệt là nó có thể phục hồi dữ liệu không may bị mất trên đường truyền

Trang 7

Hình 1.1: Cấu tạo gói tin TCP

Ở đây ta chỉ để ý tới các thiết lập Flag trong gói tin TCP nhằm mục đích sửdụng để Scan Port:

 Thông số SYN để gửi yêu cầu kết nối giữa hai máy tính

 Thông số ACK để trả lời, cho phép kết nối giữa hai máy có thể bắt đầuđược thực hiện

 Thông số FIN để kết thúc quá trình kết nối giữa hai máy

 Thông số RST từ Server để nói cho Client biết rằng giao tiếp này bị cấm(không thể sử dụng)

 Thông số PSH sử dụng kết hợp với thông số URG

 Thông số URG sử dụng để thiết lập độ ưu tiên cho gói tin này

 Toàn bộ các thông số này trong gói tin nó chỉ thể hiện là 1 hoặc 0 nếu là

0 thì gói tin TCP không thiết lập thông số này, nếu là 1 thì thông số nào

đó đã được thực hiện nó sẽ lần lượt trong 8 bits trong phần Flag

1.1.1 Quá trình một phiên làm việc TCP với Server

Khi Client muốn thực hiện một kết nối TCP với Server:

Trang 8

Hình 1 1 Quá trình Client khởi tạo kết nối TCP với Server

Bước 1: Host A gửi cho B một gói tin có cờ SYN được bật lên.

Bước 2: Host B nhận được gói tin thì B gửi lại gói tin có cờ SYN được bật

lên, kèm theo đó là cờ ACK (để xác nhận)

Bước 3: Sau khi kết nối đã được thiết lập thì A gởi tin để đáp ứng nhu cầu

của B Và chỉ có cờ ACK được bật lên bởi gói tin bước 3 được dùng để báo nhậncho gói tin bước 2

Khi Client muốn kết thúc một phiên làm việc với Server:

Hình 1 2 Quá trình Client kết thúc phiên làm việc TCP với Server

Bước 1: Client gửi đến Server một gói tin FIN ACK.

Bước 2: Server gửi lại cho Client một gói tin ACK.

Bước 3: Server lại gửi cho Client một gói FIN ACK.

Bước 4: Client gửi lại cho Server gói ACK và quá trình ngắt kết nối giữa

Server và Client được thực hiện

1.2 Nguyên tắc quét cổng trên một hệ thống

Trang 9

1.2.1 TCP Scan

Trên gói TCP/UDP có 16 bít dành cho Port Number điều đó có nghĩa nó

có tử 1-65535 port Không thể một hacker nào lại scan toàn bộ các port trên hệthống, chúng chỉ scan những port hay sử dụng nhất thường chỉ sử dụng từ port 1tới port 1024 Dựa vào nguyên tắc truyền thông TCP ta có thể biết được trạngthái các port trên hệ thống máy mục tiêu

Dựa vào các nguyên tắc truyền thông tin của TCP chúng ta có thể ScanPort nào mở trên hệ thống bằng nhưng phương thức sau đây:

- SYN Scan: Khi Client gửi gói SYN với một thông số Port nhất định tới

Server nếu Server gửi về gói SYN/ACK thì Client biết Port đó trên Serverđược mở Nếu Server gửi về cho Client gói RST/SYN thì biết port đó trênServer đóng

Hình 1 3 SYN Scan

- FIN Scan: Khi Client chưa có kết nối tới Server nhưng vẫn tạo ra gói FIN

với số port nhất định gửi tới Server cần scan Nếu Server gửi về gói ACKthì Client biết port đó đang được mở trên Server Nếu Server gửi về góiRST thì Client biết Server đang đóng port đó

Hình 1 4 FIN Scan

Trang 10

- NULL Scan: Client sẽ gửi tới Server những gói TCP với số port nhất định

cần scan mà không chứa các thống số Flag như : FIN, URG, PSH, nếuServer gửi lại gói RST thì biết port đó trên Server bị đóng

Hình 1 5 NULL Scan

- XMAS Scan: Client sẽ gửi những gói tin TCP với số port nhất định cần

scan chứa nhiều thông số Flag như: FIN, URG, PSH Nếu Server trả vềgói RST tôi biết port đó trên Server bị đóng

Hình 1.6: XMAS Scan

- TCP Connect: Phương thức này rất thực tế nó gửi đến Server những

gói tin yêu cầu kết nối thực tế tới các port cụ thể trên Server Nếu Servertrả về gói SYN/ACK thì Client biết port đó mở, nếu Server gửi về góiRST/ACK thì Client biết port đó trên Server bị đóng

Trang 11

Hình 1.7 TCP Connect Scan

- ACK Scan: dạng Scan này nhằm mục đích tìm những Access Controll

List trên Server cố gắng kết nối tới Server bằng gói ICMP nếu nhận đượcgói là Host Unreachable thì Client sẽ biết port đó trên server đã bị lọc

Hình 1.8 TCP ACK Scan

Ngoài ra còn có các loại scan trong TCP scan dễ bị tấn công như:

- RPC Scan: Cố gắng kiểm tra xem hệ thống có mở port cho dịch vụ RPC

không

- Windows Scan: Tương tự như ACK Scan, nhưng nó có thể chỉ thực hiện trên một số port nhất định

- FTP Scan: Có thể sử dụng để xem dịch vụ FTP có được sử dụng trên

Server hay không

1.2.2 UDP Scan

Nếu như gói tin truyền bằng TCP để đảm bảo sự toàn vẹn của gói tin sẽluôn được truyền tới đích Gói tin truyền bằng UDP sẽ đáp ứng nhu cầu truyền

Trang 12

tải dữ liệu nhanh với các gói tin nhỏ Với quá trình thực hiện truyền tin bằngTCP kẻ tấn công dễ dàng Scan được hệ thống đang mở những port nào dựa trêncác thông số Flag trên gói TCP

UDP là loại giao thức connectionless (nghĩa là có gói tin nào là đẩy ngayvào đường truyền mà không cần thiết lập các kết nối trước)

UDP không đảm bảo tính tin cậy khi truyền dữ liệu và không có cơ chếphục hồi dữ liệu (nó không quan tâm gói tin có đến đích hay không, không biếtgói tin có bị mất mát trên đường đi hay không)

Cấu trúc gói tin UDP:

Hình 1.9: Cấu trúc gói tin UDP

Như ta thấy gói UDP không chứa các thông số Flag, cho nên không thể sửdụng các phương thức Scan port của TCP sử dụng cho UDP được Tuy vậy, hầuhết hệ các thống đều cho phép gói ICMP

Nếu một port bị đóng, khi Server nhận được gói ICMP từ client nó sẽ cốgắng gửi một gói ICMP type 3 code 3 port với nội dung là "unreachable" về

Trang 13

Client Khi thực hiện UDP Scan chúng ta hãy chuẩn bị tinh thần nhận được cáckết quả không có độ tin cậy cao.

1.3 Giới thiệu bộ công cụ Nmap

Nmap (Network Mapper) là một công cụ quét, theo dõi và đánh giá bảo

mật một hệ thống mạng được phát triển bởi Gordon Lyon (hay còn được biếtđến với tên gọi Fyodor Vaskovich) được công bố lần đầu tiên vào tháng 9 năm

1997 Kết hợp hàng chục kĩ thuật tiên tiến, dễ dàng vượt qua các bộ lọc từ hệthống như các bộ lọc IP, tường lửa, bộ định tuyến và một số bộ lọc khác Baogồm cả cơ chế quét port (TCP và UDP), phát hiện hệ điều hành, phát hiện phiênbản, quét ping và có thể sử dụng để quét hệ thống mạng lớn với hàng trăm ngànmáy tính

Hình 1.10 Logo của công cụ Nmap

Nmap là phần mềm mã nguồn mở miễn phí, ban đầu chỉ được phát triểntrên nền tảng Linux sau đó được phát triển trên nhiều nền tảng khác nhau nhưWindows, Solari, Mac OS… và phát triển thêm phiên bản giao diện người dùng(zenmap)

Nmap đã góp phần giúp cho mạng Internet ngày càng bảo mật hơn cũngnhư cung cấp cho các quản trị viên/ kiểm thử viên/ hacker có môt công cụ tiên

Trang 14

tiến để khám phá mạng của họ Nmap tải về miễn phí, và kèm theo đó là mãnguồn chúng ta có thể chính sửa và phân phối lại theo các điều khoản đượcphép.

Nmap được trao rất nhiều giải thưởng, bao gồm cả giải “Sản phẩm bảo mậtcông nghệ thông tin của năm” theo tạp chí Linux Hàng nghìn người dùng tải vềNmap mỗi ngày và bao gồm trên rất nhiều hệ điều hành Nmap nằm trong Top

10 (trên tổng 30,000) phần mềm tại trang Freshmeat.Net và được hỗ trợ bởi mộtcộng đồng các nhà phát triển và người dùng vô cùng lớn như Facebook vàTwitter

Các tính năng của Nmap bao gồm:

 Phát hiện máy chủ - Xác định máy chủ trên mạng Ví dụ: liệt kê các máychủ đáp ứng các yêu cầu TCP và / hoặc ICMP hoặc mở một cổng cụ thể

 Quét cổng - liệt kê các cổng mở trên máy chủ đích

 Phát hiện phiên bản - Truy vấn các dịch vụ mạng trên các thiết bị từ xa đểxác định tên ứng dụng và số phiên bản

 Phát hiện hệ điều hành - Xác định đặc điểm hệ điều hành và phần cứngcủa thiết bị mạng

 Tương tác có thể đọc được với mục tiêu - sử dụng Nmap ScriptingEngine (NSE) và ngôn ngữ lập trình Lua

 Nmap có thể cung cấp thêm thông tin về các mục tiêu, baogồm tên DNS ngược, loại thiết bị và địa chỉ MAC

Các ứng dụng điển hình của Nmap:

 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áckết nối mạng có thể được thực hiện hoặc thông qua thiết bị

 Xác định các cổng mở trên máy chủ đích để chuẩn bị kiểm toán

 Kiểm kê mạng , lập bản đồ mạng , bảo trì và quản lý tài sản

Trang 15

 Kiểm tra tính bảo mật của mạng bằng cách xác định máy chủ mới

 Tạo lưu lượng truy cập đến máy chủ trên mạng, phân tích phản hồi và đothời gian phản hồi

 Tìm kiếm và khai thác lỗ hổng trong một mạng

 Truy vấn DNS và tìm kiếm tên miền phụ

Trang 16

CHƯƠNG II: CÁC TÍNH NĂNG VÀ CÁCH SỬ DỤNG NMAP

2.1 Các giai đoạn của Nmap Scan

Chương này sẽ đề cập đến một số ứng dụng của Nmap, chúng ta sẽ xemsét những gì sẽ xảy ra khi Nmap chạy Trong giai đoạn tiến hành quét, mỗi giaiđoạn hoàn thiện trước khi một giai đoạn kế tiếp bắt đầu Theo các giai đoạnđược mô tả dưới đây, thì Nmap có thêm nhiều tác dụng hơn việc chỉ để quétcổng

Script pre-scanning: Các Nmap Scripting Engine (NSE) sử dụng một tập

hợp các script chuyên dụng để đạt được nhiều thông tin hơn về hệ thống từ xa.NSE không được thực hiện trừ khi chúng ta yêu cầu với các tùy chọn như

script hoặc -sC, và giai đoạn trước khi quét chỉ xảy ra khi các lệnh đó được

lựa chọn Giai đoạn này để cho các script mà chỉ có thể chạy một lần mỗi khiNmap thực hiện chứ không phải chạy riêng biệt chống lại các mục tiêu cá nhân

Ví dụ như phát hiện DHCP và phát hiện dịch vụ broadcast dns, truy vấn sử dụngphát sóng để có được thông tin từ các dịch vụ mạng phổ biến

Target enumeration: Trong giai đoạn này, Nmap nghiên cứu các máy

chủ chỉ định được cung cấp bởi người sử dụng, mà có thể là một sự kết hợp củacác tên máy chủ DNS, địa chỉ IP, ký hiệu mạng CIDR và nhiều hơn nữa Nmapgiải quyết những chỉ định vào một danh sách các địa chỉ IPv4 hay IPv6 để quét.Giai đoạn này không thể bỏ qua kể từ khi nó là điều cần thiết cho chức năngquét sâu hơn, nhưng chúng ta có thể đơn giản hóa việc xử lý bằng cách chỉ cácđịa chỉ IP để Nmap không phải làm độ phân giải lên phía trước Nếu chúng ta

vượt qua các tùy chọn -n –sL (Quét mà không tra cứu DNS giúp việc quét nhanh

hơn) thì Nmap sẽ in ra các mục tiêu và không thực hiện quét thêm

Host discovery (ping scanning): Quét mạng thường bắt đầu khi phát

hiện ra có mục tiêu trên mạng đang trực tuyến và do vậy giá trị điều tra sâu hơn

Quá trình này được gọi là Host discovery hoặc Ping scanning Nmap cung cấp

nhiều kỹ thuật phát hiện máy chủ, từ yêu cầu ARP nhanh chóng để xây dựng kếthợp của TCP, ICMP, và các loại đầu dò Giai đoạn này được chạy theo mặc định,

Trang 17

mặc dù chúng ta có thể bỏ qua nó (đơn giản giả định tất cả các IP mục tiêu đang

trực tuyến) bằng cách sử dụng (không ping) tùy chọn -Pn Để thoát sau khi phát hiện máy chủ, xác định -n -sn

Reverse-DNS resolution: Khi Nmap đã xác định mà chủ để quét, nó sẽ

tra cứu những tên reverse-DNS của tất cả các host tìm thấy trực tuyến bằng cáchping quét Đôi khi tên của một máy chủ cung cấp manh mối về chức năng của

nó và cái tên làm các báo cáo dễ đọc hơn ngoài việc cung cấp duy nhất số IP

Bước này có thể được bỏ qua với các tùy chọn: -n (không có phân giải) hoặc mở rộng để bao gồm tất cả các IP đích (ngay cả những cái tắt) với -R (giải quyết tất

cả)

Port scanning: Đây là hoạt động cốt lõi của Nmap Những thăm dò được

gửi đi và các câu trả lời (hoặc không phản ứng) với những thăm dò được sử

dụng để phân loại cổng từ xa vào các trạng thái như open, closed hoặc filtered.

Đó là mô tả ngắn gọn không bắt đầu để bao gồm nhiều loại scan của Nmap, lậpcấu hình scan và các thuật toán để cải thiện tốc độ và độ chính xác Portscanning được thực hiện theo mặc định, mặc dù chúng ta có thể bỏ qua nó vớitùy chọn -sn và vẫn thực hiện một số các traceroute sau và giai đoạn NmapScripting Engine một phần bằng cách xác định tùy chọn dòng lệnh đặc biệt

(chẳng hạn như traceroute và script).

Version detection: Nếu bất kỳ cổng được tìm thấy sẽ được mở, Nmap có

thể xác định những phần mềm server đang chạy trên hệ thống từ xa Nó làm điềunày bằng cách gửi một loạt các thăm dò đến các cổng mở và phù hợp với bất kỳphản ứng với một cơ sở dữ liệu của hàng ngàn của hơn 6.500 chữ ký dịch vụđược biết đến

OS detection: Nếu được yêu cầu với tùy chọn -O, Nmap tiến hành để

phát hiện hệ điều hành Hệ điều hành khác nhau thực hiện các tiêu chuẩn mạngbằng những con đường tinh vi khác nhau Bằng cách đo những khác biệt, nóthường có thể để xác định hệ điều hành chạy trên một máy chủ từ xa Nmap phùhợp phản ứng với một bộ tiêu chuẩn của thăm dò đối với một cơ sở dữ liệu của

Trang 18

hơn một ngàn phản ứng hệ điều hành được biết đến Ví dụ về scan hệ điều hànhbằng nmap, có thể thấy tỉ lệ trùng khớp với các hệ điều hành bằng %, % càngcao thì tỉ lệ máy chủ đang sử dụng hệ càng lớn.

Hình 2.1: Nmap OS Detection

Traceroute: Nmap có một thực hiện traceroute tối ưu hóa, kích hoạt tùy

chọn traceroute Nó có thể tìm ra router mạng tới nhiều host song song, sửdụng các gói tin thăm dò có sẵn tốt nhất theo quy định của các giai đoạn pháthiện trước đó của Nmap Traceroute thường liên quan đến một vòng phân giảingược DNS cho các host trung gian Ví dụ về traceroute đến địa chỉ 8.8.8.8 củaGoogle:

Trang 19

Hình 2.2: Nmap Traceroute

Script scanning: Hầu hết các script Nmap Scripting Engine (NSE) chạy

trong giai đoạn Script scanning này, chứ không phải là giai đoạn prescan và

postscan NSE được cung cấp bởi ngôn ngữ lập trình Lua và một thư viện chuẩnđược thiết kế để thu thập thông tin mạng Script chạy trong giai đoạn này thườngchạy một lần cho mỗi host đích và số cổng tương tác với chúng Họ thường thựchiện các nhiệm vụ như phát hiện lỗ hổng dịch vụ, phát hiện phần mềm độc hại,thu thập thêm thông tin từ cơ sở dữ liệu và các dịch vụ mạng khác Và tiên tiếnhơn là phát hiện phiên bản NSE không được thực hiện trừ khi chúng ta yêu cầu

với các tùy chọn như script hoặc -sC Ví dụ NSE để xem dịch vụ được chạy

trên port 80:

Hình 2.3: Nmap Script Scanning

Trang 20

Output: Nmap thu thập tất cả các thông tin đã thu thập được và viết nó vào

màn hình hoặc vào một tập tin Nmap có thể viết ra trong một số định dạng Mặcđịnh của nó, định dạng có thể đọc được (định dạng tương tác) Nmap cũng cungcấp một định dạng đầu ra dựa trên XML Ví dụ câu lệnh truy xuất dữ liệu quétđược ra một file text, ở đây chính là file scan.txt:

Hình 2.4:Nmap Output

Còn đây là nội dung được ghi lại trong file text

Hình 2.5 Nmap TEXT Output

Trang 21

Nmap cung cấp nhiều tùy chọn để kiểm soát việc của những giai đoạn nàychạy Để quét các mạng lớn, mỗi giai đoạn được lặp đi lặp lại nhiều lần kể từ khigiao dịch với các host trong nhóm nhỏ Nmap Nó quét mỗi nhóm hoàn toàn vàkết quả đầu ra những kết quả, sau đó chuyển sang các đợt tiếp theo của host.

2.2 Các trạng thái quét của Nmap

Open Port: 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, ngoài ra còn có cả SCTP trên cổng này Các Open Port thường là nơithự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 đóngcá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 toà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 Port: 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ắngnghe 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ể truycập nên nó có thể được quét cổng trường hợp một số cổng được mở ra Ngườiquản trị có thể chặn cổng như với ứng dụng firewall

Port 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ấtbại các kể tấn công bởi vì chúng cung cấp quá ít thông tin Đôi khi chúng trả lờivới gói tin ICMP lỗi như kiểu 3 mã 13 (destination unreachable: communicationadministratively prohibited), nhưng filter đơn giản là drop các thăm dò không trảlời phổ biến

Port 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

Trang 22

trong trạng thái này Quét cổng sử dụng các Scan Port như: Window scan, SYNscan, hoặc FIN scan, có thể giúp giải quyết vấn đề an ninh cho dù các cổng đượcmở.

Port 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ôngtrả lời 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 đượcfiltered Scan kiểu UDP, IP protocol, FIN, NULL và Xmas là một trong nhữngcách để quét cổng dạng này

Port closed|filtered: Trạng thái này được sử dụng khi Nmap là không thể

xác định liệu một cổng đang được đóng lại hay đang lọc Nó chỉ được sử dụngcho các IP ID idle quét để xác định tình trạng của máy chủ

Quét 1 dải IP nmap 192.168.1.1/24

Quét 1 domain nmap google.com

Bảng 2.1: Xác định mục tiêu cần quét

Trang 23

Ngoài ra có thể kết hợp thêm các tùy chọn sau để kết quả scan thu được đúng ý muốn

và có chọn lọc hơn:

-iL <inputfilename> Chọn danh sách mục tiêu

-iR <num hosts>: Chọn mục tiêu ngẫu nhiên

exclude <host1[,host2][,host3], > Bỏ qua các host

excludefile <exclude_file> Chọn danh sách bỏ qua

Bảng 2.2 Tùy chọn khi quét mục tiêu

2.3.2 Kỹ thuật về phát hiện máy chú (Host Discovery)

Tại sao cần phát hiện máy chủ (Host Discovery), đối với 1 mục tiêu xácđịnh thì có vẻ không cần thiết nhưng đối với mục tiêu là 1 dải mạng với hàngnghìn host, việc quét hàng nghìn port trên mỗi host sẽ tốn rất nhiều thời gian vìvậy việc xác định các host đang chạy sẽ rút ngắn thời gian trong quá trình quét.nmap sử dụng một số kĩ thuật sau để thực hiện host discovery:

Host Discovery Techniques Câu lệnh thực thi (viết in hoa)

TCP SYN PING -PS<port-list>

TCP ACK PING -PA<port-list>

UDP PING -PU<port-list>

ICMP Ping Type -PE, -PP, -PM

IP Protocol Ping -PO<protocol-list>

Bảng 2.3.Host Discovery Techniques

Giải thích chi tiết:

Nếu chỉ định option -P option này sẽ thay thế default discovery probe

thay vì add thêm vào

TCP SYN PING (-PS<port-list>)

Trang 24

-PS gửi đi gói tin TCP rỗng được set SYN flag Port mặc định là 80 Bình

thường khi port closed, gói tin RST được gửi trả về Khi port open, gói tinSYN/ACK được gửi trả về Khi đó, nmap sẽ đóng kết nối mới chuẩn bị mở bằngcách gửi gói RST thay vì gói ACK để hoàn thành three-way-handshake và thiêtlập full connection Ở đây nmap không quan tâm port mở hay đóng Chỉ cần biếtgói trả về là RST hay SYN/ACK để xác định target up hay down Trên Unix, chỉ

có user privileged root mới có thể tạo gửi và nhận gói TCP raw Vớiunprivileged user, phương pháp thay thế được thực hiện bằng system callconnect() được khởi tạo với target port

TCP ACK PING (-PA<port-list>)

Giống với SYN Ping, nhưng khác ở chỗ gửi đi gói ACK để đồng ý thiếtlập kết nối, nhưng không có kết nối đó tồn tại, do đó target luôn trả lời bằng góiRST, làm lộ diện sự tồn tại của target

-PA sử dụng default port 80 Nếu unprivileged user thử option này, hoặc

IPv6 được chỉ định, system call connect() được thảo luận ở phía trên được sửdụng Phương pháp thay thế này không hoàn hảo vì connect() thực chất gửi đigói SYN thay vì gói ACK Mục đích của việc cung cấp cả SYN và ACK pingprobe làm tăng cơ hội bypass fw Hầu hết các admin cấu hình router và các fwkhác block incomming SYN ngoại trừ các dịch vụ public như website hay mailserver

UDP Ping (-PU<port-list>)

-PU gửi gói UDP rỗng (nếu không sử dụng data-length để chỉ định độ

dài của dữ liệu) đến một port xác định Nếu không chỉ định port, port mặc định

là 31,338 Chỉ định port cao không phổ biến được khuyến khích ở đây vì khi gửiđến port open thường không mong muốn cho loại scan này Dựa trên việc gửivào port close của target, nếu target up, nó sẽ trả về gói tin ICMP portunreachable Có nhiều loại ICMP error, như host/network unreachable hay TTLexceeded chỉ ra host down hay unreachable Việc không trả về kết quả có thểxảy ra theo cách này, khi gửi gói tin UDP rỗng vào port open, hầu hết các

Trang 25

service sẽ ignore gói tin đó, và tất nhiên sẽ không có gói tin nào sẽ được trả về.Lợi ích của kĩ thuật này chính là có khả năng bypass fw cũng như filter chỉ quantâm đến TCP.

ICMP Ping Type (-PE, -PP, -PM)

-PE nmap sẽ gửi gói tin imcp type 8 (echo request) đến target, và hy vọng

nhận về icmp type 0 (echo reply) từ host available Nhưng nhiều host và firewallblock loại scan này, dẫn đến kết quả có thể không chính xác Trong khi echorequest được xem như là dạng chuẩn của ICMP ping query, nhưng nmap khôngdừng lại ở đây ICMP standard (RFC 792) cũng chỉ định các loại request khácnhư: timestamp request (code 13), information request (code 15), address maskrequest (code 17) Nmap hiện tại chưa hỗ trợ gói tin information request vì nóchưa được hỗ trợ rộng rãi (RFC 1122 nhấn mạnh "a host SHOULD NOTimplement these messages")

-PP sẽ gửi gói icmp timestamp request ICMP code 14 sẽ trả về nếu host

available

-PM sẽ gửi gói icmp address mask request ICMP code 18 sẽ trả về nếu

host available

IP Protocol Ping (-PO<protocol-list>)

-PO gửi gói tin IP mà protocol number được set trong IP header Nêu

không có protocol nào được chỉ định, mặc định sẽ gửi gói IP với ICMP (protocol1), IGMP (protocol 2), IP-in-IP (protocol 4) Chú ý đối với ICMP, IGMP, TCP(protocol 6), UDP (protocol 17), the packets are sent with the proper protocolheaders while other protocols are sent with no additional data beyond the IPheader (unless the data-length option is specified)

Phương pháp này tìm kiếm những trả lời sử dùng cùng chung protocol khiprobe, hay ICMP unreachable message chỉ ra dấu hiệu protocol không được hỗtrợ Cả 2 dấu hiệu đó điều chỉ ra là host available

ARP Scan (-PR)

Trang 26

Một trong những môi trường sử dụng Nmap nhiều nhất là LAN Khinmap thử gửi raw IP như là ICMP echo request, OS phải xác định được địa chỉ

ARP của target IP do đó send-ip chỉ định nmap gửi gói tin ở cấp độ IP (chứ

không phải raw ethernet) ngay cả khi ta ở trong mạng local

2.4 Các tùy chọn quét và kỹ thuật chọn cổng

2.4.1 Các tùy chọn quét của Nmap

-v (giống như –verbose): Nmap thường chỉ đưa ra hoạt động đáp ứng tới

host

source-port <portnum> (giống với -g): thiết lập một cổng nguồn không

đổi cho việc ping scan (TCP và UDP) Một vài người quản trị đã vô tình mởcổng 53 (DNS) hoặc cổng 20(FTP-DATA) Tất nhiên mở cổng này đủ để nmap

có thể quét thăm dò thông tin của máy đích

-n, -R: Với –n lựa chọn này sẽ disable phân giải tên miền DNS giúp cho

việc Scan trở nên nhanh chóng hơn, trong khi lệnh -R sẽ enable DNS cho toàn

bộ host thậm chí cả máy đang down Hành vi mặc định là để giới hạn tên miềnDNS đối với các host đang hoạt động

data-length <length>: Lựa chọn này là thêm chiều dài bytes dữ liệu đối

với mỗi gói tin, va làm việc với TCP, UDP và cả ICMP ping scan

ttl <value>: Thiết lập thời gian sống của gói tin nếu vượt quá sẽ tự động

out, là một biện pháp hữu ích phòng ngừa an toàn để đảm bảo một máy quétkhông truyền vượt ra ngoài mạng nội bộ

-T (-T3, -T4, -T5, vv ): Tăng tốc độ quét cho Nmap giá trị càng cao tốc

độ càng nhanh

-iL <filename>, -ỉR <number>: Người sử dụng thường kết hợp với một

danh sách các địa chỉ IP được nhập vào một file với lựa chọn –PN để tránh scanning host đối với các host đang hoạt động –iR là để chọn host ở chế độngẫu nhiên từ một khoảng địa chỉ IP

Ngày đăng: 01/12/2019, 21:50

TỪ KHÓA LIÊN QUAN

w