Tải bản đầy đủ (.pdf) (94 trang)

Đồ án chuyên ngành Mạng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.36 MB, 94 trang )



NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN



















Giáo viên hướng dẫn
(Ký tên)




LỜI CẢM ƠN
Để hoàn thành bài báo cáo đồ án chuyên ngành này, em xin chân thành cảm
ơn thầy Phạm Duy Lộc đã tận tình hướng dẫn em trong suốt quá trình thực hiện đề


tài.
Em cũng xin chân thành cảm ơn các thầy (cô) trong khoa công nghệ thông tin
đã tận tâm dạy bảo em trong suốt quá trình học để em có kiến thức nền tảng hoàn
thành môn học này.
Cuối cùng em xin được gửi tới các thầy, các cô một lời chúc sức khỏe, chúc
các thầy cô đạt được nhiều thành công hơn nữa trong công cuộc trồng người.
Mặc dù đã cố gắng rất nhiều để hoàn thiện đề tài này nhưng do kinh nghiệm
còn rất hạn chế, nên không tránh khỏi những sai sót. Em rất mong nhận được sự
hướng dẫn và dạy bảo của Thầy để em có thể hoàn thiện hơn về mặt kiến thức.



Trường Đại học Đà Lạt
Khoa Công nghệ Thông tin

ĐỀ CƯƠNG THỰC HIỆN ĐỒ ÁN
Tên đề tài: Nghiên cứu một số công cụ quét lỗ hổng trong mạng LAN.
Giáo viên hướng dẫn: Thầy Phạm Duy Lộc.
Sinh viên thực hiên:
STT
Họ và Tên
MSSV
Lớp
Email Liên hệ
1




Mục tiêu đề tài:

Giúp sinh viên hệ thống hóa lại kiến thức nền tảng liên quan đã học, đi sâu vào
nghiên cứu và khai thác các lỗ hổng bảo mật, từ đó đề xuất ra phương pháp bảo vệ
an toàn cho hệ thống mạng đang hoạt động.
Nội dung đề tài: Tiến hành nghiên cứu, tìm hiểu và triển khai demo các công cụ sau:
 Metasploit
 Nessus
 Nmap
 Triển khai hệ thống WSUS trong mạng Windows
 Viết tài liệu hướng dẫn chi tiết cho sinh viên khóa sau tham khảo
Phần mềm và công cụ sử dụng:
Để hoàn thành đề tài này em đã sử dụng các phần mềm và công cụ sau:
 Hệ điều hành Windows Server 2003, Windows Server 2008, Windows 8,
Windows 7, Backtrack 5r3.
 Phần mềm soạn thảo văn bản: Microsoft Office 2013.


 Phần mềm tạo máy ảo Wmware Workstation 10.
 Các công cụ thực hiện việc quét và khai thác các lỗ hỏng như: Metasploit,
Nessus, Nmap.
Dự kiến kết quả đạt được:
Qua quá trình tìm hiều và phân tích mục tiêu cũng như yêu cầu của đề tài em
dự kiến kết quả đạt được là 90%.
Tài liệu tham khảo:
1. Hacking Techniques & Intrusion Detection, Dr.Ali Al-Shemery.
2. Building Payloads Tutorial, RAPID7.
3. Known Credentials Intrusion Quick Start Guide, RAPID7.
4. Vulnerability Validation Tutorial, RAPID7.
5. Metasploit Community 4.9 User Guide, RAPID7.
6. Nessus 6.1 Installation and Configuration Guide, revision 5.
7. CEH v7, phiên bản tiếng việt.

Đà Lạt, ngày tháng năm 2014
Giáo viên hướng dẫn SV Thực hiện
(Ký tên) (Ký tên)


BCN Khoa Tổ trưởng Bộ môn
(Ký tên) (Ký tên)




MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ CÁC CÔNG CỤ QUÉT LỖ HỔNG 2
1.1. Khái niệm về lỗ hổng bảo mật 2
1.2. Sơ đồ phát hiện và khai thác lỗ hổng 2
1.3. Các công cụ quét lỗ hổng bảo mật 3
CHƯƠNG 2. TÌM HIỂU CÔNG CỤ METASPLOIT 4
2.1. Giới thiệu Metasploit 4
2.2. Metasploit Framework 5
2.2.1. Kiến trúc của Metasploit Framework 5
2.2.2. Một số thuật ngữ thường dùng 6
2.2.3. Giao diện của Metasploit 9
2.2.4. Môi trường làm việc của Metasploit 12
2.2.5. Tập lệnh trong msfconsole 13
2.2.6. Tìm hiểu payload meterpreter 14
2.2.7. Tiện ích hỗ trợ trong Metasploit 17
2.3. Cài đặt Metasploit 19
2.4. Quét và khai thác lỗ hổng với Metasploit 26
2.4.1. Sử dụng giao diện web scan các host trong mạng Lan 26

