Jump to content

Hack Prestashop sur la page de paiement - nettoyage


Eolia

Recommended Posts

Thank you @Eolia. I loved your help. You are nice and knowladgeable. I restored /classes /controllers /tools . Also I attached the update report. 

I have a question. Before i did those my website infected with fake payment gatway injected by hacker. Will this problem solve now? or I have to do anything else? Please guide me. 

 

Edited by Fahmid (see edit history)
Link to comment
Share on other sites

Il y a 3 heures, Fahmid a dit :

@Eolia I have redtored those Controlling JS scripts: which are red warnings form the ps version 1.6.1.4 and then restart the script again. but red warings are there yet. What can I do now?

FireShot Capture 033.pdf 3.18 Mo · 0 downloads

Hum... i don't know if your site is really on 1.6.1.4 version (sometimes files/versions are not correct if an old upgrade has failed)

Link to comment
Share on other sites

7 hours ago, Fahmid said:

How can I understand entrance hole closed shut or not ?

in a hack there are several entrances. Those need to be closed.
If someone has got hold of your passwords, you need to change those plus the loginpage needs to move.
Its a module than you need to find their way to enter your shop.

Its the hosting, than you need to move.

Link to comment
Share on other sites

On 10/15/2024 at 3:20 PM, Eolia said:

A priori c'est votre système qui a été infecté. Redémarrez complètement votre machine.

Bonjour Eolia, aujourd'hui et après 1 semaine sans aucun problème, le site a de nouveau été infecté. Quand vous disiez que le système a été infecté, cela signifie-t-il que ce hack serait indépendant de Prestashop ?

Link to comment
Share on other sites

Infections possibles:

- Autre cms non-protégé sur le même hébergement (Presta, WordPress ou autre)

- Vol des identifiants employés (le hacker se logue à la place d'un employé et installe un module qui lui sert à naviguer sur le ftp et déposer ses infections puis supprime le module)

- Module externe non sécurisé (Cleaner vous donne une liste des modules à contrôler utilisant des fonctions sensibles)

- Infection non détectée car n'utilisant pas de code spécialement dangereux à priori mais ajoutée dans un module

- Virus sur votre PC qui récupère vos mots de passe (hébergeur, ftp, etc...) lorsque vous les entrez au clavier

- etc...

Link to comment
Share on other sites

EDIT : J'ai trouvé un .htaccess corrompu à la racine même de l'hébergement, donc 2 niveaux avant mon Prestashop production. Maintenant que je l'ai mis à jour, je peux bien accéder à cleaner.php mais j'obtiens l'erreur suivante :

Ce script doit être placé à la racine de votre site (là où est installé votre Prestahop sur votre ftp) et nulle part ailleurs

Pourtant cleaner.php est bien à la racine de mon Prestashop prod.

Link to comment
Share on other sites

  • 2 weeks later...
On 12/23/2022 at 3:26 PM, Mediacom87 said:

Salut les gars, je me bats avec ce hacker depuis presque un an maintenant et je n'ai toujours pas réussi à le tenir à l'écart... cependant, quelqu'un peut-il me dire comment recevoir un email lorsque le cronjob a détecté quelque chose mauvais? parce qu'en utilisant easycron, je n'obtiens rien. Merci

Link to comment
Share on other sites

Il y a 2 heures, Essemme_Forniture a dit :

Salut les gars, je me bats avec ce hacker depuis presque un an maintenant et je n'ai toujours pas réussi à le tenir à l'écart... cependant, quelqu'un peut-il me dire comment recevoir un email lorsque le cronjob a détecté quelque chose mauvais? parce qu'en utilisant easycron, je n'obtiens rien. Merci

Le script Cleaner envoie un rapport à chaque lancement à l'email de la boutique.

 

Link to comment
Share on other sites

 

Bonjour, j'ai un de mes sites qui est attaqué (Merci cleaner pour la suppresion de la menace :) ) Merci beaucoup @Eolia

Par contre j'ai plein de fichier JS en rouge et pas mal de fichier en orange. Je ne sais pas trop par quoi commencer

Edit : du coup j'ai recherché base64 via ssh et je les tous remplacé Du coup j'ai remplacé les fichier JS aussi mais c'est toujours pareil

Pour les fichiers en Orange je ne sais pas quoi faire

 

Merci

Edited by Jrbzh (see edit history)
Link to comment
Share on other sites

Il y a 11 heures, Jrbzh a dit :

Edit : du coup j'ai recherché base64 via ssh et je les tous remplacé Du coup j'ai remplacé les fichier JS aussi mais c'est toujours pareil

J'espère que ces fichiers d'origine n'ont pas besoin de ce genre de code.

Il y a 11 heures, Jrbzh a dit :

Pour les fichiers en Orange je ne sais pas quoi faire

Cela dépend des fichiers, du code, de leur différence par rapport à l'origine. Dans tous les cas, le problème, c'est de boucher la faille de sécurité qui a permis le piratage, pas juste de réparer ce qui fut touché.

Link to comment
Share on other sites

12 minutes ago, Mediacom87 said:

J'espère que ces fichiers d'origine n'ont pas besoin de ce genre de code.

Cela dépend des fichiers, du code, de leur différence par rapport à l'origine. Dans tous les cas, le problème, c'est de boucher la faille de sécurité qui a permis le piratage, pas juste de réparer ce qui fut touché.

 

Merci pour la réponse

J'ai remplacé les fichier JS par les fichiers d'origine :)  mais il reste en rouge

