Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ thông tin và Internet phát triển mạnh mẽ, website đã trở thành kênh truyền thông, quảng bá sản phẩm, dịch vụ và hỗ trợ kinh doanh trọng yếu của các tổ chức, doanh nghiệp. Đi kèm với lợi ích kinh tế là các nguy cơ an ninh mạng; khi website bị tấn công, doanh nghiệp không chỉ chịu thiệt hại về mặt hình ảnh, uy tín mà còn đối mặt với rủi ro rò rỉ dữ liệu nhạy cảm của khách hàng và đối tác. Do đó, công tác đánh giá bảo mật (penetration testing/security assessment) định kỳ và kịp thời đóng vai trò then chốt nhằm phát hiện, khắc phục các lỗ hổng trước khi bị kẻ xấu khai thác.

Theo tác giả khóa luận, giai đoạn thu thập thông tin ban đầu (enumeration/reconnaissance) là bước bắt buộc trước khi tiến hành kiểm thử chuyên sâu. Kiểm thử viên cần nắm bắt tổng thể các thông tin kỹ thuật như: công nghệ đang sử dụng, hệ điều hành, máy chủ web, cổng dịch vụ đang mở, cấu hình tên miền, bản ghi DNS, hệ thống tường lửa ứng dụng web (WAF) và hệ quản trị nội dung (CMS). Tuy nhiên, việc thực hiện thủ công công đoạn này bộc lộ nhiều bất cập thực tiễn:

  • Kiểm thử viên phải cài đặt nhiều công cụ đơn lẻ, thường xuyên gặp xung đột môi trường thực thi và phụ thuộc thư viện.
  • Phải mở đồng thời nhiều cửa sổ dòng lệnh (terminal), chạy từng công cụ và thu thập kết quả phân tán một cách rời rạc.
  • Quy trình lặp đi lặp lại tiêu tốn nhiều thời gian không cần thiết, làm giảm hiệu suất tập trung vào khâu phân tích và khai thác lỗ hổng chuyên sâu.

Mục tiêu nghiên cứu:

  1. Nghiên cứu các phương pháp và công cụ thu thập thông tin ứng dụng web phổ biến hiện nay.
  2. Thiết kế và xây dựng một hệ thống tự động hóa quá trình rút trích thông tin (enumeration), tích hợp các công cụ thu thập trên một giao diện quản lý web tập trung.
  3. Tự động hóa quá trình chạy công cụ, tổng hợp kết quả, hỗ trợ phát hiện lỗ hổng phổ biến, quản lý cơ sở dữ liệu và xuất báo cáo hợp nhất dạng HTML.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các kỹ thuật, giao thức và công cụ tự động rút trích thông tin bề mặt tấn công của website phục vụ kiểm thử xâm nhập.
  • Phạm vi nghiên cứu: Tập trung vào giai đoạn thu thập thông tin (enumeration), bao gồm 9 phân vùng nghiệp vụ chính:
    1. Thu thập nền tảng công nghệ website sử dụng.
    2. Thu thập thông tin tên miền và dò quét tên miền phụ.
    3. Dò quét thư mục và tập tin ẩn.
    4. Thu thập thông tin phân giải hệ thống tên miền (DNS).
    5. Phát hiện tường lửa ứng dụng web (WAF).
    6. Quét máy chủ web và các cổng dịch vụ đang mở.
    7. Dò quét và phát hiện lỗ hổng trên hệ thống quản trị nội dung (CMS).
    8. Chụp ảnh màn hình trang đầu của website đối tượng.
    9. Thu thập và đối sánh các lỗ hổng bảo mật phổ biến (CVE, Exploit-DB) từ kết quả quét.

Cơ sở lý thuyết và phương pháp

Khóa luận áp dụng phương pháp nghiên cứu thực nghiệm và xây dựng hệ thống kỹ thuật, dựa trên việc khảo sát, phân tích các giải pháp hiện hành, trích xuất đặc trưng giao thức mạng và tích hợp các công cụ mã nguồn mở vào một kiến trúc vi dịch vụ chuẩn hóa.

