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

ต่อสู้สแปมยาบน WordPress & Drupal: วิธีแก้ Google Viagra Hack

WordPress และ Drupal น่าจะเป็น CMS ยอดนิยมที่สุดสำหรับสร้างเว็บไซต์ อย่างไรก็ตาม ความนิยมทำให้พวกเขาเป็นเป้าหมายอร่อยสำหรับแฮกเกอร์และสแปมเมอร์ SEO แฮกเกอร์พยายามจัดการดัชนีการค้นหาให้รวมเนื้อหาที่ไม่สมควรอยู่ในตำแหน่งค้นหาสำคัญ เทคนิค Black Hat SEO นี้มีชื่อเล่นว่า "WordPress Pharma Hack หรือ SEO Spam"

ทำไมพวกเขาถึงทำอย่างนี้? คำตอบง่ายๆ การค้นหาออนไลน์เป็นแหล่งอ้างอิงที่สำคัญ และ SEO Hack เป็นวิธีง่ายที่สุดที่จะไปถึงนั้นโดยไม่ต้องทำงานหนัก มันรับประกันให้แฮกเกอร์ได้ตำแหน่งที่ถูกต้องใน SERP กรณีล่าสุดของ "Pharma Hack" หรือ "Pharma SEO Spam" ได้ปรากฏขึ้น

บทความเกี่ยวข้อง – WordPress Redirection Hack

การโจมตีนี้เปลี่ยนเส้นทางเว็บไซต์ WordPress หรือ Drupal ไปยังหน้าที่แสดงโฆษณาขายวิอากร้าและซีอาลิส บางครั้งอาจมีการติดเชื้อยาประเภทอื่นๆ แต่วิอากร้าและซีอาลิสเป็นที่พบบ่อยที่สุด

ต่อสู้สแปมยาบน WordPress & Drupal: วิธีแก้ Google Viagra Hack

Viagra Site Hack: เว็บไซต์ของฉันติดเชื้อ Viagra Hack หรือไม่?

SEO Spam ยากต่อการตรวจจับ เพราะมองไม่เห็นโดยผู้ใช้หรือเว็บมาสเตอร์ สแปมเมอร์ทำทุกอย่างเพื่อซ่อนงานของพวกเขา ส่วนนี้เรียกว่า "Cloaking" (การปลอมแปลง) อย่างไรก็ตาม มีวิธีตรวจสอบว่าเว็บไซต์ติดเชื้อหรือไม่ นี่คือบางวิธี:

ตรวจสอบด้วย Google Search

รายการเว็บไซต์ที่ได้รับผลกระทบสามารถแสดงได้โดยการค้นหา Google ด้วยคีย์เวิร์ด viagra wp-page แต่เนื่องจากนโยบายของ Google Webmaster เว็บไซต์ที่ได้รับผลกระทบไม่มองเห็นได้บนหน้าแรก คุณต้องเลื่อนลงไปหน้า 3-4 หากเว็บไซต์ของคุณปรากฏในผลการค้นหา แสดงว่าคุณเป็นเหยื่อของ Pharma SEO Spam

รายการนี้รวมไม่เพียงแค่เว็บไซต์ที่ติดเชื้อ แต่ยังแสดงหน้าปลอมด้วย การคลิกหน้าเหล่านี้อาจเปลี่ยนเส้นทางคุณไปหน้าอื่น หรือโหลดเนื้อหาบนหน้าเดียวกันจากการติดเชื้อ

เพื่อตรวจสอบว่าหน้าไหนของเว็บไซต์คุณติดเชื้อ สแปม วิอากร้า ให้เพิ่มคีย์เวิร์ด "viagra " พร้อมโดเมนเนมของคุณใน Google Search เช่น viagra mydomain.com

ต่อสู้สแปมยาบน WordPress & Drupal: วิธีแก้ Google Viagra Hack

ตรวจสอบผลลัพธ์กับ Google Bot