2.5. Nhập dữ liệu từ các phần mềm khác 29
2.5.1. Nhập liệu từ Nessus 29
CHƯƠNG 3: MỘT SỐ CÔNG CỤ KHAI THÁC CÁC LỖ HỔNG KHÁC 37
3.1. Tìm hiểu về công cụ Nessus 37
3.1.1. Giới thiệu Nessus 37


3.1.2. Các thành phần của Nesus 37
3.1.3. Mô hình Nessus Client – Server 38
3.1.4. Mô hình Nessus Knowledge Base 38
3.1.5. Mô hình Nessus Plugin 39
3.1.6. Khai thác lỗ hổng bảo mật với Nessus 39
3.2. Tìm hiểu về công cụ Nmap 43
3.2.1. Giới thiệu Nmap 43
3.2.2. Cách thức scanning của Nmap. 44
3.2.3. Giao diện sử dụng của Nmap 45
3.3. Cách phòng chống các lỗi bảo mật 48
CHƯƠNG 4: TRIỂN KHAI WSUS TRONG MẠNG WINDOWS 49
4.1. Giới thiệu tổng quan 49
4.2. Các thành phần chính trong hệ thống WSUS 49
4.2.1. Một WSUS Server (Small-Sized hoặc Simple Network) 50
4.2.2. Nhiều WSUS Server 50
4.2.3. WSUS Server không có kết nối đến internet 52
4.3. Triển khai chi tiết 53
4.3.1. Cài đặt và join domain 54
4.3.2. Cài đặt Microsoft Report Viewer redistributable 2008. 57
4.3.3. Cài IIS và các thành phần yêu cầu cho WSUS. 58
4.3.4. Cài đặt WSUS 60
4.3.5. Cấu hình WSUS 63
4.3.6. Cấu hình Client bằng GPO 69

4.3.7. Tạo Computer Group 76


4.3.8. Xem lại các cấu hình trên WSUS server 78
4.3.9. Xem báo cáo trạng thái trên máy chủ 79
4.3.10. Approve updates 82
KẾT LUẬN 84
HƯỚNG PHÁT TRIỂN 85
DANH MỤC TÀI LIỆU THAM KHẢO 86
PHỤC LỤC 87





Đồ án chuyên ngành GVHD: Thầy Phạm Duy Lộc
1

MỞ ĐẦU
Việc dò tìm các lỗ hổng bảo mật đóng một vai trò rất quan trọng với các quản
trị viên hệ thống, các chuyên gia bảo mật, nhằm tìm ra các biện pháp tăng cường bảo
mật cho hệ thống. Tuy nhiên việc tìm thêm các lỗ hổng mới tương đối khó khăn, một
phần do các lỗ hổng cũ sau khi công bố một thời gian, các nhà sản xuất sẽ tìm cách
“vá” lại những lổ hổng đó, một phần do những người tìm ra những lỗ hổng mới đó
không muốn công khai một cách rộng rãi, vì vậy việc sử dụng các công cụ để kiểm
tra hay phát hiện các lỗi bảo mật nhằm nâng cao tính an toàn của hệ thống là rất quan
trọng.
Trong quá trình bảo mật một hệ thống mạng cho công ty hay tổ chức việc sử
dụng các công cụ quét lỗ hổng mạng lan là rất cần thiết, vì nó sẽ giúp người quản lý
hệ thống mạng dễ dàng tìm ra các lổ hổng để xử lý và khắc phục, tiết kiệm được nhiều

thời gian và công sức, cũng như tiết kiệm được chi phí cho công ty hay tổ chức đó.
Em quyết định chọn đề tài này vì nó có tính ứng dụng thực tế rất cao, bên cạnh
đó đề tài này còn giúp em hệ thống lại toàn bộ kiến thức đã được học.

Đồ án chuyên ngành GVHD: Thầy Phạm Duy Lộc
2

