Les web shells PHP contrôlés par cookies : une menace furtive pour les serveurs Linux
Les acteurs de la menace exploitent de plus en plus les cookies HTTP comme canal de contrôle pour les web shells basés sur PHP sur les serveurs Linux, permettant l'exécution de code à distance avec une furtivité accrue. Cette technique permet au code malveillant de rester dormant jusqu'à ce que des valeurs de cookie spécifiques soient présentes, rendant la détection plus difficile.
<p><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_2zEf8l08MTElI1sGlJPVVWtscud2RAXdsivOvcby3pO4NUWMBioT3FNaFL7Bw0GeEqnX_WqY10FVqXhVNBTOrl0UMPoyun7AvshwpvfJIdfdJ0yJ1V2mz7ZHQDE9motXuuW6urvTJYu0kLGvpZf10Qx1hNeobD4YV25tJY9nvNoW9Sqd8nSsWK7NWQP0/s1600/php-linux.jpg" alt="PHP and Linux"></p>
<p>Selon les conclusions de l'équipe de recherche en sécurité de <strong>Microsoft Defender</strong>, les acteurs de la menace exploitent les cookies HTTP pour contrôler les web shells basés sur <strong>PHP</strong> sur les serveurs <strong>Linux</strong>. Cela leur permet d'exécuter du code à distance de manière plus furtive.</p>
<p>« Au lieu d'exposer l'exécution des commandes via des paramètres d'URL ou des corps de requête, ces web shells s'appuient sur les valeurs de cookies fournies par l'acteur de la menace pour contrôler l'exécution, transmettre des instructions et activer des fonctionnalités malveillantes », a déclaré <strong>Microsoft</strong>.</p>
<h3>L'avantage de la furtivité</h3>
<p>Cette approche offre une furtivité accrue car le code malveillant reste dormant pendant l'exécution normale de l'application. La logique du web shell n'est activée que lorsque des valeurs de cookie spécifiques sont présentes. Ce comportement s'étend aux requêtes web, aux tâches planifiées et aux workers d'arrière-plan de confiance.</p>
<p>L'activité malveillante tire parti du fait que les valeurs de cookies sont facilement accessibles à l'exécution via la variable superglobale <code>$_COOKIE</code> en <strong>PHP</strong>. Cela permet aux entrées fournies par l'attaquant d'être consommées sans analyse supplémentaire. De plus, la technique est peu susceptible de déclencher des alertes car les cookies se fondent dans le trafic web normal, réduisant ainsi la visibilité.</p>
<h3>Variations d'implémentation</h3>
<p>Le modèle d'exécution contrôlé par cookies se présente sous différentes formes :</p>
<ul>
<li>Un chargeur <strong>PHP</strong> qui utilise plusieurs couches d'obfuscation et des vérifications à l'exécution avant d'analyser les entrées de cookies structurées pour exécuter une charge utile secondaire encodée.</li>
<li>Un script <strong>PHP</strong> qui segmente les données de cookies structurées pour reconstruire des composants opérationnels tels que les fonctions de gestion de fichiers et de décodage, et écrit conditionnellement une charge utile secondaire sur le disque et l'exécute.</li>
<li>Un script <strong>PHP</strong> qui utilise une seule valeur de cookie comme marqueur pour déclencher des actions contrôlées par l'acteur de la menace, y compris l'exécution de l'entrée fournie et le téléchargement de fichiers.</li>
</ul>
<h3>Accès initial et persistance</h3>
<p>Dans au moins un cas, les acteurs de la menace ont obtenu un accès initial à l'environnement <strong>Linux</strong> hébergé d'une victime par le biais d'identifiants valides ou de l'exploitation d'une vulnérabilité de sécurité connue. Cet accès a été utilisé pour configurer un cron job qui invoque périodiquement une routine de shell pour exécuter un chargeur <strong>PHP</strong> obfusqué.</p>
<p><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_dnkqNRqaQpLxOU5zufB7nhgbrggi35J3Umk4F10AbHlHsthwjU_JsBrtLRw5Jr1PyugGvlbNMXVSJSPShLAxDXihKHtisOfPgfqqlAnH9bdyYcV7Qm2t6uEQ5nHsBVBaBG7vfCsKx7FEJ_8F5JIaTqFVWMvm9RxKa76BORPZkMaSd6tgeINAbCm5QgjI/s1600/cookie.jpg" alt="Cookie Example"></p>
<p>Cette architecture « auto-réparatrice » permet au chargeur <strong>PHP</strong> d'être recréé à plusieurs reprises par la tâche planifiée, même s'il est supprimé lors des efforts de nettoyage. Cela crée un canal d'exécution de code à distance fiable et persistant. Une fois déployé, le chargeur <strong>PHP</strong> reste inactif pendant le trafic normal et ne s'active que lors de la réception de requêtes HTTP avec des valeurs de cookie spécifiques.</p>
<p>« En déplaçant le contrôle d'exécution dans les cookies, le web shell peut rester caché dans le trafic normal, ne s'activant que lors d'interactions délibérées », a ajouté <strong>Microsoft</strong>. « En séparant la persistance par la recréation basée sur cron du contrôle d'exécution par l'activation basée sur des cookies, l'acteur de la menace a réduit le bruit opérationnel et limité les indicateurs observables dans les journaux d'application de routine. »</p>
<p>Un aspect commun à toutes les implémentations est l'utilisation de l'obfuscation pour dissimuler les fonctionnalités sensibles et le gating basé sur les cookies pour initier l'action malveillante, minimisant ainsi l'empreinte interactive.</p>
<h3>Stratégies d'atténuation</h3>
<p>Pour contrer cette menace, <strong>Microsoft</strong> recommande :</p>
<ul>
<li>L'application de l'authentification multifacteur pour les panneaux de contrôle d'hébergement, l'accès SSH et les interfaces administratives.</li>
<li>La surveillance des activités de connexion inhabituelles.</li>
<li>La restriction de l'exécution des interpréteurs de shell.</li>
<li>L'audit des cron jobs et des tâches planifiées sur les serveurs web.</li>
<li>La vérification de la création de fichiers suspects dans les répertoires web.</li>
<li>La limitation des capacités de shell des panneaux de contrôle d'hébergement.</li>
</ul>
<p>« L'utilisation constante des cookies comme mécanisme de contrôle suggère la réutilisation de techniques de web shell établies », a déclaré <strong>Microsoft</strong>. « En déplaçant la logique de contrôle dans les cookies, les acteurs de la menace permettent un accès post-compromission persistant qui peut échapper à de nombreux contrôles d'inspection et de journalisation traditionnels. »</p>
<p>« Plutôt que de s'appuyer sur des chaînes d'exploitation complexes, l'acteur de la menace a exploité des chemins d'exécution légitimes déjà présents dans l'environnement, y compris les processus de serveur web, les composants du panneau de contrôle et l'infrastructure cron, pour mettre en scène et préserver le code malveillant. »</p>