Drupal ถือว่าปลอดภัยจริงๆ และนี่คือเหตุผลของความนิยม Drupal เป็น CMS โอเพ่นซอร์สและเป็นที่รู้จักว่ามีประสิทธิภาพ เป็นโอเพ่นซอร์ส ซอร์สโค้ดของมันถูกเปิดเผยต่อสาธารณะ นี่คือเหมืองทองคำสำหรับนักล่าค่าหัวแมลง Drupal ได้รับความเดือดร้อนจาก “Pharma Hack” ที่น่าอับอายถึง “Kitty Cryptomining Malware” ในช่วงไม่กี่เดือนที่ผ่านมา การติดไวรัสที่เพิ่มขึ้นอีกอย่างคือ “การเปลี่ยนเส้นทางการแฮ็ก Drupal ” ที่เปลี่ยนเส้นทางผู้เยี่ยมชมเว็บไซต์ของคุณไปยังหน้าเว็บที่เป็นสแปม
แฮ็คการเปลี่ยนเส้นทาง Drupal เกิดขึ้นหลังจากผู้โจมตีใช้ช่องโหว่ในเว็บไซต์ของคุณและแก้ไขเนื้อหาเว็บไซต์เพื่อติดตั้งมัลแวร์ ด้วยเหตุนี้ ผู้เยี่ยมชมเว็บไซต์ของคุณจะถูกเปลี่ยนเส้นทางไปยังลิงก์ที่เป็นสแปมและน่าสงสัย เจ้าของเว็บไซต์บ่นว่ามัลแวร์นี้เปลี่ยนเส้นทางผู้ใช้ไปยังฟิชชิ่งและหน้าสำหรับผู้ใหญ่ที่ขายไวอากร้าหรือสื่อลามก
ปัญหาการเปลี่ยนเส้นทางของ Drupal Hack เป็นอย่างไร
มีการติดเชื้อการเปลี่ยนเส้นทางหลายประเภท:
- ผู้เยี่ยมชมเว็บไซต์ถูกเปลี่ยนเส้นทางไปยังหน้าสแปมเมื่อเข้าสู่หน้าแรกของคุณ
- เมื่อใดก็ตามที่มีการคลิกปุ่ม/ลิงก์ หน้าจะเปลี่ยนเส้นทางไปยังหน้าร้านขายยาปลอมที่ขายไวอากร้า, เซียลิส
หากต้องการดูว่าไซต์ Drupal ของคุณติดไวรัสรุ่นที่สองหรือไม่ คุณสามารถใช้ Google dork Google dork ต่อไปนี้ให้ข้อมูลเบื้องต้นเกี่ยวกับสิ่งที่เรากำลังจะเจาะลึก
site:your-website.com "viagra"
ที่นี่ dork นี้แสดงเว็บไซต์ Drupal ทั้งหมดที่เปลี่ยนเส้นทางไปยังหน้าไวอากร้า อย่างไรก็ตาม คุณสามารถค้นหาการเปลี่ยนเส้นทางเพิ่มเติมได้โดยการแทนที่คำว่า ไวอากร้า ด้วยคำหลักอื่นๆ เช่น 'โป๊กเกอร์ ‘, ‘โป๊ ', 'เงินกู้' เป็นต้น
หลังจากคลิกที่ลิงค์เว็บไซต์แรกเกิดข้อผิดพลาดดังต่อไปนี้
ซึ่งหมายความว่าผู้โจมตีได้ใช้ประโยชน์จากเว็บไซต์และถูกเปลี่ยนเส้นทาง อย่างไรก็ตาม เนื่องจากปัจจัยอื่นๆ การเปลี่ยนเส้นทางอาจไม่ทำงานในขณะนี้
ประเภทของการเปลี่ยนเส้นทาง Drupal Hack (รหัสสถานะ HTTP) :
- 301 เปลี่ยนเส้นทาง: เรียกอีกอย่างว่าการเปลี่ยนเส้นทางถาวร เมื่อ Google หรือเครื่องมือค้นหาอื่น ๆ สำหรับเรื่องนั้นดูที่ URL นี้ โดยจะระบุว่า URL ได้ย้ายไปยังตำแหน่งใหม่ ดังนั้นให้อัปเดตความสัมพันธ์ก่อนหน้าทั้งหมด ผู้โจมตีมักจะใช้การเปลี่ยนเส้นทางนี้เนื่องจากความเรียบง่าย
- 302 เปลี่ยนเส้นทาง: การใช้ 302 นั้นซ้ำซ้อนในขณะนี้ เนื่องจากมันถูกแทนที่ด้วย 303 โดยทั่วไปแล้วการเปลี่ยนเส้นทาง 303 ระบุว่าเอกสารพร้อมใช้งานชั่วคราว
- 303 เปลี่ยนเส้นทาง: เป็นเวอร์ชันปรับปรุงของ 302 การเปลี่ยนเส้นทาง 303 ให้หน้าชั่วคราวที่อาจไม่มีอยู่ในที่อยู่เดียวกันในอนาคต อาจเป็นแบบฟอร์มข้อมูลบัตรเครดิต ตัวสร้างรายละเอียดชั่วคราว ฯลฯ ซึ่งผู้โจมตีคาดหวังให้น้อยที่สุด เว้นแต่จะเป็นการโจมตีที่ซับซ้อนจริงๆ
- 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 ของคุณ