Pour les fichier orange la plus part j'ai remit les fichier d'origine mais il reste en orange  ce sont des modules

 

 

Link to comment
Share on other sites

il y a 22 minutes, Jrbzh a dit :

Pour les fichier orange la plus part j'ai remit les fichier d'origine mais il reste en orange  ce sont des modules

Comme cela est précisé sur le script, en orange ce sont des fichiers intégrant des bouts de code potentiellement dangereux, donc il faut s'assurer que le code est propre.

Link to comment
Share on other sites

Je vais me répéter encore une fois mais c'est nécessaire à priori:

- Cleaner est un outil, pas une solution

- Cleaner nettoie ce dont il est sûr d'être une infection, pour le reste seul un humain peut décider quoi faire

- Cleaner vous donne une explication ou un conseil facile à comprendre à chaque ligne

- Ce qui est en rouge doit impérativement être traité

- Un fichier cœur modifié doit être remplacé par l'original de votre version  (et non pas ouvert, copié/collé ou modifié et enregistré)

- Ce qui est en orange doit être analysé, si vous ne savez pas faire demandez à un pro.

- Si vous avez été infecté vous devez IMPERATIVEMENT changer les mots de passe de TOUS les employés

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Bonjour,

(j'ai peut-être manqué la réponse à cette question dans les posts précédents?)

est-ce que ce script fonctionne avec PS 8.x.x?

Je peux me tromper mais il semble ne pas détecter la version exacte de PS. De plus il m'indique certains fichiers comme vérolés mais ils sont identiques à ceux de la version en cours.

Un grand merci pour ce boulot, quoi qu'il en soit.

Link to comment
Share on other sites

OK merci.

Est-ce que tu as une idée de la raison pour laquelle il m'indique certains fichiers comme vérolés, mais ils sont identiques à ceux de la version en cours? (Version qui n'apparaît pas dans le résultat, il indique 8.0.0.0, ce qui pourrait expliquer le problème?)

Ce sont surtout des fichiers .js qui apparaissent infectés, ex.

Fichier JS infecté trouvé dans: ./js/jquery/plugins/jquery.pngFix.js 
>>> Supprimé: js/jquery/plugins/jquery.pngFix.js

Comme ensuite ils sont supprimés, ça fait hésiter à utiliser le script. Mais peut-être que je l'utilise mal?

Merci.

Version de Prestashop: 8.1.7

PHP: 8.1

Link to comment
Share on other sites

Bonjour,

