Ví dụ một script đơn giản, thực hiện kết nối đến cổng FTP (21), đọc banner, sau đó hiển thị lên màn hình. Đoạn script sau thực hiện tác vụ trên:
soc = open_sock_tcp(21); if ( ! soc ) exit(0);
banner = recv_line(socket:soc, length:4096); display(banner);
Lưu script với tên “test.nasl” chẳng hạn, sau đó thực hiện từ dòng lệnh. Nếu trên Linux, nasl có đường dẫn đầy đủ là “/usr/local/bin/nasl”, còn trên Windows, nó nằm trong thư mục “C:\Program Files\Tenable\Nessus\nasl.exe”:
$ /usr/local/bin/nasl –t ftp.nessus.org test.nasl ** WARNING : packet forgery will not work ** as NASL is not running as root
220 ftp.nessus.org Ready
Để tránh bị lỗi, ta nên chạy nasl với quyền quản trị, trên Linux là root (hoặc tài khoản có quyền sudo), trên Windows là Administrator.
Nhóm thử dùng đoạn script trên để lấy banner host FTP của trang http://kmasecurity.net:
Tìm địa chỉ host FTP của trang web: Ta có thể sử dụng công cụ như http://www.whoishostingthis.com
Hình 2.1 Địa chỉ host FTP của kmasecurity.net
Ping và lấy thử banner của host FTP:
KẾT LUẬN
Qua quá trình tìm hiểu, thực hiện nhóm đã đạt được một số kết quả sau: - Đã tìm hiểu được cấu trúc, các thành phần cơ bản của Nessus. - Biết cách sử dụng Nessus để quét các lỗ hổng.
- Đã tiến hành tìm hiểu về cấu trúc của ngôn ngữ scipt NASL, thử nghiệm một số script đơn giản.
Với yêu cầu của đề tài, việc thiết kế một plugin riêng, hoàn toàn mới để quét lỗi bảo mật, nhóm chúng em đã gặp phải một số khó khăn như:
- Nhóm không thể tiến hành kiểm tra một lượng rất lớn các Plugin có sẵn của nhà cung cấp (với phiên bản 5.0 hiện tại có khoảng 130 file .inc và 48460 file .nasl) để kiểm tra xem Plugin định xây dựng liệu có trùng với Plugin có sẵn hay không.
- Việc thiết kế Plugin riêng đòi hỏi phải có hiểu biết sâu sắc về một lĩnh vực bảo mật nhất định.
Từ kết quả nghiên cứu của đề tài, và từ những hạn chế trên, nhóm đặt ra vấn đề và định hướng mới trong tương lai, đó là:
- Tiếp tục nghiên cứu, tìm hiểu sâu thêm về ngôn ngữ NASL. Đồng thời tăng cường việc thử nghiệm các script NASL để có thể thực hiện “nhuần nhuyễn” các tác vụ quét lỗ hổng bảo mật cơ bản.
- Tìm hiểu sâu thêm về các lỗi bảo mật, cách kiểm tra và khai thác lỗi bảo mật.
TÀI LIỆU THAM KHẢO
[1] Michel Arboi, “The NASL2 reference manual”, Revision 1.65, 2005.
[2] Russ Rogers, Mark Carey, Paul Criscuolo, Mike Petruzzi, “Nessus Network
Auditing, Second Edition”, Syngress Publishing, Inc. ISBN 13: 978-1-59749-208-
9, 2008.
PHỤ LỤC
A. Hướng dẫn cài đặt và sử dụng Nessus 5.0 trên Windows: 1. Download nessus:
- Đầu tiên ta vào trang http://www.nessus.org/products/nessus/nessus- download-agreement và chấp nhận điều khoản của Tenable Network Security.Sau khi chấp nhận điều khoản chúng ta sẽ được đưa đến trang download và tùy chọn cho các phiên bản và các hệ điều hành. Ở đây chúng ta cài đặt trên Windows ta sẽ tải gói Nessus-5.0.1-i386.msi( 32 bit), hoặc Nessus-5.0.1-x86_64.msi(64 bit).
2. Cài đặt:
- Đầu tiên phải đảm bảo rằng user đang sử dụng phải có đủ quyền thực thi và cài đặt các chương trình.
Trong quá trình cài đặt Nessus sẽ nhắc nhở một số thông tin cơ bản trước khi bắt đầu bạn phải đồng ý để vào bước tiếp theo.
Lựa chọn Complete sau đó chọn Install để tiến hành cài đặt Nessus lên máy.
Chọn Finish để hoàn tất cài đặt.
Nessus Home
Directory
Nessus Sub-Directoris Purpose Program
Files\Tenable\Nessus
\conf file cấu hình
\nessus\plugin nessus plugin
\nessus\user\<username>kbs User knowledgebase saved on disk
\nessus\logs nessus log file Để chạy được nessus bạn phải thực hiện các bước cấu hình sau đây:
- Đăng ký cho nessus bằng cách truy cập vào trang nessus.org để nhận được những bản cập nhật.
- Thực hiện một bản cập nhật plugin.
- Cấu hình lựa chọn là máy chủ Nessus hoặc Client. - Quản lý người dùng Nessus.
Để Chuyển đến Nessus manager bạn chuyển đến Star menu và thực tiến hành truy câp bằng cách sau: Start -> Programs -> Tenable Network Security -> Nessus(64) -> Nessus web Client.
Sau đó bạn Click và trang http://www.nessus.org/register để đăng ký thông tin.
Tại đây có 2 mục lựa chọn làm việc tại nhà hoặc cho công ty nào đó. Ở đây mình chọn làm việc tại nhà.
Sau đó ta được chuyển đến 1 trang và phải chấp nhận các điều khoản của công ty.
Hoàn tất quá trình đăng ký. Sau đó truy cập vào mail đã đăng ký để lấy code active.
Tại trang này cần thiết lập user và pasword, user này là quyền root(cao nhất có thể phân quyền, thêm chỉnh sửa và xóa user mới, thực thi nessus).
Bước tiếp theo tiến hành nhập code để active. sau đó chọn Next. bạn phải chắc rằng đã được kết nối internet thì mới hoàn tất được quá trình đăng ký.
Quá trình đăng ký xong và chọn Next: Download plugins để cập nhật.
Quá trình cài đặt hoàn tất và chuyến đến trang xác thực user và đăng nhập vào Nessus.
Tìm hiều về các chính sách của Nessus
Sau khi tiến hành xác thực user xong, chúng ta được chuyến đến trang có giao diện như sau.
Trong phần User liệt kê tất cả các user đã đươc khởi tạo, tại đây bạn có thể tiến hành thêm bớt, chỉnh sửa các quyền hạn với mỗi user.
Một chính sách của Nessus bao gồm các cấu hình tùy chọn để thực thi trong quá trình kiểm tra lỗi bảo mật. Các tùy chọn này bao gồm, nhưng chúng không giới hạn các thông số kiểm soát các khía cạnh kĩ thuật quét như thời gian tạm ngưng, số lượng máy chủ, các loại cổng máy quét và nhiều hơn nữa.
Cấp quyền cho phép quét tại local (ví dụ: Window, SSH), phải xác thực quét cơ sở dữ liệu Oracle, HTTP, FTP, POP, IMAP, hoặc xác thực dựa trên Kerberos.
Dựa trên các thông số quét Granular family hoặc plugin based.
Cơ sở dữ liệu phải tuân thủ các chính sách kiểm tra, độ dài của báo cáo, thiết lập các service phát hiện khi quét, Unix tuân thủ kiểm tra...
Các chính sách mặc định của Nessus
Nessus có một số chính sách mặc định được cung cấp bởi công ty Tenable Network Security.Họ cung cấp một số các chính sách mẫu để hợ trỡ bạn trong việc tạo ra các chính sách tùy chọn cho các đợn vị hoặc sử dụng để quét các tài nguyên của bạn.Chắc chắn rằng bạn phải hiểu được được các chính sách tùy chỉnh từ đó bạn sẽ tạo ra được các chính sách mới trong việc kiểm tra hệ thống của bạn.
External Network Scan Tùy chỉnh này dùng để quét các máy ở bên ngoài. Plugin sẽ liên kết với các ứng dụng lỗ hổng web đã biết(CGI Abuses and CGI Abuses: XSS plugin families). Ngoài ra, tất cả các 65536 cổng (Port 0 thông qua cổng cắm riêng biệt) thì được quét qua từng target.
Internal Network Scan Chính sách này được điều chỉnh cho hiệu suất tốt hơn, có tính đến tài khoản mà nó có thể được sử đụng để quét các mạng nội bộ với nhiều máy chủ, một vài các dịch vụ đang được sử dụng, và một vài thiết bị được gắn vào hệ thống như là máy in. “CGI Abuse” plugins không được kết nối và một bộ chuẩn cài đặt cho các cổng được quét, không phải tất cả 65536 port.
Web App Tests Nếu bạn muốn quét cho hệ thống của bạn và Nessus có tự lựa chọn biết và không biết những lỗi bảo mật trong ứng dụng web của bạn. Đây chính là chính sách dùng cho bạn để quét. Những mắt xích liên kết trong chính sách của Nessus được kết nối, Nó được dùng để phát hiện những web site và tìm các lỗi bảo mật trong mỗi thông số như : XSS, SQL, command injection....
Prepare for PCI DSS audits
Chính sách này cho phép xây dựng trong kiểm tra tuân thủ PCI DSS, so sánh kết quả với các Standards và
Produces và đưa ra một bản ghi chi tiết cho việc xây dụng một hệ thống phù của bạn. Nó rất quan trọng trong việc đánh giá và xây dựng hệ thống theo chuẩn PCI DSS.
Kiểm thử:
Để tiến hành thực hiện kiểm tra lỗi bảo mật ta chuyển đến mục Scans
Tại giao diện này trong phần:
- Name :tên của trang web bạn muốn scan, ở đây mình scan trang at4akma.com.
- Type: Kiều thực hiện, tùy chọn lúc này là Run Now thực hiện ngay bây giờ. - Polocy: Trong phần này có 4 mục lựa chọn, đây là polocy mặc mặc của
Nessus, vì kiểm tra web lên ta chọn là Web App Test.
- Scan Target: trong mục này bạn phải điền tên miền hoặc tên địa chỉ của trang web, ở đây mình sẽ điền tên miền.
Sau khi điền đầy đủ thông tin ta chọn Launch Scan.
Để tiến hành kiểm tra xem qua trình Scan có phát hiện lỗ hổng gì hay không ta click đúp vào và sẽ hiện ra một bảng kết quả trong quá trình kiểm tra.
Đây là kết quả kiểm tra trang at4akma.com và vẫn còn đang tiếp tục kiểm tra. Để xem thông tin thêm về lỗi này ta click tiếp vào lỗi đó.
B. Phân công công việc trong nhóm:
STT Nội dung công việc Thành viên phụ trách
1. - Viết báo cáo chương 1: tìm hiểu về tổng quan, các thành phần cơ bản của Nessus. - Thực hiện cài đặt, sử dụng Nessus trên
Windows.
Hà Văn Khánh
2. - Viết báo cáo chương 2: tìm hiểu về ngôn ngữ NASL, cấu trúc ngữ pháp, các hàm, tiến hành thông dịch, thử nghiệm script.
Nguyễn Vân Luân
3. - Cài đặt, đăng ký, chạy thử Nessus.
- Kiểm tra thử các thành phần trong Nessus.
Đặng Văn Cường
4. - Chụp các hình cài đặt, quay video màn hình.
- Chỉnh sửa lại ngữ pháp, cách trình bày văn bản.