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

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

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

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

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

Категории

Все категории
Loading categories
CIMplant — Порт на C# инструмента WMImplant, который использует CIM или WMI для запроса удаленных систем | Kitploit
Инструменты/GitHubGitHub/redsiege/cimplant
Латеральное перемещениеСбор информацииПост-эксплуатацияТестирование на ПроникновениеКомандование и УправлениеRed TeamingИнструмент Удаленного Доступа
GitHubredsiege/cimplant

CIMplant

Порт на C# инструмента WMImplant, который использует CIM или WMI для запроса удаленных систем

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

Популярное

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

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

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

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

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

CIMplant

C# порт WMImplant, который использует CIM или WMI для запроса удаленных систем. Он может использовать предоставленные учетные данные или сессию текущего пользователя.

Примечание: Некоторые команды будут использовать PowerShell в сочетании с WMI. Это обозначено знаком ** в выводе команды --show-commands.

Введение

CIMplant — это переписанная на C# и расширенная версия WMImplant от @christruncer. Она позволяет собирать данные об удаленной системе, выполнять команды, извлекать данные и многое другое. Инструмент позволяет подключаться с использованием Windows Management Instrumentation, WMI, или Common Interface Model, CIM; точнее, Windows Management Infrastructure, MI. CIMplant требует локальных прав администратора на целевой системе.

Настройка

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

  1. Загрузите CIMplant.sln в Visual Studio
  2. Перейдите в Build в верхнем меню, затем Build Solution (если не требуется изменений)

Использование

root@kitploit:~
CIMplant.exe --help
CIMplant.exe --show-commands
CIMplant.exe --show-examples
CIMplant.exe -s [remote IP address] -c cat -f c:\users\user\desktop\file.txt
CIMplant.exe -s [remote IP address] -u [username] -d [domain] -p [password] -c cat -f c:\users\test\desktop\file.txt
CIMplant.exe -s [remote IP address] -u [username] -d [domain] -p [password] -c command_exec --execute "dir c:\\"

Функции

Операции с файлами:

root@kitploit:~
cat                          -  Читает содержимое файла
copy                         -  Копирует файл из одного места в другое
download**                   -  Загружает файл с целевой машины
ls                           -  Выводит список файлов/каталогов в указанной директории
search                       -  Ищет файл у пользователя
upload**                     -  Загружает файл на целевую машину

Обеспечение горизонтального перемещения

root@kitploit:~
command_exec**               -  Выполняет команду командной строки и выводит результат. Запускается с флагом nops для отключения PowerShell
disable_wdigest              -  Устанавливает значение реестра UseLogonCredential в ноль
enable_wdigest               -  Добавляет значение реестра UseLogonCredential
disable_winrm**              -  Отключает WinRM на целевой системе
enable_winrm**               -  Включает WinRM на целевой системе
reg_mod                      -  Изменяет реестр на целевой машине
reg_create                   -  Создает значение реестра на целевой машине
reg_delete                   -  Удаляет значение реестра на целевой машине
remote_posh**                -  Запускает скрипт PowerShell на удаленной машине и выводит результат
sched_job                    -  Не реализовано из-за того, что Win32_ScheduledJobs обращается к устаревшему API
service_mod                  -  Создает, удаляет или изменяет системные службы

Операции с процессами

root@kitploit:~
process_kill                 -  Завершает процесс по имени или идентификатору на целевой машине
process_start                -  Запускает процесс на целевой машине
ps                           -  Выводит список процессов

Системные операции

root@kitploit:~
active_users                 -  Выводит доменных пользователей с активными процессами на целевой системе
basic_info                   -  Используется для сбора базовой метаинформации о целевой системе
drive_list                   -  Выводит список локальных и сетевых дисков
ifconfig                     -  Получает IP-информацию от сетевых интерфейсов с активными подключениями
installed_programs           -  Получает список установленных программ на целевой машине
logoff                       -  Выполняет выход пользователей из целевой машины
reboot (или restart)          -  Перезагружает целевую машину
power_off (или shutdown)      -  Выключает целевую машину
vacant_system                -  Определяет, отошел ли пользователь от системы
edr_query                    -  Запрашивает локальную или удаленную систему на наличие вендоров EDR

Операции с журналами

root@kitploit:~
logon_events                 -  Определяет пользователей, входивших в систему

* Любое использование PowerShell можно отключить с помощью флага --nops, хотя некоторые команды не будут выполняться (upload/download, enable/disable WinRM)
** Обозначает использование PowerShell (либо через Runspace PowerShell, либо через метод Win32_Process::Create)

Некоторые примеры команд

image

Cobalt Strike Execute-Assembly

Я хотел написать CIMplant таким образом, чтобы его можно было использовать через execute-assembly, поэтому всё упаковано в один исполняемый файл и загружается рефлективно. Все команды должны работать через beacon без проблем. Наслаждайтесь!

image

Важные файлы

  1. Program.cs

Это мозг операции, драйвер программы.

  1. Connector.cs

Здесь устанавливаются первоначальные CIM/WMI-соединения и передаются в остальную часть приложения

  1. ExecuteWMI.cs

Весь код функций для WMI-команд

  1. ExecuteCIM.cs

Весь код функций для CIM (MI)-команд

Обнаружение

Конечно, первое, на что мы хотим обратить внимание, — это первоначальное WMI или CIM-соединение. В целом WMI использует DCOM в качестве протокола связи, тогда как CIM использует WSMan (или WinRM). Это можно изменить для CIM, что и делается в CIMplant, но пока остановимся на значениях по умолчанию. Для DCOM мы можем искать первоначальные TCP-соединения через порт 135. После этого соединяющаяся и принимающая системы договариваются о новом, очень высоком порте, который будет сильно различаться. Для WSMan первоначальное TCP-соединение происходит через порт 5985.

Далее следует обратить внимание на журнал событий Microsoft-Windows-WMI-Activity/Trace в Event Viewer. Ищите Event ID 11 и, если возможно, фильтруйте по свойству IsLocal. Также можно искать Event ID 1295 в журнале Microsoft-Windows-WinRM/Analytic.

Наконец, обратите внимание на любые изменения свойства DebugFilePath для класса Win32_OSRecoveryConfiguration. Более подробная информация об обнаружении представлена в Части 1 нашей серии статей в блоге: CIMplant Part 1: Detection of a C# Implementation of WMImplant

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