You are on page 1of 8

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

KHOA AN TOÀN THÔNG TIN

BÁO CÁO BÀI THỰC HÀNH

Môn: Kiểm thử xâm nhập

Đề bài: Sử dụng Nmap nâng cao

Giảng viên : Đinh Trường Duy

Lớp : D20CQAT04-B

Họ và tên sinh viên : Lưu Văn Hưng

Mã số sinh viên : B20DCAT088

Hà Nội, 3/2024
I. Mục đích

 Sử dụng nmap và các kỹ năng đã thực hiện trong các bài lab trước
để xác định và khai thác điểm yếu trong hệ thống.
 Thực hiện kiểm tra bảo mật đặc biệt cho một khách hàng, họ tin
rằng máy chủ SSH nội bộ của họ tương đối an toàn, nhưng lại
muốn xác nhận tính hợp lệ của việc này. Mục tiêu là cố gắng truy
cập từ xa vào máy chủ SSH đó và xem nội dung của một tệp đã
chọn.

II. Tìm hiểu lý thuyết

1. Nmap

• Nmap là 1 ứng dụng đa nền tảng ban đầu chạy trên hệ điều hành
linux và đã được phát triển trên các hệ điều hành khác như
Windows và Linux.
• Nmap là một công cụ quét mạng mạnh mẽ và dùng để phát hiện ra
lỗ hổng trong mạng, port, từ đó có thể khắc phục được sự cố mạng
nhanh hơn.
• Cách thức hoạt động
- Nmap sử dụng các IP trên các gói tin theo những cách đặc biệt
khác nhau để có thể xác định các host trên một hệ thống mạng ,
để rồi từ đó xác định xem những services đang chạy trên hệ
thống đó, hệ điều hành đang chạy, bộ lọc các gói tin cũng như
tường lửa đang sủ dụng là gì.
• Tính năng
- Phát hiện lỗ hổng bảo mật
- Khai thác lỗ hổng bảo mật
- Phát hiện ra backdoor
- Quét mạng network
- Quét các máy chủ và các cổng trên máy chủ trên hệ thống
- Xác định hệ điều hành, service, firewall đang sử dụng
- Cung cấp thông tin về loại thiết bị, tên DNS, địa chỉ Mac
- Thực thi các đoạn script NSE hoặc Lua với các đối tượng
được kiểm thử
• Trạng thái các cổng trong Nmap
- Open: Đang có một dịch vụ thực hiện kết nối ra bên ngoài
nhưng không bị giám sát bởi tường lửa.
- Closed: Máy mục tiêu vẫn nhận và phản hồi, nhưng ko có
ứng dụng nào đang nghe trên cổng đó. Khi đó cổng được
báo là đóng vẫn có thể cho ta biết host đang sống
- Filtered: Đã có sự ngăn chặn bởi tường lửa, bạn sẽ chẳng
nhận được bất cứ phản hồi gì từ mục tiêu cả.
- Unfiltered: Không bị chặn, nhưng không thể biết được cổng
đóng hay mở.
- Open/Filtered: không biết là cổng mở hay bị lọc. Nó xảy ra
đối với kiểu quét mà cổng dù mở nhưng không phản hồi gì
cả nên biểu hiện của nó giống như bị lọc.
- Closed/Filtered: Trạng thái xuất hiện khi Nmap không biết
được port đó đang Closed hay Filtered. Nó được sử dụng cho
quét IPID Idle.
• Một số lệnh phổ biến trong Nmap
- Kiểm tra xem host còn alive không: #nmap -sn [IP_của_mục
tiêu]
- Kiểm tra hệ điều hành của server: #nmap -O [IP_của_mục
tiêu]
- Quét một port cụ thể: #nmap -p [số_cổng] [IP_của_mục tiêu]
- Quét kết nối TCP, Nmap sẽ thực hiện việc quét bắt tay 3
bước: #nmap -sT [IP_của_mục tiêu]
- Quét kết nối UDP: #nmap -sU [IP_của_mục tiêu]
- Quét xác định phiên bản của dịch vụ đang chạy trên
host: #nmap -PN -p [số_cổng] -sV [IP_của_mục tiêu]

2. Tcpdump

• TCPdump là một công cụ mã nguồn mở được sử dụng trong hệ


