หนึ่งในความรู้สึกแย่ที่สุดที่เจ้าของเว็บไซต์ประสบคือพบว่า เว็บไซต์ WordPress ของคุณถูกแฮก. หากไม่มี proactive security measures แฮกเกอร์อาจ launch pharma attacks, phishing pages, Japanese SEO spam, redirection malware ฯลฯ ผ่าน WordPress Admin panel hack
ประเภทใหม่ของ wp-admin hack ได้ขึ้นมาซึ่ง เพิ่ม unauthorized WordPress admin user และติดเชื้อไซต์ด้วย pharma hack ผลกระทบทั่วไปรวมถึง complete website takeover, data theft, database compromise, และ SEO hijacking WordPress admin เป็นส่วนสำคัญที่สุดของเว็บไซต์ - ถูกล็อกนอก admin จะหมายถึงการสูญเสียการเข้าถึงเว็บไซต์!
อาการของ wp-admin hack คืออะไร?
นี่คือสัญญาณบางอย่างที่คุณอาจเห็นหาก WordPress admin panel ของคุณถูกแฮก:
- คุณพบ admin users ที่คุณไม่รู้จักถูกเพิ่มเข้า WordPress site หรือพบ spam WordPress users มากมายถูกสร้าง แน่นอนว่าเป็น wp-admin hack situation
- Google indexes ไซต์ของคุณด้วย pharma spam pages
- WordPress website ของคุณช้าลงมาก
- หน้าเว็บใหม่ถูกเพิ่มเข้าเว็บไซต์พร้อมข้อความภาษาญี่ปุ่น (Japanese SEO spam pages)
- WordPress Security plugins ที่คุณเพิ่มถูก disable อัตโนมัติ
- คุณพบ unknown files เช่น admin.php, adminer.php ในโฟลเดอร์ /public_html หรือ /public_html/wp-admin
- wp-admin page โหลด UI ที่ต่างไป, เป็นหน้าว่าง, หรือ File Manager ชื่อ 'B Ge Team File Manager' ถูกอัปโหลด และแทน login page คุณเห็นหน้าจอดำ/เทาพร้อมรายการไฟล์บนเซิร์ฟเวอร์
- คุณได้ PHP 500 internal server error เมื่อเข้าชม wp-admin หรือหลัง login
- Option 'anyone can register' ถูก enable จาก Settings » General ใน WordPress admin area
- คุณไม่สามารถ add/delete plugins ได้
- Hosting Provider ระงับบัญชีของคุณ
- Web shell ถูกอัปโหลดไปยังไซต์ของคุณ
- คุณพบ base64 encoded code ที่ดูน่าสงสัยใน theme/core files
- Core WordPress files ของไซต์ถูกแก้ไข
Related Blog – Comprehensive Guide to Fix Hacked WordPress Site
วิธีลบ wp-admin malware code จากเว็บไซต์ของฉัน?
1. ตรวจสอบไฟล์ index.php: ขั้นตอนแรกที่ดีคือตรวจสอบ index.php หรือ wp-admin/index.php ของไซต์ว่าถูกแก้ไขหรือไม่ ปกติหากไซต์ได้รับผลกระทบจาก wp-admin hack บรรทัดโค้ดต่อไปนี้จะถูกเพิ่มที่ด้านบนของ index.php file:
ไฟล์ที่ 'required'/'included' ที่นี่มี malicious code ซึ่ง execute ทุกครั้งที่ WordPress รัน โค้ดแบบนี้สามารถ generate fake pharma pages, Japanese SEO spam pages และ malware infections อื่นๆ
คุณสามารถลบ @require code จากไฟล์หลังเปรียบเทียบกับ contents ของ core WP files จาก GitHub repository ของพวกเขา
2. หาไฟล์ที่มัลแวร์สร้าง: คุณสามารถตรวจสอบว่ามีไฟล์ใหม่ใน root ของเซิร์ฟเวอร์หรือโฟลเดอร์ /wp-admin ที่คุณไม่ได้สร้าง ตัวอย่างไฟล์ที่อาจพบ:
- Marvins.php
- db_.php
- 8c18ee
- 83965
- admin.php
- buddy.zip
- dm.php
หากพบไฟล์น่าสงสัยเหล่านี้ ให้ backup ไซต์และลบมัน Standard WordPress installation โดยทั่วไปมีไฟล์ต่อไปนี้ใน root ของเซิร์ฟเวอร์ - ไฟล์อื่นๆ นอกเหนือจากนี้ที่คุณไม่ได้สร้างอาจเป็นมัลแวร์
3. ระวัง SEO Spam: คุณสามารถ Google search เพื่อดูรายการ pages ที่ indexed สำหรับ domain ของคุณ เช่นนี้:
หาก search results สำหรับเว็บไซต์ของคุณคล้าย screenshot ให้อ้างอิง Japanese SEO spam removal guide ของเรา
4. ติดตาม WordPress admins ที่ไม่รู้จัก: หากพบ multiple admins ให้ลบ unknown WordPress accounts จาก Users page และติดตาม backdoor script ที่เพิ่ม admin users เข้า WordPress website ของคุณ
ไปที่ Users page (wp-admin/users.php?role=administrator) ใน WordPress website ของคุณ เพื่อดูว่ามี administrator users ใหม่ถูกเพิ่มหรือไม่ และลบ accounts ที่คุณไม่รู้จัก
ตอนนี้คุณสามารถหา WordPress backdoor script ซึ่งเมื่อ execute จะอนุญาตให้แฮกเกอร์ insert WordPress user ใหม่ด้วย Administrator role เพิ่มเติม อีกทั้ง backdoor นี้สามารถใช้ regain access เข้า WordPress installation ได้ตลอดเวลาที่แฮกเกอร์ต้องการ - ดังนั้นการลบโค้ดนี้เป็นไอเดียดีเพื่อป้องกันความเสียหายต่อไป
5. ตรวจสอบ uploads directory: คุณควรลบ PHP files ใดๆ ที่พบใน directory 'uploads'
เนื่องจาก security vulnerabilities ใน WordPress plugins หรือ core เอง แฮกเกอร์อาจอัปโหลด malicious PHP files ไปยัง web server หากคุณพบ executable files ด้วย .php, .php3, .php4, .php5, .py, .asp, .aspx file extension ใดๆ ใน /uploads directory ของเว็บไซต์ ให้ลบมัน
คุณยังสามารถป้องกัน PHP รันใน directory นี้ได้โดยวาง .htaccess ที่ root ของ /uploads ด้วยโค้ดต่อไปนี้:
# Kill PHP Execution <Files ~ "\.ph(?:p[345]?|t|tml)$"> deny from all </Files>
6. Malware scan เป็นสิ่งจำเป็น: คุณควรพิจารณารัน malware scan บนไฟล์ทั้งหมดบนเซิร์ฟเวอร์
ใน web-hosting dashboard หรือ cPanel คุณควรมี option ชื่อ 'Virus Scanner' คุณสามารถรันมันเพื่อระบุ malicious files ที่อาจอาศัยอยู่บนเซิร์ฟเวอร์ และ verify และลบไฟล์ที่มัน flagged คุณยังสามารถไปสำหรับ complete malware scan ของเว็บไซต์ เช่นที่ Astra Security เสนอ
ขั้นตอนป้องกัน re-infection & ระบุสาเหตุของ WP-admin hack
1. พิจารณาติดตั้ง Web Application Firewall ซึ่งจะตรวจจับ security threats และบล็อกพวกเขา
แม้ WordPress สร้างขึ้นด้วยความปลอดภัยในใจ แต่ plugins มักถูก subjected to ทุกประเภทของ security threats - ดังนั้นสำคัญที่จะ proactively secure WordPress website ของคุณจาก threats ใหม่หลายร้อยที่รออยู่ภายนอก Security suites อย่าง Astra รับรองว่าคุณปลอดภัยจากโจมตีแบบนี้
2. อัปเดต WordPress core, plugins และ themes เป็นประจำ
แฮกเกอร์และ cyber-criminals มักสร้าง tools เพื่อ exploit known vulnerabilities ใน plugins และ themes ดังนั้น WordPress core, plugins, และ themes ได้รับ updates เพื่อป้องกัน exploitation วิธีง่ายที่สุดป้องกันถูกแฮกคือเก็บ software ไว้ up-to-date
3. ตรวจสอบ administrator accounts ที่ถูกสร้างใน WordPress site ของคุณ
ใน typical store compromise แฮกเกอร์สร้าง admin users สำหรับตัวเองเพื่อเข้าถึง WordPress admin area หรือ back-end ในภายหลัง เป็น proactive กับขั้นตอนนี้และปฏิบัติตาม Principle of Least Privilege
4. Backup WordPress files & Database เป็นประจำ
ตั้งค่า automatic backups ที่ archive ไฟล์ทั้งหมดบนเซิร์ฟเวอร์และ database ไอเดียที่ดีคือเก็บ backups บน external server - เพื่อในกรณีโดนแฮก backups ยัง retrieve ได้
5. อัปเดต file & folder permissions บนเซิร์ฟเวอร์
File permissions สำคัญมาก เพราะระบุว่าใคร read, write, execute ได้ นี่คือ file permissions ตาม general guidelines ที่ WordPress Codex แนะนำ:
- Folders – 755
- Files – 644
อย่างไรก็ตาม หากคุณต้องการ คุณสามารถเปลี่ยน file permissions recursively ผ่าน command line:
For Directories:
find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;
For Files:
find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;
6. ปิดใช้งาน file editing บนเว็บไซต์ของคุณ
เป็นไอเดียดีที่จะ disable file editing ภายใน WordPress dashboard เพิ่มสองบรรทัดต่อไปนี้ท้าย wp-config.php file เพื่อ disable file editing via WordPress dashboard:
## Disable Editing in Dashboard define('DISALLOW_FILE_EDIT', true);
เนื่องจาก hack นี้แพร่หลาย เราทำ detailed step-by-step video วิธี secure WordPress site ที่คุณอาจช่วยได้ คุณยังสามารถดาวน์โหลดบทความนี้เป็น infographic ได้ที่นี่
เกี่ยวกับ Astra Security Suite
Astra เป็น essential web security suite ที่ต่อสู้กับแฮกเกอร์ internet threats & bots ให้คุณ เราให้ proactive security สำหรับเว็บไซต์ที่รัน CMS ยอดนิยมอย่าง WordPress, OpenCart, Magento ฯลฯ
