Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 22(318)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8

Библиографическое описание:
Артамонова О.Ю. СТРУКТУРА ПАКЕТОВ MSI. ВОПРОСЫ БЕЗОПАСНОСТИ // Студенческий: электрон. научн. журн. 2025. № 22(318). URL: https://sibac.info/journal/student/318/380592 (дата обращения: 26.06.2025).

СТРУКТУРА ПАКЕТОВ MSI. ВОПРОСЫ БЕЗОПАСНОСТИ

Артамонова Ольга Юрьевна

студент, Российский государственный университет нефти и газа им. И. М. Губкина,

РФ, г. Москва

THE STRUCTURE OF MSI PACKAGES. SECURITY ISSUES

 

Olga Artamonova

student, Gubkin Russian State University of Oil and Gas,

Russia, Moscow

 

АННОТАЦИЯ

В статье исследуется структура MSI-пакетов и связанные с ними угрозы безопасности, возникающие при внесении модификаций в файл и загрузке инсталляторов с фишинговых сайтов. Рассмотрен метод статического анализа MSI-файлов для выявления уязвимостей, таких как подмена файлов и внедрение вредоносного кода. В качестве примера анализируется инсталлятор 7-Zip, не защищённый цифровой подписью, что делает его потенциально опасным. Исследуются возможные риски, включая модификацию реестра Windows, добавление вредоносных CAB-архивов и эксплуатацию известных уязвимостей. Статья актуальна для специалистов в области информационной безопасности и системных администраторов.

ABSTRACT

The article examines the structure of MSI packages and related security threats that occur when making modifications to a file and downloading installers from phishing sites. A method of static analysis of MSI files is considered to identify vulnerabilities such as file substitution and malicious code injection. As an example, the 7-Zip installer is analyzed, which is not digitally signed, which makes it potentially dangerous. Possible risks are being investigated, including modifying the Windows registry, adding malicious CAB archives, and exploiting known vulnerabilities. The article is relevant for information security specialists and system administrators.

 

Ключевые слова: MSI-файл, 7-Zip, цифровая подпись установочного файла, подмена файлов, уязвимость, полезная нагрузка, реестр Windows, САВ-файл.

Keywords: MSI-file, 7-Zip, digital signature of the installation file, file substitution, vulnerability, payload, Windows registry, CAB-file.

 

В развивающемся современном мире и при необходимости активного использования различных программных обеспечений, пользователи устанавливают множество приложений, которые при установке могут нанести вред хранящимся данным или ограничить доступ пользователя к управлению компьютером. Злоумышленники способны заменить некоторые из исходных файлов установщиков, и после этого приложение не защищено цифровой подписью. Однако существует множество популярных и часто используемых программных обеспечений, изначально не имеющих цифровой подписи, что заведомо является потенциально вредоносным. Одним из таких приложений является популярный архиватор 7-Zip, который установили миллионы пользователей, а поскольку данное программное обеспечение не имеет цифровой подписи, значит, может содержать полезную нагрузку. Поэтому, в качестве примера инсталлятора без цифровой подписи в ходе работы будет рассмотрена структура msi-файла архиватора 7-Zip.

Рассмотрим определения, которые будут использоваться в дальнейшей работе:

  1. MSI-файл (Microsoft Windows Installer) – это файл инсталлятора Microsoft Windows Installer, содержащий сценарий для установки программы и установочных файлов.
  2. 7-Zip – это свободный файловый архиватор с высокой степенью сжатия данных.
  3. Реестр Windows (Windows Registry) – это иерархически построенная база данных параметров и настроек в большинстве операционных систем семейства Microsoft Windows [5].
  4. Подмена файлов – это кибератака, при которой злоумышленник меняет файлы исходного кода на содержащие исполняемые файлы или полезную нагрузку, маскируя под исходное приложение или инсталлятор.
  5. CAB-файл (cabinet) – это формат архива, хранящий установочные файлы, разработанный Microsoft, и зачастую используемый приложениями и установщиками.
  6.  Цифровая подпись установочного файла — это электронная метка, которая позволяет идентифицировать издателя файла и определить, не подвергался ли файл изменениям после подписания.
  7. Полезная нагрузка — это часть программы, которая совершает деструктивные действия с данными, производит копирование информации с зараженного компьютера, набор данных, инструкций или исполняемый код, непосредственно реализующий цель атакующего.

