
Chargeur d'assembly .NET avec contournement AMSI et ETW sans patch
PatchlessCLRLoader est un fork d'InlineExecute-Assembly permettant de charger des assemblies .NET et de rediriger la sortie vers un mailslot. Je l'ai réécrit en un chargeur autonome avec les implémentations suivantes :
Remarques : Le loader ne prend actuellement en charge que la définition de HWBP dans le thread principal.
L'utilisation de points d'arrêt matériels pour le bypass sans patch présente plusieurs avantages par rapport aux techniques de patching traditionnelles. Premièrement, elle évite d'utiliser des API largement connues telles que NtProtectVirtualMemory, qui sont étroitement surveillées par les solutions de sécurité. Deuxièmement, les points d'arrêt matériels ne nécessitent aucune modification des fichiers, ce qui pourrait être détecté par la surveillance de l'intégrité des fichiers ou par un EDR, offrant ainsi une approche relativement furtive.
Version BOF portée depuis InlineExecute-Assembly https://github.com/VoldeSec/PatchlessInlineExecute-Assembly
Chiffrement AES du payload

Exécution
PatchlessCLRLoader.exe <payload> <key> <arguments>
Payload local

Payload distant

Le processus peut se bloquer en raison d'une violation d'accès pendant le CLR, mais ce problème peut être contourné en utilisant la fonction de sortie de l'assembly .NET chargée, si elle est prise en charge. (par exemple -outputfile de Seatbelt). Correctif en attente.
Implémentation du hook sans patch par @rad9800
InlineExecute-Assembly - https://github.com/anthemtotheego/InlineExecute-Assembly