Ingénierie sociale avec le logiciel Universal Windows Platform (APPX)

L'image montre divers appareils (PC, smartphones, IoT, Xbox, Surface Hub, Hololens) qui prennent en charge les applications de la plateforme Windows universelle

TL; DR : vous pouvez compresser un fichier .exe standard dans le fichier APPX de la plateforme Windows universelle qui s'exécutera sur Windows 10 (build 1607 et versions ultérieures) de la même manière que les fichiers .exe standard. Cela peut être utilisé pour les attaques d'ingénierie sociale, via la distribution de courrier électronique - les fournisseurs de messagerie ne bloquent pas les fichiers APPX. Le fichier doit être signé avec une signature numérique valide.

Plateforme Windows universelle

Plateforme Windows universelle - (comparativement) une nouvelle norme pour la création d'applications universelles pour Windows 10, Windows 10 Mobile, Xbox One et Hololens. La norme est apparue avec la sortie de Windows 10 et fournit une API avec restriction et isolation des privilèges, le format du conteneur et les métadonnées à l'intérieur.
Les applications UWP sont largement représentées dans le Microsoft Store. Ils sont autosuffisants, sûrs, ne nécessitent pas de droits d'administrateur pour l'installation, stockent les paramètres dans des endroits strictement désignés et peuvent être supprimés complètement, dès le "début".

UWP est une tentative de Microsoft pour se débarrasser des anciennes approches architecturales du développement logiciel: pour implémenter la séparation des privilèges comme cela se fait sur les plates-formes mobiles, pour s'éloigner de l'interface graphique WinAPI avec une grille de pixels (pour une prise en charge complète des écrans de toute densité de pixels).
Les programmes UWP peuvent être écrits en C #, C ++, VB et JS, et XAML, DirectX et HTML sont suggérés comme cadres de GUI.

Jusqu'à récemment, les programmes UWP ne pouvaient qu'être isolés, mais dans l'assemblage de Windows 10 1607, Microsoft a implémenté le Desktop Bridge - la possibilité de compresser tous les programmes Win32 en UWP, sans utiliser l'API UWP, les restrictions de privilèges et l'isolement.
Cette fonctionnalité ouvre la voie aux attaques d'ingénierie sociale.

Format APPX

UWP standardise le format de fichier APPX - une archive ZIP régulière avec une structure spécifique. Le fichier APPX doit contenir AppxManifest.xml - un fichier avec une description du contenu du package, que vous pouvez générer ou créer vous-même.
AppxManifest.xml contient le nom du programme, la description, l'icône, les privilèges requis, le nom du fichier à exécuter et le point d'entrée à l'intérieur.
Pour que le fichier APPX soit installé, il doit être signé avec une signature numérique valide avec la possibilité de signer un code approuvé par le centre notifiant.

Exemple de fichier AppxManifest.xml avec isolation désactivée
<?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> 

La façon la plus simple d'empaqueter un fichier exe Win32 existant dans appx à l'aide de Desktop Bridge est d'écrire le fichier manifeste manuellement et de créer le conteneur appx à l'aide de l'utilitaire makeappx.exe inclus dans le SDK Windows.
 makeappx.exe pack /d input_directory /p output.appx 

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


Avantages APPX pour l'ingénierie sociale

Les fichiers APPX peuvent être utilisés dans les listes de diffusion, en remplacement des fichiers exe, dans les cas où le serveur de messagerie filtre les messages avec des pièces jointes exe.
L'installation APPX se déroule en un clic, ne nécessite pas de droits d'administrateur. Dans le programme d'installation, la coche pour démarrer le programme après l'installation est cochée par défaut et le programme démarrera immédiatement si l'utilisateur ne le supprime pas.



Tous les services de messagerie courants ne bloquent pas les fichiers APPX dans les pièces jointes.
Gmail a une caractéristique étrange: le fichier doit être supérieur à 4 mégaoctets.

Livraison des fichiers APPX via Yandex, Mail.ru et GMail mail

Résumé

Avantages d' APPX Desktop Bridge pour la distribution de virus:
  • Vous pouvez utiliser "comme un fichier exe"
  • N'impose pas de restrictions d'isolement ou de privilèges
  • S'installe et s'exécute en un clic
  • Non filtré par les serveurs de messagerie

Inconvénients :
  • Nécessite un certificat pour signer un code
  • Fonctionne uniquement sur Windows 10 1609 et versions ultérieures.


Les références

Exemple de fichier APPX Desktop Bridge (avec certificat auto-signé)
Instruction d'emballage APPX
Instructions pour créer un fichier manifeste manuellement
Informations sur le pont de bureau

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


All Articles