TỔNG QUAN
Tổng quan về đồ án
Đồ án sẽ giới thiệu cho chúng ta biết về Vulnerability Analysis, nhiệm vụ của Vulnerability Analysis.
Liệt kê là bước quan trọng trong quá trình tìm kiếm thông tin của tổ chức, diễn ra sau khi đã quét để thu thập và phân tích các dữ liệu như tên người dùng, tên máy, tài nguyên chia sẻ và dịch vụ Quá trình này cũng bao gồm việc chủ động truy vấn hoặc kết nối tới mục tiêu nhằm thu thập thông tin mà hacker quan tâm.
Common vulnerabilities today include Injection flaws, Broken Authentication, Cross-Site Scripting (XSS), Insecure Direct Object References, and Sensitive Data Exposure.
Nhiệm vụ đồ án
Phân tích lỗ hổng giúp xác định các điểm yếu bảo mật trong phần mềm, cung cấp cái nhìn sâu sắc về các kỹ thuật tiên tiến để phát hiện lỗ hổng có thể bị khai thác Bằng cách sử dụng thông tin này, bạn có thể áp dụng nhiều thủ thuật và kỹ thuật khác nhau để thực hiện các cuộc tấn công vào hệ thống mục tiêu.
Cấu trúc đồ án
Đồ án gồm có 4 chương:
Phần này giới thiệu tổng quan, nhiệm vụ của đồ án, giúp chúng ta hiểu nội dung căn bản của đồ án
Chương 2: Cơ sở lý thuyết
Phân tích lỗ hổng (Vulnerability Analysis) là một khái niệm quan trọng trong lĩnh vực bảo mật, giúp xác định và đánh giá các điểm yếu trong hệ thống Hiện nay, nhu cầu về ứng dụng phân tích lỗ hổng ngày càng tăng do sự gia tăng các mối đe dọa an ninh mạng Các công nghệ tiên tiến như AI và machine learning đang được áp dụng để nâng cao hiệu quả của quá trình này Bên cạnh đó, việc xây dựng các mô hình bảo mật phù hợp cũng là một yếu tố quan trọng nhằm bảo vệ thông tin và hệ thống khỏi các cuộc tấn công.
Hệ thống đánh giá lỗ hổng(Vulnerability Analysis)
- Hệ thống đánh giá lỗ hổng chung (CVSS)
- Hệ thống lỗ hổng và phơi nhiễm thông thường (CVE)
Chương 3: Kết quả thực nghiệm
Phần này sẽ cho chúng ta thấy mô hình Vulnerability Analysis, giới thiệu các công cụ để thực hiện và phân tích Vulnerability Analysis.
Chương 4: Kết luận và hướng phát triển của đồ án
Phần này sẽ rút ra những lưu ý và lời khuyên khi sử dụng Vulnerability Analysis và đưa ra hướng phát triển để giao thức hoàn thiện hơn.
CƠ SỞ LÝ THUYẾT
Phân tích lỗ hổng bảo mật (Vulnerability Analysis)
Phân tích lỗ hổng bảo mật là bước quan trọng trong quy trình quét và hacking Trong chương này, chúng ta sẽ khám phá các khái niệm liên quan đến đánh giá lỗ hổng bảo mật, các bước thực hiện, các loại đánh giá, công cụ sử dụng và những vấn đề quan trọng khác cần lưu ý.
Khái niệm về đánh giá lỗ hổng bảo mật
Nhiệm vụ cơ bản của penetration tester là xác định các lỗ hổng bảo mật trong hệ thống Đánh giá lỗ hổng bảo mật bao gồm việc phát hiện những điểm yếu, lỗi thiết kế và các vấn đề bảo mật có thể bị khai thác, dẫn đến việc sử dụng sai mục đích hệ điều hành, ứng dụng hoặc website Các loại lỗ hổng thường gặp bao gồm sai sót cấu hình, cấu hình mặc định, lỗi tràn bộ đệm, lỗi hệ điều hành, dịch vụ mở và nhiều lỗ hổng khác.
Hiện nay, quản trị viên hệ thống và pentester sử dụng nhiều công cụ để quét lỗ hổng bảo mật trong mạng Các lỗ hổng được phân loại thành ba mức độ an ninh: thấp, trung bình và cao, cũng như theo quy mô khai thác, bao gồm gần và xa Đánh giá lỗ hổng bảo mật là quá trình kiểm tra và nhận diện các biện pháp an toàn, nhằm xác định hiệu quả của các tầng bảo mật hiện tại trong việc ngăn chặn tấn công Quá trình này cũng giúp phát hiện những lỗ hổng có thể bị khai thác và thiếu sót trong bảo mật hệ thống và ứng dụng.
Các loại đánh giá lỗ hổng bảo mật
Đánh giá chủ động là quá trình gửi yêu cầu trực tiếp đến mạng sống và kiểm tra các phản hồi từ máy chủ mục tiêu Quá trình này bao gồm việc thăm dò để thu thập thông tin và đánh giá hiệu suất của hệ thống.
Đánh giá thụ động: Đánh giá thụ động bao gồm việc nghe trộm gói tin
Packet sniffing là quá trình đánh giá không can thiệp vào máy chủ mục tiêu nhằm phát hiện lỗ hổng, dịch vụ đang chạy, cổng mở và các thông tin quan trọng khác.
Đánh giá từ bên ngoài: Đây là quá trình đánh giá mà mục tiêu hacking là tìm ra lỗ hổng để khai thác từ bên ngoài.
Đánh giá từ bên trong là quá trình phát hiện lỗ hổng bảo mật thông qua việc quét hệ thống mạng nội bộ và cơ sở hạ tầng mạng.
Hình 2.1 Các kiểu đánh giá lỗ hổng
Chu trình đánh giá lỗ hổng bảo mật
Tạo đường cơ sở là bước quan trọng trong quy trình đánh giá lỗ hổng bảo mật, nơi pentester hoặc quản trị viên hệ thống cần nhận diện bản chất của hệ thống, ứng dụng và dịch vụ Trong giai đoạn này, họ sẽ lập danh sách kiểm tra tất cả tài nguyên và tài sản để quản lý và ưu tiên đánh giá hiệu quả Đồng thời, việc lập bản vẽ cơ sở hạ tầng mạng và nghiên cứu các kiểm soát an ninh, chính sách và tiêu chuẩn tuân thủ của tổ chức cũng rất cần thiết Tóm lại, đường cơ sở giúp lập kế hoạch đánh giá hiệu quả, thiết lập thời gian biểu cho các bước thực hiện và quản lý chúng theo thứ tự ưu tiên.
2.4.2 Đánh giá lỗ hổng bảo mật Đánh giá lỗ hổng bảo mật tập trung vào đánh giá mục tiêu Quá trình đánh giá bao gồm thăm dò và điều tra các biện pháp an toàn như physical security hay các chính sách an ninh Công đoạn này đánh giá mục tiêu về các phần sai sót cấu hình, cấu hình mặc định, lỗi hay các lỗ hổng bằng cách thăm dò từng thành phần riêng biệt hoặc sử dụng các công cụ đánh giá Khi quét xong, các dữ liệu tìm thấy được xếp hạng dựa trên mức độ ưu tiên Cuối công đoạn, báo cáo đánh giá lỗ hổng bảo mật sẽ cho thấy tất cả các lỗ hổng được phát hiện, phạm vi cũng như mức độ ưu tiên của chúng.
2.4.3 Đánh giá rủi ro Đánh giá rủi ro bao gồm việc kiểm tra các lỗ hổng bảo mật và đánh giá ảnh hưởng của chúng lên hệ thống mạng hay tổ chức.
Công đoạn này tập trung vào việc giảm thiểu rủi ro từ các lỗ hổng bảo mật đã được phát hiện, ưu tiên xử lý những lỗ hổng có mức độ nghiêm trọng cao nhất do khả năng gây ra ảnh hưởng lớn.
Công đoạn xác thực để bảo đảm rằng tất cả các lỗ hổng bảo mật đã được loại bỏ
Quan sát network traffic và system behaviors để phát hiện kịp thời nếu có xâm nhập.
Các giải pháp đánh giá lỗ hổng bảo mật
2.5.1 Các cách tiếp cận đánh giá lỗ hổng bảo mật khác nhau
Giải pháp dựa trên sản phẩm và giải pháp dựa trên dịch vụ:
Giải pháp dựa trên sản phẩm được triển khai cho mạng nội bộ của tổ chức, thường là các hệ thống mạng riêng, nhằm tối ưu hóa hiệu suất và bảo mật.
Giải pháp dựa trên dịch vụ từ bên thứ ba cung cấp an ninh và kiểm nghiệm cho hệ thống mạng, có thể áp dụng cả trong và ngoài hệ thống, tuy nhiên, việc tiếp cận mạng nội bộ có thể dẫn đến rủi ro an toàn Đánh giá dạng cây là phương pháp mà kiểm nghiệm viên áp dụng các chiến lược khác nhau cho từng thành phần của môi trường hệ thống, ví dụ như tiếp cận máy móc chạy Windows khác với máy chủ chạy Linux Trong khi đó, đánh giá hệ quả dựa vào bản kiểm kê giao thức mạng, cho phép kiểm nghiệm viên thăm dò các ports và services liên quan đến giao thức phát hiện được.
2.5.2 Thực hiện đánh giá lỗ hổng bảo mật tốt nhất
Để đánh giá lỗ hổng bảo mật hiệu quả, quản trị viên hệ thống hoặc kiểm nghiệm viên cần thực hiện một số bước quan trọng Các bước này bao gồm việc xác định mục tiêu đánh giá, thu thập thông tin về hệ thống, phân tích lỗ hổng, thực hiện kiểm tra xâm nhập và cuối cùng là báo cáo kết quả cùng với các biện pháp khắc phục.
Trước khi sử dụng công cụ đánh giá lỗ hổng bảo mật, kiểm nghiệm viên cần nắm rõ chức năng của từng công cụ để lựa chọn công cụ phù hợp nhất cho việc thu thập thông tin cần thiết.
Đảm bảo công cụ sử dụng không gây tổn hại hoặc vô hiệu hóa những dịch vụ đang chạy của hệ thống mạng.
Xác định rõ source location của máy quét để thu hẹp phạm vi focus.
Quét thường xuyên để xác định lỗ hổng.
Hệ thống đánh giá lỗ hổng
2.6.1 Hệ thống đánh giá lỗ hổng chung (CVSS)
Hệ thống đánh giá lỗ hổng chung giúp nhận diện các đặc điểm cơ bản của lỗ hổng và xác định mức độ nghiêm trọng của chúng bằng các con số cụ thể Những con số này được phân loại thành các nhóm với các mức độ định tính như thấp, trung bình, cao và nghiêm trọng Điều này hỗ trợ tổ chức trong việc đánh giá và ưu tiên xử lý lỗ hổng một cách hiệu quả.
Hình 2.2 Hệ thống đánh giá lỗ hổng chung (CVSS)
2.6.2 Hệ thống lỗ hổng và phơi nhiễm thông thường (CVE)
CVE là một nền tảng quan trọng để tìm kiếm thông tin về các lỗ hổng an ninh mạng Nơi đây cung cấp danh sách chi tiết các lỗ hổng đã được phát hiện, bao gồm số nhận dạng và mô tả cụ thể cho từng lỗ hổng.
Dữ liệu lỗ hổng quốc gia Mỹ (NVD) vừa được thành lập bởi Viện Tiêu chuẩn và
NVD, dựa trên thông tin từ CVE, cung cấp dữ liệu nâng cao cho mỗi lỗ hổng, bao gồm thông tin sửa chữa, điểm nghiêm trọng và đánh giá ảnh hưởng Ngoài ra, NVD còn hỗ trợ các công cụ tìm kiếm nâng cao, cho phép người dùng tìm kiếm theo hệ điều hành, tên nhà cung cấp, tên sản phẩm, số hiệu phiên bản, kiểu lỗ hổng, độ nghiêm trọng, quy mô khai thác và ảnh hưởng.
Quét lỗ hổng
Trong thời đại công nghệ hiện nay, việc phát hiện lỗ hổng bảo mật trong các hệ thống đã trở nên dễ dàng hơn nhờ sự hỗ trợ của nhiều công cụ khác nhau Các công cụ này, từ tự động đến thủ công, đều có sẵn để hỗ trợ quá trình tìm kiếm và bảo vệ an ninh mạng hiệu quả.
Máy quét lỗ hổng là công cụ tự động chuyên dụng để phát hiện lỗ hổng, điểm yếu và các vấn đề cần khắc phục trong hệ điều hành, mạng, phần mềm và ứng dụng Các công cụ này có khả năng thăm dò kỹ lưỡng các scripts, cổng mở, banners, dịch vụ đang chạy, lỗi cấu hình và nhiều khu vực khác.
Những công cụ quét lỗ hổng này bao gồm:
Qualys FreeScan, và nhiều công cụ khác.
Cả chuyên gia bảo mật lẫn những kẻ tấn công mạng đều sử dụng các công cụ để phát hiện rủi ro và lỗ hổng trong hệ thống.
2.7.1 Các công cụ quét lỗ hổng
GFI LanGuard là phần mềm quản lý vá lỗ hổng và an ninh mạng, đóng vai trò như một cố vấn an ninh trong môi trường ảo Phần mềm này cung cấp các giải pháp bảo mật toàn diện để bảo vệ hệ thống và dữ liệu của người dùng.
Patch Management dành cho Windows®, Mac OS® and Linux®
Patch Management dành cho những ứng dụng bên thứ ba
Tìm những lỗ hổng mới nhất và missing updates
Nessus Professional Vulnerability Scanner là phần mềm quét lỗ hổng bảo mật toàn diện nhất, được phát triển bởi Tenable Network Security Phần mềm này chuyên đánh giá lỗ hổng và cấu hình, cho phép người dùng tùy chỉnh, lên lịch quét và xuất báo cáo một cách linh hoạt.
Công cụ này cho phép quét lỗ hổng bảo mật trực tuyến, cung cấp tóm tắt các tiêu chuẩn pháp lý và an ninh của hệ thống mạng và web, kèm theo những đề xuất hữu ích Qualys.
FreeScan có hiệu quả với:
Quét lỗ hổng bảo mật cho server và app.
Kiểm nghiệm OWA SP Web Application
Hình 2.3 Giao diện Qualys FreeScan
Truy cập trang web http://www.qualys.com để mua công cụ quét lỗ hổng hoặc đăng ký phiên bản dùng thử Để quét mạng nội bộ, Qualys cung cấp máy quét ảo (Virtual Scanner), có thể ảo hóa để tương thích với mọi môi trường máy chủ ảo Dưới đây là bảng số liệu kết quả quét lỗ hổng trên một hệ thống mục tiêu.
Nikto là phần mềm mã nguồn mở chuyên kiểm tra vấn đề bảo mật của Web Server, sử dụng cơ sở dữ liệu chứa khoảng 70.000 lỗi bảo mật phổ biến Phần mềm này được cập nhật thường xuyên với mỗi phiên bản mới.
Nikto là một trong những công cụ hữu ích mà tôi thường sử dụng để phát hiện các chương trình hoặc tệp không an toàn, cũng như các lỗ hổng cơ bản trong ứng dụng web.
Nikto hoạt động trên cả 3 môi trường OS quen thuộc, ở đây mình sẽ sử dụng môi trường Windows:
2.7.1.5 Công cụ quét lỗ hổng dành cho điện thoại
Danh sách các công cụ quét lỗ hổng cho điện thoại được liệt kê trong danh sách dưới:
Retina CS for Mobile: http://www.byondtrust.com
Security Metrics Mobile Scan:http://www.securitymetrics.com
Nessus Vulnerability Scanner: http://www.tenable.com
Hình 2.4 Công cụ quét lỗ hổng dành cho điện thoại(Security Metrics)
KẾT QUẢ THỰC NGHIỆM
Cách sử dụng công cụ quét lỗ hổng Nessus
Chúng tôi sẽ quét mạng riêng 192.168.1.4/24 để tìm lỗ hổng bằng công cụ quét lỗ hổng Nessus trên máy ảo Windows 10 Bạn có thể tải công cụ này từ trang web của Tenable tại địa chỉ: Download Nessus | Tenable®.
Bước 1: Khởi chạy Tenable Nessus.
Download and install Nessus vulnerability scanning tool.
Hình 3.1 Phần mềm Tenable Nessus
Hình 3.2 Giao diện Nessus Bước 3: Cick chọn vào Nessus Essentials:
Hình 3.3 Lựa chọn để đăng nhập vào Nessus bạn.
Nếu bạn đã có mã kích hoạt, hãy bỏ qua bước này.
Hình 3.4 Đăng ký để nhận mã kích hoạt
Mã kích hoạt được gửi về mail:
Hình 3.5 Mã kích hoạt được gửi về
Bước 5:Bên trong khi đăng nhập vào màn hình chính
Hình 3.6 Màn hình chính của Nessus Bước 6: Thực hiện kiểm tra, phân tích các lỗ hổng trong máy PC chính:
Hình 3.7 Kiểm tra các lỗ hổng trong máy PC chính
Hình 3.8 Phát hiện lỗ hổng
Cách sử dụng công cụ quét lỗ hổng Nikto
# wget https://cirt.net/nikto/nikto-2.1.5.tar.gz
Ta tiếp tục tiến trình cài đặt “nikto”
# tar zxvf nikto-2.1.5.tar.gz
Khi ta chạy chương trình mà không có các tham số phụ trợ sẽ ra màn hình hỗ trợ thông tin như sau :
Bây giờ bạn đã biết Nikto là gì và cách cài đặt nó, hãy tiếp tục và chạy một số bản quét.
Trước khi tiến hành quét, tôi xin nhấn mạnh rằng tôi không chịu trách nhiệm về bất kỳ thiệt hại nào phát sinh từ việc bạn cố gắng tấn công hệ thống Hành động này vi phạm pháp luật.
Bạn nên có sự cho phép bằng văn bản trước khi bạn cố gắng quét hệ thống hoặc mạng.
Vì Nikto là một công cụ dòng lệnh, bạn có thể sử dụng lệnh trợ giúp để nhận danh sách các tùy chọn:
Cách quét miền Để thực hiện quét miền đơn giản, hãy sử dụng -h (máy chủ) cờ:
Nikto sẽ tiến hành quét cơ bản trên cổng 80 của một miền cụ thể và cung cấp cho bạn một báo cáo chi tiết dựa trên các lần quét đã thực hiện.
Cách quét miền có SSL được bật Đối với các miền đã bật HTTPS, bạn phải chỉ định -ssl cờ để quét cổng 443:
# nikto -h https://nmap.org -ssl
Hình 3.10 Nikto SSL Enabled Scan
Để quét địa chỉ IP của máy chủ web, bạn có thể sử dụng cờ -h tương tự như khi quét miền.
Hình 3.11 Quét địa chỉ IP Nikto
Hãy quét một vài trang web khác và xem nó cung cấp những thông tin gì Ở đây quét trang, Wonderhowto.com.
WonderHowTo.com sử dụng máy chủ web IIS 10 của Microsoft, theo thông tin từ Nikto, và liệt kê nhiều lỗ hổng bảo mật Tuy nhiên, việc khai thác các lỗ hổng này cho thấy chúng đều là lỗi sai xác thực (false-positive), vì WonderHowTo chỉ trả về một trang 404 vô hại Nguyên nhân là do trang web này không được xây dựng trên nền tảng PHP hoặc ASP.
Các lỗi xác thực thường xuất hiện do quá trình quét không kiểm tra tất cả các lỗ hổng tiềm ẩn, mà chỉ đơn thuần kiểm tra phản hồi từ máy chủ mà không phát hiện lỗi với các URL có thể bị khai thác.
Cuối cùng, hãy thử quét Facebook.
Hình 3.13.Facebook được bảo mật chặt chẽ Như bạn thấy, Facebook được bảo mật chặt chẽ với ít lỗ hổng bảo mật