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

เว็บไซต์ Drupal เปลี่ยนเส้นทางไปยังหน้าสแปม:อาการ สาเหตุ และการแก้ไข

Drupal ถือว่าปลอดภัยจริงๆ และนี่คือเหตุผลของความนิยม Drupal เป็น CMS โอเพ่นซอร์สและเป็นที่รู้จักว่ามีประสิทธิภาพ เป็นโอเพ่นซอร์ส ซอร์สโค้ดของมันถูกเปิดเผยต่อสาธารณะ นี่คือเหมืองทองคำสำหรับนักล่าค่าหัวแมลง Drupal ได้รับความเดือดร้อนจาก “Pharma Hack” ที่น่าอับอายถึง “Kitty Cryptomining Malware” ในช่วงไม่กี่เดือนที่ผ่านมา การติดไวรัสที่เพิ่มขึ้นอีกอย่างคือ “การเปลี่ยนเส้นทางการแฮ็ก Drupal ” ที่เปลี่ยนเส้นทางผู้เยี่ยมชมเว็บไซต์ของคุณไปยังหน้าเว็บที่เป็นสแปม

แฮ็คการเปลี่ยนเส้นทาง Drupal เกิดขึ้นหลังจากผู้โจมตีใช้ช่องโหว่ในเว็บไซต์ของคุณและแก้ไขเนื้อหาเว็บไซต์เพื่อติดตั้งมัลแวร์ ด้วยเหตุนี้ ผู้เยี่ยมชมเว็บไซต์ของคุณจะถูกเปลี่ยนเส้นทางไปยังลิงก์ที่เป็นสแปมและน่าสงสัย เจ้าของเว็บไซต์บ่นว่ามัลแวร์นี้เปลี่ยนเส้นทางผู้ใช้ไปยังฟิชชิ่งและหน้าสำหรับผู้ใหญ่ที่ขายไวอากร้าหรือสื่อลามก

ปัญหาการเปลี่ยนเส้นทางของ Drupal Hack เป็นอย่างไร

มีการติดเชื้อการเปลี่ยนเส้นทางหลายประเภท:

  1. ผู้เยี่ยมชมเว็บไซต์ถูกเปลี่ยนเส้นทางไปยังหน้าสแปมเมื่อเข้าสู่หน้าแรกของคุณ
  2. เมื่อใดก็ตามที่มีการคลิกปุ่ม/ลิงก์ หน้าจะเปลี่ยนเส้นทางไปยังหน้าร้านขายยาปลอมที่ขายไวอากร้า, เซียลิส

หากต้องการดูว่าไซต์ Drupal ของคุณติดไวรัสรุ่นที่สองหรือไม่ คุณสามารถใช้ Google dork Google dork ต่อไปนี้ให้ข้อมูลเบื้องต้นเกี่ยวกับสิ่งที่เรากำลังจะเจาะลึก

site:your-website.com "viagra"

ที่นี่ dork นี้แสดงเว็บไซต์ Drupal ทั้งหมดที่เปลี่ยนเส้นทางไปยังหน้าไวอากร้า อย่างไรก็ตาม คุณสามารถค้นหาการเปลี่ยนเส้นทางเพิ่มเติมได้โดยการแทนที่คำว่า ไวอากร้า ด้วยคำหลักอื่นๆ เช่น 'โป๊กเกอร์ ‘, ‘โป๊ ', 'เงินกู้' เป็นต้น

เว็บไซต์ Drupal เปลี่ยนเส้นทางไปยังหน้าสแปม:อาการ สาเหตุ และการแก้ไข

หลังจากคลิกที่ลิงค์เว็บไซต์แรกเกิดข้อผิดพลาดดังต่อไปนี้

เว็บไซต์ Drupal เปลี่ยนเส้นทางไปยังหน้าสแปม:อาการ สาเหตุ และการแก้ไข

ซึ่งหมายความว่าผู้โจมตีได้ใช้ประโยชน์จากเว็บไซต์และถูกเปลี่ยนเส้นทาง อย่างไรก็ตาม เนื่องจากปัจจัยอื่นๆ การเปลี่ยนเส้นทางอาจไม่ทำงานในขณะนี้

