0

Wazuh mã nguồn mở giúp giám sát ứng phó sự cố

Xin chào tất cả mọi người

Hôm nay mình xin được chia sẻ những kiến thức cơ bản về một mã nguồn mở có nhiều tính năng và ứng dụng cao trong việc giám sát hệ thống. Bài viết này mình mong muốn sẽ giúp ích được mọi người trong việc tìm hiểu về một mã nguồn mở nào đó để thu thập và phân tích dữ liệu. Mã nguồn mở mình nói đến là Wazuh.

Bài viết còn nhiều thiếu sót và chưa được hoàn chỉnh vẫn mong được góp ý từ các bạn để mình có thể chỉnh sửa giúp bài viết hoàn chỉnh hơn.

1 Tổng quan về Wazuh

Wazuh là một nền tảng mã nguồn mở có có thể thực hiện công việc EDR hoặc SIEM. Để có thể thực hiện được chức năng EDR và SIEM thì cấu trúc của Wazuh như hình 1.1 image.png Hình 1.1. Tổng quan về Wazuh

Mô hình của Wazuh bao gồm:

  • Endpoints : Đây là các máy điểm cuối được cài đặt Wazuh Agents nhằm thu thập các dữ liệu hoặc hành vi xảy ra trên các máy được cài đặt nhằm gửi về cho Wazuh Manager để phân tích dữ liệu hoặc hành vi của máy Endpoint và so sánh với Rules xem là dữ liệu hoặc hành vi này có phải là một nguy cơ tấn công và đưa ra các cảnh báo (Alerts). Endpoint có thể cài được cả trên Windows và Linux
  • Wazuh Indexer: Wazuh Indexer là một công cụ tìm kiếm và phân tích toàn văn có khả năng mở rộng cao. Nó chịu trách nhiệm lập chỉ mục và lưu trữ các cảnh báo do máy chủ Wazuh tạo ra. Nó có thể được cài đặt dưới dạng cụm một nút hoặc nhiều nút, tùy thuộc vào nhu cầu của môi trường.
  • Wazuh Server Cluster: Wazuh Server cấu hình và cập nhật chúng từ xa khi cần thiết. Thành phần này phân tích dữ liệu nhận được từ các máy Wazuh Agent, xử lý dữ liệu đó thông qua bộ giải mã và quy tắc và sử dụng thông tin tình báo về mối đe dọa để tìm kiếm các dấu hiệu xâm phạm.
  • Wazuh dashboard: Giao diện web linh hoạt và trực quan để khai thác, phân tích và trực quan hóa dữ liệu. Bảng điều khiển được sử dụng để quản lý cấu hình Wazuh và theo dõi trạng thái của nó.

