Partage de dossiers avec l'hôte

Lorsque tu utilises Windows Sandbox, tu peux partager un ou plusieurs dossiers de ton ordinateur hôte pour les rendre accessibles dans l’environnement isolé. Cette fonctionnalité s’appelle Mapped Folders et permet de transférer des fichiers, scripts, outils ou ressources nécessaires aux tests. Bien utilisée, elle rend la sandbox beaucoup plus pratique ; mal utilisée, elle peut créer des risques de sécurité. Voici ce qu’il faut comprendre.

    5tq 6tq

Principe général

Pour partager un dossier de la machine hôte (host), tu ajoutes un bloc <MappedFolders> dans le fichier .wsb.

Chaque dossier partagé est décrit dans un bloc <MappedFolder>, et tu peux en définir un ou plusieurs.

Exemple de structure :

<MappedFolders>

    <MappedFolder>
        <HostFolder>C:\Chemin\Sur\Hote</HostFolder>
        <SandboxFolder>C:\Chemin\Dans\Sandbox</SandboxFolder>
        <ReadOnly>false</ReadOnly>
    </MappedFolder>

    <MappedFolder>
        ...
    </MappedFolder>

</MappedFolders>

Paramètres disponibles

HostFolder

Chemin du dossier sur l’hôte que tu veux partager.

  • Doit être absolu (les chemins relatifs ne fonctionnent pas).
  • Doit exister sur l’hôte, sinon la sandbox ne démarre pas.

SandboxFolder

Chemin du dossier à l’intérieur de la sandbox.

  • Peut être un chemin absolu (ex. C:\Data).
  • S’il n’existe pas, la sandbox le crée automatiquement.

Si tu ne précises pas de SandboxFolder, Windows Sandbox place automatiquement ce dossier partagé sur le bureau de l’utilisateur de la sandbox.

Le dossier partagé apparaît donc automatiquement ici :

C:\Users\WDAGUtilityAccount\Desktop\NomDuDossier

Le nom correspond au nom du dossier hôte.

Exemple:

<MappedFolders>
  <MappedFolder>
    <HostFolder>C:\Users\ecole\Documents\MesScripts</HostFolder>
  </MappedFolder>
</MappedFolders>

--> Le dossier MesScripts sera disponible sur le bureau de la SandBox.

ReadOnly

Détermine si le dossier est modifiable depuis la sandbox.

  • false (défaut) → lecture/écriture autorisées
  • true → la sandbox peut lire le dossier, mais pas écrire dedans

C’est un paramètre important pour contrôler le niveau de sécurité.


Plusieurs dossiers mappés

Tu peux ajouter autant de blocs <MappedFolder> que tu veux. Cela permet par exemple :

  • d’avoir un dossier contenant les scripts,
  • un autre contenant des binaires à analyser,
  • un troisième qui reçoit les résultats des tests.

Exemple :

<MappedFolders>
  <MappedFolder>
    <HostFolder>C:\Sandbox\Scripts</HostFolder>
    <ReadOnly>true</ReadOnly>
  </MappedFolder>

  <MappedFolder>
    <HostFolder>D:\Téléchargements\Logiciels</HostFolder>
    <ReadOnly>false</ReadOnly>
  </MappedFolder>
</MappedFolders>

Avantages des dossiers partagés

  • Transfert simple et rapide de fichiers entre l’hôte et la sandbox.
  • Parfait pour fournir des scripts ou des fichiers nécessaires à l’exécution d’un test.
  • Permet de récupérer des résultats (logs, captures, fichiers générés).
  • Fonctionne même sans réseau entre sandbox et hôte.
  • Idéal en combinaison avec <LogonCommand> pour automatiser des installations.

Risques et limites

  • Pont direct vers l’hôte, donc surface d’attaque plus large que dans une sandbox totalement isolée.

  • Si le mode n’est pas en lecture seule, un logiciel malveillant testé dans la sandbox pourrait :

    • modifier des fichiers de l’hôte,
    • supprimer des données,
    • injecter du contenu inattendu.
  • En lecture seule, les risques sont réduits, mais le simple accès en lecture peut déjà permettre de récupérer des données sensibles.

  • Les dossiers partagés sont incompatibles avec le mode sécurisé (<ProtectedClient>Enable</ProtectedClient>), car celui-ci coupe tous les ponts entre hôte et sandbox.

Dans le cadre de tests de programmes potentiellement dangereux, tout dossier partagé en lecture/écriture entre l'hôte et la SandBox doit être considéré comme dangereux, puisque leur contenu pourrait avoir été infecté.


Bonnes pratiques

  • Utilise ReadOnly=true par défaut, sauf si tu as réellement besoin d’écrire dans le dossier.

  • N’expose que le strict nécessaire : un seul petit dossier vaut mieux que partager tout Documents.

  • Pour analyser un fichier potentiellement dangereux, préfère :

    • un dossier en lecture seule (pour y lire l’échantillon), ou
    • aucun dossier mappé si tu veux un isolement maximal.
  • Si tu veux un environnement 100% isolé (analyse de malware) : ne partage aucun dossier et active <ProtectedClient>Enable</ProtectedClient>.


Pour aller plus loin