
Загрузчик .NET-сборок с обходом AMSI без патчинга и обходом ETW
PatchlessCLRLoader — это форк InlineExecute-Assembly для загрузки .NET-сборок и перенаправления вывода в mailslot. Я переписал его в автономный загрузчик со следующими реализациями:
Примечание: в настоящее время загрузчик поддерживает установку HWBP только в главном потоке.
Использование аппаратных точек останова для бесшовного обхода имеет множество преимуществ по сравнению с традиционными методами патчинга. Во-первых, это позволяет избегать использования широко известных API, таких как NtProtectVirtualMemory, за которыми пристально следят средства безопасности. Во-вторых, аппаратные точки останова не требуют внесения изменений в файлы, которые могут быть обнаружены системами мониторинга целостности файлов или EDR, что делает подход относительно скрытным.
BOF-версия, портированная из InlineExecute-Assembly https://github.com/VoldeSec/PatchlessInlineExecute-Assembly
AES-шифрование полезной нагрузки

Выполнение
PatchlessCLRLoader.exe <payload> <key> <arguments>
Локальная полезная нагрузка

Удалённая полезная нагрузка

Процесс может зависнуть из-за нарушения прав доступа во время CLR, но эту проблему можно обойти, используя функцию вывода загружаемой .NET-сборки, если она поддерживается (например, -outputfile в Seatbelt). Исправление ожидается.
Реализация бесшовного хука от @rad9800
InlineExecute-Assembly - https://github.com/anthemtotheego/InlineExecute-Assembly