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

Nguyên lý quét cổng và các công cụ quét cổng

40 682 10

Đ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 40
Dung lượng 6,12 MB

Nội dung

Để thực hiện một cuộc tấn công, kẻ tấn công phải tìm hiểu những thông tin cụ thể về mạng của tổ chức đó.. Cấu tạo gói tin TCP Hình 1.1: Cấu tạo gói tin TCPTrong bài viết này chỉ chú trọn

Trang 1

TRÌNH BÀY NGUYÊN LÝ QUÉT CỔNG

VÀ GIỚI THIỆU MỘT SỐ CÔNG CỤ QUÉT CỔNG.

DEMO THỰC TẾ VÀ PHÂN TÍCH.

Giảng viên hướng dẫn : Nguyễn Văn Hùng

Nhóm sinh viên thực hiện: Bùi Thị Lan

Đỗ Thị Thu Phương Đào Thị Yến

Lớp : L03

Hà Nội, 2/2017

Trang 2

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO

AN TOÀN MẠNG MÁY TÍNH

TRÌNH BÀY NGUYÊN LÝ QUÉT CỔNG

VÀ GIỚI THIỆU MỘT SỐ CÔNG CỤ QUÉT CỔNG.

DEMO THỰC TẾ VÀ PHÂN TÍCH.

Nhận xét của giảng viên hướng dẫn:

………

………

………

………

………

………

………

………

………

………

Trang 3

MỤC LỤC

Trang 4

DANH MỤC CÁC TỪ VIẾT TẮT

HTTP - HyperText Transfer Protocol

HTTPS - Hypertext Transfer Protocol Secure

TLS - Transport Layer Security

SSL - Secure Sockets Layer

SQL - Structured Query Language

Trang 5

DANH MỤC HÌNH ẢNH

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

Hình 1.2: Client muốn thực hiện một kết nối TCP với Server đầu tiên 6

Hình 1.3: Client muốn kết thúc một phiên làm việc với Server 6

Hình 1.4 Cấu tạo gói UDP 8

Hình 2.1: Công cụ Nmap sử dụng trên Windows 9

Hình 2.2: Ví dụ 10

Hình 2.3: Công cụ Nessus 13

Hình 2.4: Các phiên bản của Nessus 14

Hình 2.5: Đăng ký tài khoản để tải bản dùng thử 14

Hình 2.6: Tiến hành đăng nhập vào Nessus 15

Hình 2.7: Giao diện làm việc của Nessus 15

Hình 2.8: Các Templates cơ bản của Nessus 16

Hình 2.9: Thiết lập chính sách Scan cơ bản 16

Hình 2.10: Bắt đầu quá trình Scan 1 địa chỉ ip với Nessus 17

Hình 2.11: Kết quả thu được khi sử dụng Nessus để quét mạng 17

Hình 2.12: Công cụ Fuzzing 18

Hình 2.13: Công cụ OpenVAS trên Back track 19

Hình 2.14: Tiến hành cài đặt 20

Hình 2.15: Chạy OpenVAS 20

Hình 2.16: Tạo user 21

Hình 2.17: Chạy OpenVAS NVT Sync 22

Hình 2.18: Cập nhật vulnerability 22

Trang 6

Hình 2.19: Start OpenVAS Scanner 23

Hình 2.20: Setup OpenVAS manager 23

Hình 2.21: Rebuild lại database 24

Hình 2.22: Setup OpenVAS Adminstrator 24

Hình 2.23: Start dịch vụ Greenbone 25

Hình 2.24: Vào giao diện quản trị 25

Hình 2.25: Xem địa chỉ máy ip cần scan 26

Hình 2.26: Tạo mới 1 host cần scan 26

Hình 2.27: Tạo Task mới 27

Hình 2.28: Bắt đầu Scan 27

Hình 2.29: Kết quả 28

Hình 2.30: Xem report 28

Hình 2.31: Download kết quả 29

Hình 2.32: Phân tích lỗi 29

Trang 7

LỜI NÓI ĐẦU

Ngày nay cùng với sự phát triển của kinh tế, mạng Internet ngày càng pháttriển Nó mở rộng phạm vi liên lạc của con người, các công ty tổ chức ở rất xanhau vẫn có thể sử dụng Internet để giao dịch với nhau, thông qua Internet họ cóthể quản lý khách hàng của mình

Tuy nhiên cùng với sự phát triển của nó, việc tấn công vào các tổ chức, lấycắp dữ liệu trên Internet ngày càng phổ biến Các cuộc tấn công này lợi dụngnhững điểm yếu trên mạng để nhằm thực hiện những mục đích của kẻ tấn công

Để thực hiện một cuộc tấn công, kẻ tấn công phải tìm hiểu những thông tin

