Расширенное сохранение данных Windows, часть 2: использование реестра для сохранения данных

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
152
Депозит
-8.95$
Добро пожаловать обратно, начинающие кибервоины!

Устойчивость в системах Windows всегда была своего рода игрой в кошки-мышки между злоумышленниками, ищущими надежные точки опоры, и защитниками, пытающимися перекрыть пути для злоупотреблений. Сама Windows предоставляет широкий спектр механизмов, которые являются легитимными элементами системной функциональности, однако каждый из них можно превратить в способ обеспечения повторного запуска вредоносного кода после перезагрузки или входа в систему. Параметры реестра, системные процессы и процедуры инициализации — все это потенциальные цели для устойчивости, и хотя большинство из них никогда не разрабатывались с учетом безопасности, они остаются доступными и сегодня. Их привлекательность заключается в надежности: после настройки они выдерживают перезагрузку и предоставляют возможность повторного выполнения, не требуя от злоумышленника ручного повторного входа в среду.

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

AppInit

AppInit — это устаревшая функция Windows, которая сообщает загрузчику ОС о необходимости сопоставить одну или несколько DLL-библиотек с любым процессом, связывающим user32.dll. Это означает, что при запуске множества графических приложений Windows автоматически загружает DLL-библиотеки, перечисленные в этом значении реестра, предоставляя любому коду внутри этих DLL возможность запускаться внутри этих процессов. Это основанный на реестре механизм, действующий на уровне системы, который сохраняется после перезагрузки и при соответствующей настройке влияет как на 32-разрядные, так и на 64-разрядные графические приложения.

cmd#> reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows" /v LoadAppInit_DLLs /t reg_dword /d 0x1 /f

cmd#> reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows" /v AppInit_DLLs /t reg_sz /d "C:\meter64.dll" /f

Метод сохранения окон AppInit

cmd#> reg add "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows" /v LoadAppInit_DLLs /t reg_dword /d 0x1 /f

cmd#> reg add "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows" /v AppInit_DLLs /t reg_sz /d "C:\meter32.dll" /f

Первая команда включает поведение AppInit для 64-битного представления реестра. Вторая команда записывает путь к DLL-библиотекам, которые Windows должна попытаться загрузить в процессы графического интерфейса (это значение представляет собой строку из одного или нескольких путей к DLL). Следующие две команды делают то же самое для 32-битного представления реестра в 64-битной системе. Сначала она включает механизм для 32-битных процессов, а затем задаёт путь к 32-битной DLL.

Проще говоря: включите AppInit, сообщите Windows, какие DLL-библиотеки загружать, и сделайте это как для 64-битных, так и для 32-битных процессов, чтобы приложения с графическим интерфейсом обеих архитектур загружали указанные библиотеки.

Сохранение AppInit инициировало обратное соединение

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

Минусы: требуются права администратора для изменения HKLM, шумный, так как DLL будет отображаться загруженной во многих процессах (создавая сильную телеметрию), и полагается на старый, известный механизм, который часто проверяют защитники.

Если вы защитник, сосредоточьтесь на аудите ключей HKLM Windows (включая путь Wow6432Node) и мониторинге необычных загрузок DLL в систему или общие процессы графического интерфейса.

ЛСАСС

Изменение конфигурации LSASS для загрузки дополнительной DLL-библиотеки — способ запустить код внутри высокопривилегированного, долгоживущего системного процесса. LSASS отвечает за применение политики безопасности и обработку учётных данных. Поскольку LSASS загружает настроенные пакеты аутентификации/уведомлений при запуске, добавление записи сюда приводит к загрузке выбранного модуля в этот процесс, который остаётся активным после перезагрузки. Это делает его мощным, но опасным.

cmd#> reg add "HKLM\system\currentcontrolset\control\lsa" /v "Notification Packages" /t reg_multi_sz /d "rassfm\0scecli\0meter" /f

Метод сохранения окон LSASS

Эта команда реестра обновляет многострочный раздел « Пакеты уведомлений»rassfm в разделе LSA. Проще говоря, эта строка сообщает Windows: «При запуске LSASS также загрузить пакеты с именами , scecli, meterи принудительно записать их, если значение уже существует».

