
หากเว็บไซต์ WordPress ของคุณถูกแฮก หนึ่งในเครื่องมือที่แฮกเกอร์นิยมฝังไว้มากที่สุดคือ Web Shell ซึ่งแตกต่างจากมัลแวร์ทั่วไปตรงที่มันไม่ได้แค่ทำลายข้อมูล แต่เปิดช่องให้แฮกเกอร์ ควบคุมเซิร์ฟเวอร์ของคุณจากระยะไกลได้อย่างสมบูรณ์ เข้าใจว่า Web Shell คืออะไร ทำงานอย่างไร และวิธีกำจัดออกจากเว็บ WordPress คือก้าวแรกที่จะช่วยปกป้องเว็บและลูกค้าของคุณได้จริง
nn
Web Shell คืออะไร
n
Web Shell คือไฟล์โค้ดอันตราย (มักเป็น PHP) ที่แฮกเกอร์อัปโหลดไว้บนเซิร์ฟเวอร์ของคุณ เมื่อเรียกผ่านเบราว์เซอร์ มันจะทำงานเหมือน Terminal หรือ Command Prompt บนเว็บ ทำให้แฮกเกอร์สามารถ:
n
- n
- รันคำสั่งบนเซิร์ฟเวอร์โดยตรง เช่น ลบ แก้ไข หรืออัปโหลดไฟล์ใหม่
- ดูข้อมูลในฐานข้อมูล รวมถึงรหัสผ่านและข้อมูลลูกค้า
- ติดตั้งมัลแวร์เพิ่มเติม หรือสร้าง Backdoor หลายจุดไว้ในเว็บ
- ใช้เซิร์ฟเวอร์ของคุณโจมตีเว็บอื่นต่อ (botnet)
n
n
n
n
n
ชื่อที่พบบ่อย ได้แก่ c99.php, r57.php, wso.php, shell.php หรือไฟล์ที่ตั้งชื่อแฝงดูปกติ เช่น wp-config-backup.php หรือ image.php
nn