cụ thể về mạng của tổ chức đó Tuy nhiên, việc tìm hiểu những thông tin đócũng giúp ích cho những người quản trị mạng trong việc khắc phục những điểmyếu trên mạng của họ

Một chương trình quét cổng thường được sử dụng trong trường hợp nàynhằm tìm ra những kẽ hở của mạng Việc quét cổng sẽ tìm ra các cổng đang mở,hệđiều hành trên một hệ thống mạng cụ thể nếu như hệ thống đó không đượcbảo vệ cẩn thận

Trên cơ sở những giao thức mạng đã biết, trong Đề tài “Trình bày nguyên

lý quét cổng và giới thiệu một số công cụ quét cổng Demo thực tế và phântích.”

Đề tài này, nhóm chúng em có giới thiệu một số công cụ quét cổng nhằmcủng cố những kiến thức mà mình đã tìm hiểu được Chúng em đã tham khảo và

Trang 8

nhiên việc thiếu sót là không tránh khỏi Chúng em rất mong nhận được sự góp

ý từ thầy giáo và các bạn

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

CHƯƠNG I : TỔNG QUAN NGUYÊN LÝ QUÉT CỔNG

1.1 Nguyên tắc truyền thông tin TCP/IP

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

Hình 1.1: Cấu tạo gói tin TCPTrong bài viết này chỉ chú trọng tới các thiết lập Flag trong gói tin TCP nhằmmục đích sử dụng để Scan Port:

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

• Thông số ACK để trả lời 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ôngthể 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

Trang 9

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 TCPkhô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.2 Khi Client muốn thực hiện một kết nối TCP với Server đầu tiên

Hình 1.2: Client muốn thực hiện một kết nối TCP với Server đầu tiên+ Bước 1: Client gửi đến Server một gói tin SYN

+ Bước 2: Server trả lời tới Client một gói tin SYN/ACK

+ Bước 3: Khi Client nhận được gói tin SYN/ACK sẽ gửi lại server một góiACK – và quá trình trao đổi thông tin giữa hai máy bắt đầu

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

Hình 1.3: Client muốn kết thúc một phiên làm việc 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

Trang 10

+ Bước 4: Client gửi lại cho Server gói ACK và quá trình ngắt kết nối giữaServer và Client được thực hiện.

1.2 Các nguyên tắc và phương thức quét cổng

1.1.2.TCPScan

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

từ 1-65535 port Không 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 scan từ port 1tới port 1024 mà thôi

Phần trên của bài viết đã trình bày nguyên tắc tạo kết nối và ngắt kết nốigiữa hai máy tính trên mạng Dựa vào các nguyên tắc truyền thông tin của TCPchúng ta có thể quét cổng nào mở trên hệ thống bằng nhưng phương thức sauđây:

+ SYN Scan: Khi Client bắn 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 tôi biết port đó trên Serverđóng

+ 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 ACK thì Clientbiết Server mở port đó, nếu Server gửi về gói RST thì Client biết Server đóngport đó

+ NULL Scan Sure: Client sẽ gửi tới Server những gói TCP với số port cần.Scan

mà không chứa thông số Flag nào, nếu Server gửi lại gói RST thì tôi biết port đótrên Server bị đóng

+ XMAS Scan Sorry: Client sẽ gửi những gói 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 RSTtôi biết port đó trên Server bị đóng

+ 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 server trả về góiSYN/ACK thì Client biết port đó mở, nếu Server gửi về gói RST/ACK Clientbiết port đó trên Server bị đóng

Trang 11

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

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

Có vài dạng Scan cho các dịch vụ điển hình 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

Hình 1.4 Cấu tạo gói UDPNhư 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 Thật khôngmay hầu hết hệ 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 12

Client Khi thực hiện UDP Scan bạn hãy chuẩn bị tinh thần nhận được các kếtquả không có độ tin cây cao.

CHƯƠNG II : GIỚI THIỆU MỘT SỐ CÔNG CỤ QUÉT CỔNG

2.1 Công cụ Nmap

2.1.1 Giới thiệu về Nmap

Nmap (Network Mapper) là một công cụ quét, theo dõi và đánh giá bảomật một hệ thống mạng được phát triển bởi Gordon Lyon

Nmap được công bố lần đầu tiên vào tháng 9 năm 1997, phiên bản mớinhất hiện tại của nmap là 6.47

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)

Trang 13

Hình 2.1: Công cụ Nmap sử dụng trên Windows

2.1.2 Chức năng của Nmap

- Phát hiện host trong mạng

- Liệt kê các port đang mở trên một host

- Xác định các dịch vụ chạy trên các port đang mở cùng với phần mềm vàphiên bản đang dùng

- Xác đinh hệ điều hành của thiết bị

- Chạy các script đặc biệt

2.1.3 Sử dụng Nmap

 Xác định mục tiêu