Depuis ce matin et sur PS 1.7.8.11, je n'arrive plus à me connecter au back-office. J'ai lancé votre (génial) script, qui m'a ressorti une erreur qui semble de toute évidence être liée. J'ai supprimé le module ps_facetedsearch concerné, et relancé le script à plusieurs reprises, qui continue de corriger le problème en boucle avec toujours l'impossibilité de se connecter. Une idée ?

 

 

Capture d’écran 2024-12-27 à 15.31.57.png

Capture d’écran 2024-12-27 à 15.29.53.png

Edited by AcidLava (see edit history)
Link to comment
Share on other sites

Ben là ça sent pas bon.

ps_facetedsearch ne doit pas être responsable, par contre tous les fichiers php présents dans le repertoire /js ou /img doivent être supprimés.

Ecrasez le contenu des répertoires /classes et /controllers depuis l'archive de votre version pour commencer.

Link to comment
Share on other sites

Merci pour vos retours, j'ai pu rétablir l'accès. J'ai l'impression qu'il y a une grosse vague de piratage sur Prestashop en ce moment ? Quelles sont vos préconisations pour sécuriser les sites ? Mise à jour vers dernière version stable, mise à jour des modules et déploiement de CloudFlare ?

Link to comment
Share on other sites

Il y a 2 heures, AcidLava a dit :

Merci pour vos retours, j'ai pu rétablir l'accès. J'ai l'impression qu'il y a une grosse vague de piratage sur Prestashop en ce moment ? Quelles sont vos préconisations pour sécuriser les sites ? Mise à jour vers dernière version stable, mise à jour des modules et déploiement de CloudFlare ?

https://www.mediacom87.fr/post/securite/

Link to comment
Share on other sites

On 12/28/2024 at 8:11 PM, Mediacom87 said:

@Mediacom87 j'avais le mail en non lu suite au post -> pour y revenir quand dispo mais sérieux j'ai perdu -3 alors que j'ai 20/10 à chaque œil tellement c'est violent au niveau couleur,et IA, no comment, c'est mimi mais bon...
J'ai pas pu trouvé l'article requis... J'ai chaud à lire des trucs intéressants mias je n'ai pas trouvé (rapidement) mais quand même pas trouvé après quelque valeureux scrolls.
Bref dsl mais je préfère l'approche de @Eolia plus simple et ça va à l'essentiel. Ensuite je comprends ;)

Link to comment
Share on other sites

Il y a 11 heures, bobby4722 a dit :

@Mediacom87 j'avais le mail en non lu suite au post -> pour y revenir quand dispo mais sérieux j'ai perdu -3 alors que j'ai 20/10 à chaque œil tellement c'est violent au niveau couleur,et IA, no comment, c'est mimi mais bon...
J'ai pas pu trouvé l'article requis... J'ai chaud à lire des trucs intéressants mias je n'ai pas trouvé (rapidement) mais quand même pas trouvé après quelque valeureux scrolls.
Bref dsl mais je préfère l'approche de @Eolia plus simple et ça va à l'essentiel. Ensuite je comprends ;)

Merci pour votre retour très constructif, c'est toujours intéressant.

Peut-être devrais-je mettre les liens directs vers les articles plutôt que mettre en évidence que la réponse n'est pas si simple et que la sécurité d'un site ne se résume pas simplement à une ligne de code à poser dans un fichier.

Mais comme cette réponse ne vous était pas adressée, certainement que cela explique votre difficulté à trouver celle qui vous correspond puisque vous n'avez pas posé de question.

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour,