CHƯƠNG 1: TỔNG QUAN VỀ CÁC CÔNG CỤ QUÉT LỖ HỔNG
1.1. Khái niệm về lỗ hổng bảo mật
Trong quá khứ, nhiều người xem lổ hổng bảo mật thuộc về lỗi một phần mềm
hoặc một phần cứng đã bị mã độc nhiễm vào. Tuy nhiên, trong những năm qua, khái
niệm trên về lổ hổng bảo mật vẫn không thay đổi, tuy nhiên nó được bổ sung thêm
một khái niệm misconfiguration hay còn gọi là lỗi cấu hình sai.
Bất kỳ gói phần mềm nào cũng có hàng ngàn lỗi bảo mật. Các attacker sẽ tiến
hành khai thác sử dụng các lỗ hổng này để tiến hành tấn công các hệ thống, xâm nhập
trái phép để thực hiện các hành động phá hoại hoặc chiếm đoạt tài nguyên bất hợp
pháp. Đây cũng là nguyên nhân các nhà sản xuất phần mềm liên tục đưa ra các bản
vá lỗi.
Có nhiều nguyên nhân gây ra nhưng lỗ hổng bảo mật, ta có thể xem xét một
vài nguyên nhân như sau: có thể do lỗi của bản thân hệ thống, hoặc phần mềm cung
cấp, hoặc do người quản trị yếu kém không hiểu biết sâu sắc về hệ thống và các dịch
vụ cung cấp…
1.2. Sơ đồ phát hiện và khai thác lỗ hổng






Discovery (phát hiện): một nhà nghiên cứu bảo mật hoặc nhà cung cấp phát

hiện ra một khả năng dễ bị tổn thương trong phần mềm.
Discovery Disclosure
Analysis
Exploit
development
Testing
Release
Đồ án chuyên ngành GVHD: Thầy Phạm Duy Lộc
3

Disclosure (tiết lộ): nhà nghiên cứu bảo mật thông báo một lỗi bảo mật cho
nhà cung cấp.
Analysis (phân tích): các nhà nghiên cứu hoặc những người khác trên toàn thế
giới bắt đầu phân tích lỗ hổng để xác định khả năng khai thác của nó.
Exploit development (phát triển khai thác): quá trình phát triển khai thác bắt
đầu. Điều này đòi hỏi sự hiểu biết về sâu sắc về kiến thức mạng máy tính cũng như
lập trình, hệ thống các thanh ghi ….
Testing (kiểm tra): đây là giai đoạn các coder kiểm tra mã khai thác đối
với các nền tảng khác nhau, gói dịch vụ (service pack), hoặc các bản vá lỗi.
Release (phát hành): Sau khi thử nghiệm khai thác và có được các thông
số cụ thể cần thiết cho nó thực thi thành công, coder sẽ phát hành khai thác
riêng tư hoặc được đăng tải trên diễn đàn công cộng.
1.3. Các công cụ quét lỗ hổng bảo mật
Để tiến hành xử lý được các lỗ hổng bảo mật thì việc đầu tiên chúng ta cần
thực hiện là truy tìm ra các lỗi bảo mật đó trước, tuy nhiên điều này là không hề dễ
dàng nếu ta thực hiện một cách thủ công.
Từ đó có rất nhiều công cụ ra đời giúp ta có thể thực hiện hiện công việc quét
lỗi hệ thống này, ta tiến hành nghiên cứu một số công cụ cơ bản như: Metasploit,
Nesus, Nmap


Đồ án chuyên ngành GVHD: Thầy Phạm Duy Lộc
4

CHƯƠNG 2. TÌM HIỂU CÔNG CỤ METASPLOIT
2.1. Giới thiệu Metasploit
Metasploit project là một dự án an ninh máy tính mã nguồn mở cung cấp thông
tin về lỗ hổng bảo mật và hỗ trợ việc thử nghiệm thâm nhập và phát triển IDS
(Intrusion Detection Systems_Hệ thống phát hiện xâm nhập). Metasploit đã được tạo
ra bởi HD Moore vào năm 2003 như một công cụ mạng di động bằng cách sử dụng
ngôn ngữ kịch bản Perl. Sau đó, Metasploit Framework đã được viết lại hoàn toàn
bằng ngôn ngữ lập trình Ruby và đã trở thành project Ruby lớn nhất thế giới. Nó là
một công cụ mạnh mẽ cho các chuyên viên bảo mật điều tra lỗ hổng bảo mật tiềm
năng, Metasploit có thể được sử dụng để kiểm tra lỗ hổng của các hệ thống máy tính
để bảo vệ chúng, và nó có thể được sử dụng để đột nhập vào hệ thống từ xa. Cũng
như nhiều công cụ bảo mật thông tin khác, metasploit cũng có thể được sử dụng cho
cả các hoạt động hợp pháp và các hoạt động trái phép.
Ngày 21 Tháng 10 năm 2009 có công bố nói rằng Metasploit project đã được
mua lại bởi Rapid7, một công ty bảo mật cung cấp các giải pháp quản lý lỗ hổng. Kể
từ khi mua lại Metasploit Framework, Rapid7 đã có thêm ba phiên bản lõi mở độc
quyền là Metasploit Express, Metasploit Pro và Metsploit Community. Trong đó 2
bản Express và Pro là tính phí còn Community là free. Metasploit có thể chạy trên
hầu hết các hệ điều hành: Linux, Windows, MacOS.
Đồ án chuyên ngành GVHD: Thầy Phạm Duy Lộc
5