Một vài công việc mà Wazuh có thể thực hiện:

  • Ứng phó sự cố: Wazuh cung cấp các phản ứng chủ động vượt trội để thực hiện các biện pháp đối phó khác nhau chống lại các mối đe dọa đang diễn ra. Các phản hồi này được kích hoạt khi đáp ứng một số tiêu chí nhất định, chúng bao gồm các hành động như chặn truy cập mạng vào điểm cuối từ nguồn mối đe dọa và các hành động khác.
  • Phân tích dữ liệu nhật ký: Wazuh Agents thu thập nhật ký hệ điều hành và ứng dụng, đồng thời chuyển tiếp chúng đến máy chủ Wazuh một cách an toàn để phân tích và lưu trữ dựa trên quy tắc. Các quy tắc Wazuh phát hiện lỗi ứng dụng hoặc hệ thống, cấu hình sai, hoạt động độc hại, vi phạm chính sách và nhiều vấn đề bảo mật và vận hành khác.
  • Phát hiện phần mềm độc hại: Wazuh phát hiện các hoạt động độc hại và các dấu hiệu xâm nhập xảy ra trên điểm cuối do lây nhiễm phần mềm độc hại hoặc tấn công mạng. Bộ quy tắc và các chức năng sẵn có của Wazuh như Đánh giá cấu hình bảo mật (SCA), Kiểm tra gốc và Giám sát tính toàn vẹn tệp (FIM) giúp phát hiện các hoạt động độc hại và bất thường. Bạn có thể định cấu hình và tùy chỉnh các chức năng Wazuh này cho phù hợp với yêu cầu của tổ chức.
  • Săn tìm các mối đe dọa: Wazuh cung cấp khả năng hiển thị toàn diện về các điểm cuối và cơ sở hạ tầng được giám sát. Nó cung cấp khả năng lưu giữ nhật ký, lập chỉ mục và truy vấn giúp bạn điều tra các mối đe dọa có thể đã vượt qua các biện pháp kiểm soát bảo mật ban đầu. Các quy tắc phát hiện mối đe dọa được ánh xạ dựa trên khung MITRE ATT&CK để hỗ trợ điều tra và tham khảo các chiến thuật, kỹ thuật và thủ tục thường được sử dụng bởi những kẻ tấn công. Wazuh cũng tích hợp với nguồn cấp dữ liệu và nền tảng thông tin về mối đe dọa của bên thứ ba để tăng cường săn lùng mối đe dọa.
  • Phân tích dữ liệu nhật ký: Các tác nhân Wazuh thu thập nhật ký hệ điều hành và ứng dụng, đồng thời chuyển tiếp chúng đến máy chủ Wazuh một cách an toàn để phân tích và lưu trữ dựa trên quy tắc. Các quy tắc Wazuh phát hiện lỗi ứng dụng hoặc hệ thống, cấu hình sai, hoạt động độc hại, vi phạm chính sách và nhiều vấn đề bảo mật và vận hành khác
  • Phát hiện lỗ hổng bảo mật: Wazuh Agents lấy dữ liệu kiểm kê phần mềm và gửi thông tin này đến máy chủ Wazuh. Dữ liệu kiểm kê được thu thập sau đó được tương quan với cơ sở dữ liệu CVE (Common Vulnerabilities and Exposure) được cập nhật liên tục, để xác định phần mềm dễ bị tấn công đã biết. Phát hiện lỗ hổng tự động giúp bạn tìm ra lỗ hổng trong tài sản quan trọng của mình và thực hiện hành động khắc phục trước khi kẻ tấn công khai thác chúng cho các mục đích xấu.
  • Docker: Wazuh cung cấp khả năng hiển thị bảo mật đối với các máy chủ và vùng chứa Docker, giám sát hành vi của chúng và phát hiện các mối đe dọa, lỗ hổng và bất thường. Wazuh Agents có tích hợp gốc với công cụ Docker cho phép người dùng giám sát hình ảnh, ổ đĩa, cài đặt mạng và các vùng chứa đang chạy. Wazuh liên tục thu thập và phân tích thông tin thời gian chạy chi tiết. Ví dụ: cảnh báo cho các vùng chứa đang chạy ở chế độ đặc quyền, các ứng dụng dễ bị tấn công, shell chạy trong vùng chứa, thay đổi đối với ổ đĩa hoặc hình ảnh liên tục và các mối đe dọa có thể xảy ra khác.

2 Sử dụng Wazuh giám sát

2.1 Mô hình

Mô hình thực hiện được thực hiện theo mô hình của hình 2.2

image.png

Hình 2.2 Mô hình triển khai mã nguồn mở Wazuh

Hình 2.2 đã triển khai cơ bản một cấu trúc cơ bản để có thể thực hiện Giám sát với mã nguồn mở Wazuh.

  • Máy Windows 10 và Kali được sử dụng là Endpoint cài Wazuh Agents để tiến hành thu thập sự kiện
  • Máy Wazuh Manager đóng vai trò máy phân tích các sự kiện được gửi về từ máy Endpoing. Sau khi tiến hành phân tích các sự kiện nếu như giống với mẫu của Rules thì tiến hành đưa ra các cảnh báo (Alerts).
  • Máy Attacker đóng vai trò thử nghiệm xâm nhập lên các máy Endping để kiểm tra các chức năng cơ bản của Wazuh.

