1. Trang chủ
  2. » Giáo Dục - Đào Tạo

An toàn mạng Bài báo cáo: Tìm hiểu, thử nghiệm và đánh giá công cụ JoomScan

31 21 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu, Thử Nghiệm Và Đánh Giá Công Cụ JoomScan
Tác giả Hán Nam Long
Người hướng dẫn TS. Đặng Minh Tuấn
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài báo cáo
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 31
Dung lượng 2,27 MB

Cấu trúc

  • Thuật ngữ viết tắt sử dụng

  • Lời mở đầu

  • Chương 1. Giới thiệu khái quát về nền tảng Joomla và những vấn đề bảo mật liên quan

    • 1.1. Giới thiệu về CMS

    • 1.2. Giới thiệu về Joomla và những vấn đề bảo mật liên quan

      • 1.2.1. Giới thiệu về Joomla

      • 1.2.2. Những vấn đề bảo mật liên quan

  • Chương 2. Giới thiệu về công cụ JoomScan

    • 2.1. Tổng quan về công cụ JoomScan

    • 2.2. Cài đặt và hướng dẫn sử dụng JoomScan

  • Chương 3. Demo sử dụng công cụ JoomScan

  • Demo tấn công

  • Tổng kết

  • Tài liệu tham khảo

Nội dung

Giới thiệu khái quát về nền tảng Joomla và những vấn đề bảo mật liên quan

Giới thiệu về CMS

CMS (Hệ thống quản lý nội dung) là công cụ quản trị nội dung của trang web, kiểm soát mọi hoạt động liên quan đến thông tin và nội dung như tin tức, hình ảnh, video và danh mục Với phiên bản nâng cấp của CMS, người dùng có khả năng chỉnh sửa, phân loại danh mục và thay đổi giao diện hiển thị của trang web, mang đến nhiều tùy chọn đa dạng cho người quản trị.

Khi xây dựng một trang web, người dùng phải thực hiện 2 bước:

- Xác lập giao diện bên ngoài (front-end)

- Quản lý hệ thống bên trong (back-end)

Bằng nhiều ngôn ngữ lập trình khác nhau, như CSS, JavaScript (cho front-end) và PHP, Python, JavaScript (cho back-end),…

Với hệ thống quản lý nội dung (CMS), quy trình tạo và xuất bản thông tin trở nên đơn giản hơn Người dùng có thể sử dụng trình chỉnh sửa nội dung trực tiếp trên trình duyệt để tạo bài viết và trang web mà không cần viết mã Hệ thống này cho phép người dùng chèn nội dung mà không cần truy cập trực tiếp vào máy chủ, chỉ cần chỉnh sửa qua giao diện quản lý đã được cài đặt sẵn.

Hình 1 Giới thiệu về hệ thống CMS

- CMS tự xây dựng hoặc dung Framework

Một số nền tảng CMS phổ biến hiện nay:

Giới thiệu về Joomla và những vấn đề bảo mật liên quan

Joomla là một hệ thống quản lý nội dung miễn phí cho website, được phát triển từ năm 2005 Phần mềm mã nguồn mở này được viết bằng ngôn ngữ PHP và sử dụng MySQL, đồng thời xây dựng dựa trên mô hình MVC.

Joomla cho phép quản lý nhiều người dùng với các mức độ truy cập tùy chỉnh, giúp người dùng có thể tạo mới, thay đổi, xóa bỏ và tạo báo cáo cho các nội dung, dữ liệu và thông tin trên trang web.

Joomla có thể được sử dụng cho các trang web:

- Kênh thông tin của tổ chức, cộng đồng, tạp chí, …

- Trang thương mại điện tử, kinh doanh mô hình nhỏ,…

- Trang tiếp thị, dịch vụ đặt chỗ trước, …

Joomla nổi bật hơn các nền tảng CMS khác nhờ khả năng tương thích tốt, tích hợp plugin dễ dàng và đa dạng, hỗ trợ nhiều ngôn ngữ, cùng giao diện thân thiện với người dùng Với những lợi ích như tiết kiệm chi phí và nâng cao hiệu quả tiếp cận khách hàng qua web chuẩn SEO, Joomla đã trở thành lựa chọn tin cậy trên toàn cầu Tuy nhiên, người dùng cũng cần lưu ý đến các vấn đề bảo mật liên quan để bảo vệ thông tin và dữ liệu của mình.

