Hacking Tools

PatchlessCLRLoader – Advancing .NET Assembly Execution With Hardware Breakpoint Techniques

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

Remarks:The loader only supports setting HWBP in main thread currently.

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.

Execute

PatchlessCLRLoader.exe <payload> <key> <arguments>

Bug

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.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

rsync Command in Linux: Sync Files, Mirror, and Transfer Remotely

The rsync command in Linux synchronizes files and directories between two locations, locally or over SSH. Unlike scp,…

23 hours ago

patch Command in Linux: Apply Diff Files and Reverse Changes

The patch command in Linux applies a set of changes from a diff file to one or…

23 hours ago

basename Command in Linux: Strip Directory Paths and Suffixes

The basename command in Linux extracts the last component of a file path, removing the leading directory…

23 hours ago

timeout Command in Linux: Kill Long-Running Commands Safely

The timeout command in Linux runs a command with a time limit and terminates it when the limit is reached. It is part of GNU coreutils, available on virtually every Linux distribution. It is most useful for commands with no built-in timeout option, such as ping, curl, tcpdump, or a custom script that might hang indefinitely. How the timeout Command Works in Linux The syntax is: bashtimeout [OPTIONS] DURATION COMMAND [ARG]...…

23 hours ago

rmmod Command in Linux: Remove Kernel Modules and Blacklisting

The rmmod command in Linux removes a loaded module from the running kernel. Because the kernel has…

2 days ago

free Command in Linux: Check Memory Usage and Interpret Output

The free command in Linux gives you a quick summary of RAM and swap usage. It reads…

2 days ago