Maliciel Mimo : Comment protéger votre Craft CMS contre les exploits PHP-FPM

Maliciel Mimo : Comment protéger votre Craft CMS contre les exploits PHP-FPM

Sam Rollin
Sam Rollin
July 22, 2025
Dernière mise à jour : February 15, 2026
July 22, 2025

Le groupe cybercriminel Mimo cible activement les installations Craft CMS par le biais d'exploits sophistiqués de PHP-FPM, transformant les serveurs compromis en opérations de minage de cryptomonnaies et réseaux de serveurs mandataires. Ce groupe motivé financièrement exploite des vulnérabilités critiques comme CVE-2025-32432 pour obtenir un accès non autorisé et déployer des maliciels persistants qui peuvent être extrêmement difficiles à détecter et à supprimer.

Si vous gérez Craft CMS, vous devez comprendre comment ces attaques fonctionnent et implémenter des défenses appropriées immédiatement. Notre équipe a travaillé avec plusieurs clients touchés par ces attaques, et le processus de récupération est bien plus complexe qu'un nettoyage standard de maliciels.

Comprendre la menace Mimo

Mimo représente une nouvelle génération d'acteurs de menace qui ont dépassé la simple défiguration de sites web pour exploiter des opérations criminelles profitables à partir de serveurs compromis. Leurs attaques ciblent spécifiquement les installations Craft CMS en raison de la popularité de la plateforme et de la valeur des serveurs qui hébergent généralement ces sites.

Le modèle d'affaires du groupe repose sur trois sources principales de revenus : le minage de cryptomonnaies via XMRig, la revente de bande passante par le biais de serveurs mandataires IPRoyal, et occasionnellement le déploiement de rançongiciels. Ce qui rend Mimo particulièrement dangereux, c'est leurs mécanismes de persistance sophistiqués et leur capacité à masquer leurs activités aux outils de surveillance standard.

Comment fonctionne la chaîne d'attaque

L'attaque Mimo suit une séquence soigneusement orchestrée qui commence par l'exploitation de CVE-2025-32432, une vulnérabilité d'exécution de code à distance non authentifiée affectant plusieurs versions de Craft CMS. Les attaquants élaborent des requêtes GET spécifiques pour injecter des shells web PHP, puis utilisent des requêtes POST exploitant les failles de désérialisation pour activer ces shells et exécuter des commandes arbitraires.

Une fois l'accès initial établi, le shell web télécharge et exécute un script shell distant appelé 4l4md4r.sh. Ce script déploie un chargeur basé sur Go qui implémente des techniques de persistance avancées, incluant le détournement LD_PRELOAD pour cacher les processus malicieux aux outils de surveillance système.

La sophistication de cette attaque devient évidente lorsqu'on examine leurs capacités de dissimulation de processus. Le maliciel installe un fichier objet partagé (alamdar.so) qui intercepte les appels système, rendant effectivement les processus malicieux invisibles aux outils de surveillance de processus standard comme ps et top.

Vulnérabilités critiques que vous devez corriger

CVE-2025-32432 affecte une large gamme de versions de Craft CMS et permet aux attaquants non authentifiés d'exécuter du code arbitraire par le biais de requêtes élaborées. La vulnérabilité touche :

  • Craft CMS 3.0.0-RC1 à 3.9.14
  • Craft CMS 4.0.0-RC1 à 4.14.14
  • Craft CMS 5.0.0-RC1 à 5.6.16

Ces versions ont été corrigées dans les versions 3.9.15, 4.14.15 et 5.6.17 respectivement. Cependant, des vulnérabilités connexes comme CVE-2024-56145 et CVE-2024-58136 peuvent également être enchaînées pour des attaques similaires.

La vulnérabilité CVE-2024-56145 exploite spécifiquement le paramètre PHP register_argc_argv, qui lorsqu'activé, permet aux attaquants de passer des arguments arbitraires aux scripts PHP. Cette option de configuration apparemment anodine devient un risque de sécurité critique lorsqu'elle est combinée avec d'autres vulnérabilités.

Renforcement de Craft CMS étape par étape

Tout mettre à jour immédiatement

Commencez par mettre à jour Craft CMS vers la dernière version corrigée. Ce n'est pas optionnel - c'est l'étape la plus critique pour prévenir ces attaques. Mettez à jour non seulement Craft CMS lui-même, mais aussi tous les modules et dépendances. Lorsque nous travaillons avec des clients, nous planifions généralement ces mises à jour durant les fenêtres de maintenance pour assurer des tests appropriés.

Téléchargez la dernière version depuis le site officiel de Craft CMS et suivez attentivement leur documentation de mise à niveau. Portez une attention particulière aux problèmes de compatibilité des modules qui pourraient survenir durant le processus de mise à niveau.

Sécuriser votre configuration PHP

Votre configuration PHP nécessite une attention immédiate, particulièrement le paramètre register_argc_argv. Ajoutez cette ligne à votre fichier php.ini :

register_argc_argv = Off

Vous devriez également désactiver les fonctions PHP dangereuses qui ne sont pas nécessaires pour le fonctionnement de Craft CMS :

disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

Voici un script bash pour désactiver automatiquement register_argc_argv dans tous les fichiers de configuration PHP :

#!/bin/bash
php_ini_files=$(php --ini | grep ".ini" | awk -F': ' '{print $2}')
for ini_file in $php_ini_files; do
  if [ -f "$ini_file" ]; then
    if grep -q "^register_argc_argv" "$ini_file"; then
      sed -i 's/^register_argc_argv\s*=.*/register_argc_argv = Off/' "$ini_file"
      echo "Updated register_argc_argv to Off in $ini_file."
    else
      echo "register_argc_argv = Off" >> "$ini_file"
      echo "Added register_argc_argv = Off to $ini_file."
    fi
  fi
