Skip to content
Rejoignez Censys le 10 septembre 2024 pour notre atelier sur la chasse aux menaces à San Francisco, CA | Inscrivez-vous maintenant
Blogs

1, 2, 3 Propriétaires : Nouvelles vulnérabilités de Microsoft Exchange

Des vulnérabilités en chaîne conduisent à l'exécution de commandes à distance

Auteurs: Mark Ellzey, Greg Gaylor

Quel est le problème ?

Les vulnérabilités ProxyLogon, révélées publiquement en mars et analysées dans notre article de blog Microsoft Exchange 0-day Vulnerabilities, ont depuis été corrigées, mais une attaque similaire contre Microsoft Exchange a été découverte. Le chercheur DEVCORE "Orange Tsai" a publié ses conclusions sur une nouvelle vulnérabilité qui combine plusieurs exploits ; son nom de code est "ProxyShell".

Au moment de la rédaction du présent document (août 2021), Censys a identifié plus de 175 300 hôtes qui exécutaient le service Exchange SMTP. Parmi ces hôtes, environ 135 000 hôtes exécutaient une forme ou une autre de Microsoft Internet Information Server parallèlement à SMTPD. Nous distinguons ces deux services car l'attaque complète nécessite les deux services pour une exploitation réussie, mais il convient de noter que ces services peuvent se trouver sur des hôtes distincts.

L'attaque ProxyShell consiste en trois vulnérabilités distinctes qui s'enchaînent pour permettre l'exécution de code à distance, donnant aux attaquants la possibilité d'établir un point d'ancrage persistant dans votre environnement Exchange. Vous trouverez ci-dessous une analyse de base de la chaîne d'attaque elle-même :

Première phase : CVE-2021-34473

Similaire à la SSRF découverte en mars, la première vulnérabilité, CVE-2021-34473, exploite une fonctionnalité d'Exchange qui génère une URL propre et normalisée pour la boîte aux lettres d'un utilisateur afin de la rendre comme un lien unique à utiliser dans les appels de backend. En ciblant des gestionnaires spécifiques, un utilisateur peut tromper le serveur en supprimant des sections d'URL spécifiques pour se connecter à des services backend arbitraires.

Deuxième phase : CVE-2021-34523

La phase suivante de la chaîne d'attaque est CVE-2021-34523, qui exploite la logique d'un sous-système d'Exchange appelé "Exchange PowerShell Service". Cette fonctionnalité permet aux utilisateurs d'envoyer et de recevoir des courriels sur la ligne de commande, mais ne valide pas correctement l'authentification de l'utilisateur sur le frontend. En définissant un paramètre de requête particulier ("X-Rps-CAT"), un attaquant peut tromper le serveur en exécutant une commande arbitraire en tant qu'autre utilisateur.

Troisième phase : CVE-2021-31207

La troisième et dernière vulnérabilité abordée dans CVE-2021-31207 utilise l'accès aux attaques précédentes pour exécuter la commande "New-MailboxExportRequest" afin d'exporter la boîte aux lettres d'un utilisateur vers un chemin d'accès spécifié. En encodant une pièce jointe, comme un remote-shell, au format "Outlook Personal Folder", la commande MailboxExportRequest désérialise les données et écrit le contenu réel sur le disque dans sa forme originale. Une fois décodé et écrit, un attaquant peut utiliser la même vulnérabilité pour exécuter le code exporté.

Pourquoi est-ce important ?

Les chercheurs de Duo ont confirmé que les attaquants recherchent activement et utilisent l'attaque pour installer des ransomwares tels que "LemonDuck" et d'autres logiciels malveillants. Duo a également découvert que les attaquants ont modifié les fichiers de configuration du serveur Exchange pour cacher des shells basés sur le web dans des emplacements cachés.

Le 20 août, Symantec a signalé une nouvelle famille de ransomware dans son article sur "LockFile". Au moment de la rédaction, le vecteur d'exploitation était inconnu et, depuis le 23 août, les attaques sont liées à la chaîne d'exploitation ProxyShell décrite ici.

Quelques jours plus tard, le 23 août, Duo Security a déclaré ce qui suit dans son article intitulé "ProxyShell Attacks Escalate": "Huntress Labs, qui travaille avec des fournisseurs de services gérés, a déclaré avoir une visibilité sur plus de 1 700 serveurs vulnérables et avoir vu environ 300 d'entre eux compromis au cours des derniers jours".

Au fil du temps, il est presque certain que ce chiffre augmentera.

Que dois-je faire ?

Bien que le CVE n'ait été rendu public qu'en juillet, Microsoft a silencieusement corrigé la vulnérabilité dans la mise à jour d'avril 2021. Si vous n'avez pas appliqué de correctifs depuis la mise à jour de mars, vous êtes très probablement vulnérable à cet exploit.

  • Mettez immédiatement les services à niveau en suivant les instructions ici.
  • Pour les clients de Censys ASM, utilisez la page Inventaire des hôtes pour identifier rapidement tous les serveurs Microsoft Exchange en cours d'exécution dans votre environnement.
  • Utilisation Kevin Beaumont's Script NMAP qui peut compléter un balayage de ports en indiquant si un hôte est vulnérable à la première attaque de préauthentification.
    • Naviguez jusqu'au répertoire NMAP contenant les scripts définis par l'utilisateur.
      • Mac: /usr/local/Cellar/nmap/<version>/share/nmap/scripts
      • Linux : /usr/share/nmap/scripts
    • Téléchargez le script NMAP dans le répertoire.
    • Exécutez "nmap -p [PORTS]-script http-vuln-exchange-proxyshell [IP/hôte]"
    • Les hôtes vulnérables afficheront un message du type suivant : ** Vulnérable au SSRF ProxyShell **

Informations complémentaires pour les chasseurs, les défenseurs et les équipes de renseignement

Avec Censys Search 2.0, nous analysons l'ensemble de la plage d'adresses IPV4 pour plus de 3 500 ports et services. La particularité des données de Censys Search 2.0 réside dans le fait que nous disposons des données les plus récentes sur les services fonctionnant sur divers ports non standard. Cela nous aide à trouver des configurations de ports/services non standard à grande échelle. Microsoft Exchange Server est installé sur un port HTTP non standard ? Pas de problème, nous vous couvrons.

Exemple Censys Pivots de recherche :

Chaîne de recherche Description
Serveurs SMTP Exchange same_service(services.software.uniform_resource_identifier=`cpe:2.3:a:microsoft:exchange_server:*:*:*:*:*:*:*:*` AND service.service_name=`SMTP`)
Serveurs Exchange avec SMTP et IIS same_service(services.software.uniform_resource_identifier=`cpe:2.3:a:microsoft:exchange_server:*:*:*:*:*:*:*:*:*` AND service.service_name=`SMTP`) AND services.software.uniform_resource_identifier : `cpe:2.3:a:microsoft:internet_information_services:*:*:*:*:*:*:*:*`
Serveurs Exchange pour les seuls domaines correspondant à "exemple.com". services.software.uniform_resource_identifier : `cpe:2.3:a:microsoft:exchange_server:*:*:*:*:*:*:*` AND "example.com"
Serveurs HTTP avec des réponses de type Outlook services.http.response.html_tags: “<title>Outlook</title>”

Où trouver les informations sur la version du serveur dans le corps de la réponse à Censys :

Références :

  • CVE-2021-34473: "La confusion du chemin d'accès avant l'authentification conduit à un contournement de l'ACL".
  • CVE-2021-34523: "Élévation de privilèges sur le backend PowerShell d'Exchange".

Solutions de gestion de la surface d'attaque
En savoir plus