Хабрахабр

Социальная инженерия с помощью программ Universal Windows Platform (APPX)

На картинке изображены различные устройства (ПК, смартфоны, IoT, Xbox, Surface Hub, Hololens), поддерживающие приложения Universal Windows Platform

Это можно использовать для атак социальной инженерии, с помощью рассылки через email — почтовые провайдеры не блокируют файлы APPX. TL;DR: В APPX-файл Universal Windows Platform можно упаковать обычный exe-файл, который будет запускаться в Windows 10 (сборка 1607 и новее) примерно так же, как обычные exe-файлы. Файл должен быть подписан действующей цифровой подписью.

Universal Windows Platform

Universal Windows Platform — (сравнительно) новый стандарт для создания универсальных приложений под Windows 10, Windows 10 Mobile, Xbox One и Hololens. Стандарт появился с выходом Windows 10, и предоставляет API с ограничением привилегий и изоляцией, формат контейнера и метаданных внутри него.
UWP-приложения широко представлены в Microsoft Store. Они самодостаточны, безопасны, не требуют прав администратора для установки, хранят настройки в строго отведённых местах, и могут быть удалены начисто, прямо из «пуска».

UWP — попытка Microsoft избавиться от старых архитектурных подходов к разработке программ: внедрить разделение привилегий так, как это сделано на мобильных платформах, уйти от WinAPI GUI с пиксельной сеткой (для полноценной поддержки экранов любой плотности пикселей).
Программы UWP можно писать на C#, C++, VB и JS, а в качестве GUI-фреймфорка предлагается к использованию XAML, DirectX и HTML.

До недавнего времени, UWP-программы могли быть только изолированными, но в сборке Windows 10 1607 Microsoft реализовала Desktop Bridge — возможность упаковки любых Win32-программ в виде UWP, без использования UWP API, ограничений привилегий и изоляции.
Эта функция открывает простор для атак социальной инженерии.

Формат APPX

UWP стандартизирует файловый формат APPX — обычный ZIP-архив, с определённой структурой. В APPX-файле должен быть AppxManifest.xml — файл с описанием содержимого пакета, который можно сгенерировать или создать самостоятельно.
В AppxManifest.xml указано название программы, описание, иконка, требуемые привилегии, имя файла для запуска и точка входа внутри него.
Чтобы APPX-файл можно было установить, он должен быть подписан действующей цифровой подписью с возможностью подписи кода, доверенного удостовещяющего центра.

Пример файла AppxManifest.xml с отключенной изоляцией

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"> <Identity Name="MyCompany.MySuite.MyApp" Version="1.0.0.0"
Publisher="CN=Contoso Software, O=Contoso Corporation, C=US"
ProcessorArchitecture="x64" /> <Properties> <DisplayName>test</DisplayName> <PublisherDisplayName>test</PublisherDisplayName> <Description>test</Description> <Logo>logo.png</Logo> </Properties> <Resources> <Resource Language="en-us" /> </Resources> <Dependencies> <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.15063.0" /> </Dependencies> <Capabilities> <rescap:Capability Name="runFullTrust"/> </Capabilities> <Applications> <Application Id="MyApp" Executable="MyApp.exe" EntryPoint="Windows.FullTrustApplication"> <uap:VisualElements DisplayName="MyApp" Description="MyApp" Square150x150Logo="logo.png" Square44x44Logo="logo.png" BackgroundColor="#666666" /> </Application> </Applications> </Package>

Самый простой вариант упаковки существующего Win32 exe-файла в appx с помощью Desktop Bridge — написать файл манифеста вручную, и создать appx-контейнер с помощью утилиты makeappx.exe, входящей в состав Windows SDK.

makeappx.exe pack /d input_directory /p output.appx

Затем подписать с помощью signtool.exe:

signtool.exe sign /f "mycert.pfx" /p "123456" /fd sha256 /tr http://timestamp.comodoca.com/?td=sha256 /td sha256 output.appx

Преимущества APPX для социальной инженерии

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

Your browser does not support HTML5 video.

Все популярные почтовые сервисы не блокируют APPX-файлы в приложениях к письму.
У Gmail есть странная особенность: файл должен быть размером больше 4 мегабайт.

Доставка APPX-файлов через почту Яндекс, Mail.ru и GMail

Резюме

Преимущества APPX Dekstop Bridge для вирусных рассылок:

  • Можно использовать «как exe-файл»
  • Не накладывает изоляции и ограничений привилегий
  • Устанавливается и запускается в один клик
  • Не фильтруется почтовыми серверами

Недостатки:

  • Требует сертификата для подписи кода
  • Работает только в Windows 10 1609 и новее

Ссылки

Пример файла APPX Desktop Bridge (с самоподписным сертификатом)
Инструкция по упаковке APPX
Инструкция по созданию файла манифеста вручную
Информация о Desktop Bridge

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть