1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài thực hành 01 môn học cơ sở an toàn thông tin bài thực hành phát hiện các lỗ hổng bảo mật sử dụng công cụ rà quét nmap

22 0 0
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 22
Dung lượng 4,75 MB

Nội dung

Bài thực hành: Các giao thức mạng cơ bảnbộ giao tiếp với nhau, đặc biệt khi một thiết bị cần gửi gói tin đến một thiết bị khác mà chỉbiết địa chỉ IP.. - Cập nhật bảng ARP: Thiết bị gửi y

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA AN TOÀN THÔNG TIN

-BÀI THỰC HÀNH 01 MÔN HỌC: CƠ SỞ AN TOÀN THÔNG TIN

Tháng 9/2024

Trang 2

Mục Lục

Bài thực hành: Các giao thức mạng cơ bản 3

1 Tìm hiểu lý thuyết 3

2 Nội dung thực hành 5

3 Kết luận 9

Bài thực hành: Phát hiện các lỗ hổng bảo mật sử dụng công cụ rà quét nmap 9 1 Tìm hiểu lý thuyết 9

2 Nội dung thực hành 10

3 Kết luận 13

Bài thực hành: Sử dụng công cụ truy nhập từ xa telnet 14

1 Tìm hiểu lý thuyết 14

2 Nội dung thực hành 14

3 Kết luận 19

Bài thực hành: Giới thiệu về Wireshark 19

1 Tìm hiểu lý thuyết 19

2 Nội dung thực hành 19

3 Kết luận 22

Trang 3

Bài thực hành: Các giao thức mạng cơ bản

bộ giao tiếp với nhau, đặc biệt khi một thiết bị cần gửi gói tin đến một thiết bị khác mà chỉbiết địa chỉ IP Cụ thể, ARP hoạt động như sau:

- Thiết bị gửi yêu cầu ARP: Khi một thiết bị muốn gửi gói tin đến một thiết bị khác

trong mạng nội bộ và chỉ biết địa chỉ IP đích, nó sẽ gửi một gói yêu cầu ARP (ARPRequest) dưới dạng broadcast tới toàn bộ mạng, yêu cầu địa chỉ MAC tương ứng với địa chỉ IP đó

- Thiết bị phản hồi ARP: Thiết bị có địa chỉ IP đích sẽ phản hồi với gói ARP Reply,

cung cấp địa chỉ MAC của nó

- Cập nhật bảng ARP: Thiết bị gửi yêu cầu sẽ cập nhật bảng ARP của mình với địa

chỉ MAC nhận được để sử dụng cho các lần giao tiếp sau

b Các vấn đề bảo mật liên quan đến ARP

ARP Spoofing (Giả mạo ARP): Một thiết bị độc hại có thể gửi ARP Reply giả để đánh

lừa các thiết bị khác, làm chúng cập nhật bảng ARP sai và gửi dữ liệu nhầm lẫn đến thiết

bị đó Điều này có thể dẫn đến các cuộc tấn công như man-in-the-middle (MITM).

1.2 Mô hình Client-Server

Tổng quan: kiến trúc mạng trong đó client (khách) gửi yêu cầu dịch vụ và server (chủ)

cung cấp dịch vụ Client có thể là máy tính hoặc ứng dụng, gửi yêu cầu như tải trang web hoặc truy vấn dữ liệu, còn server xử lý và phản hồi lại Ví dụ, trình duyệt web là client yêu cầu trang web từ máy chủ web Mô hình này giúp phân chia tài nguyên và quản lý dịch vụ trong mạng

1.3 Các giao thức cơ bản của mạng TCP/IP

- TCP (Transmission Control Protocol):

 Chức năng: Đảm bảo truyền tải dữ liệu tin cậy, không mất mát TCP thiết lập kết nối trước khi gửi dữ liệu và sử dụng cơ chế kiểm tra lỗi, truyền lại gói tin bị mất

 Ứng dụng: Dùng cho các dịch vụ như web (HTTP/HTTPS), email (SMTP),

và truyền file (FTP)

- IP (Internet Protocol):

