
Détecter les webshells déposés sur les serveurs Microsoft Exchange exploités via le groupe de vulnérabilités "proxylogon" (CVE-2021-26855, CVE-2021-26857, CVE-2021-26858, CVE-2021-27065)
Veuillez plutôt utiliser les outils Microsoft :
Lors de l'évaluation de l'impact, nous recommandons fortement de considérer une compromission comme acquise et d'examiner de manière préventive tous les serveurs MS Exchange ayant été exposés publiquement depuis janvier, même en l'absence de signes de compromission active.
Notez que l'exfiltration de données et les modifications de configuration étaient possibles (et se produisaient) rien qu'à travers la partie SSRF de la chaîne d'exploitation (c'est-à-dire sans exécution de code, dépôt de fichiers ou création de nouveaux processus sur l'hôte Exchange).
Il s'agit d'un faux positif. Les antivirus réagissent aux mots-clés listés dans le script. detect_webshells.ps1 a été intentionnellement écrit comme un fichier autonome utilisant un PowerShell très simple, afin que vous puissiez l'inspecter vous-même. Les mots-clés qui (à juste titre) déclenchent l'antivirus sont listés à la ligne 94. Si vous n'êtes pas sûr de comprendre ce que fait ce script, ne l'exécutez pas !
Espérons que le fait que les logiciels antivirus aient commencé à détecter ce script signifie qu'ils sont également capables de détecter de vrais webshells, rendant detect_webshells.ps1 inutile. Vérifiez néanmoins que les répertoires Exchange et inetpub ne sont pas exclus de l'analyse, et sachez que les webshells n'étaient utilisés que pour l'accès initial. Une fois que les attaquants ont obtenu l'exécution de code, ils ont généralement déployé des mécanismes de persistance supplémentaires – parfois même en supprimant eux-mêmes le webshell initial pour masquer leurs traces.
Alors ne confondez pas absence de webshells avec absence de compromission – malheureusement, votre serveur a peut-être quand même été piraté et soit les attaquants ont supprimé le webshell eux-mêmes, soit un antivirus l'a fait (sans expulser complètement les attaquants de votre serveur).
Ce script recherche les webshells déposés sur les serveurs Microsoft Exchange alors qu'ils étaient vulnérables aux CVE suivants :
L'activité initiale en janvier 2021 a été attribuée à HAFNIUM, mais depuis, d'autres acteurs malveillants se sont procuré ces exploits et ont commencé à les utiliser. Avant la divulgation publique et la publication des correctifs par Microsoft (à partir du 27 février environ), les serveurs Exchange exposés publiquement ont commencé à être exploités sans discrimination. Par conséquent, l'installation des dernières mises à jour Exchange peu après leur publication par Microsoft n'a pas complètement atténué le risque de compromission antérieure, donc tous les serveurs Exchange doivent être inspectés pour détecter des signes d'accès non autorisé.
detect_webshells.ps1 vérifie la présence de webshells connus dans les emplacements typiques :
inetpub/wwwroot/aspnet_client/ : emplacement à l'échelle du système, le plus courant pour les webshells déposés lors des attaques actuelles ; normalement, il ne contient aucun fichier, donc la présence de quoi que ce soit est suspecte$($env:exchangeinstallpath)/Frontend/ : utilisé par des attaquants plus sophistiqués pour se fondre parmi les fichiers Exchange légitimes (les webshells peuvent être ajoutés comme nouveaux fichiers ou en modifiant des fichiers existants, y compris web.config) ; les emplacements les plus courants sont /owa/ et /ecp/, mais les webshells peuvent être déposés n'importe où dans le répertoire Frontenddetect_webshells.ps1 recherche uniquement les webshells et ne tente pas de détecter directement les événements d'exploitation passés (utilisez https://github.com/microsoft/CSS-Exchange/tree/main/Security et les autres scripts mentionnés ci-dessous pour cela), ni ne recherche des acteurs particulièrement discrets (qui pourraient supprimer les webshells après usage ou éviter totalement d'en déposer). Ainsi, un résultat négatif peut uniquement signifier l'absence de preuve de compromission sur cet hôte particulier. Cela ne garantit pas que l'hôte n'a pas été exploité par d'autres moyens.
Analyses / divulgations (incluant les IoC) :
Scripts de détection notables :