Уклонение от Sysmon при вредоносной активности Red Team

В предыдущей статье я рассказал про использование C++ для получения информации о Sysmon. Сегодня рассмотрим довольно простой способ уклонения от Sysmon. Но прежде чем перейти к практике, давайте разберемся, что представляют собой правила Sysmon.

Еще по теме: Фреймворки для обхода антивируса и EDR

Правила Sysmon

Sysmon (System Monitor) — это часть набора инструментов Sysinternals, разработанного Microsoft. Он регистрирует системную активность и предоставляет подробную информацию о создании процессов, сетевых подключениях и изменениях времени создания файлов. Это делает его полезным для специалистов ИБ и системных администраторов при мониторинге и обнаружении подозрительной активности в системе.

Материал представлен исключительно в образовательных целях для обучения этичных хакеров. Несанкционированное вмешательство в работу систем — это уголовное преступление. Автор и администрация сайта spy-soft.net не несут ответственности за любое неправомерное использование данной информации.

Sysmon сам по себе не решает, что отслеживать. Вместо этого он опирается на файл настроек, который определяет «правила». Эти правила указывают Sysmon, что регистрировать, а что игнорировать. Например, правило может инструктировать Sysmon регистрировать каждое событие создания процесса или только процессы, соответствующие определенным критериям (например, запущенные из определенного каталога или имеющие конкретное имя файла).

Уклонение от Sysmon

Обходя возможности ведения журнала Sysmon, вредоносная деятельность может осуществляться с меньшим риском быть замеченной службами безопасности.

Важно помнить, что если на целевом компьютере запущено другое средство безопасности, оно может задетектить вредоснос. Этот способ требует прав администратора, так как с их помощью мы можем получить текущее содержимое правил Sysmon. Эти правила хранятся как двоичные данные в реестре, и если удалить часть строки, начиная с первого значения 0 (0x30), правила останутся в корректном формате, но не будут загружаться и работать.

Ниже приведен пример кода для реализации данного подхода:

Предлагаемый код нацелен на модификацию двоичного значения в реестре Windows, связанного с правилами SysmonDrv. Код сначала читает существующие данные из реестра, находит первое появление байта 0x30 (символ в ASCII), а затем обрезает все после этого. Полученные данные записываются обратно в реестр. Таким образом сохраняется только нужная часть, что предотвращает возможные системные сбои, например, краши, которые могли бы возникнуть при использовании полного объема данных. Код также имеет обработку ошибок, чтобы обеспечить корректную работу при доступе или изменении реестра, уведомляя в случае возникновения проблем.

Давайте на практике разберем технику уклонения от Sysmon.

Берем файл с правилами Sysmon, который нужно изменить.

Файл с правилами Sysmon

В реестре можно увидеть соответствующее значение, связанное с этими правилами.

Значение правила sysmon в реестре

После выполнения нашего кода видим обрезанную строку, которая больше не загружается в реестр, но при этом остается в корректном формате.

Уклонение от обнаружения Sysmon

Запускаем приложение, например, calc.exe из директории:

Запуска вируса для обхода Sysmon

Выполняем код с правами администратора.

Обход Sysmon

Правильное значение сохранено в реестре, но теперь запуск приложения calc.exe больше не фиксируется в логах Sysmon — наш метод сработал!

Sysmon уклонение

Итак, мы рассмотрели технику уклонения от Sysmon, изменяя двоичные значения реестра. Поняв, как работают правила Sysmon, мы смогли найти способ изменить их таким образом, чтобы избежать регистрации определенных действий в журнале событий.

ПОЛЕЗНЫЕ ССЫЛКИ:

QUASAR

Этичный хакер и компьютерный ниндзя. Новые статьи в нашей Телеге!

Добавить комментарий