2.2. Metasploit Framework
2.2.1. Kiến trúc của Metasploit Framework

Những thành phần chính trong kiến trúc của một Framework bao gồm:
Rex: là thành phần cơ bản nhất của toàn bộ kiến trúc Framework. Rex là viết

tắt của Ruby Extension Library, là một tập hợp các lớp, modun có thể được sử dụng
bởi các nhà phát triển để phát triển các dự án hoặc các công cụ cho MSF (Metasploit
Framework).
Framework Core: bao gồm một tập các hệ thống con như các modun quản
lý, quản lý phiên, sự kiện điều phối…. Khung lõi cũng cung cấp cho ta một giao diện
để chạy các modun và plugins của Framework. Khung li bao gồm:
 Datastore: được hiểu như một môi trường, nó bao gồm một giá trị băm có
thể được sử dụng bởi các modun tham chiếu đến chương trình hay các bằng
các giá trị điều khiển. Biến môi trường là một trong những giá trị như vậy,
nó được sử dụng bởi các modun khai thác hay bởi các framework để xác
định chính xác các hành vi được thực hiện.
Đồ án chuyên ngành GVHD: Thầy Phạm Duy Lộc
6

 Event Notification (thông báo sự kiện): cho phép các nhà phát triển đưa ra
các hành động cụ thể với từng sự kiện hay hành động xảy ra. Mỗi một sự
kiện sẽ có một cách thức xử lý tương ứng với nó.
 Framework Managers: có nhiệm vụ quản lý các modun, plugin, sessions,
jobs.
Framework Base (khung cơ sở): được xây dựng dựa trên khuôn khổ của
khung li, cung cấp giao diện để dễ giao tiếp hơn với các module trong framework.
Một số khung cơ sở:
 Configuration: duy trì một cấu hình liên tục và thu thập thông tin về cấu
trúc của tiến trình cài đặt, chng hạn như thư mục gốc của quá trình cài đặt
hay các thuộc tính khác.
 Sessions: những thông tin cơ bản về việc duy trì, kiểm soát các hành vi trong
phiên làm việc của người dùng.
 Logging: là một tiện ích của MSF cho phép ghi lại các thông tin, các lỗi, gỡ
lỗi một cách tổng quát và linh hoạt.
2.2.2. Một số thuật ngữ thường dng

Discovery Scan là một máy quét nội bộ của Metasploit phối hợp Nmap và các
module riêng biệt của Metasploit để quét và truy tìm target. Nếu không có Nexpose
hoặc không thể quét dữ liệu để nhập vào Metasploit Community, chúng ta có thể chạy
trình quét để phát hiện và thu thập thông tin của target.
Target là hệ thống mà ta muốn khai thác. Thuật ngữ target có thể được hiểu
là một máy trạm độc lập, một cụm máy trạm, một dải mạng hay toàn bộ một mạng.
Exploit (khai thác) là chức năng chính của MSF, giúp ta thử nghiệm khai thác
các lỗ hổng phần mềm. Mỗi một module cung cấp một phương thức khai thác, và
được phân loại r ràng đối với từng hệ điều hành cũng như phiên bản phần mềm.
Việc khai thác thông thường dựa vào những điểm yếu hay gặp như: lỗi tràn bộ đệm,
Đồ án chuyên ngành GVHD: Thầy Phạm Duy Lộc
7

các lỗi trên ứng dụng web (SQL Injection, XSS…), lỗi trong quá trình cấu hình, triển
khai hệ thống.
Payload (tải trọng) là một đoạn code được xây dựng để hệ thống thực thi. Các
Payload này được lựa chọn và cung cấp bởi Framework. Ví dụ một reverse shell là
một payload, nó tạo ra một kết nối từ máy nạn nhân tới máy của k tấn công, k tấn
công có thể lắng nghe về máy tính nạn nhân thông qua cổng kết nối. Một payload
cũng có thể được hiểu đơn giản là một số các câu lệnh được thực hiện trên hệ điều
hành của máy nạn nhân. Dùng lệnh "show payloads" để liệt kê các payload có trong
metasploit:

