PatchlessCLRLoader is a fork of InlineExecute-Assembly to load .NET assembly and direct the output to mailslot. I rewrites it to a standalone loader with the following implementation:
- AES encryption payload
- Fileless payload support
- Patchless AMSI and ETW bypass using hardware breakpoint
Using hardware breakpoints for patchless bypass has multiple advantages over traditional patching techniques. Firstly, it avoids using widely-known APIs such as NtProtectVirtualMemory, which are closely monitored by security solutions. Secondly, hardware breakpoints do not require any modification to the files, which could be detected by file integrity monitoring or EDR, resulting in a relatively stealthy approach.
BOF version that ported from InlineExecute-Assembly https://github.com/VoldeSec/PatchlessInlineExecute-Assembly
AES Encrypt Payload
Execute
PatchlessCLRLoader.exe <payload> <key> <arguments>
Local Payload
Remote Payload
The process may hang due to an access violation during CLR, but this issue can be overcome by using output function of the loaded .NET assembly, if it is supported. (e.g. -outputfile of Seatbelt). Pending Fix.
@rad9800 implementation of patchless hook
InlineExecute-Assembly - https://github.com/anthemtotheego/InlineExecute-Assembly