В продолжение анализа на очереди первый по популярности протокол, используемый в NXC, это SMB. В нем принцип определения привилегированности учетной записи основан на подключении к пайпу
\svcctl поверх установленного SMB-соединения с последующей попыткой открытия менеджера управления службами с SC_MANAGER_ALL_ACCESS, что, само собой, разрешено только высокопривилегированной УЗ, ведь это право дает полный доступ до управления службами на конечном устройстве.Для подключения используются функции из протокола MS-SCMR, а именно OpenScManager(). Отмечу, что подключение к
svcctl может оказаться роковым в вопросах уклонения от обнаружения (ведь его используют и psexec.py и smbexec.py), поэтому алгоритм следует поменять. Мы поверх SMB соединения можем подключиться к любому другому пайпу, который имеет какой-нибудь контроль доступа. Можно попробовать и более экзотичные варианты по типу попытки дропа файла на
C$. Но мой выбор остановился на протоколе MS-EVEN6. Причем именно его шестой версии потому, что обычный MS-EVEN, который я использовал тут подключается поверх пайпа \pipe\eventlog, а некоторые детектят таким образом коерс через Coercer. Поэтому я переделал функцию под MS-EVEN6, который поддерживает подключение через обычный TCP-коннект. Можно увидеть мой код тутА как бы меняли логику Вы?
@RedTeambro
