เว็บ WordPress ของคุณถูกแฮกและติดมัลแวร์? ผู้เริ่มต้นอาจรู้สึกหลงทาง ไม่รู้จะเริ่มต้นที่ไหน แม้มีพื้นฐานพัฒนา ก็ยากที่จะค้นหาและลบแฮ็กได้แม่นยำ
คู่มือฉบับสมบูรณ์นี้ครอบคลุม: อาการ, เทคนิคตรวจจับ, กระบวนการกำจัด, สาเหตุที่เป็นไปได้, และประเภทของการแฮก
อาการเว็บ WordPress ถูกแฮก
1. ข้อความเตือน
- ได้รับแจ้งเตือนระงับบัญชีจากโฮสติ้ง
- Google Search แสดงคำเตือนใต้ชื่อเว็บ
- Traffic ลดทะลุอย่างกะทันหัน (อาจถูก Blacklist)
- ลูกค้า Astra ได้รับอีเมลเตือนจากการสแกน
2. พฤติกรรมเว็บแปลก
- Redirect ผู้ใช้: ไปหน้าอื่นที่ไม่ได้ตั้งใจ
- ล็อกอินไม่เข้า: แฮกเกอร์เปลี่ยน Credentials/กิ๊คออก
- Ad Blocker บล็อกเว็บ: ตรวจพบ Cryptojacking
- Pop-up/โฆษณาร้ายแรง แสดงบนเว็บ
- Cron Jobs/Server Logs แปลกประหลาด
- ตัวอักษรญี่ปุ่น/เนื้อหาไร้สาระ (Japanese Keyword Hack / Pharma Hack)
- Spam Email ออกจากโดเมนเว็บ
- Error Messages แปลก / เว็บช้า/ไม่ตอบสนอง
- Traffic ไม่มากแต่ Server ใช้ Resource สูงผิดปกติ
3. การเปลี่ยนแปลงไฟล์
- ไฟล์ใหม่แปลกใน
wp-adminและwp-includes(โฟลเดอร์เหล่านี้ نادرมีไฟล์ใหม่) - Theme, Header, Footer ถูกแก้ไขเพื่อ Redirect
- Admin user ใหม่แปลกใน Database
- Meta Description ใน Search Results ผิดพลาด
- ลิงก์ร้ายใน Core Files
ขั้นตอนแก้ไขเว็บ WordPress ที่ถูกแฮก
1. ให้ Astra ช่วย (แนะนำ)
ลูกค้า Astra Pro: ยก Ticket Support ทีมวิศวกรจะทำความสะอาดและจัดการ Blacklist ให้ ไม่ใช่ลูกค้า? สมัครวันนี้ ทำความสะอาดภายในไม่กี่ชั่วโมง
2. แบ็กอัปเว็บไซต์ให้ครบถ้วน
ต้องรวม: WP Core Files, WP Database, Plugin Files, Theme Files, .htaccess ทดสอบว่า Backup ใช้งานได้จริง วิธีแบ็กอัป:
- Plugin: UpdraftPlus (Backup ไฟล์+DB ง่าย)
- SSH:
zip -r backup-pre-cleanup.zip - SFTP (FileZilla): คัดลอกไฟล์ทั้งหมดลง PC (ช้ากว่า)
- Database: phpMyAdmin Export หรือ SSH
mysqldump -p -h hostname -u username database > backup-pre-cleanup.sql
3. เปิด Maintenance Mode
ป้องกันผู้เยี่ยมชมเห็นเว็บแฮก และปกป้องจาก Redirect ร้าย ใช้ปลั๊กอิน SeedProd (Coming Soon) แสดงหน้า Maintenance สวยงาม
4. เปลี่ยนรหัสผ่านทั้งหมดทันที
รวม: wp-admin, Hosting, Database, FTP, Email หลัก ใช้ Password Manager (LastPass, KeePass) สร้างรหัสแข็งแกรง สำคัญ: อัปเดต wp-config.php เมื่อเปลี่ยน Database Password
5. ตรวจสอบช่องโหว่ปลั๊กอิน
56% ของการแฮก WordPress มาจากช่องโหว่ปลั๊กอิน เช็คเวอร์ชันปัจจุบันปลอดภัยไหมที่ WordPress Forum หรือ บล็อก Astra
6. วินิจฉัยไฟล์
6.1 ใช้ Malware Scanner
สแกนหาไฟล์มัลแวร์ ตรวจสอบ hiddencode.txt ด้วย phpMyAdmin
6.2 ใช้คำสั่ง 'find' หาไฟล์ที่แก้ไขล่าสุด
find . -mtime -2 -ls
เพิ่มจำนวนวันจนเจอสิ่งน่าสงสัย ค้นหา Base64:
find . -name "*.php" -exec grep "base64"'{}'\; -print &> hiddencode.txt
6.3 เปรียบเทียบกับไฟล์ WordPress ต้นฉบับ
ดาวน์โหลด WordPress เวอร์ชันเดียวกัน มา Diff ด้วย diff checker ค้นหาคีย์เวิร์ดอันตราย: eval, exec, strrev, assert, base64, str_rot13, stripslashes, preg_replace (with /e/), move_uploaded_file
6.4 ใช้เครื่องมือวินิจฉัย (Google Search Console > Security Tab)
7. ทำความสะอาดมัลแวร์จากไฟล์ WordPress
ล้าง: wp-config.php, wp-content/uploads, wp-uploads, Plugin files, Theme files, Database ปฏิบัติตามคู่มือเฉพาะอาการ:
- WordPress Redirect Hack
- wp-vcd Malware
- Japanese SEO Spam
- Pharma Hack
- Javascript Malware
- Google Blacklist
- WordPress Admin Hack
- Backdoor Detection & Removal
8. ทำความสะอาด Sitemap
เช็ค sitemap.xml หาลิงก์ร้าย ลบออก แล้วขอให้ Google Recrawl ผ่าน Search Console
9. ทำความสะอาด Database
สแกน 11 Tables หา iframe/lifeframe แปลก ลบออก
10. Reinstall (กรณีติดเชื้อหนัก)
ลบไฟล์ติดเชื้อ ติดตั้งใหม่ทั้ง Core และ Plugins ทุกตัว (แม้จะ Deactivate) เพราะปลั๊กอินเก่ามีช่องโหว่
สาเหตุทั่วไปของการติดมัลแวร์ WordPress
- ไม่อัปเดต WordPress: สาเหตุ #1 ของการถูกแฮก
- Shared Hosting: เสี่ยงสูง ควรย้ายไป Hosting ปลอดภัยกว่า
- รหัสผ่านอ่อน/Username เริ่มต้น: ต้องแข็งแกรงสำหรับ wp-admin, Hosting, DB, FTP, Email
- File Permissions ผิด: ตั้งไฟล์ 644, โฟลเดอร์ 755
- wp-admin ไม่ได้รับการป้องกัน: จำกัดสิทธิ์ตาม Role, เพิ่ม 2FA
- Plugin/Theme เก่า: อัปเดตทันทีเมื่อมี Patch
- ใช้ FTP ธรรมดาแทน SFTP/SSH: FTP ไม่เข้ารหัส ใช้ SFTP เสมอ
วิธีแฮกเกอร์โจมตี WordPress (Technical)
- SQL Injection: WordPress 4.8.3 ก่อนหน้า ช่องโหว่ $wpdb->prepare()
- XSS (Cross-Site Scripting): WP 5.1.1 ก่อนหน้า wp_filter_kses() ไม่กรอง
<a href=...>ให้ดีพอ - CSRF: ไม่มี CSRF Token ใน Comment Form ใช้ Nonce แทน
- RCE (Remote Code Execution): WP < 4.9.9 / 5.x < 5.0.1 ช่องโหว่ _wp_attached_file()
- Path Traversal: WP 5.0.3 wp_crop_image()
- Plugin/Theme Buggy: โค้ดเขียนแย่ หรือปลั๊กอินร้ายจากแฮกเกอร์
การปกป้อง WordPress ให้ปลอดภัย
1. Safe Practices
- Password แข็งแกรง/สุ่ม, ลบโฟลเดอร์ติดตั้งเก่า, ไม่ใช้ Nulled Theme/Plugin
- อัปเดต Plugin/Theme ตลอด, ใช้ Subnet บน Shared Hosting
- ปิด Directory Indexing (.htaccess), บล็อก IP ประเทศที่มี Bot มาก
- Secure Coding Practices, ใช้ SSL, Backup แยกต่างหาก
- Rename wp-login.php, ใช้ 2FA
2. ใช้ Security Solution
Astra Firewall ปกป้องแม้เว็บจะมีช่องโหว่ แผน Essential, Pro, Business ติดตั้งปลั๊กอิน Astra เว็บปลอดภัยทันที
3. Security Audit & Pentesting
Astra ให้ Security Audit ครบวงจร 120+ Active Tests ผสม Automatic + Manual