Engenharia social com software Universal Windows Platform (APPX)

A imagem mostra vários dispositivos (PCs, smartphones, IoT, Xbox, Surface Hub, Hololens) compatíveis com aplicativos da Plataforma Universal do Windows

TL; DR : você pode compactar um arquivo .exe regular no arquivo APPX da Plataforma Universal do Windows que será executado no Windows 10 (compilação 1607 e mais recente) da mesma maneira que os arquivos .exe comuns. Isso pode ser usado para ataques de engenharia social, via distribuição de email - os provedores de email não bloqueiam arquivos APPX. O arquivo deve ser assinado com uma assinatura digital válida.

Plataforma universal do windows

Plataforma Universal do Windows - (comparativamente) um novo padrão para a criação de aplicativos universais para Windows 10, Windows 10 Mobile, Xbox One e Hololens. O padrão apareceu com o lançamento do Windows 10 e fornece uma API com restrição e isolamento de privilégios, o formato do contêiner e os metadados dentro dele.
Os aplicativos UWP são amplamente representados na Microsoft Store. Eles são auto-suficientes, seguros, não exigem direitos de administrador para instalar, armazenam configurações em locais estritamente designados e podem ser removidos completamente, desde o "início".

O UWP é uma tentativa da Microsoft de se livrar das antigas abordagens arquitetônicas do desenvolvimento de software: implementar a separação de privilégios, como é feito em plataformas móveis, para se afastar da GUI do WinAPI com uma grade de pixels (para suporte total a telas de qualquer densidade de pixels).
Os programas UWP podem ser escritos em C #, C ++, VB e JS, e XAML, DirectX e HTML são sugeridos como estruturas da GUI.

Até recentemente, os programas UWP só podiam ser isolados, mas na montagem do Windows 10 1607 a Microsoft implementava o Desktop Bridge - a capacidade de compactar qualquer programa Win32 como UWP, sem usar a API UWP, restrições de privilégios e isolamento.
Esse recurso abre espaço para ataques de engenharia social.

Formato APPX

O UWP padroniza o formato do arquivo APPX - um arquivo ZIP comum com uma estrutura específica. O arquivo APPX deve conter AppxManifest.xml - um arquivo com uma descrição do conteúdo do pacote, que você pode gerar ou criar você mesmo.
AppxManifest.xml contém o nome do programa, descrição, ícone, privilégios necessários, o nome do arquivo a ser executado e o ponto de entrada dentro dele.
Para que o arquivo APPX seja instalado, ele deve ser assinado com uma assinatura digital válida, com a capacidade de assinar um código confiável pelo centro de notificação.

Arquivo AppxManifest.xml de exemplo com isolamento desabilitado
<?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> 

A maneira mais fácil de empacotar um arquivo exe do Win32 existente no appx usando o Desktop Bridge é gravar o arquivo de manifesto manualmente e criar o contêiner appx usando o utilitário makeappx.exe incluído no Windows SDK.
 makeappx.exe pack /d input_directory /p output.appx 

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


Benefícios APPX para engenharia social

Os arquivos APPX podem ser usados ​​em listas de endereçamento, em substituição aos arquivos exe, nos casos em que o servidor de email filtra as mensagens com anexos exe.
A instalação do APPX ocorre em um clique, não requer direitos de administrador. No instalador, a marca de seleção para iniciar o programa após a instalação é marcada por padrão, e o programa será iniciado imediatamente se o usuário não o remover.



Todos os serviços de email populares não bloqueiam arquivos APPX nos anexos de email.
O Gmail tem um recurso estranho: o arquivo deve ter mais de 4 megabytes.

Entrega de arquivos APPX via correio Yandex, Mail.ru e GMail

Sumário

Benefícios do APPX Desktop Bridge para distribuição de vírus:
  • Você pode usar "como um arquivo exe"
  • Não impõe restrições de isolamento ou privilégio
  • Instala e executa em um clique
  • Não filtrado pelos servidores de email

Desvantagens :
  • Requer um certificado para assinar um código
  • Funciona apenas no Windows 10 1609 e posterior.


Referências

Arquivo APPX Desktop Bridge de exemplo (com certificado autoassinado)
Instrução de embalagem APPX
Instruções para criar um arquivo de manifesto manualmente
Informações da ponte da área de trabalho

Source: https://habr.com/ru/post/pt430692/


All Articles