Khung lý thuyết và công cụ tích hợp

Khóa luận sử dụng các lý thuyết về mạng máy tính, cấu trúc bản ghi DNS, giao thức HTTP/HTTPS và các cơ sở dữ liệu lỗ hổng bảo mật chuẩn (CVE, Exploit-DB). Hệ thống tích hợp các công cụ chuyên dụng tương ứng với từng mảng chức năng:

Nhóm chức năng Công cụ sử dụng Ngôn ngữ / Nguồn dữ liệu Đặc điểm kỹ thuật và nguyên lý hoạt động
Thông tin DNS & Tên miền Sublist3r, Dig, Fierce Python, Perl, DNS queries Thu thập tên miền phụ qua OSINT (Google, Bing, Yahoo, Baidu, Netcraft, VirusTotal, ThreatCrowd, DNSdumpster, ReverseDNS), brute-force tên miền (Subbrute); truy vấn bản ghi A, NS, MX; kiểm tra zone transfer và wildcard DNS.
Phát hiện công nghệ Web Wappalyzer, Netcraft, Webtech, Whatweb Python, Ruby, Web service, HTTP Headers Nhận diện hệ điều hành, máy chủ web (Apache, IIS), ngôn ngữ (PHP, ASP.NET), framework JS, font script, lịch sử lưu trữ (hosting history) và network block.
Dò thư mục & tập tin Gobuster Go Dò quét thư mục, tập tin ẩn, kiểm tra virtual host và Amazon S3 bucket bằng phương pháp vét cạn từ điển.
Quét cổng & Dịch vụ Nmap C/C++, Network scanning Quét cổng TCP/UDP mở, nhận diện phiên bản dịch vụ, dấu vân tay hệ điều hành (OS fingerprinting), quét tập lệnh NSE.
Phát hiện WAF Wafw00f Python Gửi các HTTP request chuẩn và phân tích HTTP response, chuỗi định danh phản hồi để xác định sự hiện diện và loại tường lửa ứng dụng web.
Quét máy chủ web Nikto Perl Đối soát hơn 6.700 tập tin/chương trình nguy hiểm, kiểm tra lỗi thời phiên bản của hơn 1.250 loại web server và 270 lỗi phiên bản cụ thể; kiểm tra cấu hình index files, HTTP headers.
Quét hệ quản trị nội dung CMSeek, WPScan, Droopescan, Joomscan Python, Ruby, Perl Phát hiện hơn 170 loại CMS; quét chuyên sâu WordPress (phiên bản, plugins, themes, users), Joomla, Drupal, Moodle, Silverstripe; dò tìm tệp cấu hình, trang quản trị.
Đối soát lỗ hổng Searchsploit Command-line / ExploitDB Truy vấn cơ sở dữ liệu mã khai thác Exploit-DB ngoại tuyến cục bộ để tìm kiếm CVE và PoC khai thác tương ứng với các phiên bản phần mềm phát hiện được.

Phương pháp xử lý dữ liệu

  • Giao tiếp API hóa: Chuẩn hóa giao tiếp giữa lõi ứng dụng và các công cụ dòng lệnh thông qua các điểm cuối (endpoints) RESTful API, định dạng dữ liệu truyền nhận bằng JSON.
  • Lưu trữ phi quan hệ: Sử dụng MongoDB để lưu trữ dữ liệu phi cấu trúc và bán cấu trúc trả về từ nhiều công cụ khác nhau, đồng thời chắt lọc dữ liệu có cấu trúc sang bảng chỉ mục phục vụ truy vấn.

Thiết kế và triển khai hệ thống EnumTool

Hệ thống EnumTool được xây dựng theo mô hình Client - Server và đóng gói hoàn toàn trên môi trường ảo hóa container (Docker) nhằm cô lập môi trường thực thi và loại bỏ xung đột phụ thuộc phần mềm.

Kiến trúc hệ thống

