
Cargador de ensamblados .NET con bypass de AMSI y ETW sin parches.
PatchlessCLRLoader es un fork de InlineExecute-Assembly para cargar ensamblados .NET y dirigir la salida a mailslot. Lo reescribí como un cargador independiente con la siguiente implementación:
Nota: El cargador actualmente solo admite establecer HWBP en el hilo principal.
El uso de breakpoints de hardware para el bypass patchless tiene múltiples ventajas sobre las técnicas tradicionales de parcheo. En primer lugar, evita el uso de APIs ampliamente conocidas como NtProtectVirtualMemory, que están estrechamente monitorizadas por las soluciones de seguridad. En segundo lugar, los breakpoints de hardware no requieren ninguna modificación de los archivos, que podría ser detectada por la monitorización de integridad de archivos o EDR, lo que resulta en un enfoque relativamente sigiloso.
Versión BOF portada desde InlineExecute-Assembly https://github.com/VoldeSec/PatchlessInlineExecute-Assembly
Payload cifrado con AES

Ejecutar
PatchlessCLRLoader.exe <payload> <key> <arguments>
Payload local

Payload remoto

El proceso puede colgarse debido a una violación de acceso durante CLR, pero este problema se puede superar usando la función de salida del ensamblado .NET cargado, si es compatible. (p. ej., -outputfile de Seatbelt). Pendiente de corrección.
Implementación del hook patchless por @rad9800
InlineExecute-Assembly - https://github.com/anthemtotheego/InlineExecute-Assembly