Kỹ thuật tấn công TRUST#GRAFT: Lạm dụng phiên làm việc WordPress để cài cắm Backdoor
Các nhà nghiên cứu bảo mật vừa phát hiện chiến dịch tấn công TRUST#GRAFT, lợi dụng phiên làm việc của quản trị viên WordPress để cài đặt mã độc PHP mà không cần mật khẩu.

- Cơ chế tấn công: Kẻ tấn công sử dụng JavaScript loader để lợi dụng phiên làm việc (session) đang đăng nhập của quản trị viên WordPress nhằm thực thi các hành vi trái phép.
- Kỹ thuật ẩn giấu: Mã độc tự sao chép vào thư mục
wp-content/mu-plugins/dưới dạng 'Must-Use' plugin để duy trì sự tồn tại bền vững và tránh bị phát hiện qua giao diện quản trị thông thường.- Phạm vi ảnh hưởng: Chiến dịch này đã đe dọa hơn 1,2 triệu trang web, nhấn mạnh rủi ro khi sử dụng chung trình duyệt cho cả quản trị website và duyệt web thông thường.
Các quản trị viên WordPress thường duy trì trạng thái đăng nhập vào bảng điều khiển (dashboard) trong cùng trình duyệt sử dụng cho các hoạt động duyệt web hàng ngày. Một chuỗi tấn công mới được ghi nhận đã chứng minh tại sao thói quen này lại tiềm ẩn rủi ro bảo mật nghiêm trọng. Các nhà nghiên cứu tại Securonix Threat Research đã tài liệu hóa một JavaScript loader có khả năng chờ đợi quản trị viên truy cập vào một trang web bị xâm nhập, sau đó sử dụng chính phiên làm việc tin cậy của trình duyệt đó để cài đặt một backdoor PHP ẩn danh trên website.
Điểm đáng chú ý là kẻ tấn công không cần biết mật khẩu của quản trị viên, vì trình duyệt của chính nạn nhân đã thực hiện các thao tác thay thế. Các trường hợp gần đây cho thấy một mô hình tấn công nhất quán, trong đó một chiến dịch mã độc WordPress do quản trị viên kích hoạt đã khiến hơn 1,2 triệu trang web đối mặt với nguy cơ bị chiếm quyền điều khiển. Mã độc chỉ kích hoạt trong các phiên làm việc đang đăng nhập khiến việc phát hiện thông qua các quy trình quét định kỳ trở nên vô cùng khó khăn.
Phân tích kỹ thuật chuỗi tấn công TRUST#GRAFT
Quá trình lây nhiễm bắt đầu bằng một bước kiểm tra bảo mật giả mạo. Script tấn công hiển thị một khung hình toàn màn hình (iframe) mô phỏng giao diện xác thực 'Just a moment' của Cloudflare. Trong khi người dùng chờ đợi, script thu thập các thông tin chi tiết như kích thước màn hình, dữ liệu đồ họa, múi giờ, số lượng plugin đã cài đặt và kiểm tra các dấu hiệu của công cụ phân tích tự động.

Sau khi giải quyết một bài toán nhỏ, trình duyệt gửi dữ liệu này đến máy chủ điều khiển (C2 server) để quyết định giai đoạn tiếp theo. Bước then chốt diễn ra khi script yêu cầu trang tải lên plugin của WordPress bằng cách sử dụng cookie đăng nhập hiện có của trình duyệt, sau đó đọc mã thông báo bảo mật (nonce) từ trang đó.

Script sau đó tải xuống tệp ZIP có tên wm.zip từ máy chủ dàn dựng và tải lên thông qua điểm cuối cài đặt plugin tiêu chuẩn. Nếu quá trình tải lên thành công, script sẽ mở trang plugin và kích hoạt plugin mới. WordPress chấp nhận các yêu cầu này vì trình duyệt đã được xác thực với quyền quản trị viên.
Backdoor PHP bền vững trong Must-Use Plugins
Tệp ZIP chứa một plugin PHP có tên 'Web Media Optimizer', phiên bản 2.1. Mặc dù tên gọi gợi ý đây là một công cụ tối ưu hóa hình ảnh vô hại, nhưng thực tế nó hoạt động như một backdoor. Plugin này thực hiện các hành vi độc hại như tiêm JavaScript từ xa vào các trang công khai, vô hiệu hóa kiểm tra chứng chỉ TLS khi truy xuất script điều khiển và có khả năng thiết lập cookie đăng nhập quản trị viên thông qua một mã thông báo được mã hóa cứng (hardcoded token: M2wS8mR4yP1qL7xC5vB3dG9jK6tH2z).
Plugin này cũng tự bảo vệ sự hiện diện của mình. Khi kích hoạt, nó tự sao chép vào wp-content/mu-plugins/wmedia-recovery.php. WordPress tự động tải mọi tệp trong thư mục này và các tệp đó không xuất hiện trên trang Plugins thông thường. Điều này giải thích tại sao việc xóa plugin hiển thị là không đủ để loại bỏ hoàn toàn mã độc.
⚠️ Cảnh báo quan trọng: Việc chỉ xóa plugin hiển thị sẽ không loại bỏ được backdoor. Quản trị viên cần kiểm tra kỹ thư mục mu-plugins và xóa bỏ các tệp tin lạ để ngăn chặn khả năng tái nhiễm.Chỉ số nhận diện mối đe dọa (IoCs)
Dưới đây là bảng tổng hợp các chỉ số nhận diện (IoCs) liên quan đến chiến dịch này để phục vụ công tác săn tìm mối đe dọa (Threat Hunting):
| Loại thực thể | Giá trị / Chỉ số | Mô tả tác động |
|---|---|---|
| JavaScript loader | gerlace[.]com/0k2blyny.js | Script khởi tạo giai đoạn 1 |
| Second-stage ZIP | caapman[.]me/p/wm.zip | Payload chứa backdoor |
| Persistence path | wp-content/mu-plugins/wmedia-recovery.php | Đường dẫn duy trì mã độc |
| PHP SHA256 | 86d775c2d5cb459541cd2b0b967fac65ce20c60e483c71c9f7e108d5ad0bd564 | Hash tệp wmedia-recovery.php |
| ZIP SHA256 | 9215d17e5138cee498bb529e69b1cc7267305136535025e9b49fe173cf648720 | Hash tệp wm.zip |
Để phòng ngừa, các nhà nghiên cứu khuyến nghị quản trị viên nên sử dụng hồ sơ trình duyệt riêng biệt cho wp-admin, đăng xuất sau khi hoàn tất công việc, xoay vòng thông tin xác thực quản trị viên, hạn chế quyền tải lên plugin và thường xuyên giám sát các tệp PHP mới trong thư mục mu-plugins. Tham khảo thêm thông tin chi tiết về các chiến dịch tương tự tại CISA để cập nhật các biện pháp bảo mật mới nhất.
Mạng Lưới An Ninh Mạng & Cộng Đồng
Nhận cảnh báo 0-Day khẩn cấp, phân tích mã độc và tham gia thảo luận kỹ thuật cùng chuyên gia.
Ban biên tập nội dung và phân tích an ninh mạng tại ADSECVN.COM.