Kiến trúc gồm 3 container chính:

  1. Container API: Chạy hệ điều hành Kali Linux 2021, đóng vai trò môi trường cài đặt tất cả các công cụ kiểm thử (Nmap, Nikto, WPScan, Wafw00f, Sublist3r, Webtech, Fierce, CMSeek, Joomscan...). Mỗi công cụ được bọc bởi một API riêng biệt (ví dụ: /api/v1/enumeration/wafw00f?url={url}). Kết quả quét được chuyển đổi và trả về dưới dạng JSON hoặc chuỗi ký tự chuẩn hóa.
  2. Container Cơ sở dữ liệu (Database): Cài đặt hệ quản trị cơ sở dữ liệu MongoDB, chịu trách nhiệm lưu trữ toàn bộ báo cáo phân tích thô và dữ liệu chắt lọc.
  3. Container Lõi ứng dụng (Core): Là máy chủ ứng dụng web trung tâm, tiếp nhận yêu cầu từ người dùng qua giao diện Web UI, điều phối tiến trình gọi API đến Container API, xử lý kết quả, ghi nhận vào MongoDB và xuất giao diện phân tích. Container này mở cổng (port) để người dùng truy cập.

Thiết kế dữ liệu trong MongoDB

Cơ sở dữ liệu được tổ chức thành 2 bảng (collection) chính:

  • Bảng report: Lưu trữ toàn bộ kết quả chi tiết của từng phiên phân tích. Cấu trúc gồm các trường:
    • _id: Định danh duy nhất của bản ghi.
    • url: Đường dẫn trang web mục tiêu.
    • time_create: Thời điểm bắt đầu phân tích.
    • token: Chuỗi định danh phiên phân tích (UUID) dùng để liên kết dữ liệu.
    • pic: Tên tập tin lưu ảnh chụp màn hình trang web mục tiêu.
    • vulns: Mảng danh sách các lỗ hổng bảo mật phát hiện được hoặc do người dùng thêm vào.
    • Các trường dữ liệu chi tiết của từng công cụ: whois, largeio, wapp, dig, netcraft, webtech, sublist3r, wafw00f, dic, whatweb, fierce, nmap, nikto.
  • Bảng search: Lưu trữ các thông tin kỹ thuật trọng yếu đã được hệ thống trích lọc tự động từ kết quả của các công cụ (Whatweb, Webtech, Largeio, Netcraft, Wappalyzer) nhằm phục vụ tra cứu nhanh. Cấu trúc gồm:
    • url: Địa chỉ trang web.
    • operatingsystems: Mảng danh sách hệ điều hành phát hiện được (ví dụ: Linux, Debian, Windows).
    • webservers: Mảng danh sách máy chủ web (ví dụ: Apache, IIS, ECS).
    • webframeworks: Danh sách framework web (ví dụ: ASP.NET).
    • javascriptframeworks: Danh sách framework Javascript.
    • cms: Tên hệ quản trị nội dung.
    • programminglanguages: Danh sách ngôn ngữ lập trình (ví dụ: PHP).
    • token: Chuỗi định danh liên kết trực tiếp sang bản ghi tương ứng trong bảng report.

Nội dung chính theo từng chương

Chương 1: Mở đầu

Chương 1 thiết lập tính cấp thiết của đề tài trong công tác bảo mật ứng dụng web của doanh nghiệp. Tác giả chỉ rõ rào cản hiện tại của kiểm thử viên khi phải cài đặt, cấu hình thủ công hàng loạt công cụ độc lập, dẫn đến lãng phí thời gian và tiềm ẩn lỗi xung đột môi trường. Chương này xác định rõ mục đích xây dựng hệ thống EnumTool chạy trên giao diện web duy nhất, giới hạn phạm vi nghiên cứu ở 9 phân vùng thu thập thông tin và tóm lược 6 chương của khóa luận.

Chương 2: Tổng quan

Chương 2 phân tích hiện trạng các công cụ tự động thu thập thông tin ứng dụng web hiện có thông qua việc khảo sát 3 công cụ tiêu biểu: LazyRecon (v1, 2019), Celerystalk (v1, 2020) và Scilla (v1.1, 2021).