Устойчивость LSASS инициировала обратное соединение

Плюсы: выдерживает перезагрузки и помещает код внутрь длительного, высокопривилегированного процесса, что делает сохранение как долговечным, так и мощным.

Минусы: требуются права администратора для изменения реестра LSA, оказывается чрезвычайно рискованное влияние на телеметрию и стабильность (неправильная конфигурация или неисправный модуль могут привести к сбою LSASS и дестабилизации или сделать систему непригодной к использованию), вызывает большие подозрения у защитников.

Размещение кода в LSASS обеспечивает надежность и доступ к конфиденциальным материалам, но это один из самых громких и рискованных методов сохранения безопасности: он требует прав администратора, создает сильные сигналы для обнаружения и может привести к сбою системы, если все сделано неправильно.

W

Winlogon — это компонент, который обрабатывает интерактивные входы пользователей в систему и вызывает программы, указанные в UserInitпараметре реестра, после завершения аутентификации. Добавляя к этой UserInitстроке дополнительный исполняемый файл, вы обеспечиваете автоматический запуск программы при каждом интерактивном входе.

cmd#> reg add "HKLM\software\microsoft\windows nt\currentversion\winlogon" /v UserInit /t reg_sz /d "c:\windows\system32\userinit.exe, c:\meter.exe"

Метод сохранения Winlogon

При этом сначала будет указан обычный userinit.exeпуть, а затем добавлено c:\meter.exe, поэтому при запуске Winlogon он будет запущен userinit.exeкак meter.exeчасть последовательности входа в систему. Обратите внимание, что сначала UserInitдолжен быть указан допустимый userinit.exeпуть. Удаление или неправильный порядок может привести к сбоям в интерактивном входе в систему и блокировке пользователей.

Устойчивость Winlogon инициировала обратное соединение

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

Минусы: требуются права администратора для изменения HKLM, нет возможности управления расписанием (работает только при входе в систему) и рискованно, поскольку неправильная настройка значения UserInit может помешать пользователям войти в систему и приводит к появлению очевидных криминалистических сигналов.

Майкрософт​

Многие компоненты Office считывают конфигурацию из куста реестра текущего пользователя, и злоумышленники могут этим злоупотребить, вставив путь или имя DLL, которые Office будет загружать или использовать при запуске пакета. Этот подход применяется к каждому пользователю и сохраняется после перезагрузки, поскольку конфигурация хранится в HKCU, но срабатывает только тогда, когда жертва фактически запускает компонент Office, считывающий этот ключ. Это полезно, когда жертва регулярно использует Office, и вам нужен простой механизм сохранения с низким уровнем привилегий, не требующий установки службы или изменения автозапуска на уровне всего компьютера.

cmd$> reg add "HKCU\Software\Microsoft\Office test\Special\Perf" /t REG_SZ /d C:\meter.dll

Метод сохранения Windows Microsoft Office
Сохранение Microsoft Office инициировало обратное соединение

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

Минусы: нет управления расписанием, запуск происходит только тогда, когда пользователь запускает соответствующий компонент Office, поэтому невозможно контролировать интервал выполнения.

Краткое содержание

Устойчивость Windows через изменения реестра предлагает множество путей: от внедрения устаревшей DLL-библиотеки AppInit до пакетов уведомлений LSASS, перехвата UserInit в Winlogon и ключей реестра Office в HKCU. Каждый из этих методов сохраняется после перезагрузки, обеспечивая повторное выполнение кода, но они различаются по области действия и скрытности. AppInit и Office зависят от запуска приложения, в то время как LSASS и Winlogon обеспечивают более широкое и привилегированное покрытие. Все они требуют разных уровней доступа, при этом самые мощные варианты также являются наиболее громкими в телеметрии и наиболее опасными для стабильности системы. Для специалистов по безопасности основной вывод очевиден: мониторинг критических ключей реестра в HKLM и HKCU, отслеживание необычных загрузок DLL или исполняемых файлов, а также обеспечение надлежащего аудита имеют решающее значение.
 
Назад
Сверху Снизу