Việc đầu tiên khi sử dụng nmap là xác định mục tiêu cần quét, mục tiêu có thể là

1 domain, 1 IP, 1 dải địa chỉ IP, 1 danh sách (file) các IP và domain

Trang 14

Hình 2.2: Ví dụ

 Dưới đây là cách sử dụng Nmap để Scan

C:\nmap-3.93>nmap –h

Nmap 3.93 Usage: nmap [Scan Type(s)] [Options] <host or net list>

Some Common Scan Types ('*' options require root privileges)

* -sS TCP SYN stealth port scan (default if privileged (root))

-sT TCP connect() port scan (default for unprivileged users)

* -sU UDP port scan

-sP ping scan (Find any reachable machines)

* -sF,-sX,-sN Stealth FIN, Xmas, or Null scan (experts only)

-sV Version scan probes open ports determining service and app names/versions-sR/-I RPC/Identd scan (use with other scan types)

Some Common Options (none are required, most can be combined):

* -O Use TCP/IP fingerprinting to guess remote operating system

-p <range> ports to scan Example range: '1-1024,1080,6666,31337'

-F Only scans ports listed in nmap-services

-v Verbose Its use is recommended Use twice for greater effect

-P0 Don't ping hosts

* -Ddecoy_host1,decoy2[, ] Hide scan using many decoys

-6 scans via IPv6 rather than IPv4

-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane > General timing policy-n/-R Never do DNS resolution/Always resolve [default: sometimes resolve]-oN/-oX/-oG <logfile> Output normal/XML/grepable scan logs to <logfile>-iL <inputfile> Get targets from file; Use '-' for stdin

* -S <your_IP>/-e <devicename> Specify source address or network interface interactive Go into interactive mode (then press h for help)

win_help Windows-specific features

Trang 15

***************************************************************Nmap Scan

2.1.4 Các dạng Scan nmap hỗ trợ.

Nmap –sT: trong đó chữ s – là Scan, còn chữ T là dạng TCP scan

Nmap –sU: đó là sử dụng UDP Scan

Nmap –sP: sử dụng Ping để scan

Nmap –sF: sử dụng FIN Scan

Nmap –sX: sử dụng phương thức XMAS Scan

Nmap –sN: sử dụng phương thức NULL Scan

Nmap –sV: sử dụng để Scan tên các ứng dụng và version của nó

Nmap –SR /I RPC sử dụng để scan RPC

2.1.5 Các option cao cấp kết hợp với các dạng Scan trong Nmap.

- O: sử dụng để biết hệ điều hành chạy trên máy chủ ví như ta dùng Nmap

sử dụng phương thức scan là XMAS Scan và đoán biết hệ điều hành của:www.vnexperts.net ta dùng câu lệnh: nmap –sX –o www.vnexperts.net

- P: giải port sử dụng để scan

- F: Chỉ những port trong danh sách scan của Nmap

- V: Sử dụng Scan hai lần nhằm tăng độ tin cậy và hiệu quả của phươngthức scan nào ta sử dụng

- P0: không sử dụng ping để Scan nhằm mục đích giảm thiểu các quá trìnhquét ngăn chặn scan trên các trang web hay máy chủ

Ví như tôi muốn Scan trang web www.vnexperts.net bằng phương thứcUDP Scan số port tôi sử dụng là từ 1 tới 1024 và sử dụng hai lần để nâng caohiệu quả, khi scan sẽ không ping tới trang này:

Nmap –sU –P ‘1-1024’ –V –P0 www.vnexperts.net

Ngoài ra nmap còn hỗ trợ tính năng scan ẩn nhằm tránh những quá trìnhquét trên server như sử dụng:

-Ddecoy_host1, decoy2… để sử ẩn quá trình Scan

-6: Scan IPv6

Ngoài ra nmap còn cho chúng ta những options để output kết quả ra nhiềuđịnh dạng file khác nhau

Trang 16

2.2 Công cụ Nessus

2.2.1 Giới thiệu về công cụ Nessus

Ban đầu Nessus là một dự án mã nguồn mở, được đề xuất bở Renaud Deravào năm 1998, mã nguồn của các thành phần đều được công bố công khai Từtháng 10 năm 2005, Tenable Netword Security, một công ty do Renaud Derasionđồng sáng lập, đã phát hành Nessus 3 dưới dạng mã nguồn đóng Tháng 8 năm

2008, hãng Tenable đưa ra phiên bản cho phép người dùng cá nhân sử dụng đầy

đủ các plugin Tháng 4 năm 2009 phát hành nessus 4.00, đến tháng 12 nằm 2012phát hành Nessus 5.0

Nessus có thể chạy trên nhiều nền tản hệ điều hành khác nhau, bao gồm cảUNIX, Linus, Mac OS X, Windows Hiện tại phiên bản mới nhất 6.6.2 chạy trêngiao diện web, do đó có thể dễ dàng truy cập, sử dụng trên mọi hệ điều hành