Tác giả tổng hợp bảng so sánh thông số và tính năng kỹ thuật:

  • Cả 3 công cụ trên đều vận hành ở chế độ dòng lệnh (CLI), hoàn toàn không có giao diện đồ họa người dùng (GUI).
  • Không có công cụ nào tích hợp cơ chế tự động tìm kiếm lỗ hổng phổ biến dựa trên cơ sở dữ liệu Exploit-DB, cũng như không cho phép người dùng tùy chỉnh thêm/xóa dữ liệu lỗ hổng trực tiếp trên báo cáo.
  • Ngoại trừ Celerystalk có hỗ trợ lưu trữ cơ sở dữ liệu ở mức độ nhất định, các công cụ còn lại không có cơ chế quản lý dữ liệu tập trung, gây khó khăn cho việc tra cứu lịch sử và tìm kiếm đa mục tiêu. Từ các hạn chế này, chương 2 xác lập các yêu cầu kỹ thuật cần giải quyết cho hệ thống EnumTool: triển khai trên Docker, xây dựng giao diện trực quan, hỗ trợ lưu trữ MongoDB, đối soát lỗ hổng và xuất báo cáo hoàn chỉnh.

Chương 3: Các công cụ thu thập thông tin

Chương 3 trình bày chi tiết cơ sở lý thuyết, cơ chế vận hành và kết quả thực nghiệm độc lập của từng công cụ thành phần:

  • Sublist3r, Dig, Fierce: Phân tích kỹ thuật trích xuất DNS, zone transfer, kiểm tra bản ghi A, NS và cơ chế brute-force tên miền phụ.
  • Wappalyzer, Netcraft, Webtech, Whatweb: Phân tích kỹ thuật nhận diện dấu vân tay công nghệ thông qua HTTP header, thẻ meta và phản hồi máy chủ.
  • Gobuster & Nmap: Kỹ thuật duyệt thư mục bằng danh sách từ khóa và kỹ thuật quét cổng, nhận diện dịch vụ đang chạy.
  • Wafw00f & Nikto: Cơ chế phát hiện tường lửa WAF và quét cấu hình sai hỏng, tệp tin nhạy cảm của máy chủ web.
  • CMSeek, WPScan, Droopescan, Joomscan: Kỹ thuật phân tích cấu trúc CMS, định danh phiên bản, quét thành phần mở rộng (plugins, themes) và ánh xạ mã CVE tương ứng.
  • Searchsploit: Phương thức truy xuất mã khai thác cục bộ từ Exploit-DB mà không cần kết nối Internet.

Chương 4: Hệ thống thu thập thông tin trang web phục vụ đánh giá bảo mật (EnumTool)

Chương 4 mô tả chi tiết thiết kế hệ thống EnumTool. Tác giả trình bày sơ đồ kiến trúc 3 container Docker (API, Database, Core), cấu trúc luồng dữ liệu giữa Client và Server, quy cách tổ chức các điểm cuối API và lược đồ dữ liệu chi tiết của 2 bảng report và search. Chương này cũng mô tả các tính năng giao diện chính: Bảng điều khiển (Dashboard), khung nhập URL mục tiêu, cửa sổ hiển thị kết quả phân tích theo phân vùng, cửa sổ tìm kiếm có chọn lọc trong cơ sở dữ liệu, quản lý lịch sử và tính năng xuất báo cáo dạng HTML.

Chương 5: Thử nghiệm

