แฮ็กเกอร์ฝังโปรแกรมขโมยข้อมูลบัตรเครดิตลงในโมดูลการประมวลผลการชำระเงิน [EndUser]

แคมเปญการขโมยข้อมูลบัตรเครดิตรูปแบบใหม่ที่แตกต่างจากที่เคยถูกพบมาก่อน โดยการใช้การซ่อนโค้ดที่เป็นอันตรายไว้ภายในโมดูลของเกตเวย์การชำระเงิน 'Authorize.net' สำหรับ WooCommcerce เพื่อทำให้ผู้ไม่หวังดีสามารถหลบหลีกการตรวจจับจากการตรวจสอบด้านความปลอดภัยได้

ก่อนหน้านี้ เมื่อผู้ไม่หวังดีโจมตีเว็บไซต์ร้านค้า เช่น Magento หรือ WordPress ที่มีการเรียกใช้ WooCommerce ผู้ไม่หวังดีจะแทรกสคริปต์ JavaScript ที่เป็นอันตรายลงใน HTML ของร้านค้า หรือหน้าชำระเงินของลูกค้า

สคริปต์เหล่านี้จะขโมยข้อมูลลูกค้าที่ป้อนข้อมูลในขั้นตอนการชำระเงิน เช่น หมายเลขบัตรเครดิต, วันหมดอายุ, หมายเลข CVV, ที่อยู่, เบอร์โทรศัพท์ และที่อยู่อีเมล

อย่างไรก็ตามร้านค้าออนไลน์หลายร้านจะใช้บริการซอร์ฟแวร์ security เพื่อสแกน HTML ของเว็บไซต์ eCommerce ที่เปิดให้เข้าใช้งานจากสาธารณะ เพื่อค้นหาสคริปต์ที่เป็นอันตราย ทำให้ผู้ไม่หวังดีหลบเลี่ยงการตรวจจับได้ยากขึ้น

เพื่อหลบเลี่ยงการตรวจจับ ผู้ไม่หวังดีได้ใช้การโจมตีรูปแบบใหม่โดยการฝังสคริปต์ที่เป็นอันตรายลงในโมดูลของเกตเวย์การชำระเงินโดยตรง บนเว็บไซต์ที่ใช้ในการประมวลผลการชำระเงินด้วยบัตรเครดิต

โดยปกติโมดูลส่วนนี้จะถูกเรียกใช้เมื่อผู้ใช้ส่งรายละเอียดบัตรเครดิต และชำระเงินที่ร้านค้าเท่านั้น ซึ่งทำให้ยากต่อการตรวจจับโดยโซลูชั่นด้านความปลอดภัย

แคมเปญนี้ถูกพบโดยผู้เชี่ยวชาญด้านความปลอดภัยของเว็บไซต์ Sucuri หลังจากที่ได้ทำการตรวจสอบความผิดปกติในระบบของลูกค้า

การกำหนดเป้าหมายเป็นเกตเวย์การชำระเงิน

WooCommerce เป็นแพลตฟอร์ม eCommerce ยอดนิยมสำหรับ WordPress ซึ่งถูกใช้โดยร้านค้าออนไลน์ประมาณ 40% ของร้านค้าทั้งหมด

เพื่อรับการชำระเงินด้วยบัตรเครดิตบนเว็บไซต์ ร้านค้าจะใช้ระบบประมวลผลการชำระเงิน เช่น Authorize.net ซึ่งเป็นระบบประมวลผลยอดนิยมที่ใช้โดยร้านค้ากว่า 440,000 ร้านทั่วโลก

บนเว็บไซต์ที่ถูกโจมตี Sucuri พบว่าผู้โจมตีได้แก้ไขไฟล์ 'class-wc-authorize-net-cim.php' ซึ่งเป็นหนึ่งในไฟล์ของ Authorize.net ที่สนับสนุนการทำงานร่วมกันของระบบเกตเวย์การชำระเงินกับระบบของ WooCommerce

โค้ดที่ฝังเข้าไปในไฟล์ จะทำการตรวจสอบเนื้อหา HTTP request ว่ามีสตริง 'wc-authorize-net-cim-credit-card-account-number' อยู่หรือไม่ ซึ่งเนื้อหา request จะประกอบไปด้วยข้อมูลการชำระเงินหลังจากผู้ใช้ทำการเช็คเอาท์สินค้าในร้านค้าออนไลน์แล้ว