nn
แฮกเกอร์อัปโหลด Web Shell ได้อย่างไร
n
Web Shell ไม่ได้ปรากฏขึ้นมาเอง แฮกเกอร์จะเข้าถึงเซิร์ฟเวอร์ก่อนผ่านช่องโหว่ต่าง ๆ ได้แก่:
n
- n
- Plugin หรือ Theme ที่มีช่องโหว่ — โดยเฉพาะที่ไม่ได้อัปเดต หรือดาวน์โหลดจากแหล่งไม่น่าเชื่อถือ
- ฟอร์มอัปโหลดไฟล์ที่ไม่ได้ตรวจสอบนามสกุล — เช่น ช่องอัปโหลดรูป ที่ยอมรับไฟล์ .php
- รหัสผ่าน FTP/cPanel ที่รั่ว — แฮกเกอร์วาง shell ตรง ๆ ผ่าน FTP
- การ Brute Force WP Admin — เมื่อเข้าได้แล้วก็อัปโหลดผ่านธีม Editor หรือ Plugin
n
n
n
n
n
เมื่อ Shell ถูกวางไว้แล้ว แม้คุณจะเปลี่ยนรหัสผ่าน WordPress แฮกเกอร์ก็ยังเข้าได้ต่อผ่าน URL ของ Shell โดยตรง นี่คือเหตุผลที่การล้างมัลแวร์โดยไม่ค้นหา Shell ให้ครบทำให้ เว็บติดมัลแวร์ซ้ำซาก
nn
วิธีตรวจหา Web Shell ใน WordPress
n
การหา Web Shell ต้องตรวจที่ระดับไฟล์เซิร์ฟเวอร์ ไม่ใช่แค่ใน WP Admin ขั้นตอนเบื้องต้นที่ทำได้:
n
- n
- ตรวจไฟล์ PHP ในโฟลเดอร์ที่ไม่ควรมี — เช่น
/wp-content/uploads/ปกติจะมีแต่รูปและมีเดีย ถ้าพบ .php ถือว่าผิดปกติเกือบ 100% - ค้นหา Pattern อันตรายในโค้ด — ฟังก์ชันที่ Shell มักใช้ เช่น
eval(,base64_decode(,system(,passthru(,shell_exec( - ใช้ Plugin Wordfence หรือ Sucuri Scanner — สแกนเพื่อหาไฟล์ที่ไม่ตรงกับ WordPress core
- ตรวจ Access Log ของ Hosting — หา Request ที่เรียกไฟล์ .php แปลก ๆ ซ้ำ ๆ โดยเฉพาะ POST request ที่ส่ง parameter มาด้วย
n
n
n
n
n
สำหรับวิธีตรวจสอบไฟล์ในเชิงลึก สามารถดูเพิ่มเติมได้ที่ วิธีเช็กไฟล์แปลกปลอมใน WordPress เบื้องต้น และ อาการ WordPress ติดมัลแวร์ และวิธีตรวจสอบด้วยตัวเอง
nn
nn

nn
วิธีกำจัด Web Shell ออกจาก WordPress
n
เมื่อพบแล้ว ต้องจัดการอย่างเป็นระบบ ไม่ใช่แค่ลบไฟล์ที่พบเท่านั้น:
n
- n
- ขั้นที่ 1 — Backup ก่อนเสมอ แม้จะติดมัลแวร์ ก็ต้อง Backup ไว้เป็น evidence และป้องกันการสูญหายของข้อมูลที่ยังดีอยู่
- ขั้นที่ 2 — ระงับการเข้าถึง Shell ชั่วคราว หากทราบ URL ของ Shell ให้ Block ผ่าน .htaccess หรือ Firewall ก่อน
- ขั้นที่ 3 — สแกนทุกไฟล์บนเซิร์ฟเวอร์ ใช้ Malware Scanner ระดับ Server-side เช่น Imunify360 (ถ้า Hosting รองรับ) หรือ Wordfence CLI
- ขั้นที่ 4 — ลบหรือแทนที่ไฟล์ที่ติด ไฟล์ Core WordPress ที่ถูกแก้ไข ให้ดาวน์โหลดเวอร์ชันใหม่สด ๆ มาแทนที่ทั้งหมด
- ขั้นที่ 5 — เปลี่ยน Credential ทุกอย่าง รหัสผ่าน WordPress admin, FTP, cPanel, Database และ Secret Keys ใน wp-config.php
- ขั้นที่ 6 — ตรวจหา Backdoor ที่อาจซ่อนอยู่ Shell มักมาพร้อม Backdoor สำรอง ต้องค้นหาให้ครบ ไม่เช่นนั้น Shell ใหม่จะถูกสร้างขึ้นมาใหม่
n
n
n
n
n
n
nn
วิธีป้องกัน Web Shell ในอนาคต
n
- n
- อัปเดต WordPress Core, Plugin และ Theme ให้เป็นเวอร์ชันล่าสุดอยู่เสมอ เพราะช่องโหว่ส่วนใหญ่มีการ Patch แล้ว
- ติดตั้ง WAF (Web Application Firewall) เช่น Cloudflare หรือ Wordfence เพื่อบล็อก Request อันตรายก่อนถึงเซิร์ฟเวอร์
- ปิดการแก้ไขไฟล์ใน WP Admin โดยเพิ่ม
define('DISALLOW_FILE_EDIT', true);ใน wp-config.php - จำกัดสิทธิ์ไฟล์บนเซิร์ฟเวอร์ โฟลเดอร์ uploads ไม่ควรรัน PHP ได้ ทำได้โดยสร้าง .htaccess ในนั้นที่ Deny การ Execute .php
- ใช้ Plugin ที่มาจากแหล่งที่เชื่อถือได้เท่านั้น ไม่ดาวน์โหลด Nulled Plugin/Theme เด็ดขาด เพราะมักมี Shell ฝังมาด้วย
- ตั้ง Two-Factor Authentication (2FA) สำหรับ WP Admin และ cPanel
n
n
n
n
n
n
nn
เมื่อไหร่ควรเรียกผู้เชี่ยวชาญ
n
หากคุณพบว่าเว็บมี Web Shell แล้ว แนะนำให้ขอความช่วยเหลือจากผู้เชี่ยวชาญในกรณีต่อไปนี้:
n
- n
- ไม่แน่ใจว่าพบ Shell ครบหรือยัง เพราะ Shell ที่เหลือแม้แค่ตัวเดียวก็เปิดช่องโหว่ได้
- เว็บเป็นเชิงพาณิชย์ มีข้อมูลลูกค้า หรือรับชำระเงิน ต้องตรวจสอบว่าข้อมูลรั่วไหลหรือไม่
- Hosting แจ้งพบ Malware และขู่ระงับบริการ ซึ่งต้องแก้ไขภายในเวลาจำกัด
- ล้างมัลแวร์แล้วแต่เว็บกลับมาติดซ้ำ ซึ่งมักหมายความว่ายังมี Shell หรือ Backdoor หลงเหลืออยู่
n
n
n
n
n
ทีม WP Doctor Thailand มีบริการ ล้างไวรัส WordPress แบบครบวงจร ตรวจหาและกำจัด Web Shell, Backdoor และมัลแวร์ทุกประเภท พร้อมรายงานผลและคำแนะนำป้องกันหลังการล้าง
คำถามที่พบบ่อย
Web Shell ต่างจาก Backdoor อย่างไร
Web Shell คืออินเทอร์เฟซที่ให้แฮกเกอร์รันคำสั่งบนเซิร์ฟเวอร์ได้โดยตรงผ่านเบราว์เซอร์ ส่วน Backdoor คือช่องทางลับที่ใช้เข้าถึงเว็บโดยไม่ต้องล็อกอิน ซึ่งบางครั้ง Web Shell ก็ทำหน้าที่เป็น Backdoor ไปพร้อมกัน
Web Shell มักซ่อนอยู่ที่ไหนใน WordPress
ที่พบบ่อยที่สุดคือโฟลเดอร์ wp-content/uploads/ เพราะเป็นที่เดียวที่มักเปิดสิทธิ์เขียนไว้ นอกจากนี้ยังพบในโฟลเดอร์ธีม โฟลเดอร์ Plugin หรือบางครั้งถูกฝังซ่อนในไฟล์ PHP ที่มีอยู่เดิม
ลบ Web Shell ออกแล้ว เว็บยังโดนแฮกอีกได้ไหม
ได้ ถ้ายังมี Shell หรือ Backdoor อื่นหลงเหลืออยู่ และยังไม่ได้อุดช่องโหว่ที่แฮกเกอร์ใช้เข้ามาครั้งแรก การล้างให้สำเร็จต้องค้นหาให้ครบและเปลี่ยน Credential ทุกอย่าง
ตรวจสอบเองได้ไหมว่าเว็บมี Web Shell
ได้ในระดับเบื้องต้น โดยตรวจหาไฟล์ .php ในโฟลเดอร์ uploads และค้นหาฟังก์ชันอันตรายเช่น eval() หรือ base64_decode() ในไฟล์ PHP แต่การค้นหาอย่างละเอียดและแน่ใจ 100% ควรใช้เครื่องมือสแกนระดับ Server-side หรือให้ผู้เชี่ยวชาญตรวจ
