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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/0xthirteen/movekit
Фреймворки для эксплойтовЛатеральное перемещениеПост-эксплуатацияТестирование на ПроникновениеRed Teaming
GitHub0xthirteen/movekit

MoveKit

Набор Cobalt Strike для бокового перемещения

Репозиторий
67810876 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

MoveKit - Cobalt Strike набор для латерального перемещения

MoveKit — это расширение встроенного в Cobalt Strike латерального перемещения, использующее функцию execute_assembly с сборками SharpMove и SharpRDP .NET. Агрессор-скрипт обрабатывает создание полезной нагрузки путем чтения файлов шаблонов для определенного типа выполнения.

ВАЖНО: Для использования скрипта пользователю нужно только загрузить агрессор-скрипт MoveKit.cna, который загрузит все остальные необходимые скрипты. Кроме того, в зависимости от выполняемых действий, необходимо скомпилировать сборки SharpMove и SharpRDP и поместить их в каталог Assemblies. Наконец, некоторые операции перемещения файлов требуют динамической компиляции, для чего понадобится Mono.

При загрузке агрессор-скрипта в menubar появится селектор с именем Move. Доступно несколько вариантов выбора. Во-первых, пользователи могут выполнить команду на удаленной системе через WMI, DCOM, Task Scheduler, RDP или SCM. Во-вторых, существует механизм выполнения Command, который использует загрузочные приманки для получения и выполнения файлов. В-третьих, метод File помещает файл в систему и выполняет его. Есть , который не выполняет никаких действий, только переносит данные. Наконец, есть настройки , чтобы ускорить работу с GUI и использовать их с командами beacon. Настройки по умолчанию используются для всего, что может принимать значения по умолчанию.

Write File Only
Default

Для использования команд beacon считываются настройки по умолчанию и несколько аргументов командной строки. Пример команды beacon: <exec-type> <target> <listener> <filename>

move-msbuild 192.168.1.1 http move.csproj

Кроме того, пользовательская встроенная команда beacon немного отличается. Пример команды: move-pre-custom-file <target> <local-file> <remote-filename>

move-pre-custom-file computer001.local /root/payload.exe legit.exe

Поле location — самая сложная часть проекта. При выборе перемещения файлов через WMI поле location будет использоваться; если выбран SMB, то оно не используется (можно оставить пустым). Location принимает три различных значения. Во-первых, если location — это URL, то при создании полезной нагрузки она будет размещена на веб-сервере Cobalt Strike. Хост beacon, с которого будет выполняться сборка, сделает веб-запрос к URL и получит файл, который затем будет использован в событийной подпрограмме на целевом хосте для записи файла. Во-вторых, если location — это каталог Windows, то созданный файл будет загружен на хост beacon, и сборка прочитает его из файловой системы и сохранит в событийной подпрограмме для записи на удаленный хост. Наконец, если поле location содержит путь Linux или слово local, то полезная нагрузка будет динамически скомпилирована в выполняемую сборку. Однако если размер файла превышает лимит в 1 МБ, будет показана ошибка.

Для всех файловых методов полезная нагрузка создается через агрессор-скрипт. Однако, если полезная нагрузка уже создана, пользователи могут выбрать опцию Custom (Prebuilt) для её перемещения и выполнения.

Набор содержит различные методы перемещения файлов, триггеры выполнения и типы полезных нагрузок.

Перемещение файлов — это метод, используемый для доставки файла на удаленный хост. Типы перемещения файлов:

  • SMB в плоский файл
  • WMI в плоский файл
  • WMI в значение реестра
  • WMI в свойство пользовательского класса WMI

Триггер команды — это метод, используемый для выполнения определенной команды на удаленном хосте. Типы триггеров команд:

  • WMI
  • SCM
  • RDP
  • DCOM (несколько)
  • Планировщик задач
  • Изменение запланированной задачи (существующая задача обновляется действием, выполняется и сбрасывается обратно)
  • Изменение binpath службы (существующая служба обновляет binpath, служба запускается и возвращается в исходное состояние)

Выполнение только shellcode:

  • Excel 4.0 DCOM
  • Подписка на события WMI (скоро)

Хайджеки:

  • Хайджек DLL службы (скоро)
  • Хайджек сервера DCOM (скоро)

Зависимости

  • Mono (MCS) для компиляции сборок .NET (используется при динамическом создании полезной нагрузки, InstallUtil и Custom-NonPreBuilt). Также при использовании сборки FileWrite.

Подводные камни:

  • Иногда execute_assembly вызывается до перемещения файла; если это произошло, можно выполнить полезную нагрузку, сняв флажок Auto
  • Набор не очищает файлы автоматически; это остается на усмотрение оператора
Примечание: Не рекомендуется использовать шаблоны по умолчанию с этим проектом.

Для замены шаблона необходимо выполнить два требования. Во-первых, шаблон должен быть назван в соответствии с техникой (например, msbuild.csproj). Во-вторых, исходный код должен содержать строку $$PAYLOAD$$, куда будет помещен shellcode в base64, и уметь преобразовывать base64-строку в массив байтов. Пример для C#:

root@kitploit:~
string strSC = "$$PAYLOAD$$";
byte[] sc = Convert.FromBase64String(strSC);

Было добавлено изменение, позволяющее в диалоге 'Update Defaults' обновлять 'Find and Replace string' и форматы shellcode для настроек по умолчанию. По умолчанию это $$PAYLOAD$$ и base64.

Операционные соображения

  • При использовании планировщика задач запланированные задачи будут созданы и удалены
  • При использовании SCM службы будут созданы и удалены
  • При использовании обхода AMSI он будет работать только для WSH, а не для PowerShell
  • При использовании обхода AMSI будет изменен реестр: либо обновлен/создан ключ реестра, а затем возвращен к исходному значению или удален
  • Используется функция Cobalt Strike execute-assembly, поэтому она внедряется в жертвенный процесс, как и другие post-exploitation задачи
  • Файлы будут сброшены на диск при использовании любого из методов File или Command
  • Шаблоны не должны использоваться, так как все они публично известны
  • Все техники не новы и довольно хорошо известны

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

Часть кода, шаблонов или вдохновения взяты от других людей и проектов

  • WMI — SharpWMI от harmj0y
  • DCOM — SharpCOM от rvrsh3ll и SharpSploit DCOM от cobbr
  • SCM — CSExec от Tim Malcomvetter
  • Хайджек DLL службы SharpSC от djhohnstein
  • Модификация binpath службы SCShell от Mr-Un1k0d3r
  • Шаблон загрузчика shellcode от subTee
  • Полезные нагрузки CACTUSTORCH от vysecurity

Вероятно, где-то есть ошибки, они имеют обыкновение время от времени появляться. Просто сообщите о них, и я их исправлю.

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