Options sc_, wp_custom_ et crons pirates : le spam planqué en base WordPress
Vous avez repéré des options sc_, wp_custom_ ou home_links_custom_ dans votre table wp_options ? C'est de la persistance de spam en base. Voici comment l'identifier et la nettoyer.
En inspectant votre base de données, vous êtes tombé sur des lignes bizarres dans la table wp_options : des noms commençant par sc_, wp_custom_ ou home_links_custom_, que vous n’avez jamais créés. C’est une persistance de spam en base — un mécanisme qui stocke la configuration et parfois le code du malware directement dans la base de données, pour survivre au nettoyage des fichiers.
Qu’est-ce que c’est ?
WordPress stocke ses réglages dans la table wp_options. Les malwares SEO/spam en profitent pour y cacher leur configuration : destination des redirections, liste des liens à injecter, code à exécuter, ou marqueur de réinfection. Les préfixes que nous voyons le plus souvent sur les sites que nous nettoyons sont sc_, wp_custom_ et home_links_custom_ — aucun ne correspond à une option native de WordPress. Ils s’accompagnent régulièrement de tâches planifiées (crons) malveillantes nommées sc_cron, _dropper ou evalcron, qui réinjectent le spam à intervalle régulier.
C’est la moitié « base de données » d’une infection. L’autre moitié est dans les fichiers. Les deux se régénèrent mutuellement.
Les symptômes
- Des options
sc_*,wp_custom_*,home_links_custom_*inconnues danswp_options. - Des tâches planifiées inconnues (visibles via un plugin ou
wp cron event list). - Du spam ou des liens que vous n’avez pas créés qui réapparaissent après suppression.
- Une redirection dont la destination semble « stockée » quelque part.
Comment vérifier si vous êtes infecté
En base (phpMyAdmin ou WP-CLI) :
wp option list --search='sc_*'
wp option list --search='wp_custom_*'
wp option list --search='home_links_custom_*'
wp cron event list
En SQL direct :
SELECT option_name FROM wp_options
WHERE option_name LIKE 'sc\_%' OR option_name LIKE 'wp\_custom\_%'
OR option_name LIKE 'home\_links\_custom\_%';
Le scan gratuit WP-Detox inclut un scan de la base : il remonte les options injectées et les crons malveillants de cette famille, en plus des fichiers.
Le supprimer proprement
La règle : ne jamais traiter la base sans traiter les fichiers en même temps, sinon l’un régénère l’autre.
- Sauvegardez la base avant toute suppression.
- Retirez les options
sc_*,wp_custom_*,home_links_custom_*(après avoir vérifié qu’elles n’appartiennent pas à un plugin légitime). - Supprimez les crons malveillants (
sc_cron,_dropper,evalcron). - Nettoyez la partie fichiers en parallèle : c’est elle qui recrée les options. Cherchez la backdoor et le code injecté qui réécrivent ces lignes.
- Purgez le spam déjà publié — voir supprimer les articles spam casino.
- Fermez la faille et régénérez les accès.
Comment il revient (persistance)
Ce type d’infection est conçu pour résister au nettoyage partiel : si vous supprimez les fichiers mais laissez les options et le cron, la tâche planifiée redéploie le malware ; si vous videz la base mais laissez la backdoor, le fichier réécrit les options à la requête suivante. La persistance est croisée entre base et fichiers. Le seul nettoyage qui tient traite les deux dans la même passe.
FAQ
J’ai supprimé les options sc_ mais elles reviennent, pourquoi ? Parce qu’un cron malveillant ou une backdoor dans les fichiers les recrée. La persistance en base et la persistance en fichiers fonctionnent ensemble : tant que le fichier qui réinjecte n’est pas retiré, supprimer les lignes en base ne tient pas. Il faut traiter les deux.
Est-il risqué de supprimer ces options directement en base ?
Ces préfixes (sc_, wp_custom_, home_links_custom_) ne correspondent à aucune option standard de WordPress ni des plugins courants ; les retirer est sans danger pour le site. Faites toujours une sauvegarde de la base avant, et vérifiez qu’une option n’appartient pas à un plugin légitime que vous utilisez.
Ces options peuvent-elles réinfecter les fichiers ? Oui. Certaines stockent du code ou une configuration que la partie fichiers du malware lit et exécute. La base n’est pas qu’un dépôt passif : elle fait partie du mécanisme. C’est pourquoi un nettoyage doit couvrir fichiers ET base.
Chez WP-Detox, notre scan couvre les fichiers et la base : options injectées, crons pirates et spam publié sont traités dans la même passe que les backdoors. Le scan est gratuit, le nettoyage prend environ 30 minutes, c’est 149 € HT et remboursé si le site n’est pas propre. Pour la vue d’ensemble, commencez par le guide complet pour nettoyer un WordPress piraté.