Tấn công chuỗi cung ứng làm lộ CDN của plugin WordPress OptinMonster
"A supply-chain attack compromised Awesome Motive's CDN credentials after exploitation of a known UpdraftPlus WordPress plugin flaw, allowing attackers to inject malicious JavaScript into OptinMonster, TrustPulse, and possibly PushEngage distribution files. The injected code targeted WordPress administrators to steal authentication tokens and nonces, create rogue admin accounts, and install a hidden backdoor plugin; remediation included rotating CDN and other credentials, while affected site owners were advised to remove rogue admins, scan for backdoors, and rotate passwords and salts."
Tác động nghiêm trọng do kẻ tấn công có thể đánh cắp token/nonce, tạo admin giả và cài backdoor plugin kèm web shell, dẫn tới chiếm quyền toàn bộ website.
Nguy cơ gián đoạn dịch vụ và suy giảm niềm tin do mã độc có thể ảnh hưởng đến người dùng của nhiều website; đồng thời yêu cầu xoay khóa/credential và rà soát hậu sự trên diện rộng.
Các plugin OptinMonster, TrustPulse và PushEngage được cho là đã bị ảnh hưởng trong một supply-chain attack nhắm vào mạng phân phối nội dung (CDN) của Awesome Motive. Theo Sansec, mã độc được phân phối cho người dùng vào các khung thời gian cụ thể: OptinMonster và TrustPulse trong khoảng 22:17–22:42 UTC (thứ Sáu), còn PushEngage tiếp tục phục vụ mã độc đến 19:02 UTC (thứ Bảy).
Cơ chế kích hoạt chỉ xảy ra khi WordPress administrator truy cập trang trên website bị nhiễm. Mã độc thu thập authentication tokens và nonces, sau đó dùng để tạo tài khoản quản trị giả mạo. Tiếp theo, kẻ tấn công cài backdoor plugin tự ẩn và thiết lập kênh liên lạc tới một domain giả mạo Tidio để gửi dữ liệu vừa thu được. Backdoor còn cung cấp quyền truy cập từ xa, bao gồm web shell (“WPM File Manager & Shell”) và arbitrary PHP code execution.
Awesome Motive cho biết kẻ tấn công xâm nhập vào một máy chủ marketing thông qua lỗ hổng đã biết trong UpdraftPlus, đánh cắp CDN API key rồi sửa các file JavaScript phân phối qua CDN. Các file bị nêu gồm a.omappapi.com/app/js/api.min.js, a.opmnstr.com/app/js/api.min.js, a.optnmstr.com/app/js/api.min.js (OptinMonster) và a.trstplse.com/app/js/api.min.js (TrustPulse).
Khuyến nghị cho chủ website: xóa tài khoản admin giả (ví dụ ‘developer_api1’, ‘dev_xxxxxx’), kiểm tra wp-content/plugins để phát hiện plugin backdoor ẩn, chạy server-side malware scan, và xoay mật khẩu quản trị, API key, thông tin DB cũng như WordPress security salts. Dù đã gỡ mã độc khỏi CDN, quyền truy cập của kẻ tấn công có thể vẫn tồn tại nếu admin giả và backdoor chưa được loại bỏ.