ตามที่กล่าวไว้ หน้าสแปมเหล่านี้มองไม่เห็นบนเครื่องมือค้นหา แต่ User Agent บางตัว เช่น Googlebot สามารถมองเห็นได้ เพื่อดูสิ่งที่ Googlebot มองเห็น คุณสามารถใช้ Browser User-Agent Switcher ได้ ติดตั้งได้สำหรับ Chrome หรือ Firefox

  1. ติดตั้ง Add-on User-Agent Switcher ที่ชอบ
  2. ไปที่หน้าเว็บที่ติดเชื้อ
  3. เปลี่ยนสตริง User-Agent เป็นหนึ่งในนี้:
    a) Mozilla/5.0 (compatible; Googlebot/2.1; +https://www.google.com/bot.html)
    b) Googlebot/2.1 (+https://www.google.com/bot.html)
  4. คลิกขวาที่หน้า และดู Page Source จะเห็นการเปลี่ยนเส้นทาง

หมายเหตุ: หากเปิด User-Agent Switcher นานเกินไป คุณอาจถูกบล็อกหรือแบนจากเว็บไซต์ที่มีความปลอดภัยดี เพราะคุณจะปรากฏเป็น Googlebot

Drupal Pharma Hack:  โครงสร้างของ Drupal Spam ผลลัพธ์:

การเกิดขึ้น

โจมตีนצלช่องโหว่ที่รู้จักหรือ Zero-day exploit ก่อน นี่คือรายการสิ่งที่อาจผิดพลาดได้ แต่นี่คือสาเหตุหลัก:

  1. SQL Injection หรือ XSS เกิดจากมาตรฐานโค้ดที่แย่ คุณควรเฝ้าดูทั้งสองอย่างนี้
  2. บัญชีอ่อนแอหรือรหัสผ่าน FTP เป็นสาเหตุหลักอันดับสอง ไม่กี่วันมา GitHub repo ของ Linux Kernel ถูกแฮ็กจากข้อมูลเข้าสู่ระบบที่อ่อนแอ
  3. ส่วนใหญ่ Directory Listing และ Error Displaying ถูกเปิดอยู่ ทำให้ไฟล์สำคัญอ่านได้แบบเปิดเผยบนเน็ต
  4. ปลั๊กอินที่ไม่ได้รับแพทช์หรือล้าสมัยเป็นสาเหตุหลักของการแฮ็ก WordPress และ Drupal คุณควรอัปเดตอยู่เสมอ

ความคงที่ (Persistence)

Drupal Pharma Hack ทำงานโดยแก้ไขเนื้อหาใน Root Directory ส่วนใหญ่การโจมตีสแปมเกิดผ่านโฟลเดอร์ /misc และ /includes สแปมเมอร์ได้รับ Persistence (การเข้าถึงยาวนาน) โดยวิธีที่รู้จัก:

  • แก้ไขไฟล์เช่น index.php, wp-page.php, nav.php ฯลฯ
  • เพิ่มหน้าใหม่ เช่น leftpanelsin.php, cache.php
  • แก้ไข xmlrpc.php เพื่อหลบการตรวจจับของเว็บมาสเตอร์
  • ใช้ Base64 Encoding ซ่อนโค้ด
  • ซ่อนไฟล์สแปมใน /imagesโฟลเดอร์ บอท Crawl ไม่คาดหวังไฟล์ที่นี่ จึงหลบการตรวจจับ
  • เพิ่มจุด (.) นำหน้านามสกุลไฟล์ ทำให้ .somefile กลายเป็นไฟล์ซ่อน
  • Cloaking: แยกแยะ Web Crawler จาก User Agent เนื้อหาที่ Googlebot เห็นต่างจากที่ User Mozilla เห็น
  • ใช้ Cron Jobs เพื่อติดเชื้อซ้ำ

ผลลัพธ์

  • เว็บไซต์เสียชื่อเสียงจากโฆษณาวิอากร้าและซีอาลิส
  • ถูก Blacklist โดย Google
  • ไม่ไว้วางใจโดยผู้ใช้
  • อันดับการค้นหาลดลง
  • สร้างคลิกให้เว็บไซต์อื่น

ทำไงเมื่อโดนแฮ็ก Drupal & WordPress Pharma?

Pharma Hack ซ่อนอยู่ ดังนั้นการหาไฟล์ติดเชื้อและลบจะเป็นงานนานและเหนื่อย นี่คือสิ่งที่ต้องทำ:

กู้คืนจาก Backup

การสร้าง Backup เต็มรูปแบบเป็นแนวทางที่แนะนำ ช่วยได้หากกระบวนการทำความสะอาดมีปัญหา ต้องมีแผน Backup พร้อมตลอด Backup ต้องรวม Core Files, Database, Plugin และ Theme Files

สแกนมัลแวร์บนเว็บไซต์

ใช้เครื่องมือสแกนมัลแวร์ออนไลน์เช่น VirusTotal รายงานการติดเชื้อ หรือลอง Astra Malware Scanner สแกนแม่นยำกว่า จะตรวจพบไฟล์และโค้ดอันตรายทั้งหมดในไม่กี่นาที ช่วยเร่งกระบวนการลบมัลแวร์

ลบไฟล์ที่ติดเชื้อ

  1. เข้าสู่ Server ผ่าน FTP หรือ File Manager
  2. ไปที่โฟลเดอร์ /wp-contents/
  3. หาไฟล์ที่ถูกแฮ็กในปลั๊กอิน ไฟล์แฮ็กจะมีคำว่ .class, .cache, .old กลางคำ ซ่อนเป็นไฟล์ปลั๊กอิน จุด (.) นำหน้าชื่อไฟล์ทำให้ซ่อน เว้นแต่เลือก "Show Hidden Files"
  4. ลบไฟล์เหล่านี้

ล้างโฟลเดอร์ Temporary

โฟลเดอร์ /wp-contents/temp/ อาจปรากฏจากการติดเชื้อ ไปที่ /wp-contents/temp/ และล้างเนื้อหา แฮกเกอร์ใช้ Temp folder และไฟล์ TMP หลีกเลี่ยงการเสียหายขณะติดตั้งมัลแวร์

ตรวจสอบไฟล์ .htaccess

.htaccess เป็นไฟล์ Config ของ Server กำหนดการจัดการ Request แฮกเกอร์ใช้ไฟล์นี้สร้าง Backdoor หาโค้ดแบบนี้:

RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
RewriteCond %{HTTP_USER_AGENT} (google|yahoo|msn|aol|bing) [OR] #checks for Google, Yahoo, msn, aol and bing crawler
RewriteCond %{HTTP_REFERER} (google|yahoo|msn|aol|bing)
RewriteRule ^(.*)$ somehackfile.php?$1 [L] #redirects to a hack file

คุณสามารถสร้าง .htaccess ใหม่ได้:

  1. เข้าสู่ WordPress Dashboard
  2. คลิก Settings
  3. เลือก Permalinks
  4. คลิก Save

ลบโค้ดอันตรายจาก Database

แนะนำ Backup ก่อนแก้ไข Database ซื้อบริการกำจัดมัลแวร์มืออาชีพ หรือลองทำเอง

  1. เข้าสู่ phpMyAdmin
  2. เลือก Database
  3. คลิกตาราง wp_options
  4. ค้นหา Malicious Entries ด้วยแท็บ Search

Malicious Entries ที่ต้องหา:

  • wp_check_hash
  • class_generic_support
  • widget_generic_support
  • ftp_credentials
  • fwp

หมายเหตุ: ห้ามลบข้อมูลสำคัญใน wp_options จะทำให้เว็บไซต์ล้มเหลว/ครัช

ค้นหาและลบโค้ดน่าสงสัย

โค้ดตัวอย่างจะประมาณนี้:

<ul id="menu">

<li><a href="attackerdomain.com">Something1</a></li>

โค้ดนี้เปลี่ยนเส้นทางเว็บไซต์ไปโดเมนของโจมตี ตรวจสอบโดเมนที่ไม่คุ้นเคย นี่เป็นสาเหตุหลักของ WordPress Pharma Hack

บ่อยครั้งโจมตีซ่อนโค้ดด้วย Base64 หลบการตรวจจับ เช่น attackerdomain.com จะกลายเป็น YXR0YWNrZXJkb21haW4uY29t ทำให้ยากต่อการตรวจจับ คำสั่ง grep ช่วยหา Base64 ในไฟล์:

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

คำสั่งนี้ค้นหา Base64 ในไฟล์ .php ที่เลือก ผลลัพธ์เก็บใน b64-detections.txt ใช้เครื่องมือออนไลน์ decode ดูว่าเกิดอะไรขึ้นข้างหลัง

ล้างโฟลเดอร์ Temporary (ซ้ำ)

ไปที่ /wp-contents/temp/และล้างเนื้อหา แฮกเกอร์ใช้ Temp folder และไฟล์ TMP หลีกเลี่ยงการเสียหายขณะติดตั้งมัลแวร์

ค้นหาความแตกต่างของเนื้อหา

ใช้ปลั๊กอินออนไลน์หาการเปลี่ยนแปลงไฟล์ ตัวอย่างคือ Exploit Scanner สแกน Core files และ Third-party files ใน WordPress Repo หาชื่อไฟล์/รายการน่าสงสัย/ผิดปกติ หลังรู้ไฟล์ไหนถูกแฮ็ก ให้ลบโค้ดติดเชื้อหรือกู้คืนไฟล์ปลั๊กอิน สำคัญคือทำความสะอาดให้หมด ไม่ให้เหลือโค้ดแฮ็กไว้ เพราะอาจติดเชื้อซ้ำ

ป้องกัน Pharma SEO Hack ได้อย่างไร

  • ใช้รหัสผ่านแข็งแกร่ง เนื่องจากการละเมิดอาจมาจาก Default Config
  • ติดตั้ง Security Solution
  • จำกัด Folder Permission ป้องกัน WordPress Pharma Hack
  • ปิดปลั๊กอินที่น่าสงสัยทั้งหมด
  • เวอร์ชันเก่า ให้ Patch! Patch! Patch!
  • ทำ Security Audit เป็นประจำ