এক নতুন ধরনের রিডাইরেকশন ম্যালওয়্যার উত্থান করেছে যেখানে ওয়েবসাইট ভিজিটরদের নকল প্রোড় ডেটিং সাইটে রিডাইরেক্ট করা হয়। এই ম্যালওয়্যার ক্যাম্পেইনে হাজার হাজার নকল পেজ ওয়েবসাইটে যোগ হয় এবং Google Search দ্বারা ইন্ডেক্স হয়। আপনি যদি site: example.com সার্চ করেন, তাহলে নিচের ফলাফলগুলো দেখবেন:

এই ম্যালওয়্যার ক্যাম্পেইন নকল পেজ ও রিডাইরেকশন যোগ করে এসে, ডিক্রিপশন, ফার্মা, ডেটিং সাইট, লোন, মিডিয়া, ম্যালিশাস ডাউনলোড স্প্যাম সাইট ইত্যাদির জন্য।
সম্পর্কিত ব্লগ – WordPress রিডাইরেকশন হ্যাক
যদি আপনি Google Search-এ ইন্ডেক্স করা যেকোনো লিংকে ক্লিক করেন, তবে আপনাকে নিচের ছবির মতো স্পষ্ট কন্টেন্ট ও মেসেজवाले সাইটে রিডাইরেক্ট করা হবে।

আপনার ওয়েবসাইট সংক্রমিত কিনা জানার উপায়
- আপনার তৈরি করা নয় এমন পেজের জন্য Google Search-এ প্রচুর ফলাফল পাওয়া যায়।
- Google-এ আপনার ওয়েবসাইটের লিংকে ক্লিক করলে আপনাকে প্রোড়/জুয়া/ডেটিং সাইটে রিডাইরেক্ট করা হয়।
- আপনার জানা ওচিত নয় এমন নতুন পেজগুলো আপনার ওয়েবসাইটে যোগ হয়েছে।
- অ্যাডমিন ড্যাশবোর্ডে অজানা অ্যাডমিন ইউজার যোগ হয়েছে।
- আপনার ওয়েবসাইট খুব ধীর হয়ে গেছে।
- Google Search Console-এ থেকে সতর্কবার্তা মেসেজ পেয়েছেন।
Drupal সাইটে রিডাইরেকশন হ্যাক খুঁজে বের করার পদ্ধতি
আমরা একটি Drupal 7 সাইটের জন্য এই ম্যালওয়্যার হ্যাক ক্যাম্পেইন তদন্ত করেছি এবং পেয়েছি যে হ্যাকাররা চতুরाईপূর্বক জটিল কৌশল ব্যবহার করে ম্যালওয়্যার লুকিয়ে রেখেছে, যা দূষিত কোড চিহ্নিত করা কঠিন করে তোলে।
Astra-এর ম্যালওয়্যার স্ক্যানার দিয়ে সাইট স্ক্যান করলে includes/template.inc এ একটি সন্দেহজনক ফাইল পাওয়া গেল।

আরো তদন্তে জানা গেল যে template.inc ফাইলটি 'Drupal Registry'-তে যোগ করা হয়েছিল যাতে প্রতিটি রিকোয়েস্টের সাথে এটি অটোমেটিক্যালি লোড হয়। কনফিগারেশন মান ডাটাবেসে অবস্থিত ছিল।

পরবর্তী ধাপ ছিল ফ্ল্যাগ করা ফাইলের কোড ডিকোড করা। নির্দিষ্টভাবে getMimeDescription() ফাংশনটি।
public function getMimeDescription($documentDir) { $indicies=array(8, 5, 0, 1, 9, 4, 6, 7, 3, 2); $mimeMarkers=array('themes', 'Porto', 'loader1', 'light_rounded', 'prettyPhoto', 'all', 'images', 'prettyPhoto', 'sites', 'vendor'); $mimeType='gif'; $selecteds=array(); foreach($indicies as $index) { $selected=$mimeMarkers[$index]; $selecteds[]=$selected; } array_unshift($selecteds, $documentDir); $cachePath=join('/', $selecteds); return $cachePath.'.'.$mimeType; } }
উপরোক্ত কোড স্নিপেট 評価 করলে অন্য একটি সক্রিয় ম্যালিশাস ফাইলের পাথ বের হয়:
sites/all/themes/Porto/vendor/prettyPhoto/images/prettyPhoto/light_rounded/loader1.gif

PHP-র gzinflate() ফাংশন ব্যবহার করে ডিফ্লেটেড স্ট্রিং ইনফ্লেট করলে কিছু base64 এনকোডেড কোড পাওয়া গেল।

উপরোক্ত কোডকে একাধিক লেভেলে আন-অবফাসকেট করার পর আসল ম্যালিশাস কোড প্রকাশ পায়, যা নিচে দেখা যাচ্ছে।
$v266=array('essay','pharm','dating','loan','media','download'); if(isset($this->v254['theme'])){ $this->v12->t4("page theme: '{ 0 } '",$this->v254['theme']); $v267=strtolower($this->v254['theme']); foreach($v266 as$v80){ if(strpos($v267,$v80)!==false)return$v80; } } else{ $this->v12->t4("page has NO theme. old dor"); } return'default'; } function t170($v268,$v148){ $v269=$this->v255->t147($v268['exit']['url'],$this->v254,$v148); return array('name'=>$v268['name'],'exit'=>$v268['exit']['type'],'url'=>$v269[00],'extparams'=>$v269[01]); }
নকল প্রোড় ডেটিং সাইটে রিডাইরেকশন বন্ধ করার উপায়
নকল প্রোড় ডেটিং সাইট রিডাইরেকশন সম্পূর্ণরূপে অপসারণ করতে আপনাকে আপনার ওয়েবসাইটের ফাইল ও ডাটাবেস ম্যালওয়্যার জন্য স্ক্যান করতে হবে। এই হ্যাক অ্যানালিসিসে আপনি দেখেছেন যে হ্যাকাররা কত দক্ষতার সাথে রিডাইরেকশন কোডকে একাধিক লেভেলের অবফাসকেশন ও কোড হাইডিং টেকনিক দিয়ে লুকিয়ে রেখেছে।
স্বয়ং ম্যালওয়্যার পরিষ্কার করার পদ্ধতি জানতে আমাদের WordPress ম্যালওয়্যার রিমুভাল সম্পূর্ণ গাইড দেখুন।
ডেটিং সাইট রিডাইরেকশন প্রতিরোধের সিকিউরিটি পরামর্শ
- ওয়েবসাইটের ব্যাকআপ নিন যাতে প্রয়োজনে রিস্টোর করা যায়।
- CMS, প্লাগইন এবং থিম লেটেস্ট ভার্সনে আপডেট করুন।
- হ্যাকের কারণ চিহ্নিত করুন এবং প্যাচ করুন।
- শক্তিশালী ফায়ারওয়াল দিয়ে ওয়েবসাইট সুরক্ষিত করুন।
- কোনো ফাইল বা ফোল্ডারের ৭৭৭ পারমিশন দেবেন না। ফোল্ডারের জন্য ৭৫৫ এবং ফাইলের জন্য ৬৪৪ পারমিশন সেট করুন।
- ব্যাকএন্ডে কি কোনো অজানা অ্যাডমিন ইউজার যোগ হয়েছে কিনা চেক করুন।
- public_html ফোল্ডার থেকে যেকোনো ব্যাকআপ ফাইল (.zip, .sql, .tar ইত্যাদি) মুছে ফেলুন।