Shell là một giao diện điều khiển, được cung cấp để chúng ta thực hiện truy
cập từ xa vào máy nạn nhân.
Shellcode là một tập các câu lệnh được sử dụng như một payload khi thực hiện
khai thác. Shellcode thường được viết bằng hợp ngữ (assembly).
Meterpreter là một payload tiên tiến đa chức năng, cung cấp cho chúng ta một
shell tương tác từ Meterpreter shell. Chúng ta có thể làm những việc như tải về một
tập tin, lấy được mã hash của mật khẩu của tài khoản người dùng, hay xâm nhập vào

Đồ án chuyên ngành GVHD: Thầy Phạm Duy Lộc
8

hệ thống mạng. Meterpreter chạy trên bộ nhớ, vì vậy nó là không thể bị phát hiện bởi
hầu hết các hệ thống phát hiện xâm nhập.
Module là một phần mã độc lập hay có thể là các phần mềm nhằm mở rộng
chức năng của Metasploit Framework, cho phép chúng ta thực hiện được nhiều thứ
hơn trong quá trình khai thác. Một module có thể là một exploit, một payload không
hoạt động… loại của module sẽ xác định được mục đích, chức năng của nó. Ví dụ,
một module cho phép mở ra một shell trên máy nạn nhân thì đó được coi là một
module exploit.
Listener (lắng nghe) được xem là một thành phần trong Metasploit, được dùng
để thực hiện chờ một kết nối. Ví dụ: sau khi máy nạn nhận bị khai thác, nó có thể
được kểt nối đến máy tấn công thông qua mạng Internet. Listener này sẽ xử lý các
kết nối và chờ trên máy tấn công để có thể được kết nối lại với nhau bằng hệ thống
khai thác.
Task là một hành động mà Metasploit Community có thể thực hiện, chng hạn
như một máy quét, tấn công bruteforce, khai thác, hoặc tạo báo cáo.
Project bao gồm các target, task, báo cáo và dữ liệu, là một phần của kiểm tra
xâm nhập. Một project đại diện cho một không gian làm việc mà chúng ta sử dụng
để kiểm tra xâm nhập và cấu hình task. Mọi kiểm tra xâm nhập đều chạy từ trong một
project.
Vulnerability là một lỗi bảo mật hoặc điểm yếu trong một ứng dụng hay hệ
thống mà sẽ trở thành mục tiêu của những k tấn công. Một hệ thống bị xâm nhập có
thể dẫn đến bị mất quyền kiểm soát, tấn công từ chối dịch vụ, truy cập dữ liệu trái
phép, đánh cắp mật khẩu, và tràn bộ đệm.
Auxiliaries là chức năng mới được bổ sung từ phiên bản v3.0, bổ sung các
module cho việc tìm kiếm, thu thập thông tin, thậm chí là dò tìm lỗ hổng với các phần
mềm. Cụ thể như sau có các module sau:
 module quét các giao thức ( như SMB,HTTP).

 Module quét cách cổng port
Đồ án chuyên ngành GVHD: Thầy Phạm Duy Lộc
9

 Wireless
 IPV6
 DOS
 Server modules.
 Module khai thác truy cập quản trị
2.2.3. Giao diện của Metasploit
Metasploit cung cấp cho chúng ta nhiều hơn một giao diện để thực hiện các
chức năng cơ bản của nó. Giao diện của Metasploit bao gồm cả giao diện điều khiển,
dòng lệnh hay đồ họa. Ngoài ra, các giao diện hay tiện ích của Metasploit Framework
thường được cung cấp trực tiếp thông qua các hàm chức năng. Những tiện ích này có
thể rất hữu dụng cho việc phát hiện khai thác các lỗ hổng của hệ thống mà không cần
sử dụng toàn bộ Framework.
Msfconsole đến nay được xem là môi trường làm việc phổ biến nhất của
Metasploit Framework vì nó được đánh giá cao. Sử dụng các dòng lệnh để cấu hình,
nên kiểm tra nên nhanh hơn và mềm do hơn, đặc biệt interface này còn hỗ trợ sử
dụng phím tab để hoàn thành dòng lệnh giống như cisco IOS nên dễ sử dụng hơn cho
người dùng. Msfconsole cung cấp tất cả trong một giao diện, hầu hết các tùy chọn và
thiết lập có sn trong Framework. Chúng ta có thể sử dụng tất cả mọi thứ, bao gồm
việc lên kế hoạch cho quá trình khai thác, tải các module hỗ trợ, thực hiện điều tra
hay tạo một listener.
Để bắt đầu làm việc trên giao diện MSFconsole ta tiến hành mở theo đường
dẫn:
 Trên BackTrack 5 R3:
=======================================================
Backtrack → Exploitation Tools → Network Exploitation Tools →
Metasploit Framework → msfconsole.

=======================================================

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×