เมื่อเร็ว ๆ นี้ ไซต์ WordPress จำนวนมากได้ค้นพบโค้ดที่เป็นอันตรายที่เพิ่มไว้ที่ด้านบนของ functions.php ไฟล์, การใช้ประโยชน์ซึ่งผู้สร้างมัลแวร์สามารถปลดปล่อยความเสียหายใด ๆ ที่พวกเขาต้องการได้ โค้ดที่ฉีดมาจาก มัลแวร์ ApiWord ซึ่งไม่เพียงแต่สร้างการปรับเปลี่ยนใน post.php และ functions.php แต่ยังสร้างไฟล์ที่มีแบ็คดอร์:/wp-includes/class.wp.php
การปรากฏตัวของ functions.php ไฟล์เป็นสิ่งจำเป็นสำหรับธีมใด ๆ ที่ WordPress รู้จัก – และจะถูกดำเนินการในระหว่างการดูแต่ละหน้า ทำให้เป็นเป้าหมายที่ดีสำหรับโค้ดที่เป็นอันตราย
เกี่ยวกับมัลแวร์ ApiWord
ในกรณีหนึ่ง พบโค้ดที่ติดไวรัสในไฟล์ functions.php ของปลั๊กอินที่เป็นอันตรายที่เรียกว่า woocommerce-direct-download ปลั๊กอินนี้มีสคริปต์อันตรายที่เรียกว่า woocp.php ซึ่งโฮสต์โค้ด PHP ที่สับสน สคริปต์ในการดำเนินการนี้แทรกโค้ดที่เป็นอันตรายลงในไฟล์ functions.php ทั้งหมด
เมื่อติดไวรัสแล้ว สคริปต์จะสร้างแบ็คดอร์ซึ่งผู้โจมตีสามารถใช้ในทางที่ผิดได้หลายวิธี สองสามวิธีที่สามารถใช้สคริปต์ PHP ลับๆ ในทางที่ผิด:
- การเพิ่มหรือแก้ไขโพสต์ตามอำเภอใจบนเว็บไซต์
- แพร่ระบาดเว็บไซต์ WordPress ทั้งหมดบนเซิร์ฟเวอร์
- การสร้างไฟล์ PHP ใหม่บนเซิร์ฟเวอร์โดยดึงโค้ดแบบไดนามิกจากโดเมนของ ApiWord
มัลแวร์ ApiWord เพิ่มข้อมูลโค้ดลงใน wp-includes/post.php ไฟล์. จากนั้นจะสร้างไฟล์ wp-includes/wp-cd.php รับด้านล่างเป็นการถอดรหัส base64:
บล็อกที่เกี่ยวข้อง – วิธีแก้ไขมัลแวร์ wp-vcd ใน WordPress
ในการถอดรหัส จะมีลักษณะดังนี้:
วิธีการตรวจหามัลแวร์ ApiWord
จำเป็นต้องรู้ว่าโค้ดที่เป็นอันตรายถูกเพิ่มไว้ที่ด้านบนของไฟล์ functions.php ทุกไฟล์ ซึ่งอยู่ในไดเร็กทอรีรากของธีมที่ติดตั้งไว้แต่ละไฟล์
ตัวอย่างเช่น หากไซต์ WordPress มีธีมชื่อ "MyTheme" โค้ดที่เป็นอันตรายจะถูกเพิ่มลงใน wp-content/themes/MyTheme/functions.php ไฟล์.
เส้นทางของไฟล์ที่ทราบว่ามีโค้ดที่เป็นอันตรายคือ“@file_puts_contents($_SERVER[‘DOCUMENT_ROOT’].’/wp-includes/class.wp.php’,file_get_contents)” .
รหัสนี้โดยพื้นฐานแล้วจะมีลายเซ็นในรูปแบบของตัวแปรโดยใช้ชื่อ wp_cd_code ซึ่งจะช่วยระบุไฟล์ที่ติดไวรัสได้
ในกรณีที่ผู้ใช้ใช้งานระบบปฏิบัติการที่ใช้ Unix คุณสามารถแยกรายการไฟล์ที่ติดไวรัสทั้งหมดได้โดยการรันคำสั่งต่อไปนี้ในไดเร็กทอรีรากของเว็บรูทของเซิร์ฟเวอร์ของคุณ:
find -iname '*.php' -print0 | xargs -0 egrep -in 'wp_cd_code'
การดำเนินการนี้จะเริ่มต้นการค้นหาซ้ำสำหรับสตริงลายเซ็น “wp_cd_code ” ผ่านไฟล์ .php ทั้งหมด ผลลัพธ์จะแสดงเส้นทางของไฟล์และหมายเลขบรรทัดที่มีสตริงการค้นหา
โค้ดมัลแวร์ ApiWord ทำอะไร
กล่าวอย่างง่าย ๆ โค้ด injector จะกำหนดค่าโค้ดที่เป็นอันตรายสำหรับแต่ละไซต์ แทรกลงในไฟล์ PHP ซึ่งจะทำงานตามคำขอของผู้ใช้แต่ละราย ซึ่งจะรายงานกลับไปยังผู้โจมตี รหัสนี้ตรวจสอบการทำงานของตัวแปร และ รหัสผ่าน ส่งผ่านในคำขอ HTTP หากรหัสผ่านตรงกับแฮชแบบฮาร์ดโค้ด (ซึ่งสร้างขึ้นโดยตัวป้อนโค้ด) โค้ดที่ฉีดเข้าไปจะดำเนินการตามเนื้อหาของ การกระทำ ตัวแปร
ผู้โจมตีสามารถใช้รหัสผ่านที่สร้างขึ้นเพื่อรับสิทธิ์ของผู้ดูแลระบบในเว็บไซต์ของคุณโดยไม่ต้องทำตามขั้นตอนการเข้าสู่ระบบตามปกติ ซึ่งให้สิทธิ์ในการดำเนินการบางอย่างแก่พวกเขา เช่น การเพิ่มเนื้อหาตามอำเภอใจและการแก้ไขโพสต์บนไซต์ที่ติดไวรัสของคุณ หากต้องการทราบข้อมูลเพิ่มเติม โปรดดูบทความเกี่ยวกับ PHP Code Execution ใน WordPress
การลบแฮ็คมัลแวร์ PHP/ApiWord
การบรรเทามัลแวร์ ApiWord เรียกร้องให้ลบรหัสลับๆ ทั้งหมดออกจากไฟล์ function.php ทุกไฟล์ในไดเร็กทอรีธีมของเว็บไซต์ คุณอาจต้องการปฏิบัติตามรายการตรวจสอบนี้:
- ตรวจสอบไฟล์ functions.php ทุกไฟล์เพื่อหาโค้ดที่เป็นอันตราย รหัสที่เกี่ยวข้องจะอยู่ใน php ?> บล็อกในไฟล์ PHP ดังนั้นจึงควรลบบล็อกนี้ทั้งหมด
- ลบโค้ด injector ออกทันทีในกรณีที่ยังคงมีอยู่ ตัวอย่างเช่น ในกรณีของ woocommerce-direct-download ปลั๊กอิน โค้ดอินเจกเตอร์มีอยู่ในไฟล์ชื่อ woocp.php ซึ่งคุณต้องลบทิ้ง
- มองหาตาราง
_datalist และ จดบันทึกนี้ไว้ เนื่องจากอาจช่วยในการค้นหาโพสต์ที่มีการแก้ไข จากนั้น อย่าลืมลบตารางเหล่านี้_install_meta - สแกนโพสต์ทั้งหมดเพื่อหาตัวแปรลายเซ็น “wp_cd_code” และลบ DIV นี้สำหรับแต่ละโพสต์ที่ได้รับผลกระทบ
- ตรวจสอบไฟล์ที่แก้ไขล่าสุดบนเซิร์ฟเวอร์ ล็อกอินเข้าสู่เว็บเซิร์ฟเวอร์ของคุณผ่าน SSH และรันคำสั่งต่อไปนี้เพื่อค้นหาไฟล์ที่แก้ไขล่าสุด:
find /path-of-www -type f -printf ‘%TY-%Tm-%Td %TT %p\n’ | sort -r
วิธีป้องกันการติดมัลแวร์ ApiWord
- อัปเดตผู้ใช้ไฟล์และการอนุญาต พิจารณาเปลี่ยนการอนุญาตไฟล์ของเว็บไซต์ของคุณให้เข้มงวดมากขึ้น รูปแบบการอนุญาตเริ่มต้นสำหรับโฟลเดอร์และไฟล์ควรเป็น 750 และ 640 ตามลำดับ คุณสามารถเปลี่ยนการอนุญาตผ่านไคลเอนต์ FTP/SFTP ในกรณีที่คุณต้องการเปลี่ยนการอนุญาตผ่านบรรทัดคำสั่ง ให้เรียกใช้คำสั่งต่อไปนี้ซ้ำ ๆ :
- สำหรับไดเรกทอรี:
find /path/to/your/wordpress/install/ -type d -exec chmod 750 {} \;
-
สำหรับไฟล์:
find /path/to/your/wordpress/install/ -type f -exec chmod 640 {} \;
- สำหรับไดเรกทอรี:
- ตรวจสอบไฟล์ใหม่ที่สร้างขึ้นบนเซิร์ฟเวอร์ เมื่อปรับใช้ Web Application Firewall (WAF) เช่น Astra จะค้นหาไฟล์ใหม่/ลบ/แก้ไขที่สร้างขึ้นบนเซิร์ฟเวอร์และสแกนหามัลแวร์เป็นประจำ
- หลีกเลี่ยงการใช้ธีมที่ละเมิดลิขสิทธิ์ ขอแนะนำให้ใช้ธีมจากแหล่งที่มาของแท้และเป็นทางการเท่านั้น
- ติดตั้งการอัปเดต WordPress ทั้งหมดโดยไม่ชักช้า WordPress ออกอัปเดตและปลั๊กอินเป็นประจำเพื่อบรรเทาช่องโหว่ที่เปิดเผย ความปลอดภัยของ WordPress ของ Astra ช่วยให้มั่นใจได้ถึงการแจ้งเตือนการอัปเดตและปลั๊กอินสำหรับไซต์ WordPress ของคุณ
มัลแวร์ ApiWord:สรุป
มัลแวร์เปลี่ยนแปลงอยู่เสมอและอาจส่งผลต่อเว็บไซต์ของคุณและแม้กระทั่งชื่อเสียงของคุณ แม้ว่าการลบมัลแวร์ออกจากเว็บไซต์ของคุณก็เป็นส่วนหนึ่ง แต่การทำให้มั่นใจว่าคุณปลอดภัยจากการติดไวรัสเพิ่มเติมนั้นจำเป็นต้องมีบางสิ่งที่ถาวรกว่านั้น เช่น ชุดความปลอดภัยของ Astra!
หากต้องการทราบเกี่ยวกับเหตุการณ์ล่าสุดในชุมชน WordPress หรือรับการแจ้งเตือนเกี่ยวกับการอัปเดต โปรดสมัครรับข้อมูลจากบล็อกของเราเกี่ยวกับความปลอดภัยของ WordPress
เกี่ยวกับ Astra Security Suite
Astra เป็นชุดความปลอดภัยบนเว็บที่จำเป็นสำหรับคุณ เราให้การรักษาความปลอดภัยเชิงรุกสำหรับเว็บไซต์ของคุณที่ใช้ CMS ยอดนิยม เช่น WordPress, OpenCart, Magento เป็นต้น ทีมสนับสนุนของเราพร้อมให้บริการตลอด 24 ชั่วโมงทุกวันเพื่อช่วยเหลือคุณในข้อสงสัย