
Caricatore di assembly .NET con bypass di AMSI ed ETW senza patch
PatchlessCLRLoader è un fork di InlineExecute-Assembly per caricare assembly .NET e indirizzare l'output a mailslot. L'ho riscritto come loader standalone con la seguente implementazione:
Nota: attualmente il loader supporta l'impostazione di HWBP solo nel thread principale.
L'uso dei breakpoint hardware per il bypass patchless presenta numerosi vantaggi rispetto alle tecniche di patch tradizionali. In primo luogo, evita l'uso di API ampiamente note come NtProtectVirtualMemory, che sono strettamente monitorate dalle soluzioni di sicurezza. In secondo luogo, i breakpoint hardware non richiedono alcuna modifica ai file, che potrebbe essere rilevata dal monitoraggio dell'integrità dei file o dagli EDR, garantendo un approccio relativamente furtivo.
Versione BOF portata da InlineExecute-Assembly https://github.com/VoldeSec/PatchlessInlineExecute-Assembly
Payload crittografato AES

Esecuzione
PatchlessCLRLoader.exe <payload> <key> <arguments>
Payload locale

Payload remoto

Il processo potrebbe bloccarsi a causa di una violazione di accesso durante il CLR, ma questo problema può essere superato utilizzando la funzione di output dell'assembly .NET caricato, se supportata (ad es. -outputfile di Seatbelt). Fix in sospeso.
@rad9800 implementazione dell'hook patchless
InlineExecute-Assembly - https://github.com/anthemtotheego/InlineExecute-Assembly