Sélection de la langue

Détection des menaces pour vulnérabilités touchant SharePoint

Le Centre canadien pour la cybersécurité (Centre pour la cybersécurité) participe activement au suivi de nombreuses campagnes exploitant des vulnérabilités critiques récemment divulguées ayant été trouvées dans des serveurs locaux de Microsoft SharePoint, y compris les vulnérabilités CVE-2025-49704, CVE-2025-49706, CVE-2025-53770 et CVE-2025-53771. Ces campagnes à grande échelle tirent parti d’une chaîne d’exploit appelée ToolShell.

Pour aider les responsables de la défense à lutter contre ces attaques qui tirent parti de vulnérabilités, le Centre pour la cybersécurité a compilé une analyse détaillée tirée de récentes enquêtes. Cette analyse décrit le chemin d’attaque complet, examine l’évolution et l’utilisation de la chaîne d’exploit ToolShell, et fournit une caractérisation approfondie des techniques de l’auteur de menace, ainsi que des conseils sur les mesures d’atténuation et de détection essentielles.

Table des matières

Sommaire

La présente publication technique vise à faire connaître et à décrire certaines des tactiques, techniques et procédures (TTP) associées à un auteur de menace observé lors de l’exploitation de vulnérabilités dans des serveurs locaux de Microsoft SharePoint. Les premières constatations du Centre canadien pour la cybersécurité (Centre pour la cybersécurité) soulignent que cet auteur de menace a d’abord exploité un serveur pour ensuite utiliser une nouvelle technique faisant appel à des charges de virus .NET sur mesure pour obtenir et maintenir l’exécution de code. L’analyse subséquente de dizaines de charges de virus en mémoire sur mesure a aidé à comprendre l’étendue de la compromission dans SharePoint ainsi que l’intention et les activités de l’auteur de menace.

Aperçu d'un incident

Les événements de la chronologie ci-dessous illustrent le type de comportement post-exploitation observé par le Centre pour la cybersécurité. Cet incident démontre comment les équipes, aussi bien préparées soient-elles, peuvent être touchées par des problèmes indépendants de leur contrôle. Même si les victimes dans ce cas d’utilisation suivaient des pratiques de sécurité efficaces et ont pris les précautions appropriées, elles ont été affectées par un défaut logiciel imprévisible.

Figure 1 : Chronologie des événements associés aux vulnérabilités touchant SharePoint

Figure 1 - Description détaillée suit immédiatement
Description détaillée - Chronologie des événements associés aux vulnérabilités touchant SharePoint
  • Jour -12 : Accès initial au moyen des CVE touchant SharePoint, exécution du script et exfiltration de données (jusqu’au jour -8)
  • Jour -8 : Mouvement latéral de protocole SMB et mouvement latéral vers les serveurs IIS
  • Jour -10 : Mouvement latéral de protocole SMB (jusqu’au jour 2), mouvement latéral vers les serveurs IIS (jusqu’au jour -2), exécution du script (jusqu’au jour -1) et exfiltration de données (jusqu’au jour -1)
  • Jour 0 : CVE publiées (CVE-2025-53770 et CVE-2025-53771)
  • Jour 2 : Correctifs publiés
  • Jour 9 : Dernière activité connue de l’auteur de menace sur le réseau

Le Centre pour la cybersécurité a confirmé que des activités exploitant les vulnérabilités de SharePoint ont été observées dès le jour -12, conformément aux récents rapports suivants :

Toutefois, un indicateur de compromission (IC) clé partagé par Microsoft dans son avis du 19 juillet Customer guidance for SharePoint vulnerability CVE-2025-53770— présence d’un fichier appelé spinstall0.aspx — n’a pas été détecté lors de l’incident en question. Cela démontre que l’auteur de menace a initialement exploité le serveur et a ensuite utilisé une nouvelle technique faisant appel à des charges de virus .NET sur mesure pour obtenir et maintenir l’exécution de code. Par conséquent, le fichier spinstall0.aspx (ou toutes variations) n’a pas été détecté dans la cadre du chemin d’attaque et aucun processus PowerShell n’a été généré dynamiquement par le serveur IIS (Internet Information Services).

Après avoir pris initialement position dans le réseau, l’auteur de menace passe à un serveur additionnel pour mener des activités de reconnaissance, renforcer son accès et s’implanter en permanence par découverte et déplacement latéral. Pour ce faire, il a téléversé plusieurs charges de virus .NET sur mesure directement dans la mémoire du processus IIS sur une période de plusieurs heures. Ces charges de virus comprennent ce qui suit :

  • un module pouvant intercepter des requêtes de fichiers légitimes sur le serveur Web en fonction de certains critères;
  • un module pouvant extraire des valeurs de configuration cryptographique afin de faciliter une exploitation ultérieure sur le serveur Web;
  • un module pouvant lire et exfiltrer la base de données de mots de passe du gestionnaire de comptes de sécurité (SAM pour Security Account Manager) de l’hôte pour le craquage hors ligne;
  • un client qui utilise le protocole SMB (Server Message Block) pour mener des activités de reconnaissance sur le réseau;
  • un robot d’indexation de système de fichiers;
  • un outil d’interrogation de protocole allégé d’accès annuaire (LDAP pour Lightweight Directory Access Protocol).

Ces charges de virus ont souvent été combinées à un exploit d’élévation des privilèges et à un module de chiffrement.

Figure 2 : Chemin d’attaque illustrant comment l’auteur de menace a accédé à un environnement et s’est déplacé dans celui-ci

Figure 2 - Description détaillée suit immédiatement
Description détaillée - Chemin d’attaque illustrant comment l’auteur de menace a accédé à un environnement et s’est déplacé dans celui-ci

L’image illustre un flux d’attaque, en commençant par un auteur de menace externe qui exploite un serveur SharePoint dans la ZD (étape 1). À partir du serveur SharePoint, l’auteur de menace recueille de l’information et effectue une élévation des privilèges (étape 2). L’auteur de menace procède à la découverte de compte à partir du contrôleur de domaine (étape 3). L’auteur de menace se déplace latéralement vers un serveur IIS (étape 4). L’auteur de menace se montre intéressé au serveur d’échange interne (étape 5). L’auteur de menace se déplace latéralement dans le réseau interne (étape 6).

 

L’auteur de menace a eu recours au protocole de transfert hypertexte sécurisé (HTTPS pour Hypertext Transfer Protocol Secure) à l’externe pour accéder aux données exfiltrées et aux serveurs compromis. Il a utilisé le protocole SMB à l’interne pour mener des activités de reconnaissance et mettre en place un nouveau code encoquillé sur un serveur Web IIS distinct qui n’exécutait pas SharePoint. L’auteur de menace a tiré parti des périphériques réseau compromis pour dépersonnaliser leur origine véritable et accéder au réseau de la victime à partir d’adresses IP imprévisibles. Cela lui a permis de se confondre dans le trafic réseau normal et de limiter la pertinence des IC basés sur les adresses IP aux fins de suivi et de découverte.

Dans les deux cas, l’auteur de menace a ensuite entrepris de se connecter à plusieurs périphériques du réseau interne pour balayer le contrôleur de domaine et les serveurs LDAP pour obtenir des renseignements.

La dernière activité connue sur le réseau qu’a effectué l’auteur de menace s’est produite le jour -9, en plus d’une activité de reconnaissance subséquente touchant les ressources infonuagiques utilisant des justificatifs d’identité déjà compromis. À ce jour, nous continuons d’observer les activités malveillantes soutenues visant à accéder à l’infrastructure sur site et dans le nuage au moyen de ces justificatifs d’identité, qui ont depuis fait l’objet d’une rotation.

 

Analyse de l’incident

Avis de non-responsabilité : Des commentaires dans le code source ont été ajoutés dans le cadre des activités de rétro-ingénierie et ils ne se trouvent pas dans les exemples initiaux.

Le Centre pour la cybersécurité a analysé l’activité de l’hôte et du réseau en tirant parti de la télémesure tirée de ses capteurs. Les victimes ont également fourni des instantanés en temps utile de registres d’accès de pare-feu et de protocole HTTP, qui ont été déterminants pour retracer la compromission jusqu’à ses débuts. En définitive, ce fut l’analyse de dizaines de charges de virus en mémoire sur mesure qui a pu fournir toute l’histoire.

Ces charges de virus consistaient en des bibliothèques de liens dynamiques (DLL pour Dynamic-Link Libraries) chargées dans la mémoire sur une période de plusieurs semaines. Le Centre pour la cybersécurité a extrait ces charges de virus à partir de processus en cours d’exécution sur des hôtes compromis après que les vulnérabilités et expositions courantes (CVE pour Common Vulnerabilities and Exposures) aient été rendues publiques et aient fait l’objet d’une rétro-ingénierie. Cette extraction a aidé à comprendre l’étendue de la compromission dans SharePoint ainsi que l’intention et les activités de l’auteur de menace.

Techniques MITRE ATT&CK observées pendant l’analyse

L’information ci-dessous est basée sur le chemin d’attaque décrit à la figure 2.

Observation 1

  • Techniques principales
  • Techniques additionnelles
    • Exfiltration over alternative protocol: exfiltration over symmetric encrypted non-C2 protocol (T1048.001 - en anglais seulement) (Exfiltration par protocole de secours : exfiltration de protocole autre que C2 chiffré par clé symétrique)
    • Compromise infrastructure: network devices (T1584.008 - en anglais seulement) (Infrastructure des compromissions : périphériques réseau)

Observation 2

Observation 3

Observation 4

  • Techniques principales
  • Techniques additionnelles
    • Exfiltration over alternative protocol: exfiltration over symmetric encrypted non-C2 protocol (T1048.001 - en anglais seulement) (Exfiltration par protocole de secours : exfiltration de protocole autre que C2 chiffré par clé symétrique)
    • Compromise infrastructure: network devices (T1584.008 - en anglais seulement) (Infrastructure des compromissions : périphériques réseau)

Observation 5

Observation 6

Une analyse plus approfondie a permis de révéler ce qui suit :

  • l’exploitation initiale remontait au jour -12, près de deux semaines avant la divulgation publique des CVE le 19 juillet;
  • un nombre élevé d’activités malveillantes ont suivi la compromission initiale, tirant parti de plus de 50 charges de virus distinctes au cours d’une période de plusieurs semaines;
  • l’auteur de menace avait un grand intérêt pour l’acquisition et l’exfiltration de documents en partage de fichiers accessibles, et il a utilisé le protocole SMB pour accéder à ceux-ci;
  • beaucoup de charges de virus ont été générées de manière dynamique et elles contenaient des valeurs figées dans le code comme les noms et chemins du serveur; certaines de ces valeurs comprennent des fautes de frappe occasionnelles, qui ont été corrigées dans les téléversements ultérieurs. Ces charges de virus générées de manière dynamique ont limité la pertinence des IC basés sur un code de hachage.
 
 

Tactique observée 1 : Initial Access (TA0001) (Accès initial)

Technique observée : Exploit public-facing application (T1190 - en anglais seulement) (Exploitation d’applications accessibles par le public)

L’auteur de menace a tiré parti des vulnérabilités pour exécuter du code à distance (RCE pour Remote Code Execution) sur un serveur SharePoint exposé à Internet (T1190 - en anglais seulement). L’accès initial s’est produit le jour -12, deux semaines avant la divulgation publique des vulnérabilités et il s’est fait par l’exploitation des vulnérabilités CVE-2025-49704, CVE-2025-49706, CVE-2025-53770 et CVE-2025-53771, une chaîne d’exploit aussi appelée ToolShell. La Cybersecurity and Infrastructure Security Agency (CISA) a ajouté la vulnérabilité CVE-2025-53770 à son catalogue intitulé Known Exploited Vulnerabilities Catalog (en anglais seulement) le 20 juillet, et a ajouté par la suite les vulnérabilités CVE-2025-49704 et CVE-2025-49706 le 22 juillet.

Tactique observée 2 : Persistence (TA0003) (Persistance)

Technique observée : Server software component: web shell (T1505.003 - en anglais seulement) (Composant de logiciel serveur : code encoquillé)

L’auteur de menace a mis en œuvre un code développé sur mesure conçu pour intercepter et manipuler des demandes de fichiers légitimes sur le serveur Web en fonction d’un traitement adapté (T1505.003 - en anglais seulement). Ce code a permis des interactions qui ont facilité la collecte de renseignements de réseaux et de systèmes internes et a favorisé l’exfiltration de données sensibles à partir de l’environnement compromis. Pendant ce temps, le point d’extrémité choisi pour préparer la prochaine activité a permis à l’auteur de menace d’imbriquer son trafic au trafic normal des applications. Dans la figure ci-dessous, owl.js est un fichier SharePoint légitime que l’auteur de menace a choisi d’utiliser pour tenter de passer inaperçu et qui ne devrait pas être considéré comme un IC.

Figure 3 : Exemple de traitement de demande de code encoquillé
Figure 3 - Description détaillée suit immédiatement
Description détaillée - Exemple de traitement de demande de code encoquillé

L’image (en anglais seulement) contient un extrait de code C# qui définit une méthode appelée OnPostAuthenticateRequestCurrent, qui agit comme traitement de requête HTTP sur mesure. La méthode permet d’intercepter des requêtes à un fichier JavaScript spécifique pris en charge par SharePoint (/_layouts/15/ows.js) et de traiter un en-tête personnalisé (WWW-Authorization) pour potentiellement exécuter des commandes chiffrées sur le serveur. Le code comprend un contrôle conditionnel pour s’assurer que la requête est une méthode GET et que l’en-tête WWW-Authorization est e place et comporte une longueur minimale de cinq caractères.

 
 

Tactique observée 3 : Credential access (TA0006) (Accès aux justificatifs)

Technique observée : OS credential dumping: security account manager (T1003.002 - en anglais seulement)
(Vidage des informations d’identification de SE : gestionnaire de comptes de sécurité);
Unsecured credentials: credentials in files (T1552.001 - en anglais seulement) (Justificatifs d’identité non sécurisés : justificatifs dans les fichiers)

L’auteur de menace a déployé un code sur mesure pour obtenir les justificatifs du système d’exploitation (T1003.002 - en anglais seulement) et un accès sécurisé à l’information sensible se trouvant dans les fichiers de configuration accessibles sur le serveur Web (T1552.001 - en anglais seulement). Les clés de validation et de déchiffrement pour le serveur ont été obtenues plus tôt, ce qui a débouché sur la falsification subséquente de demandes ViewState. Conformément aux conseils de Microsoft, il est à noter que dès que des clés sont compromises, l’application de correctifs à elle seule ne suffit pas; les auteurs de menace peuvent continuer l’exécution du code par la désérialisation du mécanisme ViewState jusqu’à ce qu’il y ait une rotation des clés et que le serveur soit redémarré.

Figure 4 : Exemple d’exfiltration de paramètres de configuration cryptographique
Figure 4 - Description détaillée suit immédiatement
Description détaillée - Exemple d’exfiltration de paramètres de configuration cryptographique

L’image (en anglais seulement) montre un extrait de code C# qui charge de manière dynamique le module System.Web et utilise la réflexion pour accéder à la classe MachineKeySection. Des détails sensibles relatifs à la configuration sont extraits comme les clés de validation et de déchiffrement, ainsi que le mode de compatibilité pour ensuite les concaténer dans une chaîne. Cette information est par la suite ajoutée dans l’en-tête de la réponse HTTP sous la clé « X-TXT-NET, » en exposant potentiellement des données sécurisées essentielles.

 

L’auteur de menace a aussi recueilli quatre fichiers du serveur compromis quelques jours après l’intrusion initiale (par ordre d’occurrence) :

  • C:\Windows\System32\config\SAM
  • C:\Windows\System32\config\SYSTEM
  • C:\Windows\System32\config\SECURITY
  • C:\Windows\System32\inetsrv\Config\applicationHost.config

Cet extrait de code comprend un exploit d’élévation des privilèges et une bibliothèque d’analyse syntaxique (NTFSLib) de nouveau système de fichiers de technologie (NTFS pour New Technology File System) permettant de contourner le blocage de fichiers en tirant parti de l’accès aux données brutes de disque. L’accès aux quatre ressources du système mentionnées ci-dessus permet d’effectuer le craquage hors ligne des justificatifs d’identité.

Figure 5 : Extrait de code utilisé pour recueillir depuis le disque, la ruche du registre de système
Figure 5 - Description détaillée suit immédiatement
Description détaillée - Extrait de code utilisé pour recueillir depuis le disque, la ruche du registre de système

L’image (en anglais seulement) montre un extrait de code C# qui traite une requête HTTP si la longueur de son contenu n’est pas zéro. Il décode une chaîne codée en Base64, la divise dans un tableau au moyen de caractères de séparateur de répertoire, et extrait un chemin d’accès. Le code interagit ensuite avec une classe enveloppe NTFS sur mesure pour accéder aux données brutes de disque et récupérer l’entrée de répertoire du chemin précisé, indiquant potentiellement un accès malveillant ou non autorisé au système de fichiers.

 
 

Tactique observée 4 : Discovery (TA0007) (Découverte)

Technique observée : Account discovery: local account (T1087.001 - en anglais seulement) (Découverte de compte : compte local);
Account discovery: domain account (T1087.002 - en anglais seulement) (Découverte de compte : compte de domaine)

Pendant une période de deux semaines, le contrôleur de domaine hébergeant le service LDAP a été interrogé par l’auteur de menace à 19 reprises pour recueillir de l’information sur les utilisatrices et utilisateurs, les comptes de service, les groupes, les administratrices et administrateurs ainsi que les boîtes aux lettres d’utilisatrices et utilisateurs.

Figure 6 : Exemple de moissonnage de LDAP
Figure 6 - Description détaillée suit immédiatement
Description détaillée - Exemple de moissonnage de LDAP

L’image (en anglais seulement), montre un extrait de code C# qui exécute une demande LDAP sur un domaine précisé dans le but de chercher des entrées de répertoire correspondant à un filtre donné. Les résultats sont numérotés en série en format JSON, chiffrés à l’aide de la norme de chiffrement avancée avec des clés prédéfinies, et ensuite codés en format Base64 avant d’être consignés dans la réponse HTTP. Ce code semble faciliter un accès non autorisé ou une exfiltration non autorisée de l’information du serveur d’annuaire.

 
 

Tactique observée 5 : Collection (TA0009) (Collecte)

Technique observée : Data from local system (T1005 - en anglais seulement) (Données du système local);
Email collection (T1114 - en anglais seulement) (Collecte de courriels)

L’auteur de menace a profité de son accès pour recueillir de l’information sur le système local (T1005 - en anglais seulement) et a tenté, sans succès, de s’infiltrer dans le serveur de courriels internes (T1114 - en anglais seulement). Les techniques de collecte de données suivantes ciblaient le système de fichiers et le stockage local.

Figure 7 : Exemple de collecte de fichiers du système local
Figure 7 - Description détaillée suit immédiatement
Description détaillée - Exemple de collecte de fichiers du système local

L’image (en anglais seulement), montre un extrait de code C# qui semble énumérer des répertoires et des fichiers dans un chemin spécifié (C:\\utilisateurs\\) et collecte des métadonnées comme l’heure de la dernière écriture d’un fichier, l’heure de création et la taille du fichier. L’information recueillie est transformée en une chaîne, puis chiffrée selon la norme de chiffrement avancée avec des clés prédéfinies, et elle peut être envoyée dans le cadre d’une réponse HTTP. Ce code suggère une fonctionnalité pour la collecte et l’exfiltration de données non autorisées.

 
 

Il est à noter que l’auteur de menace a tenté de s’infiltrer dans un serveur mandataire de courriel Web interne par le serveur SharePoint compromis.

Figure 8 : Exemple de collecte de courriels
Figure 8 - Description détaillée suit immédiatement
Description détaillée - Exemple de collecte de courriels

L’image (en anglais seulement), montre un extrait de code C# configurant une classe HttpClient pour envoyer une requête HTTP POST à une adresse URL spécifiée avec en-têtes sur mesure et données de formulaires codés, y compris des paramètres fictifs pour les justificatifs sensibles (REDACTED_USERNAME et REDACTED_PASSWORD). Il établit le protocole de sécurité de façon à prendre en charge les protocoles SSL3 et TLS12, contourne la validation de certificat SSL, et comprend une chaîne agent utilisateur qui imite un navigateur.

 

Tactique observée 6 : Privilege escalation (TA0004) (Élévation des privilèges)

Technique observée : Exploitation for privilege escalation (T1068 - en anglais seulement) (Exploitation pour élévation des privilèges)

L’auteur de menace a utilisé des outils de source ouverte pour élever ses privilèges et accéder aux fichiers et aux données au-delà de la portée de la compromission initiale (T1068 - en anglais seulement). Des artéfacts de l’outil d’élévation des privilèges PrintNotifyPotato ont été observés dans plusieurs charges de virus. Ils ont permis à l’auteur de menace d’avoir accès à des fichiers assujettis à des restrictions. Cette technique a été utilisée dans plusieurs échantillons, avec des parties de code et de chaînes correspondant directement au code source de projet GitHub.

Figure 9 : Exemple de l’élévation des privilèges avec PrintNotifyPotato
Figure 9 - Description détaillée suit immédiatement
Description détaillée - Exemple de l’élévation des privilèges avec PrintNotifyPotato

L’image (en anglais seulement), montre un extrait de code C# qui exécute la duplication des jetons et la personnification de fil d’exécution en faisant appel à des méthodes natives pour élever les privilèges. Il reproduit un jeton de système, en fait la personnification sur le fil d’exécution en cours, et appelle une fonction (F[]) qui semble accéder à des données sensibles, comme le fichier de gestionnaire de comptes de sécurité (SAM pour Security Account Manager). Le code inclut des messages d’erreur de diagnostic de traitement et d’écriture à la réponse HTTP, indiquant une possible utilisation inappropriée pour l’élévation des privilèges et l’exfiltration des données.

 
 

Tactique observée 7 : Lateral movement (TA0008) (Mouvement latéral)