เว็บไซต์ Drupal เปลี่ยนเส้นทางไปยังหน้าสแปม:อาการ สาเหตุ และการแก้ไข

ประเภทของการเปลี่ยนเส้นทาง Drupal Hack (รหัสสถานะ HTTP) :

  1. 301 เปลี่ยนเส้นทาง: เรียกอีกอย่างว่าการเปลี่ยนเส้นทางถาวร เมื่อ Google หรือเครื่องมือค้นหาอื่น ๆ สำหรับเรื่องนั้นดูที่ URL นี้ โดยจะระบุว่า URL ได้ย้ายไปยังตำแหน่งใหม่ ดังนั้นให้อัปเดตความสัมพันธ์ก่อนหน้าทั้งหมด ผู้โจมตีมักจะใช้การเปลี่ยนเส้นทางนี้เนื่องจากความเรียบง่าย
  2. 302 เปลี่ยนเส้นทาง: การใช้ 302 นั้นซ้ำซ้อนในขณะนี้ เนื่องจากมันถูกแทนที่ด้วย 303 โดยทั่วไปแล้วการเปลี่ยนเส้นทาง 303 ระบุว่าเอกสารพร้อมใช้งานชั่วคราว
  3. 303 เปลี่ยนเส้นทาง: เป็นเวอร์ชันปรับปรุงของ 302 การเปลี่ยนเส้นทาง 303 ให้หน้าชั่วคราวที่อาจไม่มีอยู่ในที่อยู่เดียวกันในอนาคต อาจเป็นแบบฟอร์มข้อมูลบัตรเครดิต ตัวสร้างรายละเอียดชั่วคราว ฯลฯ ซึ่งผู้โจมตีคาดหวังให้น้อยที่สุด เว้นแต่จะเป็นการโจมตีที่ซับซ้อนจริงๆ
  4. 307 เปลี่ยนเส้นทาง: เป็นตัวแปรของการเปลี่ยนเส้นทาง 303 ที่มีความแตกต่างเล็กน้อย นอกจากนี้ยังมีการเปลี่ยนเส้นทาง 308 ซึ่งเป็นการเปลี่ยนเส้นทางแบบทดลอง ไม่น่าจะถูกนำมาใช้อย่างมากแต่ไม่สามารถตัดความเป็นไปได้ออกได้

สัญญาณของการเปลี่ยนเส้นทางมัลแวร์ Drupal:

  • การเข้าชมเว็บไซต์สูงผิดปกติ
  • เพิ่มไฟล์ที่ไม่รู้จักในไซต์ Drupal ของคุณ
  • สร้างผู้ใช้ใหม่ที่มีสิทธิ์ของผู้ดูแลระบบแล้ว
  • การคลิกลิงก์ในหน้าแรกของเว็บไซต์ของคุณจะเปลี่ยนเส้นทางไปยังสแปม
  • โฆษณาหรือภาพอนาจารปรากฏขึ้นบนเว็บไซต์ของคุณ
  • อาจมีโหนด ไฟล์ และอื่นๆ ที่ไม่รู้จักก่อนหน้านี้ปรากฏขึ้น
  • เครื่องมือค้นหาอาจแสดงเนื้อหาที่เป็นสแปม
  • คำเตือนด้านความปลอดภัยหรือบัญชีดำโดยเครื่องมือค้นหา เช่น Google, Bing เป็นต้น

สาเหตุของปัญหาการเปลี่ยนเส้นทาง Drupal Hack:

สาเหตุของการเปลี่ยนเส้นทางแฮ็ค Drupal นั้นมีความหลากหลายมากและไม่สามารถสรุปได้ในบทความเดียว อย่างไรก็ตาม เราสามารถดูสาเหตุสำคัญๆ ได้โดยสังเขป:

เปลี่ยนเส้นทาง DNS