Tuy nhiên, cũng giống như các CMS phổ biến khác, Joomla tồn tại các lỗ hổng bảo mật

[3] và đã bị tin tặc khai thác qua thời gian Một số lỗ hổng bảo mật phổ biến có thể kể đến như:

Joomla có thể gặp phải lỗ hổng tấn công XSS do thiếu bộ lọc cho các thẻ input trên trang web Kẻ tấn công có thể lợi dụng lỗ hổng này để gửi mã Javascript độc hại, nhằm đánh cắp cookie của người dùng, thực hiện phishing hoặc keylogging Một số lỗ hổng cụ thể liên quan đến Joomla bao gồm CVE-2019-12766 với phiên bản 3.9.7 trở xuống và CVE-2019-6263.

Lỗi SQL Injection (SQLi) có nguyên nhân tương tự như XSS, cho phép kẻ tấn công thực hiện các thay đổi trên cơ sở dữ liệu hoặc thực thi câu lệnh shell Các lỗ hổng này chủ yếu xuất hiện trong các phiên bản Joomla từ 3.5.0 đến 3.8.5, điển hình là CVE-2018-8045 Bên cạnh đó, lỗ hổng cũng có thể phát sinh từ các thành phần mở rộng như ARI Quiz 3.7.4.

Thực thi code từ xa

Lỗ hổng RCE trong Joomla xảy ra khi mã độc được chèn vào tệp và vô tình được thực thi, dẫn đến nguy cơ bị chiếm quyền kiểm soát trang web Một ví dụ cụ thể là lỗ hổng CVE-2018, được phát hiện ở các phiên bản Joomla dưới 3.8.13.

17856 Ngoài ra, thành phần mở rộng vBizz 1.0.7 cũng tồn tại lỗ hổng kiểu này

Lỗ hổng CSRF CVE-2019-10945 trong Joomla trước phiên bản 3.9.5 cho phép kẻ tấn công thực hiện các hành động như sửa đổi và xóa nội dung trang web, thông qua việc khai thác đường dẫn thư mục Ngoài ra, thành phần mở rộng Media Manager cũng gặp phải lỗ hổng tương tự.

Lỗ hổng này cho phép kẻ tấn công có thể nâng cao đặc quyền quản trị đối với trang web

Cụ thể có lỗ hổng CVE-2016-8869

Joomla là một nền tảng CMS hàng đầu thế giới với hàng triệu website hoạt động Bảo mật và thiết kế nội dung là hai yếu tố quan trọng cần được chú trọng Đảm bảo an toàn cho nền tảng CMS ngày càng trở nên cần thiết Để hỗ trợ việc này, nhiều công cụ quét lỗ hổng bảo mật đã được phát triển, trong đó JoomScan nổi bật cho Joomla.

Giới thiệu về công cụ JoomScan

Tổng quan về công cụ JoomScan

OWASP Joomla! Vulnerability Scanner (JoomScan) là một công cụ mã nguồn mở được thiết kế để tự động phát hiện lỗ hổng và nâng cao bảo mật cho các trang web Joomla Phát triển bằng Perl, JoomScan cho phép quét liên tục mà không để lại dấu vết, với kiến trúc nhẹ và mô-đun hóa Nó không chỉ phát hiện các lỗ hổng tấn công đã biết mà còn nhận diện cấu hình sai và thiếu sót ở cấp quản trị viên, giúp ngăn chặn các cuộc tấn công JoomScan có giao diện thân thiện, cho phép người dùng lưu báo cáo quét dưới định dạng văn bản (.txt) và HTML (.html), giúp việc theo dõi và báo cáo trở nên dễ dàng và tiết kiệm chi phí.

JoomScan có thể tự động triển khai các tác vụ như:

- Điều tra phiên bản và các lỗ hổng bảo mật theo kèm

- Rà quét và kiểm tra từng component của trang dựa trên từng phiên bản (với 1205 component mặc định phổ biến và hơn 950 lỗ hổng bảo mật)

- Tìm kiếm những tệp nhật kí và tệp sao lưu phổ biến

Cách thức hoạt động của JoomScan

1 Đầu tiên, gửi HEAD request tới để rà soát lỗ hổng Việc sử dụng HEAD thay vì GET giúp tăng tốc độ rà quét và giảm thiểu khả năng cảnh báo từ Hệ thống phát hiện xâm nhập mạng – Network Intrusion Detection System (IDS) đối với những request tấn công GET