หากพบสตริงดังกล่าวในเนื้อหา request โค้ดจะสร้างรหัสผ่านแบบสุ่ม แล้วนำข้อมูลการชำระเงินของเหยื่อเข้ารหัสด้วยวิธี AES-128-CBC และเก็บไว้ในไฟล์รูปภาพ ซึ่งผู้ไม่หวังดีจะเรียกดูข้อมูลในภายหลัง

การโจมตีครั้งที่สอง ผู้ไม่หวังดีได้ฝังโค้ดลงในไฟล์ 'wc-authorize-net-cim.min.js' ซึ่งเป็นไฟล์ของ Authorize.net อีกไฟล์หนึ่ง

โค้ดที่ถูกฝังเข้าไป จะเก็บรายละเอียดของการชำระเงินเพิ่มเติมจากการป้อนข้อมูลลงในฟอร์มบนเว็บไซต์ที่ถูกโจมตี โดยมีเป้าหมายเพื่อขโมยชื่อ, ที่อยู่ในการจัดส่ง, หมายเลขโทรศัพท์ และรหัสไปรษณีย์

การหลบเลี่ยงการตรวจจับ

จุดที่น่าสนใจของแคมเปญนี้ คือ การซ่อนตัวของ skimmer และฟังก์ชันที่ทำให้ยากต่อการตรวจจับ และกำจัด ซึ่งเป็นเหตุผลที่ทำให้การขโมยข้อมูลใช้ระยะเวลาได้นานขึ้น

  • การโจมตีเริ่มต้นด้วยการฝังโค้ดลงในไฟล์เกตเวย์การชำระเงินที่ถูกต้อง ดังนั้นการใช้บริการซอร์ฟแวร์ security เพื่อสแกน HTML จะไม่ให้ผลลัพธ์ความผิดปกติใด ๆ
  • การบันทึกรายละเอียดบัตรเครดิตที่ถูกขโมยไว้ในไฟล์ภาพไม่ใช่เทคนิคใหม่ แต่การเข้ารหัสที่มีความแข็งแกร่งเป็นองค์ประกอบที่ใหม่ ช่วยให้ผู้ไม่หวังดีหลบเลี่ยงการตรวจสอบได้ ในการโจมตีก่อนหน้านี้ ผู้ไม่หวังดีจะจัดเก็บข้อมูลที่ถูกขโมยในรูปแบบข้อความธรรมดาที่ใช้การเข้ารหัส base64 หรือแค่ส่งข้อมูลออกไปยังผู้ไม่หวังดีในช่วงที่ผู้ใช้ทำการชำระเงิน
  • ผู้โจมตีใช้ Heartbeat API ของ WordPress เพื่อจำลองการรับส่งข้อมูล และรวมกับข้อมูลการชำระเงินของเหยื่อ เมื่อทำการส่งข้อมูลออกไป จะช่วยให้ผู้ไม่หวังดีหลบเลี่ยงการตรวจจับจากเครื่องมือ security ที่ตรวจสอบการส่งข้อมูลที่ไม่ได้รับอนุญาต

เนื่องจากกลุ่ม MegeCart ได้พัฒนากลยุทธ์ และมุ่งเป้าหมายไปที่ WooCommerce และ WordPress มากขึ้น จึงจำเป็นที่เจ้าของเว็บไซต์ และผู้ดูแลระบบ ต้องทำการเฝ้าระวังอย่างต่อเนื่อง และปรับปรุงมาตรการรักษาความปลอดภัยอย่างเหมาะสมเพื่อป้องกันการโจมตี

แคมเปญล่าสุดที่ Sucuri ค้นพบนี้ แสดงให้เห็นถึงความซับซ้อนของการโจมตีข้อมูลบัตรเครดิตแบบ Skimming และการพลิกแพลงการโจมตีของผู้ไม่หวังดี เพื่อการหลีกเลี่ยงการตรวจจับจากอุปกรณ์รักษาความปลอดภัย

ที่มา : bleepingcomputer