
Fonction Azure en C# avec un déclencheur HTTP qui génère des extraits PowerShell obscurcis qui cassent ou désactivent AMSI pour le processus en cours.
Initialement une fonction Azure en C# (plus tard portée en JS) avec un déclencheur HTTP qui génère des extraits PowerShell obfusqués qui brisent ou désactivent AMSI pour le processus en cours. Les extraits sont sélectionnés aléatoirement dans un petit ensemble de techniques/variations avant d'être obfusqués. Chaque extrait est obfusqué à l'exécution/à la demande afin qu'aucune sortie générée ne partage les mêmes signatures.
Découvrez https://amsi.fail/ pour une démo en direct et fonctionnelle !
Comme l'a expliqué f-secure dans l'un de leurs excellents articles de blog :
AMSI est une interface sur laquelle les applications ou services (y compris tiers) sont capables d'analyser le contenu d'un script pour détecter une utilisation malveillante. Si une signature dans le script est enregistrée par le fournisseur de services anti-programme malveillant AMSI (Windows Defender par défaut), il sera bloqué. Pour mettre cela en contexte, considérez les étapes suivantes que PowerShell suit pour s'intégrer avec AMSI :
Puisque AMSI dépend d'être chargé dans le processus qui exécute le script réel, les techniques pour casser ou patcher des fonctions spécifiques dans amsi.dll sont bien connues.