Tiến hành thực hiện giám sát các máy Endpoint và thực hiện các kịch bản sau:

  • Kịch bản 1: Tiến hành cài đặt trên các máy Endpoint là Windows 10 và Kali Linux
  • Kịch bản 2: Tiến hành thu thập log từ các máy Widows 10 và Kali
  • Kịch bản 3: Tiến hành thực hiện các tấn công cơ bản lên các máy Wazuh Agents và phát hiện tấn công
  • Kịch bản 4: Tiến hành dò quét lỗ hổng các máy Endpoint

**Đặc biệt: ** Trong những Alerts này sẽ được cài và gửi một email nhất định. Nhằm mục đích giám sát

2.2 Thực nghiệm

  1. Kịch bản 1: Tiến hành cài đặt trên các máy Endpoint là Windows 10 và Kali Linux

Các bước tiến hành cài đặt máy Wazuh managers và Wazuh Agents đã được thực hiện chi tiết ở Phục Lục

a. Máy Wazuh Manager

Cấu hình máy Wazuh Manager địa chỉ IP: image.png

Cấu hình máy Wazuh Manager image.png

Địa chỉ máy Wazuh Manager

image.png

Giao diện Wazuh Dashboard

Hiện tại thì chưa cài đặt các máy Endpoint nên chưa có thông tin về máy Endpoint

b. Máy Wazuh Agent Window 10

Cấu hình máy Wazuh Agents Windows 10: image.png

Thông tin máy Windows 10

image.png

c. Máy Wazuh Agent Kali

Thông tin máy Kali

image.png

Máy Kali được cài đặt thành công

image.png

  1. Kịch bản 2: Tiến hành thu thập log từ các máy Widows 10 và Kali

Thu thập sự kiện từ máy Kali

image.png

Thu thập sự kiện từ máy Window

image.png

  1. Kịch bản 3: Tiến hành thực hiện các tấn công cơ bản lên các máy Wazuh Agents và phát hiện tấn công

3.1 Thực hiện tấn công Brute-Force vào máy Kali-Agent

Trong phần này sẽ thực hiện tấn công Brute-Force vào giao thức SSH của Kali

Các file user_name.txt và user_password.txt là những file tên đăng nhập và mật khẩu được cài sẵn giúp chúng ta có thể thực thiện tấn công dò quét mật khẩu được.

Câu lệnh Tấn công: image.png

Kết quả ở máy Wazuh:

image.png

Alerts gửi thông báo về Email

image.png

3.2 Tấn công XSS

Sử dụng web Apache2 có sẵn của Kali tiến hành thực hiện chèn câu lệnh

Mở web apache2 trên một web nào đó chèn câu lệnh vào web

/<script>alert(‘XSS%20Attack’);</script>

image.png

Bắt sự kiện ở Wazuh

image.png

Thông báo được gửi về Email

image.png

3.3 Tấn công SQL Injection

Tiến hành thêm các Rules vào máy Agent để bắt các sự kiện bất thường

image.png

Tiến hành khai thác Web bằng câu lệnh:* curl -XGET "http://192.168.46.131/users/?id=SELECT++FROM+users"; *

image.png

Hiện Alerst trên máy Wazuh Servers:

image.png

Thông báo gửi về mail:

image.png

  1. Kịch bản 4: Dò quét lỗ hổng các máy Endpoint

Cần sửa các thông tin sau ở máy Server và Agents Kali:

image.png

Còn máy Agents Windows 10 thêm rules này:

image.png

a. Tiến hành dò quét đối với máy Windows 10

image.png

Phát hiện lỗ hổng máy Windows 10 là: CVE-2022-30168 Đây là lỗ hổng thực thi mã từ xa (RCE) nghiêm trọng trong Windows RPC Runtime, cho phép kẻ tấn công gửi gói tin độc hại qua mạng để chiếm quyền điều khiển máy tính. Lỗ hổng ảnh hưởng đến nhiều phiên bản Windows

