Техника Critical Process

Mutt

Professional
Messages
1,058
Reputation
7
Reaction score
572
Points
83
Приветствую. Недавно изучал системные процессы, техники внедрения и персистентности, и пришла гениальная идея. Создавать критические процессы с целью невозможности закрытия процесса, иначе вылезал BSoD. Поискал нужные WinApi вызовы и составил некую технику. Давайте разберемся с ней.

58b3c3f6b2d1b9fd881da.png


Введение
Вообще, системные процессы это svchost, csrss, taskhostw и так далее. Они имеют повышенные привелегии оприори и никуда не денутся. Если попробовать их закрыть, то либо вылезет ошибка, либо крашнется система и пойдет на перезапуск.
Данная техника подойдет для софта, который выполняет важные действия в ходе работы, или для малваря, который собирается заинжектится в систему.

Приступим к коду
Для начала, импортируем либу, с которой нужно импортировать парочку функций.
329e3ae68a5412e8e98b7.png


Далее создадим BOOL строку, в которую запишем значение - есть ли права администратора у процесса.
7f8ccb4c7d5a19b9facfd.png


Затем обновим информацию о процессе, вместе со значением 1, которое задействует функции системного процесса. Иными словами, при попытке закрыть процесс вылезет BSoD.
bef19a616c9fd02d66a29.png


Чтобы отключить "режим системного процесса", надо выполнить ту же функцию NtSetInformationProcess, только уже со значением 0.

В принципе, если туда-сюда вставить код, то получится хороший 30-ти строчный системный процесс с анти-закрытием :)
4b8db0c2f959af5adbb14.png

Полный код

Итоги
Использовать такую технику очень даже подойдет, особенно для тех, кто хочет слиться среди Windows-процессов. И процесс в диспетчере задач не просто находится в фоновых, а в "Процессах Windows". Что по детектам?
lFX8iTu4SlcP.png


Статью написал: Boris
 
Top