Technique observée : Remote services: SMB/Windows admin shares (T1021.002 - en anglais seulement) (Services distants : SMB/partages administratifs Windows);
Remote services: remote desktop protocol (T1021.001 - en anglais seulement) (Services distants : protocole RDP)

L’auteur de menace a mené des activités de reconnaissance et il se déplaçait latéralement dans l’environnement en tirant parti de la connectivité du protocole SMB (T1021.002 - en anglais seulement). Étonnamment, il a tiré parti d’un client SMB sur mesure chargé dans un module .NET ainsi que du propre client SMB du système tout en étant actif sur le réseau. De plus, tentatives infructueuses visant à établir des connexions de protocole RDP au réseau ont été également observées à partir de serveurs compromis.

Figure 10 : Exemple de client SMB
Figure 10 - Description détaillée suit immédiatement
Description détaillée - Exemple de client SMB

L’image (en anglais seulement), montre un extrait de code C# qui traite l’entrée HTTP de façon à extraire les justificatifs d’identité d’utilisatrices et d’utilisateurs (utilisatrice/utilisateur, adresse et mot de passe) et tente d’établir une connexion du protocole SMB avec les renseignements obtenus. Si l’établissement de la connexion réussit, il sérialise et code la liste de ressources partagées; autrement, il code un message « échec de la connexion ». L’instance du client SMB est stockée dans le contexte de l’application, ce qui peut indiquer une possible utilisation inappropriée pour l’accès ou la collecte de justificatifs d’identité non autorisés.

 
 

Commandes de protocole SMB mises en œuvre par l’échantillon

Dans l’exemple ci-dessus, nous avons observé les commandes SMB suivantes et les comportements associés :

  • cn : établit une connexion du protocole SMB au moyen d’un nom d’utilisateur, d’un mot de passe et d’une adresse IP qui ont été précisés dans la requête. La connexion du protocole SMB est enregistrée vers HttpApplication.Application["817FE0AC534D44E49"]
  • li : dresse la liste de fichiers dans la ressource SMB connectée
  • re : lit un fichier à partir de la ressource SMB connectée
  • we : écrit, annexe ou crée un fichier sur la ressource SMB connectée
  • de : supprime un fichier sur la ressource SMB connectée
  • di : déconnecte et nettoie le client SMB

L’utilisation d’un client SMB sur mesure dans les charges de virus .NET a permis de procéder à une détection plus approfondie en recherchant des connexions sortantes sur le port 445 à partir du processus de serveur Web IIS, par opposition aux habitudes régulières de connexions SMB provenant du noyau Windows.

Tactique observée 8 : Persistence (TA0003) (Persistance)

Technique observée : Server software component: web shell (T1505.003 - en anglais seulement) (Composant de logiciel serveur : code encoquillé)

Après avoir pénétré le réseau, l’auteur de menace s’est infiltré dans un serveur Web IIS additionnel exposé à Internet (autre que SharePoint) en seulement quelques jours, en se servant des techniques de mouvement latéral mentionnées précédemment. Il a ainsi pu établir un point d’accès permanent de secours dans le réseau (T1505.003 - en anglais seulement), renforçant sa présence, et après quoi il est resté inactif pendant près de deux semaines.

La compromission d’un serveur autre que SharePoint met l’accent sur la nécessité de regarder au-delà des tactiques, techniques et procédures (TTP) initiales pour déceler des signes de mouvement latéral dès qu’une compromission est détectée.

L’auteur de menace est revenu brièvement au jour -9 en tirant parti de l’accès mentionné ci-dessus. Toutefois, grâce à la meilleure compréhension qu’a le Centre pour la cybersécurité des TTP de l’auteur de menace, en plus de nouvelles capacités déployées, cette nouvelle activité a pu rapidement être détectée et arrêtée.

Figure 11 : Exemple de chemin de code encoquillé complémentaire
Figure 11 - Description détaillée suit immédiatement
Description détaillée - Exemple de chemin de code encoquillé complémentaire

L’image (en anglais seulement), montre un extrait de code C# appliquant un traitement de requête HTTP qui intercepte des requêtes POST à un chemin SharePoint spécifique (/layouts/15/start.aspx). Il traite un paramètre codé Base64 __EVENTVALIDATION, le décrypte en faisant appel à la norme de chiffrement de données et analyse les données en découlant pour traiter des modes spécifiques, comme « GET ». Le code comprend la fonctionnalité servant à comprimer et à coder des données, ce qui peut indiquer une possible utilisation inappropriée lorsqu’il est question de manipulation ou d’exfiltration non autorisée de données.

 
 

Tactique observée 9 : Resource development (TA0042) (Développement des ressources)