b. Tiến hành dò quét đối với máy Kali

image.png

Lỗ hổng máy Kali rất nhiều, nhưng vài lỗ hổng mức nghiêm trọng như: CVE-2024-36039; CVE-2024-42005; CVE-2024-53908

image.png

CVE-2024-3603: Lỗ hổng SQL Injection trong thư viện PyMySQL (≤1.1.0) do xử lý khóa JSON không an toàn. Cho phép kẻ tấn công chèn câu lệnh SQL độc hại CVE-2024-42005: Lỗ hổng SQL Injection trong Django (trường JSONField) do không xử lý khóa JSON đúng cách khi dùng values() hoặc values_list() CVE-2024-53908 Django dễ bị SQL Injection khi dùng HasKey với Oracle nếu đầu vào không được xác thực đúng. Ảnh hưởng đến các phiên bản trước 5.1.4

Bài viết này mình đã trình bày mức cơ bản về mã nguồn mở Wazuh cách cài đặt, bắt được các sự kiến tấn công trên các máy Endpoint. Ngoài ra còn một vài chức năng mà Wazuh có thể thực hiện mà chưa được nêu vào:

  • Có thể giám sát các file thực thi, ví dụ như một file System32 của Windows dễ bị tấn công mã độc vào thì ta có thể giám sát các file này để nhận ra là FIle có thể bị sửa đổi hay tạo một file mới vào không ...

Mình chân thành cảm ơn các bạn đã xem bài viết ! Có thắc mắc / góp ý xin để lại bình luận ạ. Mình cảm ơn mọi người !

Phụ Lục

  1. Cài đặt Wazuh Manager

Hướng dẫn cài Wazuh Manager mình xem ở Video này nhé: https://www.youtube.com/watch?v=f1fFilyMRus

Chú ý một phần: Do một số phiên bản OVA cài trên Vmware sẽ bị báo lỗi. Khi báo lỗi kiểu như phiên bản không hợp lệ thì mọi người làm như sau:

Tìm vào Folder lúc cài Wazuh -> Tìm đến file Wazuh-Server.vmx mở lên và chèn đoạn sau vào cuối rồi chạy lại Wazuh sẽ được

smc.version = "0" cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011" cpuid.0.ebx = "0111:0101:0110:1110:0110:0101:0100:0111" cpuid.0.ecx = "0110:1100:0110:0101:0111:0100:0110:1110" cpuid.0.edx = "0100:1001:0110:0101:0110:1110:0110:1001" cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0111:0001" cpuid.1.ebx = "0000:0010:0000:0001:0000:1000:0000:0000" cpuid.1.ecx = "1000:0010:1001:1000:0010:0010:0000:0011" cpuid.1.edx = "0000:0111:1000:1011:1111:1011:1111:1111" smbios.reflectHost = "TRUE" hw.model = "MacBookPro14,3" board-id = "Mac-551B86E5744E2388"

  1. Cài đặt Wazuh Agents

a. Cài đặt trên máy Windows 10

Đăng nhập vào Giao diện trang chủ image.png

Thêm máy Agents image.png

Lựa chọn Windows

Nhập địa chỉ IP máy chủ

image.png

Nhập tên máy

image.png

Chạy lệnh dưới để cài dịch vụ về máy (nhớ phải chạy dưới quyền Admin nhé 😃 )

image.png

image.png

b. Cài đặt trên máy Kali

Đăng nhập trang chủ chọn máy Linux như trong hình

image.png

Chạy lệnh dưới:

image.png

Kết quả:

image.png

  1. Tài liệu tham khảo

Bài viết trong quá trình Hoàn thiện em up để demo thôi ạ. Em dùng lần đầu =))

Wazuh [1] wazuh https://wazuh.com/platform/overview/


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí