Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
swarmer — Инструмент для преобразования экспортированных файлов реестра Windows в файлы кустов реестра Windows, которые можно использовать для замены NTUSER.MAN. | Kitploit
Инструменты/GitHubGitHub/praetorian-inc/swarmer
Повышение привилегийМеханизмы персистентностиПост-эксплуатацияRed Teaming
GitHubpraetorian-inc/swarmer

swarmer

Инструмент для преобразования экспортированных файлов реестра Windows в файлы кустов реестра Windows, которые можно использовать для замены NTUSER.MAN.

Репозиторий
161186 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

swarmer

Инструмент для незаметного добавления ключей реестра в HKCU без возможности обнаружения EDR/AV, даже если у вас нет прав администратора.

Как это использовать?

ПРИМЕЧАНИЕ: Вы сможете сделать это ТОЛЬКО ОДИН РАЗ; после того как NTUSER.MAN станет вашим новым кустом реестра, вы НЕ СМОЖЕТЕ изменить его без прав администратора, поэтому убедитесь, что в первый раз вы внесли все необходимые изменения.

С использованием результатов BOF reg_query

  1. Загрузите соответствующий BOF req_query из https://github.com/trustedsec/CS-Situational-Awareness-BOF/tree/master/SA/reg_query.
  2. Выполните execute-bof --opsec Z:\path\to\reg_query.x64.o go z"" i1 z"" z"" i1
  3. Скопируйте вывод этой команды в файл на вашей машине; для этого примера назовем его output.txt. Обратите внимание, что вы должны включить все временные метки и начинать с ключа , который выглядит примерно так:
HKEY_CURRENT_USER
root@kitploit:~
03/18/2025 14:19:51      HKEY_CURRENT_USER\
  1. Загрузите бинарник swarmer.exe из раздела релизов и запустите swarmer.exe --bof --startup-key "WhateverKeyNameYouWant" --startup-value "C:\Path\To\Your\target.exe" output.txt NTUSER.MAN
  2. Загрузите файл NTUSER.MAN обратно на целевую машину, возможно, под другим именем, если вы хотите соблюсти OPSEC.
  3. Скопируйте загруженный на шаге 5 файл в %USERPROFILE%, так что у вас должен быть файл вида C:\Users\MyUserName\NTUSER.MAN.
  4. При следующем входе пользователя в систему ваши изменения реестра будут загружены.

С использованием файла экспорта .reg

Предположим, вы хотите добавить ключ реестра в HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, чтобы при запуске появлялся calc.

Сначала вам нужен дамп реестра ключа HKCU, который вы хотите использовать. В идеале он должен быть получен с той машины, которую вы собираетесь изменять. Вы можете создать его, выполнив reg export HKCU hkcu.reg.

Затем внесите в .reg-файл нужные изменения. В нашем примере мы просто откроем файл в блокноте и добавим дополнительную строку, как показано ниже:

Добавление записи для запуска calc при старте

ПРИМЕЧАНИЕ: Будут применены только изменения в HKEY_CURRENT_USER, это не влияет на HKLM

Далее используйте этот инструмент swarmer.exe, чтобы преобразовать измененный reg-файл в бинарный куст реестра. Пример вызова:

swarmer.exe hkcu.reg NTUSER.MAN

Если вы хотите сделать это изнутри скрипта PowerShell, вы можете вместо этого загрузить бинарник swarmer.dll из раздела релизов и запустить его с помощью команд:

root@kitploit:~
Import-Module '.\swarmer.dll'
Convert-RegToHive -InputPath '.\hkcu.reg' '.\NTUSER.MAN'

Наконец, вам просто нужно поместить NTUSER.MAN (он ДОЛЖЕН называться именно так) в ваш %USERPROFILE% directory (что-то вроде C:\Users\MyUserName).

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

Почему это работает?

Windows полна устаревшего наследия; здесь эксплуатируются обязательные пользовательские профили Windows. Обычно для переименования NTUSER.DAT пользователя в NTUSER.MAN нужны права администратора, но, по-видимому, нет никакой защиты, чтобы кто-то просто не подбросил туда файл с таким же именем, и он не был бы использован вместо оригинального.

Существует странная «ожидаемая» граница безопасности: для создания бинарного куста Windows на машине требуются права администратора, но в целом это слабо контролируется. swarmer (зло)употребляет Offline Registry API для управления бинарным кустом реестра при разборе экспортированного .reg-файла. Цитируем описание:

Приложения не должны использовать функции автономного реестра для обхода требований безопасности системного реестра. Для загрузки куста приложение, работающее без специальных привилегий, необходимых для функции RegLoadKey, может использовать функцию RegLoadAppKey.

Ну, очевидно, мы не собираемся следовать этому совету, поэтому теперь мы можем использовать экспорт реестра с низкими привилегиями в сочетании с нашим инструментом swarmer для создания «привилегированного» бинарного объекта реестра, который можно просто поместить в нужное место, чтобы переопределить существующий куст NTUSER.DAT.

В процессе этого мы не будем использовать НИКАКИХ традиционных API чтения/записи реестра, так что в идеале EDR не должен иметь хорошего представления о происходящем — согласно Sysinternals procmon, это не будет отображаться как фактическая запись в реестр. Если вы ОСОБЕННО параноидальны, вы также можете перенести .reg-файл на управляемую вами машину, создать с помощью этого инструмента бинарный файл куста и поместить его обратно на хост. После экспорта реестра нет необходимости взаимодействовать с хостом до тех пор, пока вы не поместите файл NTUSER.MAN.

Технически вам даже не нужно экспортировать реестр, но, вероятно, опасно пытаться заменить реестр учётной записи на что-то с другой машины, что не ТОЧНО соответствует окружению Windows, а это будет сложно гарантировать.

Благодарности

  • На этот подход мне указал коллега по команде Rad, который, в свою очередь, узнал о нём от Jonas Lykkegård
  • Проект The HiveSwarming послужил хорошей основой для реализации процесса преобразования с использованием Offline Registry API.

Лицензия

Этот инструмент распространяется с открытым исходным кодом под лицензией Apache.

Скачать инструмент