Отсутствие цифровой подписи в инсталляторах позволяет злоумышленникам вносить изменения в структуре msi-файла, которые для обычного пользователя будут незаметными.

Например, это может быть внесение изменений в реестре, которые могут ограничить доступ к любому из установленных или системных приложений, даже explorer.exe, что помешает запуску и корректной работе компьютера. Также могут быть добавлены файлы с полезной нагрузкой, которые не сможет обнаружить антивирус, если это не распространенный файл. Самое популярное распространение подобных модифицированных файлов — создание фишинговых сайтов с поддельными версиями популярного программного обеспечения, практически не отличимых от сайтов крупных брендов или компаний, покупка рекламы в поисковых браузерах и первого места в результатах поискового запроса.

В ходе таких манипуляций рядовой пользователь переходит по первой попавшейся ссылке, видит правдоподобное название сайта и установщика, скачивает инсталлятор и запускает его. Существует множество вариаций дальнейших последствий — от кражи криптовалютных токенов и учётных данных, кредитных карт, личных и конфиденциальных данных, использования вычислительных ресурсов компьютера для добычи криптовалюты, до фиксации всех нажатий клавиш клавиатуры и промышленного шпионажа.

Злоумышленниками могут быть эксплуатированы уже имеющиеся уязвимости в Windows Installer, позволяющие, выполнить произвольный код с повышенными правами. Например, рассмотрим уязвимости CVE-2020-16902, CVE-2020-0814 (CVE-2020-1302, CVE-2019-1415), CVE-2021-41379, CVE-2020-0842, CVE-2020-0779 (уязвимости повышения привилегий в установщике Windows).

Таблица 1.

Примеры уязвимостей MSI

Уязвимость

Описание уязвимости

CVE-2020-16902

Уязвимость возникает, когда установщик Windows не выполняет надлежащую очистку вводимых данных, что приводит к небезопасной загрузке библиотек. Злоумышленник с локальной аутентификацией может запустить произвольный код с повышенными системными привилегиями.

CVE-2020-0814

(CVE-2020-1302, CVE-2019-1415)

Уязвимость существует из-за того, как установщик Windows обрабатывает определённые операции с файловой системой. Чтобы воспользоваться уязвимостью, злоумышленнику потребуется непривилегированное выполнение в системе жертвы.

CVE-2021-41379

Уязвимость существует из-за некорректной работы ограничений ACL (Access Control List), в результате которой злоумышленник имеет возможность удалять и заменять целевые файлы в системе.

CVE-2020-0842,

CVE-2020-0779

Уязвимость существует из-за неверной проверки прав доступа к ключевым действиям установки, позволяет злоумышленнику повысить привилегии до системных

 

Рассмотрим подобные уязвимости в установщике 7-zip с помощью статического анализатора, в качестве которого в данной работе выступит msi2xml. Для этого предварительно скачаем msi-файл архиватора 7-zip, а также непосредственно выбранный статический анализатор. После скачивания распакуем архив в соответствующую папку и добавим в неё уже загруженный файл инсталлятора 7-zip. Далее для преобразования msi-файла в xml с помощью статического анализатора необходимо запустить командную строку и выбрать директорию с загруженными файлами. После чего через командную строку запустим статический анализатор и укажем файл, который необходимо распаковать для исследования его структуры.

Для этого пропишем в командной строке следующее:

cd C:\Users\Olga\msi2xml

.\msi2xml.exe 7z2409-x64.msi

 

Рисунок 1. Запуск статического анализатора через командную строку

 

После успешного выполнения команд в папке появился файл инсталлятора в расширении xml, который содержит структуру распакованного msi-файла.

 

Рисунок 2. Преобразованный в xml файл инсталлятора

 

Для анализа полученного файла можем его открыть с помощью Visual Studio Code или Notepad++.

Структурой пакета является составной файл, состоящий из нескольких таблиц, которые объединены в реляционную базу данных, содержащую файлы, реестры, сценарии, вспомогательные библиотеки, а также дополнительно структура предусматривает помещение устанавливаемых файлов из архива cab [8].

 

Рисунок 3. Структурная схема MSI-пакета

 

Для того, чтобы найти и увидеть часть структуры файла, которая содержит внесение изменений в реестр, откроем часть с таблицей «Registry»:

 

Рисунок 4. Содержание таблицы «Registry»

 

Рисунок 5. Содержание таблицы «Registry»

 