Technique observée : Compromise infrastructure: network devices (T1584.008 - en anglais seulement) (Infrastructure des compromissions : périphériques réseau)

Les indicateurs laissent croire que des activités d’exploitation et d’exfiltration provenaient de plusieurs périphériques réseau compromis, y compris certains géographiquement proches du réseau cible. Par exemple, l’adresse IP utilisée pour l’exploitation initiale n’est pas celle qui a été subséquemment utilisée pour la collecte continue et le développement des accès. La flexibilité du choix d’adresses IP source a permis à l’auteur de menace de se confondre dans le trafic réseau normal et de limiter la pertinence des IC types basés sur les adresses IP aux fins de suivi, de découverte et de blocage.

Tactique observée 10 : Exfiltration (TA0010)

Technique observée : Exfiltration over alternative protocol: exfiltration over symmetric encrypted non-C2 protocol (T1048.001 - en anglais seulement)
(Exfiltration par protocole de secours : exfiltration de protocole autre que C2 chiffré par clé symétrique)

Le Centre pour la cybersécurité a observé plusieurs techniques d’obscurcissement utilisées pendant la phase d’exfiltration en lien à l’exécution de charges de virus intégrées aux requêtes de serveur Web. La technique qui a été observée le plus fréquemment était le chiffrement du résultat à l’aide d’une clé symétrique (T1048.001 - en anglais seulement), le codage du résultat avec la méthode de codage Base64, et ensuite le retour de la mémoire tampon codée en Base64 dans le cadre de la réponse HTTP du serveur Web. Ce chiffrement est encapsulé dans les connexions de protocole de sécurité de la couche transport (TLS pour Transport Layer Security) observées sur le trafic normal du port 443 pour l’application.

 
 

Indicateurs de compromission et recommandations

Les IC ont été distribués par la plateforme de diffusion automatisée de renseignement sur les cybermenaces (AVENTAIL) du Centre pour la cybersécurité et par le biais d’alertes et de communications provenant de l’Équipe nationale d’intervention en cas d’incident lié à la sécurité informatique (CSIRT). Ceci permet de s’assurer que les partenaires dans l’ensemble de tous les secteurs reçoivent l’information dont ils ont besoin pour agir de façon décisive.

Pour obtenir des renseignements à jour sur les alertes, les avis et les conseils en lien aux vulnérabilités touchant SharePoint, veuillez consulter l’alerte du Centre pour la cybersécurité Vulnérabilité touchant Microsoft SharePoint Server (CVE-2025-53770).

Outils et services du Centre pour la cybersécurité

Il n’existe pas un seul outil ou service ou une solution unique prêts à l’emploi pouvant reconstituer un incident, tracer le chemin d’un auteur de menace ou valider une menace. Une approche holistique faisant appel à des points de vue variés est nécessaire pour mener une enquête approfondie. Ainsi, le Centre pour la cybersécurité compte sur des sources de télémétrie multicouche pour détecter des menaces et protéger les biens surveillés.

Des outils d’analyse active ont permis d’identifier des serveurs prioritaires exposés à Internet. AssemblyLine a été utilisé pour permettre le triage à l’échelle, et le traitement de centaines de milliers de fichiers par jour. Le Centre pour la cybersécurité a apporté des améliorations à son service de décompilateur .NET (en anglais seulement) pour automatiser la décompilation des exécutables .NET. Il est maintenant disponible dans le référentiel de source ouverte du Centre pour la cybersécurité, ce qui permet à la collectivité élargie de la cybersécurité de profiter des mêmes capacités avancées.

En réponse à cet incident, le Centre pour la cybersécurité a aussi élaboré des règles YARA pour aider à la détection de fichiers malveillants liés à l’activité de l’auteur de menace. Des règles YARA additionnelles seront publiées périodiquement après une période d’évaluation pour en assurer la précision.

L’exemple de règle YARA ci-dessous met en œuvre une détection pour l’activité de moissonnage de LDAP trouvée dans les charges de virus extraites du serveur compromis.

Figure 12 : Règle YARA pour la détection de collecte de données de LDAP

Figure 12 - Description détaillée suit immédiatement
Description détaillée - Règle YARA pour la détection de collecte de données de LDAP

L’image (en anglais seulement), montre une règle YARA appelée WIN_LDAPQuery conçue pour détecter des fichiers DLL exécutant des requêtes de LDAP. Elle comprend des métadonnées comme l’objectif de la règle, sa catégorie et une référence à un avis sur la vulnérabilité touchant SharePoint. La règle permet d’identifier un comportement suspect en faisant correspondre des chaînes spécifiques en lien aux opérations dans le protocole LDAP, le chiffrement et le traitement de jetons, le tout combiné à des conditions ciblant la taille du fichier et les occurrences des chaînes.