done
systemctl restart php8.2-fpm

Renforcer l'accès PHP-FPM

Configurez PHP-FPM pour utiliser des sockets Unix plutôt que des ports TCP, ce qui fournit une meilleure sécurité et performance. Mettez à jour la configuration de votre serveur web pour utiliser :

fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;

Définissez les permissions appropriées sur le fichier socket :

chmod 660 /var/run/php/php8.2-fpm.sock
chown www-data:www-data /var/run/php/php8.2-fpm.sock

Assurez-vous que votre pare-feu bloque l'accès externe à tous les ports PHP-FPM qui pourraient fonctionner. Cela empêche les attaques directes contre le service PHP-FPM.

Configurer la sécurité du serveur web

Bloquez l'accès direct aux fichiers sensibles par le biais de la configuration de votre serveur web. Pour Nginx, ajoutez ces blocs de localisation :

location ~ /\. {
    deny all;
}

location ~* \.(env|git|svn|log)$ {
    deny all;
}

location ~* composer\.(json|lock)$ {
    deny all;
}

Restreignez l'exécution PHP au répertoire public seulement :

location ~* \.php$ {
    include fastcgi_params;
    fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    if ($request_filename !~ "^/path/to/craft/web/.*\.php$") {
        return 403;
    }
}

Détection et surveillance

Configurez une surveillance pour détecter les indicateurs spécifiques à Mimo. Recherchez les requêtes POST vers /index.php?p=actions/assets/generate-transform avec des charges utiles suspectes contenant des paramètres __class. Ces requêtes indiquent souvent des tentatives d'exploiter la vulnérabilité de désérialisation.

Surveillez votre serveur pour des fichiers ou processus avec ces noms suspects :

  • alamdar, 4l4md4r
  • hezb
  • Processus XMRig
  • Logiciel IPRoyal

Les outils de surveillance d'intégrité de fichiers comme OSSEC ou Tripwire peuvent vous alerter de changements non autorisés. Configurez une surveillance pour le fichier /etc/ld.so.preload, car les modifications à ce fichier indiquent des tentatives de détournement LD_PRELOAD.

Récupération après compromission

Si vous soupçonnez que votre serveur a été compromis, agissez immédiatement. D'abord, mettez le site hors ligne pour prévenir d'autres dommages et vols de données. Basé sur notre expérience avec des sites compromis, vous devrez effectuer un nettoyage complet plutôt que d'essayer de supprimer sélectivement les maliciels.

Supprimez tous les fichiers et processus malicieux, mais soyez conscient que le détournement LD_PRELOAD rend cette tâche difficile. L'approche la plus sécuritaire est souvent de redéployer à partir d'une sauvegarde propre prise avant la compromission.

Générez de nouvelles clés de sécurité pour Craft CMS :

php craft setup/security-key

Forcez tous les utilisateurs à réinitialiser leurs mots de passe :

php craft resave/users --set passwordResetRequired --to "fn() => true"

Changez toutes les variables d'environnement, identifiants de base de données et clés API. Vérifiez la présence de portes dérobées ou shells web qui pourraient avoir été installés dans des emplacements non évidents.

Erreurs communes et comment les éviter

Plusieurs organisations font l'erreur de penser qu'elles peuvent supprimer manuellement le maliciel Mimo sans comprendre ses mécanismes de persistance. Le détournement LD_PRELOAD signifie que les outils standard ne vous montreront pas l'image complète de ce qui fonctionne sur votre système.

Une autre erreur commune est d'échouer à mettre à jour tous les composants de la pile. Mettre à jour Craft CMS seul n'est pas suffisant - vous devez corriger PHP, PHP-FPM et le système d'exploitation sous-jacent également.

Ne présumez pas que supprimer les fichiers de maliciels visibles signifie que le système est propre. Mimo utilise des techniques de dissimulation sophistiquées qui nécessitent des procédures de suppression spécialisées.

Pratiques de sécurité continue

Implémentez un calendrier régulier de mises à jour pour tous les composants logiciels. Configurez une surveillance automatisée pour les avis de sécurité de Craft CMS et de votre plateforme d'hébergement. Notre équipe recommande de vérifier les mises à jour hebdomadairement et d'appliquer les correctifs de sécurité critiques immédiatement.

Utilisez des variables d'environnement pour toutes les données de configuration sensibles. Ne stockez jamais d'identifiants, clés API ou jetons de sécurité dans le contrôle de version ou les fichiers de configuration qui pourraient être accessibles via des requêtes web.

Définissez allowAdminChanges à false dans les environnements de production pour empêcher les changements de configuration par le panneau d'administration Craft CMS. Cela réduit la surface d'attaque et empêche certains types d'exploitation.

Considérez l'implémentation d'un pare-feu d'application web (WAF) qui peut détecter et bloquer les modèles d'attaque courants. Des services comme Cloudflare ou AWS WAF peuvent fournir une protection supplémentaire contre les tentatives d'exploitation.

La menace Mimo démontre pourquoi la gestion de sécurité professionnelle est essentielle pour les installations Craft CMS de production. Ces attaques deviennent de plus en plus sophistiquées, et le processus de récupération nécessite une expertise technique approfondie pour assurer une remédiation complète.

Besoin d'aide pour sécuriser votre installation Craft CMS contre Mimo et autres menaces émergentes ? Notre équipe se spécialise dans le renforcement de sécurité Craft CMS et peut vous aider à implémenter des mesures de protection complètes. Contactez-nous pour discuter de vos exigences de sécurité spécifiques et obtenir des conseils d'experts sur la protection de vos précieuses applications web.

Share this article