
Carregador de assemblies .NET com bypass de AMSI e ETW sem patch
O PatchlessCLRLoader é um fork do InlineExecute-Assembly para carregar assemblies .NET e direcionar a saída para mailslot. Eu o reescrevi como um loader independente com a seguinte implementação:
Observações: Atualmente, o loader só suporta a definição de HWBP na thread principal.
O uso de hardware breakpoints para bypass patchless apresenta múltiplas vantagens sobre as técnicas tradicionais de patch. Primeiramente, evita o uso de APIs amplamente conhecidas, como NtProtectVirtualMemory, que são monitoradas de perto por soluções de segurança. Em segundo lugar, hardware breakpoints não exigem nenhuma modificação nos arquivos, que poderiam ser detectadas por monitoramento de integridade de arquivos ou EDR, resultando em uma abordagem relativamente furtiva.
Versão BOF portada do InlineExecute-Assembly https://github.com/VoldeSec/PatchlessInlineExecute-Assembly
Criptografar Payload AES

Executar
PatchlessCLRLoader.exe <payload> <key> <arguments>
Payload Local

Payload Remoto

O processo pode travar devido a uma violação de acesso durante o CLR, mas esse problema pode ser contornado usando a função de saída do assembly .NET carregado, se for suportada. (ex.: -outputfile do Seatbelt). Correção pendente.
Implementação do hook patchless por @rad9800
InlineExecute-Assembly - https://github.com/anthemtotheego/InlineExecute-Assembly