
Évadez les EDR simplement, en ne touchant aucune des API qu'ils interceptent.
Évitez les EDR de manière simple, en ne touchant à aucune API qu'ils accrochent.
J'ai remarqué que la plupart des EDR ne parviennent pas à analyser les fichiers de script, les traitant simplement comme des fichiers texte. Bien que cela puisse être dommage pour eux, c'est une opportunité pour nous d'en profiter.
Les méthodes tape-à-l'œil comme la résidence en mémoire ou l'injection de threads sont lourdement surveillées. Sans un binaire signé par une autorité de certification valide, l'exécution est quasiment impossible.
Voici BYOSI (Bring Your Own Scripting Interpreter - Apportez votre propre interpréteur de script). Chaque interpréteur de script est signé par son créateur, chaque certificat étant valide. Des tests dans un environnement réel ont donné des résultats surprenants : un script PHP hautement signé de ce dépôt a non seulement fonctionné sur des systèmes surveillés par CrowdStrike et Trellix, mais a également établi une connexion externe sans déclencher aucune détection EDR. Les EDR négligent généralement les fichiers de script, se concentrant plutôt sur les binaires pour la livraison d'implant. Ils sont configurés pour détecter les sections à haute entropie ou suspectes dans les binaires, pas des scripts simples.
Cette méthode d'attaque capitalise sur cette lacune pour un profit significatif. Les étapes du script PowerShell reflètent ce qu'un développeur pourrait faire en entrant dans un nouvel environnement. Remarquablement, seulement quatre lignes de code PowerShell contournent complètement la détection EDR, même Defender/AMSI ne le voit pas. Pour ajouter à l'efficacité, GitHub sert de déployeur de confiance.
Le script PowerShell parvient à contourner EDR/AV en quatre étapes simples (techniquement 3) :
1.) Il récupère l'archive PHP pour Windows et l'extrait dans un nouveau répertoire nommé 'php' dans 'C:\Temp'.
2.) Le script acquiert ensuite le script PHP implant ou shell, en le sauvegardant dans le même répertoire 'C:\Temp\php'.
3.) Ensuite, il exécute l'implant ou le shell, en utilisant le binaire PHP autorisé (ce qui exempte le binaire de la plupart des restrictions en place qui l'empêcheraient de s'exécuter).
Une fois ces actions accomplies, félicitations : vous avez maintenant un shell actif sur un système surveillé par Crowdstrike. Ce qui est particulièrement amusant, c'est que, si ma mémoire est bonne, Sentinel One est incapable d'analyser les types de fichiers PHP. Alors, laissez libre cours à votre imagination.
Je ne suis en aucun cas responsable de l'utilisation abusive de cela. Ce problème est une lacune majeure dans la protection EDR, je le signale simplement à tous.
Un grand merci à @im4x5yn74x pour avoir affectueusement nommé cela BYOSI, et pour avoir aidé avec l'environnement de test pour mettre en œuvre cette méthode d'attaque.
Il semble que MS Defender signale maintenant le script PHP comme malveillant, mais permet toujours l'exécution complète du script PowerShell. donc, modifiez le script PHP. Le problème maintenant est que le site PHP a retiré l'archive zip initiale, vous devrez donc modifier cette ligne de code, c'est la ligne 1. Trouvez une version que vous souhaitez utiliser, et voilà, vous avez un shell. Defender ne signale pas le script PHP, aucun éditeur AV n'identifie correctement le script, cela fonctionne toujours avec un taux de réussite de 100 %.
Bonjour Sentinel One :) vous voudrez peut-être vous assurer que vous faites des liens, pas des intégrations.
Bonjour l'équipe Claude.