2 Quá trình rà quét và kiểm tra lỗ hổng tồn tại hay không dựa trên chuỗi khai thác mẫu

3 Khi không tồn tại chuỗi khai thác mẫu, chuyển sang rà quét dựa trên những lỗ hổng bảo mật của phiên bản Joomla đang sử dụng

Cài đặt và hướng dẫn sử dụng JoomScan

Thông số cài đặt sử dụng trong bài

Hệ điều hành: Kali Linux 2021.4 (cài đặt trên máy ảo Hyper-V, chạy trên hệ điều hành Window 11)

Phần mềm JoomScan phiên bản 0.0.7 [4]

Tiến hành cài đặt JoomScan bằng câu l

Hình 3 Kết quả cài đặt JoomScan

Sử dụng phần mềm bằng cách chạy câu lệnh joomscan kết hợp với những lựa chọn thêm vào sau đó để thực hiện câu lệnh

Khi sử dụng tùy chọn -h hoặc –help, bạn sẽ thấy màn hình hiển thị thông tin chi tiết về phần mềm, bao gồm phiên bản, ngày cập nhật và tác giả Bên cạnh đó, danh sách các lệnh của phần mềm cũng được liệt kê và giải thích chức năng của từng lệnh.

Hình 4 Liệt kê khái quát toàn bộ thông tin về phiên bản JoomScan đang sử dụng

Lựa chọn –about: Hiển thị thông số về phần mềm

Hình 5 Thông số kĩ thuật của phiên bản JoomScan đang sử dụng

Lựa chọn –version: Hiển thị phiên bản của phần mềm hiện tại đang được cài đặt và sử dụng

Hình 6 Phiên bản JoomScan đang sử dụng

Lựa chọn –url hoặc -u + (đường dẫn đến trang web trên nền tảng Joomla)

Ví dụ: joomscan -u www.example.com

JoomScan sẽ quét trang web trong vài giây và cung cấp kết quả ngay sau khi quá trình hoàn tất.

- Loại tường lửa đang được sử dụng để bảo vệ trang web

- Phiên bản Joomla đang được sử dụng

- Những lỗ hổng bảo mật chính ở phiên bản Joomla vừa tìm được

- Liệt kê ra tối đa những đường dẫn của trang

- Địa chỉ của trang đăng nhập dành cho quản trị viên (Admin)

- Liệt kê các tệp sao lưu và tệp nhật kí (tệp log)

- Đường dẫn đến trang đăng kí người dùng

- Những địa chỉ được tìm thấy từ tệp robots.txt robots.txt là một tệp nằm trong thư mục gốc của Joomla, sử dụng giao thức loại trừ

Robots Exclusion Protocol (REP) cho phép quản trị viên trang web tùy chỉnh quyền truy cập của các robot quét thông qua hai lựa chọn chính: Allow và Disallow Điều này giúp xác định những đường dẫn và thành phần nào trên trang web sẽ bị ngăn chặn không cho robot bên ngoài truy cập.

Một ví dụ về một tệp robots.txt tiêu chuẩn trong Joomla

Hình 7 Ví dụ nội dung của tệp robots.txt

Thông tin này rất quan trọng đối với kẻ tấn công, vì quá trình rà quét cho thấy rằng dữ liệu có thể bị lộ ngay cả khi quản trị viên đã cố gắng ẩn chúng Khi kẻ tấn công biết được đường dẫn đến trang quản trị viên, họ có thể sử dụng các công cụ như Hydra để thực hiện các cuộc tấn công từ điển nhằm khai thác lỗ hổng đăng nhập.

Lựa chọn –enumerate-components hay –ec: Rà quét và kiểm tra tất cả thành phần

(components) được cài đặt thêm của trang web

Ví dụ: joomscan -u www.example.com –ec

JoomScan không chỉ hiển thị các components đang sử dụng, mà còn cảnh báo người dùng về những lỗ hổng bảo mật đã biết trong các components đó, đồng thời cung cấp đường dẫn đến thông tin chi tiết về các lỗ hổng này.

Lựa chọn –cookie: Thiết lập cookie cho quá trình rà quét

Ví dụ: joomscan -u www.example.com –cookie “key=value;”