การเปลี่ยนเส้นทาง DNS เกิดขึ้นเมื่อมีคนแก้ไขรายการเซิร์ฟเวอร์ DNS ของคุณ ดังนั้นเมื่อมีคนขอเว็บไซต์ของคุณ เซิร์ฟเวอร์ DNS จะส่งผู้ใช้ไปยังรายการนั้น ในการทดสอบฮิวริสติก คุณสามารถค้นหา DNS ได้ Windows มีเครื่องมือติดตามเส้นทางเริ่มต้น สามารถเข้าถึงได้ด้วยบรรทัดคำสั่ง tracert www.your-site.com ในทำนองเดียวกัน ผู้ใช้ Linux สามารถใช้ host www.your-site.com . หากการค้นหา DNS ส่งกลับที่อยู่ IP ที่ไม่ถูกต้อง แสดงว่าปัญหาของคุณอยู่ที่ DNS ไม่ใช่บนเว็บไซต์ของคุณ ผู้ใช้ขั้นสูงสามารถตรวจสอบรายการเซิร์ฟเวอร์ DNS ปลอมได้

การปลอมแปลงไฟล์

ผู้โจมตีอาจดัดแปลง .htaccess และ index.php ไฟล์. อาจต้องการค้นหาโค้ดที่เป็นอันตรายในนั้น รหัสสามารถอยู่ในรูปแบบต่อไปนี้:

data:text/html,<html><meta http-equiv="refresh" content="0; url=https://malicious_site.com/process/route/1673246826.html?refresh=non-ie&bl=0"></html>

ที่นี่ โค้ดชิ้นนี้กำลังเปลี่ยนเส้นทางเว็บไซต์ไปยังโดเมน https://malicious_site.com

หลักคุณธรรม

จำเป็นต้องมีการตรวจสอบไฟล์ดังกล่าวทั้งหมดด้วยตนเองอย่างละเอียด คุณไม่สามารถตรวจสอบภายในเว็บไซต์ทั้งหมดด้วยตนเองได้ ดังนั้นขั้นตอนแรกในทิศทางนี้คือการตรวจสอบค่าความสมบูรณ์หลักของไฟล์ที่ติดตั้ง เริ่มต้นด้วย:

mkdir drupal-8.3.5
cd drupal-8.3.5
wget https://github.com/drupal/core/archive/8.3.5.tar.gz
tar -zxvf core-8.3.5.tar.gz

โค้ดส่วนนี้สร้างไดเร็กทอรีชื่อ Drupal-8.3.5 แล้วเปลี่ยนเป็นไดเร็กทอรีนั้น จากนั้นบรรทัดที่สามจะดาวน์โหลดไฟล์การติดตั้งดั้งเดิมจากที่เก็บ Github และบรรทัดที่สี่จะแยกไฟล์เหล่านั้น มาถึงส่วนสำคัญของการเปรียบเทียบแล้ว diff -r core-8.3.5 ./public_html คำสั่งนี้จะทำให้เรามีการเปลี่ยนแปลงในไฟล์ของเราเทียบกับการติดตั้งดั้งเดิม ดำเนินการต่อในรูปแบบนี้เพื่อตรวจสอบไฟล์ทั้งหมด

สาเหตุอื่นๆ

  • การอภิปรายสาธารณะครั้งแรกเกี่ยวกับการฉีด SQL ถูกเขียนขึ้นในปี 1998 มีเหตุผลว่าทำไมจึงหลอกหลอนเว็บไซต์จนถึงทุกวันนี้ การเกิดขึ้นของการฉีด SQL เป็นผลมาจากอินพุตที่ไม่ถูกสุขอนามัย การข้ามเพียงเซมิโคลอนในการเข้ารหัสอาจนำไปสู่ช่องโหว่ของการฉีด SQL
  • อาจต้องการมองหาชื่อโมดูลคาว เช่น modules/system/wxeboa.php . สิ่งเหล่านี้ไม่ใช่ส่วนหนึ่งของการติดตั้งดั้งเดิม
  • รายงานเพื่อความโปร่งใสของ Google ช่วยได้มากในขณะที่ค้นหาสาเหตุของการเปลี่ยนเส้นทางการแฮ็ก Drupal สามารถบอกคุณได้มากมายเกี่ยวกับเว็บไซต์ของคุณ
  • FTP ที่อ่อนแอหรือรหัสผ่านเว็บไซต์อาจเป็นสาเหตุของการเปลี่ยนเส้นทางการแฮ็กของ Drupal หากคุณกำลังใช้การกำหนดค่าเริ่มต้นให้เปลี่ยนทันที!

