
Постэксплуатационный инструмент, написанный на C#, использует CIM или WMI для запроса удаленных систем.
SharpStrike — это инструмент для постэксплуатации, написанный на C#, который использует либо CIM, либо WMI для запросов к удалённым системам. Он может использовать предоставленные учётные данные или сеанс текущего пользователя.
Примечание: Некоторые команды будут использовать PowerShell в сочетании с WMI, обозначено ** в команде --show-commands.
SharpStrike — это переписанная на C# и расширенная версия CIMplant от @Matt_Grandy_ и WMImplant от @christruncer.
SharpStrike позволяет собирать данные об удалённой системе, выполнять команды, извлекать данные и многое другое. Инструмент поддерживает подключения с помощью Windows Management Instrumentation, WMI, или Common Interface Model, CIM; а точнее Windows Management Infrastructure, MI. CIMplant требует прав локального администратора на целевой системе.
Проще всего использовать готовую сборку из раздела Releases, однако учтите, что она скомпилирована в режиме Debug. Если вы хотите собрать решение самостоятельно, выполните следующие шаги.
Сборка создаст две версии SharpStrike: GUI (WinForms) и консольное приложение. Каждая версия реализует одни и те же функции.
Console Version:
SharpStrike.exe --help
SharpStrike.exe --show-commands
SharpStrike.exe --show-examples
SharpStrike.exe -c ls_domain_admins
SharpStrike.exe -c ls_domain_users_list
SharpStrike.exe -c cat -f "c:\users\user\desktop\file.txt" -s [remote IP address]
SharpStrike.exe -c cat -f "c:\users\user\desktop\file.txt" -s [remote IP address] -u [username] -d [domain] -p [password] -c
SharpStrike.exe -c command_exec -e "quser" -s [remote IP address] -u [username] -d [domain] -p [password]
GUI version:
show-commands
show-examples
ls_domain_admins
ls_domain_users_list
cat -f "c:\users\user\desktop\file.txt" -s [remote IP address]
cat -f "c:\users\user\desktop\file.txt" -s [remote IP address] -u [username] -d [domain] -p [password]
command_exec -e "quser" [remote IP address] -u [username] -d [domain] -p [password]
cat - Читает содержимое файла
copy - Копирует файл из одного места в другое
download** - Скачивает файл с целевой машины
ls - Выводит список файлов/каталогов в указанном каталоге
search - Ищет файл у пользователя
upload** - Загружает файл на целевую машину
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 - Создаёт, удаляет или изменяет системные службы
ls_domain_users*** - Выводит список пользователей домена
ls_domain_users_list*** - Выводит список sAMAccountName пользователей домена
ls_domain_users_email*** - Выводит список адресов электронной почты пользователей домена
ls_domain_groups*** - Выводит список групп пользователей домена
ls_domain_admins*** - Выводит список администраторов домена
ls_user_groups*** - Выводит список пользователей домена с их группами
ls_computers*** - Выводит список компьютеров в текущем домене
process_kill - Завершает процесс по имени или идентификатору на целевой машине
process_start - Запускает процесс на целевой машине
ps - Выводит список процессов
active_users - Выводит список пользователей домена с активными процессами на целевой системе
basic_info - Используется для сбора базовой метаинформации о целевой системе
drive_list - Выводит список локальных и сетевых дисков
share_list - Выводит список сетевых общих ресурсов
ifconfig - Выводит IP-информацию от сетевых адаптеров с активными сетевыми подключениями
installed_programs - Выводит список установленных программ на целевой машине
logoff - Выполняет выход пользователей из целевой машины
reboot (or restart) - Перезагружает целевую машину
power_off (or shutdown) - Выключает целевую машину
vacant_system - Определяет, отошёл ли пользователь от системы
edr_query - Запрашивает локальную или удалённую систему на наличие поставщиков EDR
logon_events - Определяет пользователей, которые входили в систему
* Весь PowerShell можно отключить с помощью флага --nops, хотя некоторые команды не будут выполняться (upload/download, enable/disable WinRM)
** Обозначает использование PowerShell (либо через PowerShell Runspace, либо через метод Win32_Process::Create)
*** Обозначает использование LDAP — пространство имён "root\directory\ldap"
Консольная версия:
Версия с графическим интерфейсом:

SharpStrike состоит из трёх основных проектов:
Здесь устанавливаются начальные соединения CIM/WMI и передаются в остальную часть приложения
Весь код функций для команд WMI
Весь код функций для команд CIM (MI)
CIMplant Part 1: Detection of a C# Implementation of WMImplant
WMImplant – A WMI Based Agentless Post-Exploitation RAT Developed in PowerShell