Chương 5 ghi nhận kết quả triển khai thử nghiệm thực tế hệ thống EnumTool trên môi trường kiểm thử với các mục tiêu web cụ thể (http://testhtml5.vulnweb.com, http://testaspnet.vulnweb.com, http://rest.vulnweb.com, example.com, example.vn và máy ảo cục bộ). Kết quả thực nghiệm chứng minh:

  • Hệ thống nhận diện chính xác các thành phần công nghệ: máy chủ Apache/IIS, hệ điều hành Debian/Linux, ngôn ngữ PHP/ASP.NET.
  • Dò quét đầy đủ bản ghi DNS, danh sách cổng dịch vụ (80, 443), nhận diện WAF.
  • Định danh chính xác phiên bản CMS (WordPress, Joomla), phát hiện các plugin lỗi thời và tự động liệt kê các CVE/mã khai thác tương ứng (ví dụ: CVE-2007-4781, CVE-2008-3681, CVE-2011-1989 trên Joomla 1.5).
  • Thực hiện thành công chức năng chụp ảnh màn hình, lưu lịch sử quét, tìm kiếm linh hoạt theo từ khóa công nghệ (như "php", "linux") trong bảng search và xuất báo cáo HTML đầy đủ.

Chương 6: Kết luận

Chương 6 tổng kết các kết quả đạt được của khóa luận, khẳng định tính hiệu quả của mô hình tích hợp công cụ tự động trên Docker và đề xuất các định hướng nâng cấp, phát triển hệ thống trong tương lai.


Kết quả và đóng góp

Kết quả kỹ thuật đạt được

  1. Xây dựng hoàn chỉnh hệ thống EnumTool: Tích hợp thành công 16 công cụ và dịch vụ bảo mật mã nguồn mở trên nền tảng Docker (gồm 3 container: API Kali Linux, Database MongoDB và Core Web UI).
  2. Tự động hóa luồng trích xuất: Chuẩn hóa quy trình từ khâu nhập URL mục tiêu, phân phối lệnh quét song song qua RESTful API, thu thập dữ liệu JSON, chắt lọc dữ liệu đặc trưng đến khâu hiển thị đồ họa tập trung.
  3. Đối soát lỗ hổng và tùy biến dữ liệu: Tích hợp khả năng tự động liên kết phiên bản CMS/phần mềm với cơ sở dữ liệu lỗ hổng bảo mật (CVE, Exploit-DB), đồng thời cho phép kiểm thử viên chủ động thêm hoặc xóa các lỗ hổng phát hiện được vào báo cáo.
  4. Quản lý dữ liệu và xuất báo cáo: Lưu trữ tập trung lịch sử kiểm thử trên MongoDB, xây dựng module tìm kiếm có chọn lọc theo công nghệ/hệ điều hành và hỗ trợ xuất báo cáo hoàn chỉnh dưới định dạng HTML.

So sánh với các giải pháp hiện hành

Dưới đây là bảng tổng hợp so sánh tính năng giữa EnumTool và các công cụ thu thập thông tin tương tự được tác giả phân tích trong khóa luận:

Tiêu chí so sánh LazyRecon (v1) Celerystalk (v1) Scilla (v1.1) Hệ thống EnumTool (Khóa luận)
Giao diện người dùng (GUI) Không Không Không Có (Giao diện Web)
Lưu trữ cơ sở dữ liệu Không Có Không Có (MongoDB với 2 bảng chuyên biệt)
Tìm lỗ hổng phổ biến (CVE/Exploit-DB) Không Không Không Có (Tự động + Cho phép tùy biến)
Xuất báo cáo định dạng HTML Không Có Có Có
Đóng gói trên môi trường Docker Không Không Không Có (Kiến trúc 3 container độc lập)
Tìm kiếm chọn lọc trong cơ sở dữ liệu Không Không Không Có (Tìm theo OS, Server, CMS...)
Chụp ảnh màn hình website mục tiêu Không Không Không Có

Đóng góp thực tiễn của khóa luận

Khóa luận giải quyết triệt để bài toán phân mảnh công cụ và xung đột môi trường trong giai đoạn trích xuất thông tin website. Thay vì phải cấu hình và vận hành thủ công hàng loạt terminal riêng lẻ, kiểm thử viên có thể sử dụng một nền tảng duy nhất để rút ngắn thời gian chuẩn bị, tự động hóa khâu thu thập dữ liệu ban đầu, giảm thiểu sai sót và tập trung nguồn lực cho công tác đánh giá an toàn thông tin chuyên sâu.


Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận

  • Quá trình quét và trích xuất thông tin phụ thuộc hoàn toàn vào cơ chế phản hồi và tốc độ thực thi của các công cụ thành phần bên trong Container API.
  • Các công cụ quét như Nikto không hỗ trợ cơ chế ẩn mình trước hệ thống phát hiện/ngăn ngừa xâm nhập (IDS/IPS), dẫn đến khả năng bị lưu vết (log) hoặc chặn IP trong quá trình kiểm thử các hệ thống có phòng vệ nghiêm ngặt.
  • Tính năng tìm kiếm lỗ hổng tự động chủ yếu dựa trên đối khớp chuỗi phiên bản từ các công cụ quét CMS và cơ sở dữ liệu tĩnh, chưa hỗ trợ cơ chế tự động xác thực tính khả thi của lỗ hổng (vulnerability verification).

Hướng phát triển tiếp theo

  • Mở rộng số lượng công cụ tích hợp trong Container API, cập nhật các module quét mới cho các framework và CMS hiện đại.
  • Tối ưu hóa hiệu năng quét thông qua cơ chế phân bổ tiến trình bất đồng bộ, lập lịch quét tự động theo thời gian định kỳ.
  • Bổ sung cơ chế điều tiết lưu lượng quét, tích hợp proxy xoay vòng để hỗ trợ kiểm thử linh hoạt hơn trên các mục tiêu có triển khai hệ thống phát hiện xâm nhập IDS/IPS.
  • Nâng cấp module tạo báo cáo sang nhiều định dạng chuyên nghiệp khác như PDF, JSON raw và tích hợp hệ thống chấm điểm rủi ro theo chuẩn CVSS.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo kỹ thuật hữu ích cho các đối tượng:

  • Sinh viên và học viên chuyên ngành An toàn thông tin, Mạng máy tính & Truyền thông: Tài liệu cung cấp góc nhìn toàn diện về phương pháp thu thập thông tin bề mặt tấn công (reconnaissance/enumeration), cách sử dụng và phân tích kết quả của các công cụ bảo mật tiêu chuẩn (Nmap, Nikto, WPScan, Gobuster, Wafw00f...).
  • Kỹ sư kiểm thử bảo mật (Penetration Testers / Security Researchers): Tham khảo kiến trúc đóng gói công cụ an toàn thông tin trên môi trường Docker, phương pháp thiết kế RESTful API bọc các công cụ dòng lệnh (CLI wrapper) và mô hình quản trị dữ liệu quét tập trung trên MongoDB.
  • Nhà phát triển hệ thống và quản trị mạng: Nắm bắt các dấu hiệu nhận diện công nghệ mà website đang để lộ ra Internet, từ đó có biện pháp cấu hình ẩn thông tin máy chủ, thiết lập tường lửa ứng dụng web và quản lý bản ghi DNS an toàn.

Câu hỏi thường gặp

1. Hệ thống EnumTool được triển khai trên nền tảng nào và gồm những thành phần kiến trúc nào?

EnumTool được đóng gói và triển khai trên môi trường Docker với mô hình 3 container vi dịch vụ:

  • Container API: Chạy hệ điều hành Kali Linux 2021, cài đặt sẵn toàn bộ các công cụ kiểm thử và cung cấp các điểm cuối RESTful API cho từng công cụ.
  • Container Database: Chạy MongoDB, quản lý và lưu trữ dữ liệu báo cáo phân tích cùng dữ liệu tìm kiếm.
  • Container Core: Là máy chủ web trung tâm tiếp nhận yêu cầu từ người dùng, điều phối gọi API, xử lý dữ liệu và hiển thị giao diện người dùng.

2. Dữ liệu quét được lưu trữ trong MongoDB như thế nào?

Dữ liệu được quản lý thông qua 2 collection (bảng):

  • Bảng report: Lưu trữ toàn bộ kết quả phân tích thô và có cấu trúc của từng công cụ (Nmap, Nikto, Sublist3r, Whatweb, WPScan...), đường dẫn ảnh chụp màn hình (pic), mã định danh phiên (token), thời gian quét (time_create) và danh sách lỗ hổng (vulns).
  • Bảng search: Lưu trữ các trường thông tin chắt lọc phục vụ tra cứu nhanh gồm: URL, hệ điều hành (operatingsystems), máy chủ web (webservers), web framework, javascript framework, hệ quản trị nội dung (cms), ngôn ngữ lập trình (programminglanguages) và chuỗi token liên kết về bản ghi chi tiết trong bảng report.

3. Hệ thống hỗ trợ phát hiện và quét những loại hệ quản trị nội dung (CMS) nào?

Hệ thống tích hợp 4 công cụ quét CMS chuyên dụng:

  • CMSeek: Hỗ trợ nhận diện hơn 170 loại CMS, quét cấu hình và lỗ hổng cho WordPress, Joomla.
  • WPScan: Quét chuyên sâu cho WordPress (nhận diện phiên bản, kiểm tra plugin, giao diện theme, dò tìm người dùng, hỗ trợ vét cạn mật khẩu).
  • Droopescan: Hỗ trợ quét các CMS gồm WordPress, Joomla, Drupal, Moodle và Silverstripe.
  • Joomscan: Quét chuyên sâu cho Joomla, xác định phiên bản, phát hiện lỗi cấu hình, tệp tin quản trị và đối soát các mã CVE tương ứng.

4. Cơ chế tìm kiếm lỗ hổng bảo mật phổ biến trong hệ thống vận hành ra sao?

Sau khi các công cụ nhận diện được tên và phiên bản chính xác của phần mềm/CMS/dịch vụ trên website mục tiêu, hệ thống sử dụng công cụ Searchsploit để truy vấn trực tiếp cơ sở dữ liệu mã khai thác Exploit-DB được sao chép cục bộ. Điều này cho phép trích xuất các mã CVE, tên lỗ hổng và đường dẫn PoC khai thác ngay cả trong môi trường không kết nối Internet. Ngoài ra, giao diện hệ thống cho phép kiểm thử viên chủ động thêm hoặc xóa các lỗ hổng tùy ý trước khi xuất báo cáo.

5. So với các giải pháp như LazyRecon, Celerystalk và Scilla, EnumTool có những ưu điểm gì vượt trội?

EnumTool khắc phục các hạn chế lớn của các giải pháp trước:

  • Cung cấp giao diện Web UI đồ họa trực quan (thay vì chỉ chạy dòng lệnh CLI).
  • Đóng gói hoàn chỉnh trên Docker, tránh xung đột thư viện và môi trường.
  • Tự động tích hợp tra cứu lỗ hổng bảo mật phổ biến (CVE/Exploit-DB) và cho phép chỉnh sửa danh sách lỗ hổng.
  • Lưu trữ cơ sở dữ liệu có cấu trúc trên MongoDB, hỗ trợ tìm kiếm ngược đa tiêu chí (theo OS, Web server, CMS...) trên tập dữ liệu đã quét.
  • Tích hợp tính năng chụp ảnh trực quan màn hình trang web mục tiêu.

Kết luận

Khóa luận tốt nghiệp của tác giả Huỳnh Minh Hiếu và Nguyễn Cao Thái đã nghiên cứu và phát triển thành công hệ thống EnumTool phục vụ tự động hóa quá trình rút trích thông tin website trong đánh giá bảo mật. Thông qua kiến trúc vi dịch vụ trên nền tảng Docker kết hợp với MongoDB và giao diện web trực quan, hệ thống tích hợp hiệu quả 16 công cụ kiểm thử mã nguồn mở, giúp đồng bộ hóa toàn bộ luồng thu thập dữ liệu từ DNS, máy chủ, công nghệ, tường lửa WAF đến hệ thống CMS. Kết quả thực nghiệm trên các mục tiêu thực tế chứng minh hệ thống hoạt động ổn định, rút ngắn đáng kể thời gian chuẩn bị của kiểm thử viên, đồng thời cung cấp khả năng tra cứu dữ liệu linh hoạt và xuất báo cáo tổng hợp hoàn chỉnh.