- UDP (User Datagram Protocol:

Trang 4

- HTTP (Hypertext Transfer Protocol):

- FTP (File Transfer Protocol)

- SMTP (Simple Mail Transfer Protocol)

- DNS (Domain Name System)

- ARP (Address Resolution Protocol)

- DHCP (Dynamic Host Configuration Protocol)

- ICMP (Internet Control Message Protocol)

1.4 3-way handshake

a Các bước của 3-way handshake:

Bước 1: SYN (Synchronize)

Máy khách gửi một gói tin TCP với cờ SYN (Synchronize) đến máy chủ, yêu cầu

thiết lập kết nối

 Gói SYN này chứa một số thứ tự (sequence number) mà máy khách sẽ sử dụng để bắt đầu kết nối

Bước 2: SYN-ACK (Synchronize-Acknowledge)

Máy chủ nhận gói SYN và phản hồi bằng một gói tin có cờ SYN và ACK

(Acknowledge)

 Gói SYN-ACK này chứa:

o Số thứ tự (sequence number) của máy chủ

o Một số xác nhận (acknowledgment number) để xác nhận đã nhận được gói SYN từ máy khách

Bước 3: ACK (Acknowledge)

Máy khách nhận gói SYN-ACK từ máy chủ và gửi lại một gói tin ACK để xác

nhận đã nhận số thứ tự từ máy chủ

 Sau khi gói tin ACK này được gửi, kết nối TCP đã được thiết lập và hai bên có thể bắt đầu truyền dữ liệu

b Minh họa Quá trình:

 Client -> Server (SYN): Máy khách gửi yêu cầu kết nối

 Server -> Client (SYN-ACK): Máy chủ chấp nhận yêu cầu và xác nhận

 Client -> Server (ACK): Máy khách xác nhận lại, kết nối hoàn tất

Trang 5

1.5 Các công cụ:

 ip addr: Kiểm tra thông tin về các giao diện mạng

 arp: Xem bảng ánh xạ ARP

 ping: Kiểm tra kết nối giữa các máy

 tcpdump: Quan sát lưu lượng mạng chi tiết

2 Nội dung thực hành

2.1 Khởi động bài lab

- Vào terminal, gõ: “labtainer network-basics” để tải bài thực hành về

- Sau đó, sử dụng mã Sinh viên của mình để nhập thông tin email người thực hiện bài lab khi có yêu cầu, để sử dụng khi chấm điểm

- Sau khi khởi động xong hai terminal ảo sẽ xuất hiện, 1 terminal mang tên “box1” đóng vai trò máy tính 1 và 1 terminal mang tên “box2” đóng vai trò máy tính 2, haimáy tính kết nối với nhau qua mạng ảo có thể coi như kết nối qua dây cáp

Ethernet 

2.2 Khám phá

- Trên terminal box1 và box2 sử dụng lệnh: “ip addr” để kiểm tra địa chỉ IP trên cả hai máy tính để làm quen với các giao diện mạng

Trang 6

Trong các thông tin trên, cần tập trung vào giao diện mạng eth0 Địa chỉ MAC (ví dụ: 02:42:ac:00:00:03) được hiển thị dưới dạng link/ether và là địa chỉ vật lý của giao diện mạng (dù trong mạng ảo, địa chỉ này cũng ảo) Địa chỉ IP (ví dụ: 172.0.0.3/24) xuất hiện dưới inet, với /24 cho biết 24 bit đầu đại diện cho subnet và phần còn lại là địa chỉ của máy tính trong subnet.

Địa chỉ MAC và IP được dùng ở các tầng khác nhau, và cần có cách dịch từ địa chỉ IP sang địa chỉ MAC để giao tiếp ở tầng liên kết (link layer)

2.3 ARP (Address Resolution Protocol) được sử dụng để ánh xạ địa chỉ IP sang địa

chỉ MAC

Trên box2, sử dụng lệnh: “arp -a” để xem bảng ánh xạ hiện tại -> Thấy rằng không có hiển thị gì là do bảng ARP đang trống Khi hai máy tính của chúng ta mới khởi động, chúng không biết địa chỉ MAC của nhau

Trang 7

- Trên box1, khởi động chương trình tcpdump để quan sát lưu lượng mạng: “sudo tcpdump -vv -n -e -i eth0”

- Các tùy chọn cho lệnh tcpdump này là:

o -vv – Cung cấp thông tin chi tiết

o -n – Không thực hiện tra cứu DNS ngược, chỉ hiển thị các địa chỉ IP

o -e – Hiển thị địa chỉ MAC của Ethernet

o -i eth0 – Hiển thị lưu lượng trên giao diện eth0

- Trên box2, sử dụng lệnh ping để ping box1: “ping 172.0.0.2 -c 2” rồi quan sát lưu lượng trong tcpdump -> Box2 gửi yêu cầu ARP dưới dạng broadcast để tìm địa chỉ MAC của box1, và box1 phản hồi với địa chỉ MAC của nó Sau khi ánh xạ địa chỉ

IP với MAC, hai box có thể trao đổi gói ICMP (ping)

- Sử dụng ctrl-c để thoát khỏi tcpdump trên box1

- Cuối cùng, lệnh arp -a trên cả hai box hiển thị bảng ARP, lưu ánh xạ để tránh yêu cầu ARP lặp lại

Trang 8

2.4 TCP: xem xét ngắn gọn một số gói IP trong một phiên TCP, cụ thể là "bắt tay

ba bước"

- Khởi động lại tcpdump trên box1 bằng câu lệnh: “sudo tcpdump -vv -n -i eth0” Sau đó, trên box2, khởi tạo một phiên SSH tới box1 “ssh 172.0.0.2” -> khởi tạo kếtnối SSH giữa hai máy (box2 và box1)

Box2 gửi gói SYN đến box1, box1 phản hồi bằng gói SYN-ACK, và box2 hoàn tất với gói ACK Quá trình này thiết lập một kết nối TCP tin cậy, chuẩn bị cho việc trao đổi dữ

liệu qua giao thức SSH

Trang 9

- Kết thúc bài lab: Trên terminal đầu tiên sử dụng câu lệnh sau để kết thúc bài lab: “stoplab network-basics”

2.5 Kiểm tra kết quả và checkwork

- Gõ lệnh: “checkwork network-basics”

3 Kết luận

Bài thực hành cung cấp một nền tảng vững chắc để sinh viên hiểu rõ về cách thức hoạt động của mạng máy tính ở cấp độ giao thức Những kiến thức này sẽ rất hữu ích cho việc học tập các môn học liên quan đến mạng và an toàn thông tin

Bài thực hành: Phát hiện các lỗ hổng bảo mật sử dụng công cụ rà quét nmap

1 Tìm hiểu lý thuyết

1.1 Tìm hiểu về công cụ rà quét nmap

Nmap (Network Mapper) là một công cụ mã nguồn mở mạnh mẽ dùng để khám phá

mạng và kiểm tra bảo mật Được sử dụng rộng rãi bởi quản trị viên mạng, chuyên gia bảo mật và cả những người dùng cá nhân, Nmap giúp quét và thu thập thông tin về mạng và

hệ thống Nmap có các tính năng

 Quét cổng: Xác định cổng mở và dịch vụ đang chạy

 Phát hiện hệ điều hành: Xác định loại và phiên bản hệ điều hành

Trang 10

 Phát hiện dịch vụ và phiên bản: Kiểm tra phiên bản dịch vụ trên các cổng mở.

 Tìm lỗ hổng bảo mật: Sử dụng Nmap Scripting Engine (NSE) để quét lỗ hổng

 Quét mạng lớn: Quét hàng ngàn thiết bị cùng lúc

 Chế độ quét tàng hình: Quét stealth giảm nguy cơ bị phát hiện

2 Nội dung thực hành

- Vào terminal, gõ: “labtainer nmap-discovery” Sau khi khởi động xong hai terminal

ảo sẽ xuất hiện, một cái là đại diện cho máy khách: mycomputer, một cái là đại diện cho máy chủ: friedshrimp.

- Trên terminal mycomputer sử dụng lệnh “ifconfig”, rồi sử dụng nmap để tìm ra địa chỉ IP của máy friedshrimp vì chúng cùng nằm trong mạng LAN: “nmap –sP <IP

mạng LAN>” (ví dụ IP máy: 172.25.0.2 🡪 IP mạng LAN cần điền 172.25.0.0/24)

Trang 11

- Sử dụng nmap để tìm cổng dịch vụ đang mở trên máy friedshrimp biết rằng cổng

(port) nằm từ 2000-3000

nmap –p 2000-3000 <IP friedshrimp> Ở đây IP friedshrimp là: 172.25.0.5

- Sau khi xác định được cổng ssh đang mở Sử dụng ssh để truy cập vào máy chủ

“ssh –p <port> <IP friedshrimp>” (câu lệnh nhập: ssh -p 2765 172.25.0.5)

Trang 12

- Sau khi truy cập được vào máy chủ friedshrimp đi tìm file friedshrimp.txt Mở và đọc file bằng cách nhập: “cat friedshrimp.txt”.

- Đóng kết nối từ máy mycomputer đến friedshrimp gõ: “exit”

Trang 13

- Kiểm tra kết quả :”checkwork nmap-discovery”

- Kết thúc bài lab bằng lệnh: stoplab nmap-discovery

3 Kết luận

Bài thực hành này cung cấp cho sinh viên một cái nhìn tổng quan về việc sử dụng công cụNmap để phát hiện lỗ hổng bảo mật, cụ thể bài thực hành đã sử dụng Nmap để tìm máychủ và cổng dịch vụ, truy cập thành công vào máy chủ qua SSH và đọc file cần tìm Qua

Trang 14

bài thực hành, sinh viên đã sẽ hiểu rõ hơn về cách các hacker có thể khai thác các lỗ hổngnày và tầm quan trọng của việc bảo mật hệ thống.

Bài thực hành: Sử dụng công cụ truy nhập từ xa telnet

1 Tìm hiểu lý thuyết

1.1 Truy cập từ xa

Truy cập từ xa là khái niệm chỉ việc điều khiển hoặc truy cập vào một máy tính, hệ

thống, hoặc thiết bị từ một địa điểm cách xa mà không cần có sự tiếp xúc vật lý trực tiếp với nó Điều này thường được thực hiện thông qua mạng internet hoặc mạng nội bộ (LAN), và có thể thực hiện qua nhiều phương tiện như phần mềm, giao thức, hoặc dịch vụ

từ xa

1.2 So sánh 2 giao thức truy cập từ xa Telnet và SSH

Telnet và SSH (Secure Shell) đều là các giao thức truy cập từ xa, cho phép người dùng

điều khiển một hệ thống hoặc thiết bị qua mạng Tuy nhiên, chúng có nhiều điểm khác biệt quan trọng về bảo mật, cách thức hoạt động và mục đích sử dụng Dưới đây là bảng

so sánh chi tiết giữa hai giao thức này:

Bảo mật Không mã hóa, dễ bị tấn công Mã hóa dữ liệu, bảo mật cao

Mã hóa dữ

liệu Không Có (AES, RSA)

Xác thực Tên đăng nhập và mật khẩu Tên đăng nhập, mật khẩu, hoặc khóaTính năng Ít tính năng Nhiều tính năng mở rộng

Sử dụng

chính Mạng tin cậy, không yêu cầu bảo mật Quản lý hệ thống từ xa an toàn

Rủi ro bảo

mật

Dễ bị tấn công nghe lén Bảo vệ khỏi hầu hết các tấn công

-> Trong bài thực hành này, sinh viên sẽ được hướng dẫn cách sử dụng Telnet và SSH

để kết nối đến máy chủ, đăng nhập và đọc nội dung file

2 Nội dung thực hành

- Khởi động bài lab: “cd ~/labtainer/trunk/scripts/labtainer-student”

“labtainer telnetlab” -> hai terminal ảo sẽ xuất hiện, một cái là đại diện cho máy

khách: client, một cái là đại diện cho máy chủ: server.

Trang 15

- Xác định IP của các máy: sử dụng lệnh “ifconfig” -> địa chỉ IP sẽ nằm sau “inet adddr:”

- Thực hiện telnet từ máy khách vào máy chủ và đọc dữ liệu trên máy chủ

o Trên máy khách sử dụng telnet để kết nối với máy chủ thông qua địa chỉ IP:

“telnet <IP>” (nhập username và mật khẩu vào máy chủ là ubuntu”)

Trang 16

o Thực hiện việc đọc tệp có sẵn chứ đoạn mật mã của sinh viên: cat filetoview.txt

o Thoát khỏi phiên telnet trên máy khách thông qua lệnh “exit”

- Xem mật khẩu người dùng nhập khi dùng telnet cần thực hiện các bước sau:

o Trên server, hãy dùng câu lệnh sau để chạy tcpdump, giúp hiện thị các gói tin TCP:

o Thực hiện phiên telnet trên máy khách, khi được nhắc nhập mật khẩu, nhập

"abc123" Nhận thấy rằng mật khẩu "abc123" sẽ được hiển thị trong các gói tin

Trang 17

truy cập trong tcpdump Điều này cho thấy rằng thông tin truyền qua telnet không được mã hóa và có thể bị người khác đánh cắp dễ dàng Việc sử dụng telnet không

an toàn cho việc truyền thông tin nhạy cảm như mật khẩu Để bảo vệ thông tin, nên

sử dụng giao thức SSH thay vì telnet vì SSH sử dụng mã hóa để bảo vệ dữ liệu truyền qua mạng

- Thực hiện ssh từ máy khách vào máy chủ và đọc dữ liệu trên máy chủ

o Trên máy khách sử dụng ssh để kết nối với máy chủ thông qua địa chỉ IP: ssh <IP>

o Bỏ qua cảnh báo và nhập mk là ubuntu

Trang 18

o Thực hiện việc đọc tệp có sẵn chứ đoạn mật mã của sinh viên: cat filetoview.txt

o Thoát khỏi phiên ssh trên máy khách thông qua lệnh “exit”

- Kiểm tra kết quả bài lab: checkwork telnetlab, sau đó đóng bài lab: stoplab telnetlab

Trang 19

3 Kết luận

Bài thực hành giúp hiểu rõ về hai giao thức truy cập từ xa phổ biến là Telnet và SSH Qua

đó, nhận thấy tầm quan trọng của việc sử dụng các giao thức bảo mật như SSH để bảo vệ thông tin khi truy cập từ xa

Bài thực hành: Giới thiệu về Wireshark

1 Tìm hiểu lý thuyết

1.1 Giới thiệu về Wireshark

Wireshark là công cụ phân tích gói tin mạng phổ biến và mạnh mẽ nhất hiện nay, được

sử dụng rộng rãi trong các lĩnh vực bảo mật mạng, quản trị hệ thống và giáo dục Với Wireshark, người dùng có thể giám sát, phân tích và ghi lại lưu lượng mạng theo thời gianthực, từ đó hiểu rõ cách hoạt động của mạng và phát hiện các sự cố hoặc tấn công tiềm ẩn

Các tính năng chính của Wireshark:

 Phân tích lưu lượng thời gian thực: Giám sát và bắt gói tin trên nhiều giao thức mạng khác nhau

 Giải mã gói tin: Hỗ trợ giải mã dữ liệu từ nhiều giao thức, cho phép sinh viên quan sát chi tiết từng gói tin

 Bộ lọc mạnh mẽ: Wireshark cung cấp các bộ lọc giúp người dùng lọc dữ liệu theo giao thức, địa chỉ IP, cổng, v.v

 Ghi lại và xuất dữ liệu: Người dùng có thể lưu lại các phiên phân tích để phân tích sau hoặc chia sẻ với người khác

1.2 Phân tích lưu lượng Telnet: Sinh viên sẽ thực hành tìm kiếm và phân tích các

gói tin trong một phiên Telnet, đặc biệt tập trung vào việc tìm kiếm gói tin chứathông tin mật khẩu

1.3 Làm quen với khái niệm PCAP: Hiểu rõ định dạng tệp PCAP và cách sử dụng

nó để lưu trữ và phân tích lưu lượng mạng

PCAP (Packet Capture) là một định dạng tệp phổ biến được sử dụng để lưu trữ các gói tin

mạng đã được ghi lại Đây là định dạng chuẩn cho các công cụ phân tích mạng như

Wireshark, Tcpdump, và nhiều công cụ khác Tệp PCAP chứa toàn bộ nội dung của các gói tin đi qua một mạng, cho phép người dùng phân tích chi tiết các hoạt động mạng đã diễn ra

2 Nội dung thực hành

- Khởi động bài Lab: labtainer wireshark-intro

- Khám phá: Sử dụng lệnh ls -l để xem nội dung của thư mục trong terminal đã mở khi

sinh viên bắt đầu phòng thí nghiệm Tệp telnet.pcap chứa lưu lượng mạng mà sinh viên sẽ

phân tích Sử dụng lệnh file telnet.pcap để xem thông tin về tệp.

- Chạy Wireshark để thực hiện phân tích PCAP

Trang 20

o Khởi động Wireshark bằng cách sử dụng lệnh: “wireshark”.

o Sử dụng File->Open để mở tệp telnet.pcap

o Xác định gói tin duy nhất chứa mật khẩu được cung cấp khi người dùng cố gắng sửdụng Telnet để đăng nhập với tư cách người dùng "john" (nhập telnet.data vàotrường "Add a display filter" để lọc)

Trang 21

o Khi tìm thấy gói tin duy nhất chứa mật khẩu không hợp lệ, sử dụng File=>Export specified packets để lưu gói tin duy nhất mà đã tìm thấy Lưu gói tin duy nhất này dưới dạng invalidpassword.pcap Hãy chắc chắn chọn nút radio "Selected packets only" trong hộp thoại Export và chắc chắn đặt tên tệp chính xác.

o Sau khi lưu gói tin, sinh viên có thể sử dụng File=>Open để mở tệp pcap mới của mình để xác nhận nó chứa gói tin chính xác

- Khám phá thêm: Xem qua các gói tin khác và thử nghiệm với các bộ lọc Thử chọn một trong các gói TELNET và sử dụng chức năng Analyze=>Follow=>TCP stream để xem toàn bộ cuộc trò chuyện TELNET

Ngày đăng: 13/12/2024, 22:34

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w