Lựa chọn –user-agent hay -a: Thiết lập trường User-agent trong Request Headers cho quá trình rà quét

Ví dụ: joomscan -u www.example.com -a

“Googlebot/2.1(+http://Googlebot.com/bot.html)”

Lựa chọn –random-user hay -r: Thiết lập ngẫu nhiên trường User-agent trong Request Headers cho quá trình ra quét

Ví dụ: joomscan -u www.example.com -r

Lựa chọn –proxy: Thiết lập proxy để ra quét trang web mục tiêu

Ví dụ: joomscan -u www.example.com –proxy http://127.0.0.1:8080

Lựa chọn –timeout: Thiết lập giá trị time-out cho quá trình rà quét

Demo sử dụng công cụ JoomScan

Thực hiện rà quét tổng quát trang web www.joomla.org joomscan -u www.joomla.org

Hình 8 Kết quả ra quét tổng quát trang joomla.org

Tìm thấy thông tin về tường lửa, phiên bản Joomla được cài đặt và các lỗ hổng phổ biến của phiên bản đó

Hình 9 Danh sách các lỗ hổng của phiên bản Joomla đang quét

Hình 10 Danh sách lỗ hổng của phiên bản Joomla đang quét

Liệt kê những đường dẫn được cấu hình trong tệp robots.txt

Hình 11 Địa chỉ trang Admin và đường dẫn trong tệp robots.txt

Hình 12 Đường dẫn trong tệp robots.txt

Quét fom đăng kí của người dùng joomscan -u nguoikesu.com

Hình 13 Form đăng kí người dùng của trang nguoikesu.com

23 joomscan -u www.huongnghiepviet.com/v3/ ec

Hình 14 Lỗ hổng trong các thành phần mở rộng của trang huongnghiepviet.com

Liệt kê những thành phần mở rộng mà trang web sử dụng và thông tin về lỗ hổng bảo mật đi kèm nếu có

Cài đặt máy ảo DC-3 chưa lỗ hổng bảo mật trên Virtualbox

Rà quét dải mạng và tìm ra địa chỉ IP host của máy ảo DC-3

Sử dụng joomscan quét được phiên bản sử dụng là Joomla 3.7.0

Dùng searchexploid để tìm ra lỗ hổng của phiên bản này

Chạy lệnh như mẫu để khai thác lỗ hổng và lấy tên của các database tồn tại sqlmap -u

"http://10.0.2.12/index.php?option=com_fields&view=fields&layout=modal&list[fullord ering]=updatexml" risk=3 level=5 random-agent dbs -p list[fullordering]

Chạy lệnh để hiển thị tên cột và hàng trong database

"http://10.0.2.12/index.php?option=com_fields&view=fields&layout=modal&list[fullord ering]=updatexml" risk=3 level=5 random-agent -D joomladb tables batch

Chạy lệnh để hiển thị nội dung bảng

Bản demo có tham khảo từ [5]

Bài báo cáo đã trình bày tổng quan về hệ thống CMS, với Joomla là một trong những nền tảng phổ biến nhất Nội dung cũng đề cập đến các vấn đề an toàn và bảo mật thông tin người dùng khi sử dụng các hệ thống này Hơn nữa, báo cáo giới thiệu công cụ JoomScan, hướng dẫn cách sử dụng và thực hành Việc rà quét và kiểm tra website, đặc biệt là các hệ thống CMS, là rất quan trọng Công cụ JoomScan giúp phát hiện lỗ hổng bảo mật trong phiên bản Joomla và các tiện ích mở rộng, từ đó cho phép lập kế hoạch phòng chống và khắc phục kịp thời, tránh thiệt hại không đáng có.

Ngày đăng: 09/02/2022, 14:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[4] "JoomScan," 26 10 2021. [Online]. Available: https://www.kali.org/tools/joomscan/ Sách, tạp chí
Tiêu đề: JoomScan
[1] 2 9 2021. [Online]. Available: https://kinsta.com/knowledgebase/content-management-system/ Link
[2] [Online]. Available: https://www.joomla.org/ Link
[3] S. V. Nair, 5 10 2020. [Online]. Available: https://beaglesecurity.com/blog/article/cms-vulnerabilities.html Link
[5] [Online]. Available: https://www.hackingarticles.in/dc-3-walkthrough/ Link

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN