Attaques Citrix NetScaler ciblant les appliances ADC et Gateway
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Des acteurs de la menace exploitent activement deux vulnérabilités zero-day dans les appareils Citrix NetScaler pour obtenir un accès au niveau root. La campagne implique le déploiement de backdoors PHP personnalisées telles que WHIPSHOT et un outil de tunneling basé sur Python connu sous le nom de SLAPSHOT. Ces utilitaires permettent aux attaquants d’effectuer une reconnaissance interne et de voler des identifiants en relayant le trafic vers des environnements réseau protégés.
Enquête
Mandiant et le Google Threat Intelligence Group ont identifié l’exploitation des CVE-2026-88772 et CVE-2026-88771 fin septembre 2026. Les chercheurs ont découvert que les attaquants utilisent des en-têtes de paquets DTLS mal formés pour provoquer une corruption de la mémoire de l’amas dans le moteur de traitement des paquets de NetScaler. Des preuves médico-légales ont également révélé des fichiers httpd.conf modifiés utilisés pour la persistance et des permissions SUID appliquées à /bin/sh pour conserver les privilèges root.
Atténuation
Les organisations doivent prioriser l’installation des dernières versions de Citrix pour les pistes de version NetScaler 14.1 et 13.1. Si un correctif immédiat n’est pas possible, les défenseurs devraient désactiver le DTLS où cela est faisable et restreindre le trafic entrant UDP/443 au périmètre en amont. Une filtration stricte des sorties et la rotation de tous les identifiants stockés sur les appareils affectés sont également fortement recommandées.
Réponse
Lorsqu’un compromis est suspecté, les organisations doivent isoler les nœuds NetScaler affectés et suspendre la synchronisation Haute Disponibilité (HA) pour éviter la réplication des modifications malveillantes de configuration. Les intervenants doivent révoquer les sessions administratives et VPN actives et faire tourner les secrets des appareils, y compris les clés SSH et les certificats TLS. Les identifiants utilisés par les services intégrés tels que LDAP et RADIUS doivent également être intégralement tournés.
Flux d’attaque
Détections
Tentative d’exploitation possible CVE-2026-88772 (Dépassement de mémoire Citrix NetScaler dans le traitement du protocole DTLS) (via syslog)
Un fichier caché a été créé sur l’hôte Linux (via file_event)
Utilisation de Nohup (via cmdline)
Évasion de défense possible par utilisation de la commande Base64 (via cmdline)
Un fichier Cron a été créé (via file_event)
IOCs (SourceIP) pour détecter : Défendre contre l’exploitation active des Citrix NetScaler ADC et des passerelles
IOCs (DestinationIP) pour détecter : Défendre contre l’exploitation active des Citrix NetScaler ADC et des passerelles
Détection d’une exploitation potentielle des appareils Citrix NetScaler [Création de processus Linux]
Activités de persistance et de C2 sur les appareils Citrix NetScaler via les en-têtes HTTP et déguisement de fichiers [Serveur Web]
## Exécution de simulation
-
Narratif d’attaque & commandes : L’adversaire vise à établir une persistance à long terme et un canal C2 caché sur l’appareil Citrix NetScaler. D’abord, ils modifient la configuration du serveur Web pour traiter
.debfichiers comme des scripts PHP, leur permettant de télécharger et d’exécuter des backdoors déguisés en fichiers de paquets Linux. Deuxièmement, ils utilisentAliasMatchpour déguiser un script malveillant comme un inoffensif.icofichier icône. Enfin, pour éviter la détection par les NIDS traditionnels, ils communiquent avec leur serveur C2 en utilisant des en-têtes HTTP personnalisés (HTTP_X_UXandHTTP_NSC_LDAP) intégrés dans les requêtes Web standard. -
Script de test de régression : Ce script simule la génération des journaux que la règle de détection s’attend à voir. Puisque nous testons une règle de détection, nous simulerons les entrées de journal elles-mêmes comme si elles avaient été générées par l’appareil.
#!/bin/bash # Script de simulation pour générer des journaux correspondant à la logique de détection # 1. Simuler la modification de configuration : ajout de Handlers pour les fichiers .deb echo "$(date) NetScaler-Config: AddHandler application/x-httpd-php .deb" >> /var/log/netscaler_config.log # 2. Simuler la modification de configuration : AliasMatch pour le déguisement echo "$(date) NetScaler-Config: AliasMatch ^/vpn/media/(.+).ico$ /var/netscaler/gui/vpn/scripts/linux/$1.sig" >> /var/log/netscaler_config.log # 3. Simuler le trafic C2 : injection d'en-têtes HTTP (en utilisant curl pour imiter le trafic Web) # Nous utilisons -H pour injecter les en-têtes spécifiques identifiés dans la règle curl -H "HTTP_X_UX: true" -H "HTTP_NSC_LDAP: active" http://localhost/index.php # 4. Simuler le trafic C2 : en-tête numérique UX curl -H "HTTP_X_UX_99: payload" http://localhost/index.php -
Commandes de nettoyage :
# Supprimer les entrées de journal simulées (si elles ont été écrites dans un fichier local pour les tests) sed -i '/AddHandler application/x-httpd-php .deb/d' /var/log/netscaler_config.log sed -i '/AliasMatch ^/vpn/media/(.+).ico$/d' /var/log/netscaler_config.log