На рис. 4, 5 продемонстрированы изменения в реестре, которые будут внесены при запуске инсталлятора. В данном случае это безвредные изменения, необходимые для корректной работы программы и её запуска, добавления расширения для проводника Windows и сохранения путей установки. Модифицированный злоумышленниками файл в данной части пакета может содержать принудительный запуск сторонних программ или скрытых исполняемых файлов, которые могут также дополнительно содержаться в msi-файле, отключение функций встроенного брандмауэра Windows и многое другое.

Помимо изменений в реестре, распакованный файл имеет ещё одну часть, которая потенциально может создавать полезную нагрузку. Для её анализа откроем таблицу с названием «Streams»:

 

Рисунок 6. Содержание таблицы «Streams»

 

На рис. 6 продемонстрирован встроенный файл (CAB-архив), который содержит исполняемые файлы библиотеки, распаковываемые при установке. Однако при вмешательстве злоумышленников исходный встроенный архив может быть заменён или модифицирован вредоносными исполняемыми файлами или дополнительными скриптами, что в итоге может привести к исполнению произвольного кода. Ниже таблицы «Streams» находится содержимое файла product.cab, закодированное методом base64.

Таким образом, msi-файлы, не защищённые цифровой подписью, могут содержать модификации, внедрённые злоумышленниками, которые незаметны для обычного пользователя, и могут быть обнаружены только при подробном анализе структуры пакета. Подводя итог, можно сказать, что:

  1. При скачивании установщиков необходимо убедиться, что загрузка происходит с официального источника, и при получении результатов поискового запроса учитывать возможность отображения ссылки на фишинговый сайт.
  2. Изменения в CAB-архиве могут быть обнаружены только при сравнении хэш-суммы загруженного архива с оригинальным, и потенциально содержать исполняемые файлы с полезной нагрузкой.
  3. Изменения в реестре Windows, которые могут быть внесены при запуске установки msi-файла, могут привести к автоматической загрузке программ, блокировке доступа к системе, последствия которых могут быть необратимы.
  4. Установщики с цифровой подписью гарантируют подлинность источника и целостность файла, но не могут обеспечить полное отсутствие вредоносного кода.
  5. MSI-файлы, в отличие от инсталляционных пакетов exe, могут быть установлены на компьютеры настройками групповых политик, что ещё более повышает риск установки инсталляторов без цифровых подписей в производственных масштабах.

 

Список литературы:

  1. MITM атаки / [Электронный ресурс] // Хабр : [сайт]. — URL: https://habr.com/ru/articles/869898/ (дата обращения: 02.06.2025).
  2. Payload  / [Электронный ресурс] // Энциклопедия «Касперского» : [сайт]. — URL: https://encyclopedia.kaspersky.ru/glossary/payload/ (дата обращения: 30.04.2025).
  3. Кабинетный хак. Патчим инсталляторы MSI, содержащие CAB-архивы / [Электронный ресурс] // хакер : [сайт]. — URL: https://xakep.ru/2023/12/12/msi-cab-hack/ (дата обращения: 02.05.2025).
  4. Подмена файлов в HTTP трафике / [Электронный ресурс] // Хабр : [сайт]. — URL: https://habr.com/ru/articles/149137/  (дата обращения: 26.05.2025).
  5. Работа с реестром Windows / [Электронный ресурс] // Работа с реестром Windows: [сайт]. — URL: https://regedit.readthedocs.io/introduce.html (дата обращения: 20.05.2025).
  6. Создание msi-пакетов и установка любого ПО средствами групповых политик Windows / [Электронный ресурс] // Хабр: [сайт]. — URL: https://habr.com/ru/articles/141719/ (дата обращения: 20.04.2025).
  7. Уймин, А. Г. Сетевое и системное администрирование. Демонстрационный экзамен КОД 1.1 : учебно-методическое пособие для СПО / А. Г. Уймин. – 3-е издание, стереотипное. – Санкт-Петербург : Издательство "Лань", 2022. – 480 с. – ISBN 978-5-8114-9255-8.
  8. Установщик Windows / [Электронный ресурс] // Википедия : [сайт]. — URL: https://ru.wikipedia.org/wiki/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D1%89%D0%B8%D0%BA_Windows (дата обращения: 10.06.2025).
  9. Что такое спуфинг и как предотвратить спуфинг-атаку / [Электронный ресурс] // Медиацентр: [сайт]. — URL: https://www.cloudav.ru/mediacenter/tips/what-is-spoofing/ (дата обращения: 20.04.2025).

Оставить комментарий