J'utilise le script depuis pas mal de temps sur mon site.
Je viens de changer d'hébergeur, mais aucun changement n'a été fait sur le site (pas de mise à jour), la version php est toujours la même et la version du script n'a pas évoluée entre temps (3.4.36).
Pourtant, le script ne trouve plus du tout les mêmes choses.

 - Contrôle de sécurité sur les fichiers php coeur :
 -- Ancien hébergeur : le script me trouvait quelques fichiers que j'avais effectivement modifiés.
 -- Nouvel hébergeur : le script m'alerte sur des fichiers contenus dans /admin/filemanager/ et /tools/smarty/ et sur des fichiers contenus dans des modules. Les alertes sont en vert ou en orange.

 - Recherche de fichiers php ajoutés:
 -- Ancien hébergeur : le script me trouvait quelques fichiers que j'avais effectivement ajoutés.
 -- Nouvel hébergeur : le script me liste une quantité énorme de fichiers de modules (j'ai l'impression qui me liste tous les modules ou  presque). Les alertes sont en orange.

 - Recherche de vulnérabilité sur les modules :
 -- Ancien hébergeur : le script m'alertait sur certains fichiers de modules (alertes en orange et orange foncé).
 -- Nouvel hébergeur : il ne trouve plus rien.

La seule chose qui diffère depuis le changement d'hébergeur est qu'avant le chemin des fichiers était www/
alors que maintenant c'est nomdemonsite/.

Pouvez-vous m'aider ?

Merci

Link to comment
Share on other sites

Bonjour,
La version de PHP est la même, mais il est possible que les paramètres comme memory_limit ne soient plus les mêmes. Ca pourrait en être la cause ? Avez-vous des recommandations sur les réglages des paramètres pour que le script fonctionne parfaitement ?
Merci

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

J'ai un peu avancé sur mon souci.

Concernant les fichiers "Contrôle de sécurité sur les fichiers php coeur" : j'ai retéléchargé les fichiers concernés sur l'ancien hébergeur et je les ai renvoyés vers le nouvel hébergeur en mode binaire (et non pas automatique dans Filezilla).
Les fichiers n'apparaissent plus dans la liste.

Par contre pour "Recherche de fichiers php ajoutés:", j'ai testé la même chose et ça ne change rien.
En regardant de plus près, ça me liste des fichiers de traduction, par exemple :
xxx/themes/default-bootstrap/modules/statssearch/translations/fr.php (ces fichiers étaient déjà là sur l'ancien hébergeur et ça ne générait pas d'alerte)
Et ça me liste aussi, pour certains modules, toutes sortes de fichiers. La plupart de ces modules sont des modules qui ne font pas partie de PS à l'origine.

N'hésitez pas à me dire si vous avez une solution. Merci

Edited by Bertrand57 (see edit history)
Link to comment
Share on other sites

  • 4 weeks later...

sur ps 8.1.7 ( php 8.1 ) le scrypt ne pas fiable :

md5 non intégré pour ma version , (Fichiers source ignorés pour cette version: 8.0.0.0. Les contrôles md5 ne seront pas effectués.)

 

Contrôle de sécurité sur les fichiers php coeur:

Fichier sans extension détecté => PrestashopUpgrade/modules/ets_superspeed/classes/ext/ets_hook

Fichier sans extension détecté => PrestashopUpgrade/modules/ets_superspeed/classes/ext/minify_html

Fichier sans extension détecté => PrestashopUpgrade/modules/ets_superspeed/classes/ext/temp

Fichier sans extension détecté => PrestashopUpgrade/modules/ets_superspeed/classes/OverrideUtil

Fichier sans extension détecté => PrestashopUpgrade/override/classes/controller/_do_not_remove

Fichier sans extension détecté => PrestashopUpgrade/override/classes/db/_do_not_remove

Fichier sans extension détecté => PrestashopUpgrade/override/classes/helper/_do_not_remove

Fichier sans extension détecté => PrestashopUpgrade/override/classes/order/_do_not_remove

Fichier sans extension détecté => PrestashopUpgrade/override/classes/pdf/_do_not_remove

Fichier sans extension détecté => PrestashopUpgrade/override/classes/_do_not_remove

Fichier sans extension détecté => PrestashopUpgrade/override/controllers/admin/_do_not_remove

Fichier sans extension détecté => PrestashopUpgrade/override/controllers/front/_do_not_remove

