Các nhà nghiên cứu an ninh mạng đã phát hiện một chiến dịch web skimming lớn đã hoạt động từ tháng 1 năm 2022, nhắm mục tiêu vào một số mạng lưới thanh toán lớn như American Express, Diners Club, Discover, JCB Co., Ltd., Mastercard và UnionPay.
"Các tổ chức doanh nghiệp là khách hàng của các nhà cung cấp dịch vụ thanh toán này có nhiều khả năng bị ảnh hưởng nhất," Silent Push cho biết trong một báo cáo được công bố hôm nay.
Các cuộc tấn công digital skimming thuộc loại tấn công client-side, trong đó các đối tượng xấu xâm nhập vào các trang web thương mại điện tử và cổng thanh toán hợp pháp để chèn mã JavaScript độc hại có khả năng âm thầm thu thập thông tin thẻ tín dụng và các thông tin cá nhân khác khi người dùng không nghi ngờ cố gắng thực hiện thanh toán trên các trang thanh toán.
Các cuộc tấn công này được phân loại dưới một thuật ngữ chung là Magecart, ban đầu dùng để chỉ một liên minh các nhóm tội phạm mạng nhắm mục tiêu vào các trang web thương mại điện tử sử dụng phần mềm Magento, trước khi đa dạng hóa sang các sản phẩm và nền tảng khác.
Silent Push cho biết họ đã phát hiện chiến dịch sau khi phân tích một tên miền đáng ngờ liên kết với nhà cung cấp dịch vụ hosting "chống đạn" Stark Industries (và công ty mẹ PQ.Hosting) hiện đã bị trừng phạt. Công ty này đã đổi tên thành THE[.]Hosting, dưới sự kiểm soát của pháp nhân Hà Lan WorkTitans B.V., đây là một biện pháp nhằm lách lệnh trừng phạt.
Tên miền được đề cập, cdn-cookie[.]com, đã được tìm thấy là nơi lưu trữ các tải trọng JavaScript bị làm rối mã (obfuscated) cao (ví dụ: "recorder.js" hoặc "tab-gtm.js") được các cửa hàng trực tuyến tải để tạo điều kiện cho việc skimming thẻ tín dụng.
Skimmer này đi kèm với các tính năng để tránh bị quản trị viên trang web phát hiện. Cụ thể, nó kiểm tra cây Document Object Model (DOM) để tìm một phần tử có tên "wpadminbar", một tham chiếu đến thanh công cụ xuất hiện trên các trang web WordPress khi quản trị viên đã đăng nhập hoặc người dùng có quyền thích hợp đang xem trang.
Trong trường hợp phần tử "wpadminbar" hiện diện, skimmer sẽ khởi tạo một chuỗi tự hủy và loại bỏ sự hiện diện của nó khỏi trang web. Một nỗ lực thực thi skimmer được thực hiện mỗi khi DOM của trang web bị sửa đổi, đây là hành vi tiêu chuẩn xảy ra khi người dùng tương tác với trang.
Chưa hết. Skimmer còn kiểm tra xem Stripe có được chọn làm tùy chọn thanh toán hay không, và nếu có, một phần tử gọi là "wc_cart_hash" tồn tại trong localStorage của trình duyệt. Nó tạo và đặt giá trị này thành "true" để cho biết nạn nhân đã bị skim thành công.
Việc thiếu cờ này khiến skimmer hiển thị một biểu mẫu thanh toán Stripe giả mạo thay thế biểu mẫu hợp pháp thông qua các thao tác giao diện người dùng, qua đó lừa nạn nhân nhập số thẻ tín dụng, ngày hết hạn và số Card Verification Code (CVC) của họ.
"Khi nạn nhân nhập chi tiết thẻ tín dụng vào một biểu mẫu giả mạo thay vì biểu mẫu thanh toán Stripe thật, vốn đã bị skimmer ẩn đi khi họ điền lần đầu, trang thanh toán sẽ hiển thị lỗi," Silent Push cho biết. "Điều này khiến người dùng tưởng rằng họ chỉ đơn giản là đã nhập sai thông tin thanh toán."
Dữ liệu bị skimmer đánh cắp không chỉ dừng lại ở thông tin thanh toán mà còn bao gồm tên, số điện thoại, địa chỉ email và địa chỉ giao hàng. Thông tin cuối cùng được exfiltrate bằng một yêu cầu HTTP POST đến máy chủ "lasorie[.]com".
Sau khi quá trình truyền dữ liệu hoàn tất, skimmer sẽ xóa dấu vết của nó khỏi trang thanh toán, loại bỏ biểu mẫu thanh toán giả mạo đã tạo và khôi phục biểu mẫu nhập liệu Stripe hợp lệ. Sau đó, nó đặt "wc_cart_hash" thành "true" để ngăn skimmer chạy lần thứ hai trên cùng một nạn nhân.
"Kẻ tấn công này có kiến thức chuyên sâu về cách thức hoạt động bên trong của WordPress và tích hợp cả những tính năng ít được biết đến hơn vào chuỗi tấn công của chúng," Silent Push cho biết.