Tải bản đầy đủ (.docx) (40 trang)

NGHIÊN CỨU KỸ THUẬT DÒ QUÉT VÀ KHAI THÁC LỖ HỔNG BẢO MẬT SỬ DỤNG CÔNG CỤ NESSUS

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 (1.61 MB, 40 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO
THỰC TẬP CHUYÊN NGÀNH
Đề tài:
NGHIÊN CỨU KỸ THUẬT DÒ QUÉT VÀ KHAI THÁC LỖ HỔNG BẢO MẬT
SỬ DỤNG CÔNG CỤ NESSUS.

Giáo viên hướng dẫn

: ThS. Võ Văn Trường

Sinh viên thực tập

: Phạm Văn Điệp

Lớp

: An toàn thông tin – K14A

Thái Nguyên, năm 2019


MỤC LỤC
TÓM TẮT NỘI DUNG ĐỀ TÀI
LỜI MỞ ĐẦU
CHƯƠNG I: TỔNG QUAN VỀ LỖ HỔNG BẢO MẬT.
1.1. Khái niệm.
1.2. Phân loại lỗ hổng bảo mật.
1.3 Một số nguy cơ an ninh, lỗ hổng bảo mật thường gặp.


CHƯƠNG II: CÔNG CỤ NESSUS.
2.1 Giới thiệu.
2.1.1 Kiến trúc của Nessus với mơ hình Client-Server.
2.1.2 Mơ hình Nessus Knowledge Base
2.1.3 Mơ hình Nessus Plugin.
2.2 Cài đặt.
2.3 Đăng nhập Nessus.
2.4 Templates.
2.5 Plugin
- Chương III Triển khai sử dụng cơng cụ Nessus dị qt, khai thác và phân tích lỗ
hổng bảo mật.


TÓM TẮT NỘI DUNG ĐỀ TÀI
Đề tài thực hiện 2 nhiệm vụ chính:
 Nghiên cứu lỗ hổng bảo mật: Khái niệm, phân loại lỗ hổng bảo mật và
các nguy cơ an ninh, lỗ hổng bảo mật thường gặp.
 Nghiên cứu về công cụ Nessus: cách cài đặt, chạy Nessus, sử dụng cơng
cụ Nessus trong dị qt lỗ hổng trên website nhằm phát hiện và đưa ra
biện pháp khác phục lỗ hổng bảo mật.
* Mục đích nghiên cứu của đề tài:
- Nghiên cứu cơ sở lý thuyết về lỗ hổng bảo mật, sử dụng cơng cụ Nessus tìm các lỗ hổng
trên Website, từ đó xác định mức độ nguy cơ hệ thống, đề ra biện pháp khuyến cáo người
dùng, người quản trị mạng có hành động ngăn chặn, khắc phục lỗ hổng tránh các cuộc
xâm nhậm của hacker.
* Phương pháp nghiên cứu:
- Phương pháp quan sát, thu thập.
- Phương pháp phân tích, đánh giá tổng hợp.
* Dự kiến đóng góp của đề tài:
- Làm rõ về lỗ hổng bảo mật.

- Hiểu rõ về lỗ hổng bảo mật và nắng vững các kỹ thuật dò quét, khai thác lỗ hổng bảo
mật sử dụng công cụ Nessus
* Bố cục bài báo cáo thực tập chuyên ngành:
Chương I: Lỗ hổng bảo mật.
Chương II: Công cụ Nessus.
Chương III: Triển khai sử dụng công cụ Nessus dị qt, khai thác và phân tích lỗ
hổng bảo mật.


Mặc dù đã rất cố gắng để hoàn thiện đề tài nhưng vì cịn hạn chế về kinh nghiệm và kiến
thức nên việc tìm hiểu về lỗ hổng bảo mật và ra sốt, phân tích lỗ hổng bảo mật cịn
nhiều thiếu sót. Vì vậy, em rất mong thầy cơ và các bạn thơng cảm và đóng góp ý kiến để
cho bài báo cáo được hoàn thiện hơn.
Em xin gửi lời cảm ơn chân thành đến thầy giáo hướng dẫn ThS. Võ Văn Trường đã tận
tình giúp đỡ em trong suốt quá trình làm đề tài thực tập.
Em xin chân thành cảm ơn!


LỜI MỞ ĐẦU
Với nhu cầu trao đổi thông tin cần thiết nay, bắt buộc quan, tổ chức phải hoà vào mạng
tồn cầu Internet. An tồn bảo mật thơng tin là vấn đề quan trọng hàng đầu, thực kết nối
mạng nội quan, doanh nghiệp, tổ chức với Internet hay chí nhân với. Ngày nay, biện pháp
an tồn thơng tin cho máy tính cá nhân mạng nội nghiên cứu triển khai. Tuy nhiên,
thường xuyên xảy tình trạng như: Các mạng bị tấn công, các tổ chức bị đánh cắp thông
tin gây nên hậu quả vô cùng nghiêm trọng. Những vụ tấn công nhằm vào tất cả máy tính
có mặt trên Internet,các máy tính cơng ty lớn như AT&T, IBM, trường đại học, cơ quan
nhà nước, tổ chức quân sự, ngân hàng,…một số vụ tấn cơng với quy mơ khổng lồ (có
tới 100.000 máy tính bị cơng). Hơn nữa những con số này chỉ là phần nổi của tảng băng
trôi . Một phần rất lớn các vụ tấn công không được thông báo vì nhiều lý do, trong số
đó có thể kể đến nỗi lo mất uy tín hoặc đơn giản người quản trị dự án không hay biết

vụ tấn công nhằm vào hệ thống của họ .
Trong trình bảo mật hệ thống mạng cho công ty hay tổ chức việc sử dụng công cụ mạnh
để kiểm tra hay phát lỗi bảo mật nhằm nâng cao tính an tồn hệ thống tồn mạng là rất
quan trọng. Có nhiều cơng cụ trợ giúp việc xác định lỗi bảo mật và những điểm nhạy
cảm hệ thống như Retina Eeye, hay GFI N.S.S GFI… Nhưng công cụ hacker và
những nhà quản trị hệ thống yêu thích hơn cả vẫn là NESSUS, công cụ xếp hạng thứ 75
công cụ bảo mật được đánh giá bởi tổ chức Insecure (www.insecure.org). GFI
LanGuard phần mềm thương mại, trong khi đó Nessus lại phần mềm miễn phí hồn tồn
cho người dùng cá nhân, với sở liệu lỗ hổng phong phú cho hệ thống chạy Window hay
Linux cập nhật thường xuyên.
Xuất phát từ lí do trên nên em quyết định chọn đề tài: “Nghiên cứu kỹ thuật dò quét và
khai thác lỗ hổng bảo mật sử dụng công cụ Nessus”, để làm đề tài nghiên cứu trong lần
thực tập chuyên ngành này.


CHƯƠNG 1
LỖ HỔNG BẢO MẬT
I. Tổng quan về lỗ hổng bảo mật.
1.1. Khái niệm.
Lỗ hổng bảo mật là những lỗi phần mềm, lỗi trong đặc điểm kỹ thuật và thiết kế,
nhưng đa số là lỗi trong lập trình.
Bất kỳ gói phần mềm lớn nào cũng có hàng ngàn lỗi.
Đây là những lỗ hổng nằm ủ mình trong hệ thống phần mềm của chúng ta, đợi đến khi
được kích hoạt hoặc bị phát hiện. Khi đó, chúng có thể được dùng để tấn công các hệ
thống.
Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo nên sự ngưng trệ của
dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép truy cập bất hợp pháp vào hệ
thống.
Các lỗ hổng bảo mật có thể nằm ngay các dịch vụ cung cấp như web, mail, ftp, … Ngồi
ra các chương trình ứng dụng hay dùng cũng chứa các lỗ.

* Nguyên nhân gây ra lỗ hổng bảo mật.
Có nhiều nguyên nhân gây ra lỗ hổng bảo mật: có thể do lỗi của bản thân hệ
thống, hoặc do người quản trị hệ thống không hiểu sâu sắc các dịch vụ cung cấp hoặc do
người sử dụng có ý thức bảo mật kém click vào các đường link lạ hoặc tải về các ứng
dụng độc hại.
Lỗ hổng bảo mật có mức độ ảnh hưởng khác nhau. Có những lỗ hổng chỉ ảnh hưởng đến
chất lượng dịch vụ cung cấp nhưng cũng có những lổ hổng ảnh hưởng tới cả hệ thống
hoặc làm ngưng trệ dịch vụ.
1.2. Phân loại lỗ hổng bảo mật.
Có nhiều tổ chức khác nhau phân loại các lỗ hổng đặc biệt. Theo Bộ Quốc phòng
Mỹ, các loại lỗ hổng bảo mật trên một hệ thống gồm :


Các lỗ hổng loại A :
-

Rất nguy hiểm.
Đe dọa tính toàn vẹn và bảo mật của hệ thống.
Cho phép người sử dụng bên ngoài truy cập bất hợp pháp vào hệ thống.
Gây ra việc phá hỏng toàn bộ hệ thống.
Xuất hiện ở các hệ thống quản trị yếu kém hoặc khơng kiểm sốt được cấu
hình mạng.

Ví dụ :
Đối với các Web Server chạy trên hệ điều hành Novell. Các Web server này có một
scripts là convert.bas. Khi người tấn cơng chạy file này, có thể đọc được tồn bộ nội dung
các file trên hệ thống.
Những lỗ hổng loại này tồn tại trên các phần mềm sử dụng. Các chương trình thường hay
được sử dụng như FTP, Telnet, Gopher, SendMail, … nhất là các phiên bản cũ thường
chứa các lỗ hổng bảo mật loại A.

Các lỗ hổng loại B :
-

Có mức độ nguy hiểm trung bình.
Cho phép người sử dụng có thêm tác quyền trên hệ thống mà không cần thực

-

hiện bước kiểm tra tính hợp lệ.
Thường có trong các ứng dụng, dịch vụ trên hệ thống.
Có thể dẫn đến việc mất hay rị rỉ thơng tin u cầu bảo mật.
Một trong những lỗ hổng loại B thường gặp nhất là trong ứng dụng SendMail,
một chương trình khá phổ biến trên hệ thống Linux để thực hiện gởi thư điện
tử cho những người sử dụng trong mạng nội bộ.

Các lỗ hổng loại C :
-

Có mức độ nguy hiểm thấp, chỉ ảnh hưởng đến chất lượng dịch vụ và làm gián

-

đoạn hệ thống.
Cho phép thực hiện các phương thức tấn công từ chối dịch vụ (Dinal of

-

Services) gọi tắt là DoS.
Ít phá hỏng dữ liệu hay cho phép quyền truy cập bất hợp pháp vào máy tính.



-

DoS là hình thức tấn cơng sử dụng các giao thức ở tầng Internet trong bộ giao
thức TCP/IP để làm hệ thống ngưng trệ dẫn đến tình trạng hệ thống đó từ chối
người sử dụng truy cập vào hệ thống một cách hợp pháp.

Cách thức thông thường là một lượng lớn các packets sẽ được gởi đến server trong một
khoảng thời gian liên tục làm cho hệ thống quá tải. Khi đó, hệ thống server sẽ đáp ứng
chậm hoặc khơng thể đáp ứng các yêu cầu từ các maý khách gởi tới. Và công việc của
người sử dụng hệ thống bị tấn cơng là restart lại hệ thống
Ví dụ:
Trên một Web Server có những website trong đó nó có chứa các đoạn mã Java hay
JavaScript. Người ta sẽ làm treo hệ thống của người sử dụng trình duyệt Web của
Nescape bằng những bước sau :
- Viết đoạn mã để nhận biết được trình quyệt Web sử dụng là của Nescape.
- Nếu sử dụng Nescape, sẽ tạo ra vịng lặp vơ hạn, sinh ra vô số các cửa sổ liên tục
mà trong mỗi cửa sổ đó nối đến các Web Server khác nhau.
* Biện pháp nhằm giảm thiểu ảnh hưởng của lỗ hổng bảo mật:
- Cập nhật phần mềm sẽ cải thiện bảo mật : luôn luôn cập nhật các bản vá của
phần mềm hoặc hệ điều hành
- Sử dụng các phần mềm có tính năng phát hiện các lỗ hổng bảo mật và phịng
chống tấn cơng.
1.3 Một số nguy cơ an ninh, lỗ hổng bảo mật thường gặp.
Nhắc đến lỗ hổng bảo mật chúng ta không thể bỏ qua tổ chức OWASP, Open Web
Application Security Project (OWASP) là một tổ chức bao gồm các chuyên gia bảo mật
hàng đầu thế giới, chuyên cung cấp các thông tin về những ứng dụng và rủi ro đặt ra một
cách trực tiếp, khách quan và thực tế nhất. Từ năm 2013 đến nay, cứ 4 năm 1 lần,
OWASP lại công bố danh sách Top 10 các rủi ro bảo mật ứng dụng lớn nhất, được gọi là
OWASP Top 10. Danh sách này được coi là chuẩn AppSec và được cộng đồng an ninh

mạng tin tưởng. Danh sách bao gồm thông tin mới nhất về các lỗ hổng, các mối đe dọa và
cuộc tấn công cũng như những thủ thuật để phát hiện và khắc phục. Các thành viên dự án
OWASP lập ra danh sách này dựa trên việc phân tích tỉ lệ xuất hiện và mức độ nghiêm


trọng của từng mối đe dọa. OWASP Top 10 năm 2017 được phát hành cơng khai, dựa trên
cuộc thăm dị, kiểm tra hơn 2,3 triệu lỗ hổng tác động đến 50000 ứng dụng, bao gồm 2
bản cập nhật lỗ hổng quy mô lớn và cập nhật các kịch bản tấn công mới. Và sau đây là
danh sách OWASP Top 10 của năm 2017:
A1 – Injection (Lỗi nhúng mã) Nếu ứng dụng của bạn có thể nhận dữ liệu đầu vào
người dùng đến cơ sở dữ liệu back-end, tập lệnh thì ứng dụng của bạn có thể sẽ phải đối
mặt với cuộc tấn công bằng mã nhúng. Lỗi nhúng mã là tập hợp các lỗ hổng bảo mật xảy
ra khi dữ liệu đáng ngờ được chèn vào ứng dụng dưới dạng lệnh hay truy vấn. Các cuộc
tấn công mã nhúng đã biết như: SQL, OS, XXE và LDAP. Trong đó, phổ biến nhất là tấn
cơng SQL, cịn được biết đến là SQLi. Một cuộc tấn công SQLi thành công khi đoạn mã
sai được gửi đến dữ liệu máy chủ và tiếp cận với hệ thống dữ liệu của bạn. Kiểu tấn công
này rất đơn giản và dễ dàng, bất cứ ai truy cập được vào Internet đều có thể thực hiện –
các tập lệnh SQLi ln có sẵn để download hoặc rất dễ dàng mua được.
A2 – Broken Authentication and Session Management Khi các chức năng của ứng
dụng được thực hiện khơng chính xác, tin tặc có thể dễ dàng xâm nhập, ăn cắp thông tin
tài khoản, mật khẩu và khai thác các lỗ hổng khác bằng cách sử dụng các chứng chỉ đã
đánh cắp. Tài khoản mỗi người dùng cá nhân nên là duy nhất, không bị trùng lặp dưới bất
kì hình thức nào. Nếu khơng có bất kì sự quản lý cần thiết nào thì tin tặc có thể lẻn vào,
ngụy trang thành người dùng để ăn cắp thông tin tài khoản, mật khẩu và sử dụng cho
những lần truy cập sau này.
A3 – Cross-site Scripting (XSS) XSS là một lỗ hổng thường thấy trong các ứng
dụng web. XSS cho phép tin tặc đưa các kịch bản phía máy khách vào các trang web
công cộng và trong nhiều trường hợp, tin tặc có thể sử dụng các cơng cụ kiểm soát truy
cập của họ. Chúng thực hiện bằng cách đánh lừa trình duyệt chấp nhận dữ liệu từ một
nguồn không đáng tin cậy. Điều này thường xảy ra khi tin tặc sử dụng mã quen thuộc (ví

dụ như JavaScript) vì các nhà phát triển ứng dụng khơng loại trừ các kí tự này. Các ứng
dụng cho phép người dùng nhập dữ liệu vào mà khơng có tồn quyền kiểm sốt dữ liệu ra
có nguy cơ bị tấn cơng XSS rất cao. Một cuộc tấn cơng XSS thành cơng có thể gây thiệt
hại nghiêm trọng cho các trang web và có khả năng kéo người dùng vào các trang web


khác (thường chứa nhiều mã độc hơn). Một số kiểu tấn công XSS khác như: Stored XSS,
DOM Based XSS và Reflected XSS
A4 – Broken Access Control Khi người dùng bị hạn chế kiểm sốt truy cập, tin tặc
có thể khai thác và truy cập các chức năng hoặc dữ liệu trái phép. Kiểm sốt truy cập
nhằm mục đích kiểm sốt người dùng được ủy quyền được phép hay không được phép
làm gì trong một ứng dụng và để thiết lập quyền kiểm sốt truy cập một cách hợp lí, ứng
dụng phải đảm bảo rằng nó đang nghiêm túc thực hiện kiểm tra ủy quyền và xác thực hợp
lệ để xác định người dùng được đặc quyền, thực tế là những người dùng Internet ngẫu
nhiên. Nguyên nhân lỗi kiểm soát truy cập xảy ra có thể là do các nhà phát triển thường
bị bế tắc trong việc kiểm soát truy cập phù hợp với các quy tắc đặt ra.
A5 – Security Misconfiguration (Sai sót cấu hình an ninh) Do cấu hình an ninh
lỏng lẻo tại các tầng kiến trúc của web như nền tảng, framework, máy chủ, cơ sở dữ liệu
và mã tùy chỉnh nên tin tặc có thể khai thác tấn cơng và có quyền truy cập dữ liệu. Vì thế,
tất cả các tầng kiến trúc của web phải được cập nhật thường xuyên.
A6 – Sensitive Data Exposure Việc tiếp xúc dữ liệu nhạy cảm xảy ra khi các kiểm
soát bảo mật, chẳng hạn như HTTPS không được thực hiện chính xác và để lại lỗ hổng,
giúp tin tặc có thể ăn cắp thông tin tài khoản, mật khẩu, địa chỉ hay bất cứ thơng tin có
giá trị nào khác. Vì vậy, các ứng dụng cần đảm bảo truy cập được xác thực và dữ liệu đã
được mã hóa. Nếu không sẽ dẫn đến việc vi phạm quyền riêng tư ở quy mô lớn. A7 –
Insufficient Attack Protection Để xem xét có bao nhiêu ứng dụng và API phải vật lộn để
phát hiện, ngăn chặn và phản hồi các cuộc tấn công, các chuyên gia phải sử dụng các
phương pháp kiểm thử bảo mật, đánh giá tính dễ tổn thương và sử dụng WAF hay RASP
để phát hiện và vá lỗi nhanh. Người ta chỉ có thể dựa vào chức năng quét mã nguồn dễ bị
tổn thương để bảo vệ các ứng dụng từ các cuộc tấn công không gian đơn giản và tinh vi.

Cả RASP và WAF đều hoạt động bên trong ứng dụng và sẽ phát hiện, ngăn chặn các cuộc
tấn công. RASP hiện là một công nghệ đang được chú ý, nhiều nhà phát triển đang cân
nhắc triển khai trong ứng dụng của họ. Tuy nhiên, các nhà phát triển quan ngại về hiệu
năng, tính năng và cả tính bảo mật của nó. Do đó, tương tự như RASP là IAST được coi
là giải pháp hữu hiệu hơn, được thiết kế để tích hợp trong ứng dụng.


A8 – Cross-Site Request Forgery (CSRF) Một cuộc tấn công CSRF sẽ yêu cầu
người dùng cuối xác thực trên một ứng dụng web, sau đó, tin tặc lợi dụng điều đó để ăn
cắp thơng tin tài khoản người dùng và cướp quyền kiểm sốt trình duyệt của người dùng.
Các cuộc tấn cơng CSRF xảy ra khi HTTP trong trình duyệt của người dùng bị giả mạo,
tin tặc sẽ thao tác trong cookie và các phiên. Trình duyệt và ứng dụng sẽ bị đánh lừa rằng
các yêu cầu này là hợp pháp và cho phép tin tặc đánh cắp thông tin một cách lặng lẽ.
A9 – Using Components with Known Vulnerabilities Nguyên nhân của lỗi này là
do việc sử dụng mà không kiểm duyệt các thư viện, plug-in, ứng dụng… đã tồn tại lỗ
hổng (thường là mã nguồn mở công cộng). Tin tặc sẽ lợi dụng từ đây để tấn công hệ
thống thông qua phương pháp SQLi và XSS.
A10 – Underprotected APIs API ngày càng trở nên phổ biến trong thế giới ứng
dụng ngày nay bởi các ứng dụng thường được viết bằng JavaScript và sử dụng API để lấy
dữ liệu. Do đó, API đóng vai trị như một liên kết giữa các nền tảng khách hàng phức tạp
và một loạt các ứng dụng hay dịch vụ web. Tuy nhiên, bản thân các API chứa các lỗ hổng
khiến ứng dụng của chúng ta rất dễ bị tấn công. API cũng chứa nhiều giao thức phức tạp
như SOAP/XML, REST/JSON, RPC và GWT mà kiểm thử bảo mật không thể kiểm tra
thành công, khiến các API trở thành điểm mù quan trọng trong các tổ chức đang sử dụng
chúng.


CHƯƠNG 2
CƠNG CỤ NESSUS
2.1 Giới thiệu.

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, được phát hành miễn phí cho việc sử dụng phi thương mại.
Lịch sử
Dự án Nessus được Re Deraison khởi động trong năm 1998 nhằm cung cấp cho
cộng đồng Internet một máy quét bảo mật từ xa. Nessus là cơng cũ miễn phí,tuy nhiên
Tenable tính 100$/tháng trên mỗi máy quét cho khả năng thực hiện cấu hình kiểm thử
PCI, CIS, FDCC và các chuẩn cấu hình khác, và cho việc hỗ trợ về kỹ thuật, cấu hình
kiểm thử bảo mật SCADA, các bản vá và bài kiểm thử mạng mới nhất, cho khả năng
kiểm thử cấu hình chống virus và cho khả năng thực hiện tìm kiếm dữ liệu nhạy cảm như
thẻ tín dụng, số an sinh xã hội và nhiều loại dữ liệu khác của công ty.
Tháng 7 năm 2008, Tenable phát hành giấy phép hoàn chỉnh cho người dùng cá nhân
toàn quyền truy cập vào các bản vá plugins. Một giấy phép chuyên nghiệp cũng được
phát hành mục đích thương mại.
Hoạt động của Nessus
Nessus cho phép quét các loại lỗ hổng:
 Lỗ hổng cho phép một hacker từ xa kiểm soát hoặc truy cập dữ liệu nhạy cảm trên
hệ thống.
 Cấu hình sai (ví dụ như chuyển tiếp thư mở, các bản vá lỗi bị thiếu,...).
 Mật khẩu mặc định, một vài mật khẩu thường được sử dụng, và mật khẩu trống
trên các tài khoản hệ thống. Nessus cũng có thể dùng Hydra (một công cụ bên thứ
ba) để thực hiện một cuộc tấn công từ điển.
 Tấn công từ chối dịch vụ bộ nhớ stack TCP/IP bằng gói tin độc hại
 Chuẩn bị cho việc kiểm tra bảo mật (PSI DSS).
Ban đầu, Nessus bao gồm hai phần chính; nessusd - dịch vụ luôn chạy Nessus - thực hiện
quét, và nessus client - chương trình con - điều khiển các tùy chọn quét và xuất kết quả
cho người sử dụng. Các phiên bản sau của Nessus (4 và mới hơn) sử dụng một máy chủ
web cung cấp cùng tính năng giống như Nessus client.


Trong hoạt động thông thường, Nessus bắt đầu bằng cách quét các cổng mạng qua một

trong bốn bộ quét cổng mạng tích hợp sẵn (hay nó có thể sử dụng phần mềm quét
AmapM hay Nmap) để xác định cổng đang mở trên mục tiêu và sau đó cố gắng thực hiện
nhiều cách tấn công trên các cổng mở. Các bài kiểm tra lỗ hổng, có sẵn bằng việc đăng
ký, được viết bằng NASL (ngôn ngữ tấn công dạng kịch bản Nessus - Nessus Attack
Scripting Language), một ngôn ngữ kịch bản tối ưu cho tương tác mạng.
Hằng tuần, công ty Tenable phát hành hàng chục bản kiểm tra lỗ hổng bảo mật mới (gọi
là trình cắm). Các bản kiểm tra này (gọi là Home Feed) đều miễn phí cho cơng chúng;
tuy nhiên các khách hàng thương mại lại không được phép sử dụng các bản này. Bản
Proffessional Feed (khơng miễn phí) được thêm quyền hỗ trợ và thêm các tính năng bổ
sung (ví dụ như kiểm tra các tập tin, kiểm tra việc tuân thủ, và các trình cắm phát hiện lỗ
hổng phát hiện bổ sung).
Kết quả quét có thể được báo cáo bằng nhiều định dạng khác nhau như dạng văn bản
thuần, XML, HTML và theo ngôn ngữ LaTex. Kết quả cũng có thể lưu trong một cơ sở
kiến thức dành cho việc gỡ lỗi. Trên UNIX, có thể tự động hóa việc qt bằng cách sử
dụng cơng cụ dịng lệnh. Có rất nhiều cơng cụ cả thương mại và miễn phí, cơng cụ mã
nguồn mở cho cả hai nền tảng UNIX và Windows để quản lý máy quét Nessus dạng đơn
hoặc dạng phân tán.
Nếu người dùng vơ hiệu hóa tùy chọn 'kiểm tra an toàn' (safe checks), một vài bài kiểm
tra lỗ hổng của Nessus có thể khiến các dịch vụ hay hệ điều hành có lỗ hỗng bảo mật
dừng hoạt động. Điều này cho phép người dùng kiểm tra sức kháng cự của một thiết bị
trước khi đưa nó vào sản xuất.
Nessus cung cấp thêm tính năng khác ngồi tính năng kiểm tra các lỗ hổng mạng đã biết.
Ví dụ, Nessus có thể sử dụng thơng tin xác thực của Windows để kiểm tra mức độ các
bản vá trên máy tính Windows, và có thể thực hiện dị mật khảu bằng tấn công từ điển
hay dạng vét cạn. Nessus 3 và các phiên bản sau có khả năng kiểm thử hệ thống nhằm
chắc chắn rằng hệ thống đã được cấu hình theo các chính sách bảo mật cụ thể, như chính
sách hướng dẫn của NSA cho các máy chủ Windows. Chức năng này sử dụng tệp tin
kiểm thử độc quyền của Tenable hoặc giao thức nội dung an toàn tự động (SCAP).



Nessus Terminology
Policy - Cài đặt cấu hình để tính hành quét.
Scan - Liên kết danh sách IP hoặc tên miền với chính sách.
• Qt cơ bản.
• Bản mẫu.
• Mẫu được lên lịch (Chỉ dành cho ProfessionalFeed).
Resort - Kết quả của một lần quét.
Plugin - Kiểm tra bảo mật hoặc cửa sổ cài đặt quét.
Plugin Family - Một nhóm các plugin có điểm chung (ví dụ: FTP, Máy chủ web,
Cisco).
Nessus Customization Options
Reports Templates - Được viết bằng ngơn ngữ lập trình XSLT (XSL (eXtensible
Stylesheet Language) là ngôn ngữ tạo kiểu cho XML. XSLT là viết tắt của XSL
Transformations,).
Plugin - Được phát triển dựa trên NASL (Nessus Attack Scripting Language, là
một ngôn ngữ kịch bản được sử dụng bởi máy quét dễ bị tổn thương như Nessus
và OpenVAS).
Audit Files - Được phát triền bằng Pseudo-XML (chỉ có trên bản
ProfessionalFeed).
Các thành phần chính của Nessus
Nessus có các thành phần chính:
- Nessus Engine: nhận, thực thi và trả lời lại các 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
(một tập các câu lệnh script của ngôn ngữ kịch bản NASL).
- 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 (nessusd): thực hiện nhậ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ả qt lại 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 kết quả 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.
2.1.1 Kiến trúc của Nessus với mơ hình Client-Server.
Ban đầu, Server sẽ tổng hợp tất cả các lỗi bảo mật hiện nay. Khi một máy tính
Client yều cầu được kiểm tra các lỗi có tồn tại trên máy tính của mình hay khơng, đầu
tiên chúng phải được kiểm tra xem có kết nối tới server hay không, sau khi đã kiểm tra
kết nối chúng sẽ được quét tùy thuộc vào các mức độ u cầu khi qt.
Mơ hình này sẽ dựa vào kết quả sau khi máy Client yêu cầu kiểm tra, và dựa
vào những lỗi đã được xác định có thể đưa ra những những hướng giải quyết một
cách nhanh nhất.

Hình 1: Mơ hình kiến trúc Nessus dạng Client-Server.
2.1.2 Mơ hình Nessus Knowledge Base.
Mơ hình Nessus Knowledge Base là gì?
- Mơ hình này khá đơn giản nó thu thập danh sách các lỗi bảo mật khác đang
được thử nghiệm. Nó cho phép bổ sung, hoặc chia sẻ những thông tin về hệ
thống đang được kiểm tra.
Phương thức hoạt động của Nessus Knowledge Base:
Giả sử chúng ta thực hiện quét kiểm tra lỗi bảo mật trên trang Server
at5akma.com, quá trình kiểm tra hồn tất và khơng thấy một lỗi bảo mật nào có


trên đó. Lúc này Nessus Knowledge Base được tạo ra cho máy chủ này
(/usr/local/var/nessus/users/mh/ kbs/at5a.com) cho thấy khoảng 1800 lỗi, Người ta
phải nhớ rằng Nessus Knowledge Base cũng chỉ có khoảng 1725 lỗi đã được
trusted. Và những thơng số đó được sử dụng cho những nghiên cứu sau này để
đảm bảo rằng liên tục cập nhật những lỗi bảo mật mới nhất.

2.1.3 Mơ hình Nessus Plugin.
Nessus Plugin là gì?
- Là một chương trình dùng để kiểm tra tính bảo mật của một trang web từ xa,
máy tính cục bộ hay những thiết bị bảo vệ thông tin...
Hoạt động của Nessus Plugin:
Mơ hình hoạt động của Nessus Plugin khá đơn giản, ta có thể dùng gia diện
hoặc dùng command line để quét. Bằng việc sử dụng Plugin đã có sẵn sau khi cài
để kiểm tra tính bảo mật.
Khi thơng tin về các lỗ hổng mới được phát hiện và phát hành vào phạm vi công cộng
chung, Tenable Research thiết kế các chương trình để phát hiện chúng. Các chương trình
này được đặt tên plugin và được viết bằng Ngôn ngữ kịch bản tấn công Nessus (NASL).
Các plugin chứa thông tin về lỗ hổng, một tập hợp các hành động khắc phục đơn giản và
thuật toán để kiểm tra sự hiện diện của vấn đề bảo mật. Tenable Research đã xuất bản


124957 plugin, bao gồm 49351 ID CVE và 29510 ID Bugtraq.

Hình 2: Plugin Nessus.
Ngồi ra người dùng cũng có thể tự viết Plugin cho Nessus.
2.2 Cài đặt.
Như đã nói ở phần trên 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, được phát hành miễn phí cho việc sử
dụng phi thương mại.
Tuy nhiên miên phí bản Nessus Home và tính phí Nessus Professional, thật ra 2 bản này
khác nhau là giới hạn IP, bản Home có thể scan 1 lúc 16 IP và bản Pro là không giới hạn.
Nessus hỗ trợ khá nhiều nền tảng và cài trên Kali Linux khá đơn giản như sau :


B1: Tải gói cài đặt từ trang chủ Tenable ( :
Nessus-8.2.3-debian6_amd64.deb ( Nessus phiên bản 8.2.3 ).

B2: Dùng Terminal chạy lệnh cài đặt.

Hình 3: Cài đặt Nessus.
Vậy là hồn thành bước cài đặt.
Khởi chạy Nessus bằng lệnh:

Hình 4: Khởi chạy Nessus.
Mở links “https://[ IP máy chủ]:8834/” (Links sẽ được hiển thị trong bước cài đặt phía
trên ) trong trình duyệt.
Theo mặc định, Nessus được cài đặt và quản lý bằng HTTPS và SSL sử dụng cổng 8834.
Cài đặt mặc định của Nessus sử dụng chứng chỉ SSL tự ký.
Trong phần cài đặt Nessus dựa trên web, thông báo sau về SSL xuất hiện:
You are likely to get a security alert from your web browser saying that

the

SSL certificate is invalid. You may either choose to temporarily accept the risk, or you
can obtain a valid SSL certificate from a registrar.


Thông tin này đề cập đến một thông báo liên quan đến bảo mật mà bạn gặp phải khi truy
cập Giao diện người dùng Nessus (https: // [IP máy chủ]: 8834).
Ví dụ cảnh báo bảo mật
+ sự cố riêng tư kết nối
+ một trang web không đáng tin cậy
+ kết nối khơng an tồn
Vì Nessus đang cung cấp chứng chỉ SSL tự ký, điều này hồn tồn bình thường.
Nessus cho phép “Bypassing SSL warnings” trên trình duyệt sử dụng các bước dưới đây:
Trình duyệt
Google Chrome

Mozilla Firefox
Micrososft Internet Explorer
2.4 Đăng nhập Nessus.

Hướng dẫn
Chọn Advanced, và tiếp tục Proceed to example.com
(unsafe).
Chọn I Understand the Risks và tiếp tục Add
Exception. Sau đó chọn Get Certificate và cuối cùng
chọn Confirm Security Exception.
Chọn Continue to this website (not recommended).

Như đã được đề cập ở phần trên, theo mặc định Nessus chạy tại cổng 8834 và có
thể truy cập bằng nhiều trình duyệt web khác nhau.


Hình 5 : Cửa sổ đăng nhập của Nessus.
Nessus là phiên bản miễn phí nhưng yêu cầu người dùng phải đăng ký :
/>
Hình 6: Nessus tự động cài đặt các plugin cần thiết.
Việc cài đặt cơng cụ Nessus đã hồn tất, ở phần tiếp theo chúng ta sẽ tìm hiểu kỹ hơn về
Nessus
Sau khi hoàn thành cài đặt và đăng nhập vào hệ thống thì giao diện ban đầu sẽ như
hình đây cũng là Tab My Scans nơi mà lưu trữ, liệt kê kết quả quét bạn đã tiến hành,
hiện đang chạy hoặc đã được import.


Hình 7: Giao diện sau khi đăng nhập thành cơng vào công cụ Nessus.
2.4 Templates.
Templates hoặc hiểu theo nghĩa tiếng Việt là Mẫu được sử dụng để tạo thuận lợi

cho việc tạo Scan và Policies.
Khi bạn lần đầu tiên tạo Scan hoặc Policy , phần Scan Templates hoặc phần Policy
Templates sẽ xuất hiện tương ứng. Templates được cung cấp cho scanners và agents.Nếu
bạn đã tạo các tùy chỉnh Policy, chúng sẽ xuất hiện trong tab User Defined. Nessus cũng
cho phép tùy chỉnh Policy khi lần đầu tiên tạo Scan.
Nessus cung cấp hàng loạt các Scan Templates và Policy Templates đáp ứng cho nhiều
mục đích quét khác nhau, tuy nhiên ở phiên bản Home chỉ một số được sử dụng miễn
phí, số cịn lại chỉ có trên phiên bản ProfessionalFeed và phải trả phí.


Hình 8: Scan Templates.
Bảng 1: Nhóm được dùng miễn phí.
Scan Templates
Advanced Dynamic Scan
Advanced Scan
Badlock Detection
Bash Shellshock Detection
Basic Network Scan
Credentialed Patch Audit
DROWN Detection
Host Discovery
Intel AMT Security Bypass
Malware Scan
Shadow Brokers Scan
Spectre and Meltdown
WannaCry Ransomware
Web Application Tests

Mơ tả
Cấu hình qt plugin động mà khơng có khuyến nghị.

Cấu hình qt mà khơng sử dụng bất kỳ khuyến nghị.
Kiểm tra từ xa và cục bộ cho CVE-2016-2118 và CVE2016-0128.
Kiểm tra từ xa và cục bộ cho CVE-2014-6271 và CVE2014-7169.
Quét toàn bộ hệ thống phù hợp với mọi máy chủ.
Xác thực với máy chủ lưu trữ và liệt kê các bản cập nhật
bị thiếu.
Kiểm tra từ xa cho CVE-2016-0800.
Một quét đơn giản để khám phá các máy chủ trực tiếp
và các cổng mở.
Kiểm tra từ xa và cục bộ cho CVE-2017-5689.
Quét phần mềm độc hại trên hệ thống Windows và
Unix.
Quét các lỗ hổng được tiết lộ trong vụ rò rỉ Shadow
Brokers
Kiểm tra từ xa và cục bộ cho CVE-2017-5753, CVE2017-5715 và CVE-2017-5754
Kiểm tra từ xa và cục bộ cho MS17-010
Quét các lỗ hổng web được công bố và không xác định


Bảng 2: Nhóm chỉ phải trả phí:
Scan Templates
Audit Cloud Infrastructure
Internal PCI Network Scan
MDM Config Audit
Mobile Device Scan

Mô tả
Kiểm tra cấu hình của dịch vụ đám mây của bên thứ ba.
Thực hiện quét lỗ hổng PCI DSS (11.2.1) bên trong.
Kiểm tra cấu hình quản lý thiết bị di động

Đánh giá các thiết bị di động thông qua Microsoft
Exchange hoặc MDM.
Offline Config Audit
Kiểm tra cấu hình của các thiết bị mạng.
PCI Quarterly External Scan Được chấp thuận để quét bên ngoài hàng quý theo yêu
cầu của PCI.
Policy Compliance Auditing Cấu hình hệ thống kiểm toán dựa trên cơ sở đã biết.
SCAP and OVAL Auditing
Hệ thống kiểm toán sử dụng định nghĩa SCAP và OVAL

CHƯƠNG III
TRIỂN KHAI SỬ DỤNG CƠNG CỤ NESSUS DỊ QUÉT, KHAI THÁC VÀ PHÂN
TÍCH LỖ HỔNG BẢO MẬT.
Mục tiêu:
 Dò quét lỗ hổng bảo mật trên website dựa trên hai templates: Web
Application Tests và Advanced Scan.
 Triển khai dò quét lỗ hổng bảo mật trên website bằng công cụ thứ 2 là
OpenVAS nhằm đối chiếu kết quả và đưa ra được báo cáo chính xác
nhất.
3.1 Tổng quan về lỗ hổng bảo mật trên Website.


Sự tăng trưởng về số lượng và kích thước của các trang web làm tăng nhu cầu bảo
mật tốt hơn các trang web đó. Kiểm tra thủ cơng và phát hiện các lỗ hổng web có thể rất
tốn thời gian. Máy quét lỗ hổng Web tự động giúp phát hiện các lỗ hổng trong các ứng
dụng web. Với những tiến bộ trong điện toán đám mây, dịch vụ web và các ứng dụng dựa
trên trình duyệt, hầu hết các doanh nghiệp đều dựa vào việc thực hiện giao tiếp kinh
doanh và giao dịch trực tuyến của họ. Tuy nhiên, các trang web và ứng dụng web này
khơng hồn tồn an tồn. Khoảng 30.000 trang web đang bị tấn cơng mỗi ngày. Hơn nữa,
chín mươi phần trăm mật khẩu dễ bị đánh cắp . Số lượng trang web và ứng dụng trực

tuyến ngày càng tăng làm tăng tính cấp bách của việc bảo mật các website.
Theo thông kê phần lớn nguyên nhân tồn tại lỗ hổng trên website bởi các ứng dụng trên
website có lỗ hổng. Biểu đồ dưới đây cho thấy các loại lỗ hổng khác nhau đã được tìm
thấy.

Hình 9: Biểu đồ các loại lỗ hổng khác nhau đã được tìm thấy.
3.2 Dị qt lỗ hổng bảo mật trên website với Tempale Web Application Tests
3.2.1 Tổng quan về dò quét ứng dụng Web.
Sự phát triển nhanh chóng của các ứng dụng web đã buộc các kỹ thuật kiểm tra
phát triển nhanh hơn trong nỗ lực khơng chỉ tìm ra các lỗ hổng đã biết mà cịn tìm ra mối
đe dọa tiếp theo. Lịch sử đã dạy chúng ta rằng các cuộc tấn cơng XSS có thể gây ra thiệt


hại nghiêm trọng trên diện rộng, có thể là chuyện nhỏ để thực hiện và có thể là sự khác
biệt giữa việc đạt được tuân thủ PCI DSS hay không.
Phát triển và thực hiện một phương pháp đánh giá ứng dụng web thích hợp có thể là một
cơng việc cực kỳ tốn kém và tốn kém. Khơng có hai ứng dụng web nào giống nhau, vì
vậy mọi thử nghiệm phải được thực hiện triệt để vì một lỗ hổng duy nhất có thể dẫn đến
thảm họa cho hệ thống, mạng hoặc tổ chức. Để giải quyết vấn đề, ứng dụng web nằm trên
một máy chủ phải được kiểm tra kỹ lưỡng; một ứng dụng web không được bảo mật đúng
cách có thể bị xâm phạm nhanh chóng thơng qua một dịch vụ khơng an tồn trong hệ
điều hành cơ bản.
Kiểm tra kỹ lưỡng một ứng dụng web đòi hỏi phải tuân theo một phương pháp chi tiết
dựa trên nhiều năm kinh nghiệm. Việc kiểm tra nền tảng hệ điều hành và máy chủ web
thường nằm trong phạm vi đánh giá mạng, nhưng vì chúng rất quan trọng đối với tính
bảo mật của các ứng dụng mà chúng hỗ trợ, nên việc kiểm tra chúng cũng quan trọng
không kém. Bản thân máy chủ web có thể chứa nhiều lỗ hổng liên quan đến ứng dụng
như rị rỉ thơng tin tiêu đề, phương thức HTTP nguy hiểm, thư mục có thể được lập chỉ
mục, sử dụng không đúng chứng chỉ SSL, mật mã yếu và giao thức cho các kết nối an
toàn. Một ứng dụng phải được xem xét từ nhiều khía cạnh khác nhau tương ứng với các

loại người dùng: không được xác thực, khách, người dùng thông thường, người dùng
quản trị và bất kỳ vai trò tùy chỉnh cụ thể nào cho ứng dụng.
Sự phức tạp và tính độc đáo của mỗi ứng dụng web khiến cho việc sử dụng máy quét lỗ
hổng tự động trở nên thiếu thận trọng. Một người kiểm tra ứng dụng lành nghề thường
tìm thấy hàng tá lỗ hổng mà máy quét bỏ sót, nhiều trong số đó rất quan trọng. Máy qt
tự động khơng thể cho biết trang nào hoặc điều khiển biến, hiểu sự khác biệt trong vai trị
tài khoản hoặc đốn trực giác những lỗi mà nhà phát triển có thể mắc phải. Máy qt tự
động là một cơng cụ hữu ích, nhưng chỉ có trong tay của một kiểm tốn viên lành nghề có
kinh nghiệm để xác nhận các phát hiện và trực giác của máy quét để xác định các vấn đề
bổ sung. Bất kể máy quét ứng dụng chính xác hay kỹ lưỡng đến mức nào, nó khơng thể
thực hiện tất cả các thử nghiệm cần thiết để thực hiện kiểm tốn tồn diện ứng dụng web.
3.2.2 Các tính năng kiểm toán ứng dụng web của Nessus.


×