การควบคุมความเสียหายสำหรับปัญหาการเปลี่ยนเส้นทาง Drupal Hack:

อ้างอิงจากผู้อ้างอิงที่มีคำหลัก

กฎทั่วไปของการรักษาความปลอดภัยทางไซเบอร์คือคุณไม่สามารถกำจัดความเป็นไปได้ของการโจมตีได้ คุณสามารถชะลอการโจมตีได้เท่านั้น ในทิศทางนี้ เคล็ดลับที่ชาญฉลาดอีกอย่างหนึ่งคือการแก้ไขไฟล์ .htaccess ไฟล์สามารถแก้ไขได้มาก แม้ว่าการติดไวรัสจะเกิดขึ้นในอนาคต เว็บไซต์ของคุณจะบล็อกผู้ใช้ไม่ให้เข้าถึงสแปม สิ่งนี้จะส่งเสริมความไว้วางใจในหมู่ผู้ใช้ ดังนั้นแม้จะติดไวรัส เครื่องมือค้นหาจะไม่ขึ้นบัญชีดำคุณ เนื่องจากคุณจะบล็อกสแปมโดยอัตโนมัติ การทำเช่นนี้จะช่วยประหยัดเวลาและช่วยให้อันดับการค้นหาของคุณไม่ตกต่ำลง ดังนั้นจึงทำหน้าที่เป็นตัวควบคุมความเสียหาย

<Limit GET>
order allow, deny
allow from all
deny from env = spammer
SetEnvIfNoCase Referer ". * (Poker | credit | money). *" Spammer
</ Limit>

รหัสชิ้นนี้บล็อกผู้ใช้จากการเข้าถึงหน้าที่มีลิงก์เช่นโป๊กเกอร์ เครดิต ฯลฯ ตามตัวระบุ (ผู้อ้างอิง HTTP) เนื่องจากเว็บไซต์ของเราไม่มีสิ่งเหล่านี้ เราจึงสามารถหลีกเลี่ยงการบล็อกคำเหล่านี้ได้ ซึ่งจะทำหน้าที่เป็นตัวกรองที่มีสัญลักษณ์แทน

ขึ้นอยู่กับตัวระบุของตัวเอง

วิธีที่สองคือการบล็อกการเข้าถึงตามตัวระบุของตัวเอง (HTTP REFERRERS)

Rewrite Engine On
RewriteBase /
# allow referrals from search engines:
RewriteCond% {HTTP_REFERER}!. * xyz \ .com /.*$ [NC]
RewriteCond% {HTTP_REFERER}! ^ Http: // ([^ /] +) google \ .. * $ [NC]

แทนที่วลี google ด้วยเครื่องมือค้นหาทั้งหมด เช่น yahoo, bing ฯลฯ ที่คุณต้องการอนุญาต

# Conditions for don`t wanted referrals
RewriteCond% {HTTP_REFERER} ^. * Loans. * $ [OR]

แทนที่คำว่ากู้ยืมด้วยคำสแปมเช่นไวอากร้า, สื่อลามก ฯลฯ ที่คุณต้องการบล็อกต่อไป อย่างไรก็ตาม เป็นที่น่าสังเกตว่าต้องเปิด ModRewrite ของ Apache เพื่อให้ทำงานได้ นอกจากนี้ คุณยังสามารถจำกัด IP บาง IP ที่เปิดเผยต่อสาธารณะสำหรับการส่งสแปมได้

ทำความสะอาดเว็บไซต์ที่ติดมัลแวร์ Drupal เปลี่ยนเส้นทาง

การล้างฐานข้อมูล:

ตรวจสอบผู้ใช้