thống mạng để giám sát và phân tích lưu lượng mạng. Nó cho phép
bạn ghi lại các gói tin đang truyền qua mạng và xem chúng theo
thời gian thực. Điều này giúp bạn tìm ra các vấn đề và cung cấp
các giải pháp để giải quyết chúng.
• TCPdump được viết bằng ngôn ngữ lập trình C và hoạt động trên
nhiều hệ điều hành, bao gồm cả Linux và Unix. Nó là một trong
những công cụ mạnh mẽ và phổ biến nhất để giám sát và phân tích
lưu lượng mạng, và được sử dụng rộng rãi trong các môi trường
mạng lớn.
• Một số tùy chọn
- -i: Sử dụng tùy chọn này khi khách hàng muốn chụp các gói
tin trên một interface được chỉ định.
- -D: Khi sử dụng tùy chọn này, TCPDUMP sẽ liệt kê ra tất cả
các interface đang hiện hữu trên máy tính mà nó có thể
capture được.
- -c N: khi sử dụng tùy chọn này, TCPDUMP sẽ dừng hoạt
động sau khi capture N gói tin.
- -n: Khi sử dụng tùy chọn này, TCPDUMP sẽ không phân
giải từ địa chỉ IP sang hostname.
- -nn: Tương tự như tùy chọn –n, tuy nhiên TCPDUMP sẽ
không phân giải cả portname.
- -v: Tăng số lượng thông tin về gói tin mà bạn có thể nhận
được, thậm chí có thể tăng thêm với option –vv hoặc –vvv.
- -s: Định nghĩa snaplength (kích thước) gói tin sẽ lưu lại, sử
dụng 0 để mặc định.
- -q: Khi sử dụng tùy chọn này, TCPDUMP sẽ hiển thị ít
thông tin hơn.
- -w filename: Khi sử dụng tùy chọn này, TCPDUMP sẽ
capture các packet và lưu xuống file chỉ định.
- -r filename: Sử dụng kèm với tùy chọn –w, dùng để đọc nội
dung file đã lưu từ trước.
- -x: Hiển thị dữ liệu của gói tin capture dưới dạng mã Hex.
- -xx: Tương tự tùy chọn –x tuy nhiên sẽ chuyển đổi cả
ethernet header.
- -X: Hiển thị dữ liệu của gói tin capture dưới dạng mã Hex và
ASCII
- -A: Hiển thị các packet được capture dưới dạng mã ACSII.
- -S: Khi TCPDUMP capture packet, thì nó sẽ chuyển các số
sequence number, ACK thành các relative sequense number,
relative ACK. Nếu sử dụng option –S này thì nó sẽ không
chuyển mà sẽ để mặc định.
- -F filename: Dùng để filter các packet với các luật đã được
định trước trong tập tin filename.
- -e: Khi sử dụng tùy chọn này, thay thì hiển thị địa chỉ IP của
người gửi và người nhận, TCPDUMP sẽ thay thế các địa chỉ
này bằng địa chỉ MAC.
- -t: Khi sử dụng tùy chọn này, TCPDUMP sẽ bỏ qua thời
gian bắt được gói tin khi hiển thị cho khách hàng.
- -tt: Khi sử dụng tùy chọn này, thời gian hiển thị trên mỗi
dòng lệnh sẽ không được format theo dạng chuẩn.
- -ttt: Khi sử dụng tùy chọn này, thời gian hiển thị chính là
thời gian chênh lệnh giữa thời gian TCPDUMP bắt được gói
tin của gói tin và gói tin đến trước nó.
- -tttt: Khi sử dụng tùy chọn này, sẽ hiển thị thêm ngày vào
mỗi dòng lệnh.
- -ttttt: Khi sử dụng tùy chọn này, thời gian hiển thị trên mỗi
dòng chính là thời gian chênh lệch giữa thời gian
TCPDUMP bắt được gói tin của gói tin hiện tại và gói tin
đầu tiên.
- -K: Với tùy chọn này, TCPDUMP sẽ bỏ qua việc checksum
các gói tin.
- -N: Khi sử dụng tùy chọn này, TCPDUMP sẽ không in các
quality domain name ra màn hình.
- -B size: Sử dụng tùy chọn này để cài đặt buffer_size.
- -L: Hiển thị danh sách các datalink type mà interface hỗ trợ.
- -y: Lựa chọn datalinktype khi bắt các gói tin.

III. Nội dung thực hành

 Khởi động lab


 Chạy lệnh: labtainer -r nmap-ssh trong terminal của Tình huống
và yêu cầu:

o Biết địa chỉ IP máy chủ SSH mục tiêu là 172.25.0.2 và số cổng
SSH thường xuyên thay đổi trong phạm vi 2000-3000. Hệ
thống đã cấp một tài khoản, "analysis" trên máy client và trên
bộ định tuyến.

client <===> [Router] <===> server

o Mục tiêu là thực hiện SSH thành công từ “MyComputer” vào


tài khoản “ubuntu” trên máy chủ SSH.
o Gợi ý:

 nmap được cài đặt trên mycomputer.


 tshark và tcpdump được cài đặt trên bộ định tuyến
 Những dịch vụ mạng được bảo vệ bằng mật khẩu nào
khác đang được sử dụng trên mạng? Và bởi ai?

- Sử dụng nmap để quét cổng đang mở của máy mục tiêu.


- Sử dung tcmpdump để dò tìm và phân tích các gói tin TCP trên
mạng.

- Sử dụng tshark để phân tích tập tin lưu trữ pcap "telnet.data" chứa
các gói tin Telnet được thu thập trên giao diện mạng eth1.
- Kết nối ssh đến địa chỉ ip 172.25.0.2
Thực hiện checkwork:

Trên terminal đầu tiên sử dụng câu lênh sau để kết thúc bài lab:
stoplab printf
Khi bài lab kết thúc, một tệp zip lưu kết quả được tạo và lưu vào một
vị trí được hiển thị bên dưới stoplab.

You might also like