সাম্প্রতিক অনেক ওয়ার্ডপ্রেস সাইটে functions.php ফাইলের শীর্ষে একটি ক্ষতিকর কোড যোগ হওয়া আবিষ্কৃত হয়েছে, যার ফায়দা তুলে ম্যালওয়্যার স্রষ্টা যেকোনো ক্ষতি করতে পারে। ইনজেক্ট করা কোডটি ApiWord ম্যালওয়্যার- থেকে আসে যা শুধু post.php এবং functions.php-এ মডিফিকেশন আনতে নয়, বরং একটি ফাইল তৈরি করে যাতে একটি ব্যাকডোর থাকে: /wp-includes/class.wp.php
functions.php ফাইলের উপস্থিতি যেকোনো থিমকে ওয়ার্ডপ্রেস দ্বারা স্বীকৃতি দেওয়ার জন্য অপরিহার্য – এবং তাই এটি প্রতিটি পেজ ভিউতে এক্সিকিউট হয়। এটি ক্ষতিকর কোডের জন্য একটি চমৎকার টার্গেট করে তোলে।
ApiWord ম্যালওয়্যার সম্পর্কে
একটি উদাহরণে, ইনফেক্টেড কোডটি একটি ম্যালিশিয়াস প্লাগইন নামে woocommerce-direct-download-এর functions.php ফাইলে পাওয়া গেল। এই প্লাগইনে একটি ম্যালিশিয়াস স্ক্রিপ্ট ছিল woocp.php নামে যা কিছু অবফাস্কেটেড PHP কোড হোস্ট করত। এই স্ক্রিপ্ট এক্সিকিউশন দিয়ে সব functions.php ফাইলে ক্ষতিকর কোড ইনজেক্ট করত।
একবার ইনফেক্টেড হলে, স্ক্রিপ্টটি একটি ব্যাকডোর তৈরি করে যা আক্রমণকারী বহুভাবে অপব্যবহার করতে পারে। ব্যাকডোর PHP স্ক্রিপ্ট কীভাবে অপব্যবহার করা যায় তার কিছু উদাহরণ:
- সাইটে আর্বিট্রারি পোস্ট যোগ বা মডিফাই করা
- সার্ভারের সব ওয়ার্ডপ্রেস ওয়েবসাইট ইনফেক্ট করা
- ApiWord-এর ডোমেন থেকে ডাইনামিকভাবে ফেচ করা কোড দিয়ে সার্ভারে নতুন PHP ফাইল তৈরি করা
ApiWord ম্যালওয়্যার wp-includes/post.php ফাইলে কোড স্নিপেট যোগ করে। তারপর এটি একটি ফাইল তৈরি করে wp-includes/wp-cd.php. নিচে base64 ডিকোড দেওয়া হলো:
সম্পর্কিত ব্লগ – ওয়ার্ডপ্রেস-এ wp-vcd ম্যালওয়্যার কীভাবে ঠিক করবেন
ডিকোড করার পর এটি এইরকম দেখায়:
ApiWord ম্যালওয়্যার কীভাবে শনাক্ত করবেন
এটি জানা অপরিহার্য যে ক্ষতিকর কোডটি প্রতিটি functions.php ফাইলের শীর্ষে যোগ করা হয় যা প্রতিটি ইনস্টল করা থিমের রুট ডিরেক্টরিতে পাওয়া যায়।
উদাহরণস্বরূপ, যদি ওয়ার্ডপ্রেস সাইটে "MyTheme" নামে একটি থিম থাকে, তবে ক্ষতিকর কোডটি wp-content/themes/MyTheme/functions.php ফাইলে যোগ করা হবে।
ক্ষতিকর কোড ধারণকারী ফাইল পাথ পরিচিত: "@file_puts_contents($_SERVER[‘DOCUMENT_ROOT’].’/wp-includes/class.wp.php’,file_get_contents)”।
এই কোডটি মূলত একটি সিগ্নেচার ধারণ করবে একটি ভেরিয়েবলের রূপে নাম wp_cd_code. এটি ইনফেক্টেড ফাইলগুলো শনাক্ত করতে সাহায্য করতে পারে।
যদি ব্যবহারকারী ইউনিক্স-ভিত্তিক OS চালাচ্ছেন, তবে আপনার সার্ভারের ওয়েব-রুটের রুট ডিরেক্টরিতে নিচের কমান্ডটি রান করে সকল ইনফেক্টেড ফাইলের তালিকা বের করতে পারেন:
find -iname '*.php' -print0 | xargs -0 egrep -in 'wp_cd_code'
এটি এক্সিকিউট করলে সকল .php ফাইলগুলোর মাধ্যমে রিকার্সিভলি "wp_cd_code" সিগ্নেচার স্ট্রিং খুঁজে বের করবে। আউটপুটে ফাইল পাথ এবং সার্চ স্ট্রিং ধারণকারী লাইন নম্বর দেখাবে।
ApiWord ম্যালওয়্যার কোডটি কী করে
সহজ ভাষায়, কোড ইনজেক্টর প্রতিটি সাইটের জন্য ক্ষতিকর কোড কনফিগার করে, PHP ফাইলে ইনজেক্ট করে যা প্রতিটি ইউজার রিকোয়েস্টে রান করবে – যা আক্রমণকারীর কাছে রিপোর্ট করা হয়। এই কোড ভেরিয়েবলের action এবং password চেক করে HTTP রিকোয়েস্টে পাস করা। যদি পাসওয়ার্ড হার্ড-কোডেড 해শ (যেটি কোড ইনজেক্টর দ্বারা জেনারেট করা) সাথে মিলে যায়, তবে ইনজেক্টেড কোড action ভেরিয়েবলের কন্টেন্ট অনুযায়ী একটি অ্যাকশন এক্সিকিউট করে।
আক্রমণকারী জেনারেট করা পাসওয়ার্ড ব্যবহার করে সাধারণ লগইন পথ অনুসরণ না করে আপনার ওয়েবসাইটে অ্যাডমিন প্রিভিলেজ পেতে পারে। এটি তাদের কিছু অ্যাকশনের প্রিভিলেজ দেয় যেমন আপনার ইনফেক্টেড সাইটে আর্বিট্রারি কন্টেন্ট যোগ করা এবং পোস্ট মডিফাই করা। আরও জানতে, ওয়ার্ডপ্রেস-এ PHP কোড এক্সিকিউশন সম্পর্কে আমাদের আর্টিকেল চেক করুন।
PHP/ApiWord ম্যালওয়্যার হ্যাক সরিয়ে ফেলা
ApiWord ম্যালওয়্যার মিটিগেশন ডিমান্ড করে সাইটের থিম ডিরেক্টরির প্রতিটি function.php ফাইল থেকে সব ব্যাকডোর কোড彻底 মুছে ফেলা। আপনি এই চেকলিস্ট অনুসরণ করতে পারেন:
- প্রতিটি functions.php ফাইল ক্ষতিকর কোডের জন্য চেক করুন। সংশ্লিষ্ট কোডটি PHP ফাইলের প্রথম <? php ?> ব্লকে পাওয়া যাবে, তাই এই ব্লকটি সম্পূর্ণরূপে মুছে ফেলা একটি ভালো আইডিয়া।
- যদি কোড ইনজেক্টর এখনও অস্তিত্বে থাকে তবে তা অবিলম্বে মুছে ফেলুন। উদাহরণস্বরূপ, woocommerce-direct-download প্লাগইন ক্ষেত্রে, কোড ইনজেক্টরটি woocp.php নামে একটি ফাইলে ছিল, যা আপনাকে ডিলিট করতে হবে।
- <wp_prefix>_datalist এবং <wp_prefix>_install_meta টেবিলগুলো খুঁজে বের করুন। এটা নোট করে রাখুন, কারণ এটি মডিফাইড পোস্ট খুঁজে বের করতে সাহায্য করতে পারে। তারপর, নিশ্চিত করুন আপনি এই টেবিলগুলো ডিলিট করেছেন।
- সকল পোস্ট "wp_cd_code" সিগ্নেচার ভেরিয়েবলের জন্য স্ক্যান করুন এবং প্রতিটি প্রভাবিত পোস্টের জন্য এই DIV মুছে ফেলুন।
- সার্ভারে সম্প্রতি মডিফাইড ফাইল চেক করুন। আপনার ওয়েব সার্ভারে SSH-এর মাধ্যমে লগইন করুন এবং নিচের কমান্ডটি এক্সিকিউট করুন সবচেয়ে সম্প্রতি মডিফাইড ফাইল খুঁজে বের করতে:
find /path-of-www -type f -printf ‘%TY-%Tm-%Td %TT %p\n’ | sort -r
ApiWord ম্যালওয়্যার দ্বারা ইনফেক্টেড হওয়া এড়াতে কীভাবে
- ফাইল ইউজার এবং পারমিশন আপডেট করুন। আপনার ওয়েবসাইটের ফাইল পারমিশন আরও রেস্ট্রিক্টিভ করতে বিবেচনা করুন। ফোল্ডার এবং ফাইলের জন্য ডিফল্ট পারমিশন স্কিম হওয়া উচিত ৭৫০ এবং ৬৪০। আপনি FTP/SFTP ক্লায়েন্টের মাধ্যমে পারমিশন পরিবর্তন করতে পারেন। কমান্ড লাইন ব্যবহার করে পারমিশন পরিবর্তন করতে চাইলে, নিচের কমান্ডগুলো রিকার্সিভলি চালান:
- ডিরেক্টরির জন্য:
find /path/to/your/wordpress/install/ -type d -exec chmod 750 {} \; ফাইলের জন্য:
find /path/to/your/wordpress/install/ -type f -exec chmod 640 {} \;
- ডিরেক্টরির জন্য:
- সার্ভারে তৈরি হওয়া যেকোনো নতুন ফাইল মনিটর করুন। Astra-এর মত একটি ওয়েব অ্যাপ্লিকেশন ফায়ারওয়াল (WAF) ডিপ্লয় করা থাকলে, এটি সার্ভারে তৈরি হওয়া যেকোনো নতুন/ডিলিটেড/মডিফাইড ফাইল খুঁজে বের করে এবং নিয়মিত ম্যালওয়্যার স্ক্যান করে।
- পাইরেটেড থিম ব্যবহার করা এড়িয়ে চলুন। শুধু আথেনটিক এবং অফিসিয়াল সোর্স থেকে থিম ব্যবহার করার পরামর্শ দেওয়া হয়।
- সব ওয়ার্ডপ্রেস আপডেট বিলম্ব ছাড়াই ইনস্টল করুন। ওয়ার্ডপ্রেস নিয়মিত আপডেট এবং প্লাগইন রিলিজ করে যেকোনো প্রকাশিত ব্রহ্মান্ডের মিটিগেট করতে। Astra-এর ওয়ার্ডপ্রেস নিরাপত্তা আপনার ওয়ার্ডপ্রেস সাইটের জন্য আপডেট এবং প্লাগইনের সময়মতো নোটিফিকেশন নিশ্চিত করে।
ApiWord ম্যালওয়্যার: উপসংহার
ম্যালওয়্যার সবসময় পরিবর্তনশীল এবং আপনার ওয়েবসাইট এবং এমনকি আপনার সুনামকে প্রভাবিত করতে পারে। আপনার ওয়েবসাইট থেকে ম্যালওয়্যার সরিয়ে ফেলা একটি অংশ, কিন্তু আপনি ভবিষ্যতের ইনফেকশন থেকে সুরক্ষিত থাকতে কিছু আরও স্থায়ী জিনিস দরকার – যেমন Astra-এর সিকিউরিটি স্যুট!
ওয়ার্ডপ্রেস কমিউনিটির সর্বশেষ ঘটনাবলী জানতে বা আপডেট রিলিজের নোটিফিকেশন পেতে, আমাদের ওয়ার্ডপ্রেস নিরাপত্তা ব্লগ সাবস্ক্রাইব করুন।
Astra Security Suite সম্পর্কে
Astra হল অত্যন্ত প্রয়োজনীয় ওয়েব সিকিউরিটি স্যুট যা হ্যাকার, ইন্টারনেট হুমকি এবং বট আপনার জন্য লড়ে। আমরা WordPress, OpenCart, Magento ইত্যাদি জনপ্রিয় CMS-এ চলে ওয়েবসাইটের জন্য প্রোঅ্যাক্টিভ নিরাপত্তা প্রদান করি। আমাদের সাপোর্ট টিম বছরভর ২৪x৭ আপনার কোয়ারীতে সাহায্য করার জন্য উপলব্ধ।