Lỗ hổng Funnel Builder đang bị khai thác để đánh cắp thông tin thanh toán WooCommerce

Một lỗ hổng bảo mật nghiêm trọng ảnh hưởng đến plugin Funnel Builder dành cho WordPress đang bị khai thác tích cực để chèn mã JavaScript độc hại vào các trang thanh toán WooCommerce nhằm đánh cắp dữ liệu thẻ tín dụng. Lỗ hổng hiện chưa có mã định danh CVE chính thức và ảnh hưởng đến hơn 40.000 cửa hàng trực tuyến.
Lỗ hổng Funnel Builder bị khai thác

Một lỗ hổng bảo mật nghiêm trọng ảnh hưởng đến plugin Funnel Builder dành cho WordPress đang bị khai thác tích cực trong thực tế để chèn mã JavaScript độc hại vào các trang thanh toán của WooCommerce nhằm mục đích đánh cắp dữ liệu thanh toán.

Chi tiết về hoạt động này đã được Sansec công bố trong tuần này. Lỗ hổng hiện chưa có mã định danh CVE chính thức, ảnh hưởng đến tất cả các phiên bản của plugin trước bản 3.15.0.3. Plugin này hiện đang được sử dụng bởi hơn 40.000 cửa hàng WooCommerce.

Công ty bảo mật thương mại điện tử Hà Lan cho biết, lỗi này cho phép những kẻ tấn công chưa xác thực chèn mã JavaScript tùy ý vào mọi trang thanh toán trên cửa hàng. FunnelKit, đơn vị duy trì Funnel Builder, đã phát hành bản vá cho lỗ hổng này trong phiên bản 3.15.0.3.

"Kẻ tấn công đang cài đặt các đoạn mã Google Tag Manager giả mạo vào cài đặt 'External Scripts' của plugin," Sansec lưu ý. "Mã được chèn trông giống như các thẻ phân tích thông thường bên cạnh các thẻ thực của cửa hàng, nhưng nó sẽ tải một công cụ đánh cắp thông tin thanh toán (payment skimmer) để lấy số thẻ tín dụng, mã CVV và địa chỉ thanh toán từ trang checkout."

Cơ chế khai thác lỗ hổng

Theo Sansec, Funnel Builder bao gồm một điểm cuối (endpoint) thanh toán công khai, cho phép một yêu cầu gửi đến có thể chọn loại phương thức nội bộ để chạy. Tuy nhiên, các phiên bản cũ được thiết kế theo cách không bao giờ kiểm tra quyền của người gọi hoặc giới hạn các phương thức nào được phép triệu gọi.

Kẻ xấu có thể lợi dụng kẽ hở này bằng cách gửi một yêu cầu chưa xác thực để tiếp cận một phương thức nội bộ không xác định, từ đó ghi dữ liệu do kẻ tấn công kiểm soát trực tiếp vào cài đặt chung của plugin. Đoạn mã được thêm vào sau đó sẽ được chèn vào mọi trang thanh toán của Funnel Builder.

Kết quả là, kẻ tấn công có thể cài đặt một thẻ <script> độc hại, thẻ này sẽ được kích hoạt trên mỗi giao dịch thanh toán tại một trang web WordPress dễ bị tổn thương.

Ngụy trang dưới dạng Google Tag Manager

Trong ít nhất một trường hợp, Sansec cho biết họ đã quan sát thấy một tải trọng (payload) ngụy trang dưới dạng trình tải Google Tag Manager (GTM) để khởi chạy JavaScript được lưu trữ trên một tên miền từ xa. Sau đó, nó mở một kết nối WebSocket đến máy chủ command-and-control (C2) của kẻ tấn công ("wss://protect-wss[.]com/ws") để lấy về một công cụ skimmer được tùy chỉnh riêng cho giao diện cửa hàng của nạn nhân.

Mục tiêu cuối cùng của cuộc tấn công là đánh cắp số thẻ tín dụng, mã CVV, địa chỉ thanh toán và các thông tin cá nhân khác mà khách truy cập nhập vào lúc thanh toán. Chủ sở hữu trang web được khuyến nghị cập nhật plugin Funnel Builder lên phiên bản mới nhất và kiểm tra mục Settings > Checkout > External Scripts để tìm và xóa bất kỳ nội dung lạ nào.

"Việc ngụy trang các skimmer dưới dạng mã Google Analytics hoặc Tag Manager là một mô hình Magecart lặp đi lặp lại, vì những người kiểm tra có xu hướng bỏ qua bất cứ thứ gì trông giống như một thẻ theo dõi quen thuộc," Sansec cho biết.

Các chiến dịch tấn công tương tự trên Joomla

Tiết lộ này được đưa ra vài tuần sau khi Sucuri chi tiết hóa một chiến dịch trong đó các trang web Joomla bị cài cửa sau (backdoor) bằng mã PHP bị làm rối (obfuscated) để liên lạc với các máy chủ C2 do kẻ tấn công kiểm soát, nhận và xử lý các hướng dẫn, sau đó cung cấp nội dung rác (spam) cho khách truy cập và công cụ tìm kiếm mà chủ trang web không hề hay biết.

Nhà nghiên cứu bảo mật Puja Srivastava cho biết: "Đoạn mã hoạt động như một trình tải từ xa. Nó liên lạc với một máy chủ bên ngoài, gửi thông tin về trang web bị nhiễm và chờ đợi hướng dẫn. Phản hồi từ máy chủ từ xa sẽ quyết định nội dung nào trang web bị nhiễm nên hiển thị."

"Cách tiếp cận này cho phép kẻ tấn công thay đổi hành vi của trang web bị xâm nhập bất cứ lúc nào mà không cần sửa đổi lại các tệp cục bộ. Kẻ tấn công có thể chèn các liên kết sản phẩm rác, chuyển hướng khách truy cập hoặc hiển thị các trang độc hại một cách linh hoạt."