Code (en anglais seulement)
rule win_ldapquery
{
    meta:
        id = "1vOyulv5H6pIcnCKCQJxyB"
        fingerprint = "69d05a0633335c9c8c739d33e2af3b9f4be01369d4ccefb83e55d2fe094b0a87"
        version = "1.0"
        modified = "2025-08-27"
        status = "RELEASED"
        sharing = "TLP:CLEAR"
        source = "CCCS"
        author = "reveng@CCCS"
        description = "Detect a DLL that is performing a LDAP query."
        category = "MALWARE"
        malware = "ldapquery"
        malware_type = "INFOSTEALER"
        malware_type = "HACKTOOL"
        report = "TA25-0056"
        report = "TA25-0057"
        reference = "https://www.cyber.gc.ca/en/alerts-advisories/al25-009-vulnerability-impacting-microsoft-sharepoint-server-cve-2025-53770"

    strings:
        // Detection of classes and function names (latest version).
        $a1 = "LDir" ascii
        $a2 = "Explore" ascii
        $a3 = "Internals" ascii
        $a4 = "EncryptAes" ascii
        $a5 = "DecryptAes" ascii
        $a6 = "Set Token Error" wide
        $a7 = "AdsDateValue" ascii
        $a8 = "FindHandle" ascii

        // Detection of function names (oldest version).
        $x1 = "JavaScriptSerializer" ascii
        $x2 = "Serialize" ascii
        $x3 = "EncryptAes" ascii
        $x4 = "DecryptAes" ascii
        $x5 = "DirectorySearcher" ascii

        // Product and assembly version.
        $b1 = "0.0.0.0" wide

        // Guid for Internet Explorer (IE) COM object and strings for writing the HTTP response.
        $c1 = "9068270B-0939-11D1-8BE1-00C04FD8D503" ascii
        $c2 = "HttpResponse" ascii
        $c3 = "HttpContext" ascii
        $c4 = "ToBase64String" ascii
        $c5 = "GZipStream" ascii
        $c6 = "CreateEncryptor" ascii

        // Dynamic libraries with extern functions for security token escalation.
        $d1 = "advapi32.dll" ascii
        $d2 = "ntdll.dll" ascii
        $d3 = "kernel32.dll" ascii
        $d4 = "NtQuerySystemInformation" ascii
        $d5 = "OpenProcessToken" ascii
        $d6 = "GetTokenInformation" ascii
        $d7 = "SetThreadToken" ascii
        $d8 = "GetCurrentThreadToken" ascii
        $d9 = "Administrator" wide
        $d10 = "IUSR" wide

        // LDAP related strings.
        $e1 = "LDAP://" wide
        $e2 = "samaccountname=" wide nocase
        $e3 = "cn=" wide nocase
        $e4 = "msexchrecipienttypedetails=" wide
        $e5 = "userprincipalname=" wide
        $e6 = "mail=" wide

    condition:
        uint16(0) == 0x5A4D and
        (
            (5 of ($a*) and 4 of ($d*)) or
            all of ($x*)
        ) and
        $b1 and
        4 of ($c*) and
        2 of ($e*) and
        filesize < 2MB
}
 
 

Mentions

Le Centre pour la cybersécurité, qui relève du Centre de la sécurité des télécommunications Canada (CST), est un fier membre de la collectivité des cinq, l’alliance d’échange de renseignement la plus ancienne et la plus soudée au monde. Le partage d’IC et de TTP avec la communauté de la cybersécurité et les partenaires de la collectivité des cinq a constitué un facteur déterminant depuis que les vulnérabilités touchant SharePoint ont été découvertes, et que des échanges analytiques permanents ont pu optimiser la valeur des données recueillies.

Une collaboration accrue avec des organisations comme le Microsoft Threat Intelligence Center (MSTIC) et Unit42 de Palo Alto a permis des échanges sur l’analyse détaillée de maliciels et des constatations techniques, renforçant les défenses collectives.

Avis de non-responsabilité : Le Centre pour la cybersécurité rejette toute responsabilité à l’égard des pertes, des dommages ou des coûts pouvant découler de l’utilisation ou du recours aux renseignements relevant du présent article. Les lectrices et lecteurs demeurent seuls responsables de la vérification de l’exactitude et de l’applicabilité des renseignements avant de s’en servir.

 
 
Date de modification :