Retour au blog
ProxyShellExchangeMicrosoftCVE-2021-34473RCEPowerShell

ProxyShell CVE-2021-34473 : la chaîne RCE Exchange de l'été 2021

ProxyShell est une chaîne de trois CVE dans Microsoft Exchange permettant une RCE non authentifiée. Analyse de CVE-2021-34473, CVE-2021-34523, CVE-2021-31207 et protection.

23 avril 20264 min de lecture

Quelques mois après ProxyLogon, l'été 2021 apportait une nouvelle série de vulnérabilités critiques dans Microsoft Exchange. ProxyShell — une chaîne de trois CVE — permettait d'exécuter du code arbitraire sur tout serveur Exchange on-premises accessible depuis internet, sans authentification.

La chaîne ProxyShell

ProxyShell combine trois vulnérabilités distinctes pour aboutir à une exécution de code à distance complète.

CVE-2021-34473 — Path Confusion / Auth Bypass (CVSS 9.8)

Une faille dans l'architecture de proxy d'Exchange permet de contourner l'ACL de normalisation des URLs. En forgeant une requête avec un chemin spécifique, un attaquant peut atteindre des endpoints backend Exchange normalement protégés, en se faisant passer pour le compte SYSTEM.

CVE-2021-34523 — Privilege Escalation (CVSS 9.8)

Le backend Exchange PowerShell ne vérifie pas correctement les autorisations. En combinant avec CVE-2021-34473, l'attaquant peut exécuter des cmdlets Exchange PowerShell avec des privilèges SYSTEM, sans avoir besoin d'un compte Exchange valide.

CVE-2021-31207 — Arbitrary File Write (CVSS 7.2)

Une fonctionnalité de planification de tâches d'export de boîtes mail dans Exchange permet d'écrire des fichiers arbitraires sur le système de fichiers, notamment dans des répertoires IIS accessibles publiquement.

La chaîne complète

CVE-2021-34473 → Accès backend Exchange comme SYSTEM
CVE-2021-34523 → Exécution de cmdlets PowerShell Exchange
CVE-2021-31207 → Écriture d'un web shell .aspx dans /owa/
                → RCE complète non authentifiée

Versions affectées :

  • Exchange Server 2013 Cumulative Update 23
  • Exchange Server 2016 CU 18, 19
  • Exchange Server 2019 CU 7, 8

Timeline : de la conférence au massacre

DateÉvénement
13 avril 2021Orange Tsai présente les vulnérabilités à la Pwn2Own
11 mai 2021Microsoft corrige les CVE dans le Patch Tuesday
5 août 2021Orange Tsai présente les détails à la Black Hat USA
6-10 août 2021Exploitation massive par des acteurs malveillants
Août-sept 2021Déploiement de web shells sur des milliers de serveurs

L'exploitation massive a commencé le lendemain de la présentation Black Hat, quand des acteurs malveillants ont rétro-ingénié l'exploit depuis la présentation.

Groupes ayant exploité ProxyShell

  • Conti ransomware : utilisation dans des campagnes de chiffrement
  • LockFile ransomware : exploitait ProxyShell pour l'accès initial puis PetitPotam pour se propager
  • Squirrelwaffle : downloader malveillant distribué via des campagnes de spam depuis des Exchange compromis
  • Des APT étatiques (Chine, Iran)

Le détail particulièrement problématique de Squirrelwaffle : les attaquants utilisaient les Exchange compromis pour envoyer des emails malveillants depuis des domaines légitimes d'entreprises, avec des threads de réponse réels, rendant la détection très difficile.

Différences avec ProxyLogon

ProxyLogonProxyShell
CVEsCVE-2021-26855, -26857, -26858, -27065CVE-2021-34473, -34523, -31207
PatchMars 2021Mai 2021
Exploitation massiveMars 2021 (zero-day)Août 2021 (post-Black Hat)
ComplexitéModéréePlus complexe
ActeursAPT étatiques (HAFNIUM)Large spectre cybercriminel

Détecter ProxyShell

Web shells spécifiques ProxyShell

Les web shells déposés via ProxyShell se retrouvent généralement dans :

C:\inetpub\wwwroot\aspnet_client\
C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\

Noms typiques : fichiers .aspx avec noms générés aléatoirement (ex: shelljfdks.aspx)

Logs IIS

# Chercher des requêtes POST vers des .aspx dans les répertoires OWA
Select-String -Path "C:\inetpub\logs\LogFiles\W3SVC1\*.log" `
  -Pattern "POST.*\.aspx" | Where-Object { $_ -match "owa|aspnet_client" }

Cmdlets Exchange PowerShell suspectes dans les logs

# Vérifier les exports de boîtes mail récents
Get-MailboxExportRequest | Where-Object { $_.Status -eq "Completed" }

# Exports vers des répertoires inhabituels = indicateur fort
Get-MailboxExportRequest | Select-Object FilePath, Status, RequestedDateTime

Remédiation

1. Appliquer les patches Exchange

Les trois CVE sont corrigées dans les Cumulative Updates de mai 2021. Vérifiez votre niveau de CU et appliquez les mises à jour.

2. Supprimer les web shells

# Scanner les répertoires web Exchange
Get-ChildItem -Path "C:\inetpub\wwwroot" -Recurse -Include "*.aspx" |
  Where-Object { $_.LastWriteTime -gt (Get-Date).AddMonths(-6) } |
  Select-Object FullName, LastWriteTime

3. Supprimer les tâches d'export malveillantes

# Supprimer toutes les tâches d'export de boîtes mail
Get-MailboxExportRequest | Remove-MailboxExportRequest -Confirm:$false

4. Réinitialiser les credentials

Changez les mots de passe de tous les comptes Exchange et administrateurs Active Directory.

Au-delà de ProxyShell : ProxyNotShell (2022)

En 2022, deux nouvelles CVE Exchange (CVE-2022-41040 et CVE-2022-41082) — baptisées ProxyNotShell — ont suivi un mécanisme similaire. La tendance est claire : Exchange on-premises est une cible permanente qui requiert une veille CVE continue.


Suivez toutes les CVE Microsoft Exchange sur cveo.tech — enregistrez votre version dans votre parc pour des alertes automatiques.

Surveillez les CVE avec l'IA

Recherche IA, scoring CVSS, surveillance de parc et alertes automatiques.