
Sự cố Brevo phát tán ClickFix: Website WordPress cần kiểm tra ngay
Brevo xác nhận mã độc từng bị chèn vào widget và SDK nhúng trên website. Quản trị viên WordPress cần rà plugin lạ, log cài đặt và máy đã chạy lệnh từ CAPTCHA giả.
Nếu website đang nhúng form, tracker hoặc cửa sổ chat của Brevo, quản trị viên WordPress nên kiểm tra máy chủ và máy tính ngay. Brevo xác nhận kẻ tấn công đã dùng một khóa Cloudflare API bị lộ để chèn mã độc vào các tệp JavaScript mà khách hàng nhúng trên website. Mã độc đã ngừng phát tán, nhưng plugin cửa hậu cài trong thời gian xảy ra sự cố có thể vẫn còn.
Sự cố xảy ra ngày 14/9/2026. Theo khung giờ Brevo công bố, mã độc hoạt động từ 16:07 đến 20:30 UTC, tương đương khoảng 23:07 ngày 14/9 đến 03:30 ngày 15/9 theo giờ Việt Nam. Sansec ghi nhận một khung thời gian hẹp hơn vài phút. Đây là chi tiết cần dùng khi rà log, đừng tìm cả tháng rồi hoa mắt.
Vì sao sự cố Brevo nguy hiểm với WordPress?
Brevo cho biết kẻ tấn công lấy được một khóa Cloudflare API tồn tại lâu, có toàn quyền và từng được lưu cứng trong mã nguồn. Khóa này cho phép tạo Cloudflare Worker, tuyến định tuyến và bản ghi DNS. Mã độc vì thế được chèn tại lớp CDN, tức lớp phân phối nội dung nằm giữa máy chủ gốc và trình duyệt. Các tệp tại máy chủ gốc không đổi nên kiểm tra tính toàn vẹn thông thường có thể không phát hiện.
Các thành phần bị ảnh hưởng gồm form của Brevo, Brevo Conversations và SDK loader được website khách hàng nhúng trực tiếp. Sansec ước tính hơn 100.000 website có dùng các thành phần liên quan. Con số này là phạm vi có khả năng bị phơi nhiễm, không phải 100.000 website đã bị cài cửa hậu.
Với khách truy cập thông thường, mã độc hiện trang “xác minh bạn là người” giả mạo Cloudflare rồi yêu cầu mở hộp Run hoặc Terminal, dán lệnh từ clipboard và chạy. Đây là thủ đoạn ClickFix: trình duyệt không tự nhiễm mã độc; nạn nhân bị dụ tự chạy lệnh.
Nguy hiểm hơn, khi phát hiện người đang đăng nhập với quyền quản trị WordPress, đoạn mã thử tải lên và kích hoạt một plugin lạ. BleepingComputer phân tích mẫu trên VirusTotal và cho biết plugin giả tên “Web Media Optimizer”, có thể ẩn khỏi danh sách plugin thông thường, sao chép vào thư mục mu-plugins và tạo phiên đăng nhập quản trị bằng khóa được cài sẵn.
Kiểm tra WordPress sau sự cố Brevo
Hãy ưu tiên các website có nhúng Brevo và có quản trị viên truy cập trang ngoài khi đang đăng nhập trong khung giờ trên.
- Kiểm tra access log để tìm yêu cầu
POST /wp-admin/update.php?action=upload-plugin, sau đó là yêu cầu kích hoạt plugin trong cùng thời điểm. - So sánh thư mục
wp-content/pluginsvàwp-content/mu-pluginsvới danh sách plugin đã phê duyệt. Đừng chỉ nhìn màn hình Plugins vì mẫu bị phân tích có khả năng tự ẩn. - Tìm plugin hoặc tệp được tạo, sửa vào ngày 14 và 15/9. Nếu thấy “Web Media Optimizer” không do đội quản trị cài, hãy cô lập website trước khi xóa để còn giữ bằng chứng.
- Đổi mật khẩu quản trị, thu hồi phiên đăng nhập và rà lại tài khoản admin sau khi đã làm sạch. Nếu chỉ đổi mật khẩu mà cửa hậu còn nằm trên máy chủ thì chẳng khác nào thay khóa nhưng để cửa sổ mở.
- Nếu ai đã làm theo CAPTCHA giả và chạy lệnh, hãy ngắt mạng máy đó, quét toàn bộ bằng công cụ bảo mật đáng tin, đổi các mật khẩu từng dùng trên máy và kiểm tra phiên đăng nhập bất thường.
Brevo nói các tệp nhúng hiện đã sạch, khóa bị lộ đã bị thu hồi và các tên miền do kẻ tấn công tạo đã bị xóa. Ứng dụng app.brevo.com, API, hạ tầng gửi email và dữ liệu tài khoản khách hàng không nằm trong phạm vi ảnh hưởng mà hãng xác nhận. Tuy vậy, việc Brevo đã dọn phía họ không tự xóa plugin đã cài trên website khách hàng.
Dấu hiệu ClickFix cần nhớ
Một CAPTCHA hợp lệ không yêu cầu bạn nhấn Windows + R, mở PowerShell, Terminal hay dán lệnh. Nếu gặp hướng dẫn kiểu đó, đóng trang và báo cho bộ phận IT. Có thể đọc thêm cảnh báo về CAPTCHA giả dụ chạy PowerShell để nhận ra thủ đoạn tương tự.