Fichier sans extension détecté => PrestashopUpgrade/override/controllers/_do_not_remove

il faudrai plus info sur le pk du comment ? (Fichier sans extension détecté oui , mais un message sur quoi faire / quoi verife , serai bien venu ;) )

 

Contrôle des scripts JS: , il me sort que des .png ( et apres 

Contrôle des images pouvant contenir un script:

Aucun fichier image suspect detecté ) ( peut etre edite en verification des image dans les dossier js , si contienne des script ...autre .. non ? )

 

Contrôle des droits:

Droits incorrects (777) pour le répertoire: /img/cms/Newsletter Doit être 755 ou 705
Droits incorrects (777) pour le répertoire: /img/tmp/cms Doit être 755 ou 705
Droits incorrects (777) pour le répertoire: /img/tmp/cms/Nouveau dossier Doit être 755 ou 705
Droits incorrects (777) pour le répertoire: /img/tmp/cms/Newsletter Doit être 755 ou 705
Votre version Prestashop est inexistante dans les archives md5, le contrôle d'intégrité n'a donc pu être effectué.

 

il etais pourtant bien en 755 ???

 

Recherche de vulnérabilité sur les modules (A titre d'information. Si vous ne savez pas interpréter le code, veuillez demander l'avis d'un professionnel):

 

il ma sortie un fichier rouge donc dangereurx donc delete automatiquement par le scrypt 🙂  il faudrai une validation de l'utilisateur (y/n) pour delete x fichiers je pense )

Fichier dangereux supprimé (shell_exec) => PrestashopUpgrade/modules/ets_superspeed/ets_superspeed.php ,

voici la fonction qu'il a trouver suspect [code]

public function execCode($php_code)
    {
        // Check if the custom execution function exists
        if (function_exists('ets_execute_php')) {
            call_user_func('ets_execute_php', $php_code);
        } else {
            // Sanitize and validate the PHP code
            $php_code = trim($php_code);

            // List of dangerous functions that should be disabled
            $disabled_functions = [
                'system', 'exec', 'shell_exec', 'passthru', 'popen', 'proc_open',
                'eval', 'assert', 'create_function', 'include', 'include_once',
                'require', 'require_once'
            ];
            // Check if the code contains any dangerous functions
            foreach ($disabled_functions as $func) {
                if (stripos($php_code, $func) !== false) {
                    throw new Exception('Dangerous function detected in the PHP code.');
                }
            }

            // Create a temporary file to execute the PHP code
            $temp = @tempnam(sys_get_temp_dir(), 'execCode');
            if ($temp === false) {
                throw new Exception('Failed to create a temporary file.');
            }

            $handle = fopen($temp, "w+");
            if ($handle === false) {
                throw new Exception('Failed to open the temporary file for writing.');
            }

            fwrite($handle, "<?php\n" . $php_code);
            fclose($handle);

            // Validate that the file was created successfully
            if (file_exists($temp)) {
                include $temp;
                Ets_superspeed_defines::unlink($temp);
            } else {
                throw new Exception('Temporary file not found.');
            }
        }
    }[/code] surement du qu'il a trouver shell_exec

 

voici pour moi mon test et commentaire pour faire amelioré se scrypt tres intéressant ;)

 

a++

Screenshot 2025-02-22 at 20-30-26 .png

Link to comment
Share on other sites

  • 4 weeks later...

Hello,

i get error:

Script de nettoyage et contrôle pour boutiques PrestaShop by @eolia

Plusieurs répertoires de type /admin ont été trouvés.
Veuillez supprimer ceux qui sont inutiles ou le script ne saura pas lequel analyser

 

I only have a "admin123" and a " adminpanel" folder in root, tried renaming them so there is only an "admin" folder in root but no luck, how can i fix this?

Link to comment
Share on other sites

10 minutes ago, Eolia said:

The script gives you the paths to the admin directories, please delete the unnecessary directory.

Hello Eolia and thank you for reply, i am not sure i understand which directory is considered as unnecessary

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...