ก่อนอื่น เรามาเริ่มกันที่โพรบสำหรับการฉีด SQL มองหาโต๊ะคาวเช่น Sqlmap ตารางนี้ชื่อ Sqlmap เป็นผลมาจากการสืบค้นขยะในขณะที่ใช้เครื่องมือทดสอบปากกาอัตโนมัติ Sqlmap กับเว็บไซต์ เพื่อแสดงตารางทั้งหมดเพียงแค่ใช้คำสั่ง show tables ; . ผู้โจมตีอาจสร้างรายการผู้ใช้ใหม่และได้รับสิทธิ์ของผู้ดูแลระบบ วิธีตรวจสอบการใช้งาน:

Select * from users  as u

AND u.created > UNIX_TIMESTAMP(STR_TO_DATE('Oct 15 2018', '%M %d %Y '));

ที่นี่จะแสดงผู้ใช้ทั้งหมดที่สร้างขึ้นหลังวันที่ 15 ตุลาคม 2018 คุณสามารถปรับแต่งบรรทัดนี้ให้เป็นวันที่ที่คุณเลือกได้ ในกรณีที่คุณตรวจพบผู้ใช้หรือตารางอันธพาล คุณสามารถลบได้โดยใช้ drop database database-name.dbo; .

การบล็อกผู้ใช้

นอกจากนี้ คุณสามารถบล็อกผู้ใช้หรือเปลี่ยนรหัสผ่านสำหรับผู้ใช้ทุกคน ใช้คำสั่งต่อไปนี้:

update users set pass = concat('ZZZ', sha(concat(pass, md5(rand()))));

คำสั่ง SQL นี้เปลี่ยนรหัสผ่านของผู้ใช้ในรูปแบบ MD5 รูปแบบ MD5 เป็นฟังก์ชันการรักษาความปลอดภัยการเข้ารหัส อย่าเก็บรหัสผ่านของคุณในรูปแบบข้อความธรรมดา ผู้โจมตีสามารถดึงรหัสผ่านข้อความธรรมดาจากฐานข้อมูลที่ถูกบุกรุกได้ค่อนข้างง่าย ค่า MD5 ยังคงให้การรักษาความปลอดภัยอีกชั้นหนึ่ง ดังคำว่า admin จะส่งผลให้แฮช 86fb269d190d2c85f6e0468ceca42a20 . เนื่องจากเป็นฟังก์ชันทางเดียวจึงคำนวณย้อนหลังได้ยาก

การล้างไฟล์:

  • การติดตั้งย้อนกลับเป็นสำเนาสำรองของไฟล์
  • โมดูลภายนอกสามารถใช้สแกนหาการติดไวรัสได้ โมดูลที่ถูกแฮ็กเป็นหนึ่งในผลิตภัณฑ์ยอดนิยม
  • ไม่อนุญาตให้เข้าถึงไฟล์สำคัญภายนอกและไดเรกทอรีราก
  • ปิดการรายงานข้อผิดพลาดเพื่ออุดการรั่วไหลของข้อมูลที่ละเอียดอ่อน
  • หากการติดตั้งของคุณล้าสมัย อัปเดต! อัปเดต! อัปเดต!
  • รีเซ็ตคีย์ API และรหัสผ่าน FTP ที่ใช้ก่อนหน้านี้ทั้งหมด ตรวจสอบว่าคุณใช้รหัสผ่านที่รัดกุม
  • ล้างแคชโดยใช้คำสั่งต่อไปนี้: drush cache-rebuild (Drupal 8) หรือ drush cache-clear all (Drupal 7)
  • ใช้โซลูชัน WAF บางประเภทเพื่อเป็นชั้นความปลอดภัยเพิ่มเติมจากการแฮ็กการเปลี่ยนเส้นทางของ Drupal

อย่างไรก็ตาม ยังมีอีกมากที่อาจผิดพลาดและส่งผลให้เปลี่ยนเส้นทางแฮ็ก Drupal หากคุณยังไม่สามารถเข้าใจได้ โปรดติดต่อผู้เชี่ยวชาญ หากการทำความสะอาดด้วยตนเองดูน่าเบื่อเกินไป ให้ใช้เครื่องมืออัตโนมัติ อัปเดตอยู่เสมอจากบล็อก เว็บไซต์ ฯลฯ เกี่ยวกับช่องโหว่ที่ค้นพบใน CMS ของคุณ