Trang 17

Hình 2.3: Công cụ Nessus

2.2.2 Mục tiêu của Nessus

Mục tiêu của nó là phát hiện các lỗ hổng tiềm ẩn trên các hệ thống đượckiểm tra chẳng hạn như :

- Các lỗ hổng cho phép cracker từ xa có thể kiểm soát hoặc truy cập các dữliệu nhạy cảm trên hệ thống

- Lỗi cấu hình ( ví dụ như mở mail relay , mất các bản vá… )

- Các mật khẩu mặc định, một số mất khẩu chung, các mật khẩublank/absent ( trắng hay thiếu ) trên một số tài khoản của hệ thống Nessus cũng

có thể gọi Hydra ( một công cụ bên ngoài ) để khởi chạy một tấn côngdictionary

- Từ chối dịch vụ đối với ngăn xếp TCP/IP bằng cách sử dụng các gói dữliệu đã bị đọc sai

2.2.3 Hướng dẫn cài đặt và cấu hình chương trình kiểm tra lỗi hệ thống Nessus

Sử dụng Nessus, người ta có thể quét nhiều loại lỗ hổng mà bao gồm truycập từ xa phát hiện lỗ hổngremote access flaw detection, misconfiguration alert,denial of services against TCP/IP stack, preparation of PCI DSS audits, malwaredetection, sensitive data searches…

Trang 18

Ngoài các chức năng cơ bản nêu trên, Nessus có thể được sử dụng để quétnhiều mạng IPv4, IPv6 và hybrid networks Bạn có thể thiết lập lịch trình quét

để chạy theo nhu cầu của mình

Hình 2.4: Các phiên bản của Nessus

Hình 2.5: Đăng ký tài khoản để tải bản dùng thử

Trang 19

Hình 2.6: Tiến hành đăng nhập vào Nessus

Hình 2.7: Giao diện làm việc của Nessus

Trang 20

Hình 2.8: Các Templates cơ bản của Nessus

Hình 2.9: Thiết lập chính sách Scan cơ bản

Trang 21

Hình 2.10: Bắt đầu quá trình Scan 1 địa chỉ ip với Nessus

Hình 2.11: Kết quả thu được khi sử dụng Nessus để quét mạng

2.3 Công cụ Fuzzing

2.3.1 Giới thiệu về công cụ Fuzzing

Fuzzing là một kỹ thuật kiểm thử hộp đen, tự động hoặc bán tự động liênquan đến việc cung cấp đầu vào không hợp lệ, bất ngờ hoặc ngẫu nhiên vào mộtchương trình máy tính

Fuzzing có nguồn gốc từ năm 1988 bởi giáo sư Barton Miller tại Đại họcWisconsin Ông cùng đồng nghiệp của mình thực hiện khám phá lỗ hổng quacác công cụ dòng lệnh và chương trình GUI chạy trên hệ thống UNIX, WindowSystem, Mac bằng cách “tấn công” vào hệ thống với dữ liệu đầu vào không hợp

lệ, bất ngờ, và ngẫu nhiên hoặc vào hệ thống ở các cấp độ khác nhau, nhằm nỗ

Trang 22

lực khám phá và các hành vi bất ngờ và thất bại của hệ thống: bao gồm treo hệthống, không khẳng định mã và rò rỉ bộ nhớ.

Hình 2.12: Công cụ Fuzzing

2.3.2 Cách thức thu thập lỗi bảo mật

Một công cụ kiểm tra lỗi bảo mật sử dụng phương pháp kiểm tra fuzzingđược tổ chức thành 2 phần:

- Phần 1: Tập hợp tất cả các định dạng URL mà gây ra lỗi cho một ứngdụng cụ thể Ví dụ: lỗi bảo mật cho ứng dụng Joomla được phát hiện nằm trongURL: “index.php?option=com_content&view=article” URL này sẽ được lưutrong cơ sở dữ liệu của chương trình cùng với tham số đệ trình gây ra lỗi của nó

- Phần 2: Tập hợp tất cả đặc điểm nhận diện tương ứng với URL gây ra lỗitrong quá trình fuzzing Các điểm điểm nhận diện này cũng sẽ lưu cùng vớiURL gây ra lỗi trong cơ sở dữ liệu

Kiểm tra lỗi bảo mật web bằng phương pháp kiểm tra fuzzing có ưu điểm

là kiểm tra nhanh với một lượng lớn website mà đã biết tên ứng dụng đang chạy

Ví dụ, tập hợp một lượng lớn danh sách các website biết chắc chắn đang chạy

Ngày đăng: 17/08/2017, 15:17

TỪ KHÓA LIÊN QUAN

w