Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
qvm-create-windows-qube — Déployez de nouveaux qubes Windows rapidement, sans effort et en toute sécurité sur Qubes OS | Kitploit
Outils/GitHubGitHub/qubesos/qvm-create-windows-qube
OSINT (Renseignement de Sources Ouvertes)Virtualisation de SécuritéProtection de la Vie Privée
GitHubqubesos/qvm-create-windows-qube

qvm-create-windows-qube

Déployez de nouveaux qubes Windows rapidement, sans effort et en toute sécurité sur Qubes OS

Voir le dépôtSite web
40349il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Logo

Qvm-Create-Windows-Qube

Lancez de nouveaux qubes Windows rapidement, sans effort et en toute sécurité

Build Travis CI Licence Conçu pour Qubes OS

À propos

Qvm-Create-Windows-Qube est un outil pour installer rapidement et facilement de nouveaux qubes Windows avec les pilotes Qubes Windows Tools (QWT) automatiquement. Il prend officiellement en charge Windows 7, 8.1 et 10 ainsi que Windows Server 2008 R2, 2012 R2, 2016 et 2019.

Le projet met l'accent sur la justesse, la sécurité et le traitement de Windows comme un système d'exploitation invité non fiable tout au long du processus. L'installation se déroule à 100 % sans connexion réseau (air gapped) et propose une intégration facultative de Whonix sur le qube Windows final pour une confidentialité accrue. Atteindre ces objectifs avec le moins de lignes de code possible pour garantir simplicité et minimalisme est essentiel.

Il offre également d'autres commodités comme l'installation automatique de paquets incluant Firefox, Office 365, Notepad++, Visual Studio et plus encore via Chocolatey pour vous permettre de démarrer rapidement dans votre nouvel environnement.

Comme présenté sur : Icône Hacker News Hacker News | Fièrement classé dans le top 10 de la page d'accueil de Hacker News ainsi qu'à la première place pour Show HN

Installation

  1. Téléchargez le script d'installation en ouvrant le lien, en faisant un clic droit et en sélectionnant « Enregistrer [la page] sous... »
  2. Copiez install.sh dans Dom0 en exécutant la commande suivante dans Dom0 :
    • qvm-run -p --filter-escape-chars --no-color-output <name_of_qube_script_is_located_on> "cat '/home/user/Downloads/install.sh'" > install.sh
    • Assurez-vous de bien prendre tous les guillemets simples et doubles
  3. Vérifiez le code de install.sh pour garantir son intégrité
    • Plus sûr avec le filtrage des caractères d'échappement activé à l'étape précédente ; qvm-run le désactive par défaut lorsque la sortie est un fichier
  4. Exécutez chmod +x install.sh && ./install.sh
    • Notez que cela installera les paquets dans le TemplateVM global par défaut, qui est fedora-XX par défaut
  5. Vérifiez le code du fichier résultant /usr/bin/qvm-create-windows-qube

Mise à jour

Pour mettre à jour Qvm-Create-Windows-Qube, commencez par supprimer la machine virtuelle windows-mgmt et le programme principal en exécutant la commande suivante dans Dom0 :

qvm-remove -f windows-mgmt && sudo rm /usr/bin/qvm-create-windows-qube

Enfin, suivez les étapes d'installation ci-dessus pour réinstaller.

Notez que cela supprimera également toutes les ISO Windows déjà téléchargées. Cela peut être souhaitable dans le cas où Microsoft a mis à jour les ISO Windows (ce qui signifie que vous devriez de toute façon les télécharger à nouveau). Cependant, si vous souhaitez éviter de télécharger à nouveau les ISO Windows, naviguez simplement vers /home/user/qvm-create-windows-qube/windows/isos dans la machine virtuelle windows-mgmt et copiez son contenu vers un autre qube (de préférence jetable). Une fois la réinstallation terminée, copiez ces ISO de retour dans windows-mgmt dans le répertoire susmentionné.

Utilisation```

Usage: qvm-create-windows-qube [options] -i -a -h, --help -c, --count Number of Windows qubes with given basename desired -t, --template Make this qube a TemplateVM instead of a StandaloneVM -n, --netvm NetVM for Windows to use -s, --seamless Enable seamless mode persistently across reboots -o, --optimize Optimize Windows by disabling unnecessary functionality for a qube -y, --spyless Configure Windows telemetry settings to respect privacy -w, --whonix Apply Whonix recommended settings for a Windows-Whonix-Workstation -p, --packages Comma-separated list of packages to pre-install (see available packages at: https://chocolatey.org/packages) -P, --pool LVM storage pool to install Windows on (https://www.qubes-os.org/doc/secondary-storage/) -i, --iso Windows media to automatically install and setup -a, --answer-file Settings for Windows installation

root@kitploit:~
### Téléchargement d'ISO Windows

Mido (`mido.sh`) est le téléchargeur sécurisé de Microsoft Windows (pour Unix), inspiré de [Fido](https://github.com/pbatard/Fido) de [Rufus](https://github.com/pbatard/rufus). Il est capable d'automatiser le processus de téléchargement de quelques ISO Windows que Microsoft a placés derrière une [interface web de téléchargement avec restriction d'accès](https://www.microsoft.com/fr-fr/software-download/windows10ISO). Mido est robuste et télécharge de manière sécurisée les ISO Windows depuis les serveurs officiels de Microsoft pour être utilisés par Qvm-Create-Windows-Qube. Vous le trouverez dans `/home/user/qvm-create-windows-qube/windows/isos/mido.sh` dans `windows-mgmt`.

`windows-mgmt` est isolé du réseau (air gap). Cela signifie que pour effectuer le téléchargement de manière sécurisée, vous devez copier le script `mido.sh` vers un autre qube (jetable) puis transférer les ISO nouvellement téléchargés dans `windows-mgmt` et les placer dans le répertoire `/home/user/qvm-create-windows-qube/windows/isos`. Alternativement, `windows-mgmt` peut temporairement avoir accès au réseau, mais cela n'est pas recommandé pour des raisons de sécurité.

Une fois générés, les ISO Windows sont mis en cache dans `/home/user/qvm-create-windows-qube/windows/out` pour une utilisation ultérieure. Si vous téléchargez un ISO mis à jour avec Mido, assurez-vous de supprimer le même ISO du répertoire de cache susmentionné. Cela forcera la régénération du cache à partir de l'ISO mis à jour.

Pour les lecteurs avancés : Qvm-Create-Windows-Qube adopte une approche générique pour la gestion des ISO qui peut fonctionner avec n'importe quel ISO Windows. Si vous avez votre propre ISO Windows que vous souhaitez utiliser, seul un très léger ajustement au fichier de réponse le plus proche (notamment la clé `/IMAGE/NAME`) serait probablement nécessaire pour le faire fonctionner. Vous pouvez obtenir les valeurs `/IMAGE/NAME` valides pour votre ISO en analysant le `install.wim` à l'intérieur à l'aide de la commande `wiminfo` (fournie par `wimlib-utils` sur Fedora ou `wimtools` sur Debian) ou depuis Windows en utilisant Windows ADK.

### Création d'une VM Windows

**Important :** Assurez-vous de lire la section [Problèmes connus des outils Windows Qubes](https://github.com/ElliotKillick/qvm-create-windows-qube#qubes-windows-tools-known-issues) ci-dessous pour un petit problème en amont.

#### Windows 10

*[Démonstration vidéo](https://www.youtube.com/watch?v=cCi2MOUwS_Q)*

`qvm-create-windows-qube -n sys-firewall -oyp firefox,notepadplusplus,office365proplus -i win10x64.iso -a win10x64-pro.xml work-win10`

`qvm-create-windows-qube -n sys-firewall -oyp steam -i win10x64.iso -a win10x64-pro.xml game-console`

#### Windows Server 2019

`qvm-create-windows-qube -n sys-firewall -oy -i win2019-eval.iso -a win2019-datacenter-eval.xml fs-win2019`

#### Windows 10 Entreprise LTSC

- Une version plus stable, allégée, sécurisée et privée de Windows 10 officiellement fournie par Microsoft
- Cette version de Windows 10 est recommandée à ceux qui recherchent le meilleur en matière de sécurité et de confidentialité sous Windows

`qvm-create-windows-qube -n sys-firewall -oyp firefox,notepadplusplus,office365proplus -i win10x64-enterprise-ltsc-eval.iso -a win10x64-enterprise-ltsc-eval.xml work-win10`

`qvm-create-windows-qube -n sys-whonix -oyw -i win10x64-enterprise-ltsc-eval.iso -a win10x64-enterprise-ltsc-eval.xml anon-win10`

#### Windows 7

- Non recommandé car Windows 7 n'est [plus supporté](https://github.com/ElliotKillick/qvm-create-windows-qube#advisories) par Microsoft, cependant c'est le seul système d'exploitation de bureau que le pilote GUI de Qubes (dans Qubes Windows Tools) prend en charge si une intégration transparente des fenêtres ou un redimensionnement dynamique est requis.

*[Démonstration vidéo](https://www.youtube.com/watch?v=duUM1VLrXIQ)*

`qvm-create-windows-qube -n sys-firewall -soyp firefox,notepadplusplus,office365proplus -i win7x64-ultimate.iso -a win7x64-ultimate.xml work-win7`

## Sécurité

Qvm-Create-Windows-Qube est « raisonnablement sécurisé » comme [Qubes](https://www.qubes-os.org) le souhaite.

- `windows-mgmt` est isolé du réseau (air gap)
- L'intégralité du processus de configuration du qube Windows est effectuée hors ligne
    - Exception : Si (et seulement si) des paquets sont configurés pour l'installation, alors Windows sera autorisé à accéder à Internet à la toute fin de l'installation du qube Windows
- Toute une classe de vulnérabilités d'injection de commandes est éliminée dans le script shell Dom0 en ne lui permettant pas d'analyser les sorties du qube `windows-mgmt` non fiable
    - Seuls les codes de sortie sont transmis par `qvm-run` ; aucune variable
    - Cela atténue également les conséquences d'une autre vulnérabilité [Shellshock](https://fr.wikipedia.org/wiki/Shellshock) Bash
- Le téléchargement des ISO Windows est sécurisé en imposant :
    - Les ISO sont téléchargés directement depuis les sous-domaines contrôlés par Microsoft de `microsoft.com`
    - HTTPS TLS 1.2/1.3
    - Vérification SHA-256 des fichiers après téléchargement
        - Chaque fichier est enregistré avec l'extension `.UNVERIFIED` jusqu'à ce qu'il soit certain que sa somme de contrôle corresponde
    - Mido est écrit de manière robuste en POSIX sh (le shell Dash minimal sera utilisé s'il est disponible) afin que l'interaction avec l'interface web de téléchargement avec restriction d'accès de Microsoft soit plus sécurisée
        - Pour plus de sécurité, il pourrait même être exécuté dans un shell Rust compatible POSIX (par exemple nsh) avec des coreutils Rust (par exemple uutils). Ce n'est pas la configuration par défaut.
- Windows est traité comme un système d'exploitation invité non fiable tout au long du processus
- L'impact d'éventuelles vulnérabilités théoriques dans la gestion de l'ISO Windows (par exemple vulnérabilité dans l'analyse du système de fichiers) ou du fichier de réponse est limité à `windows-mgmt`
- Tous les commits des mainteneurs sont toujours signés avec leurs clés PGP respectives
    - Si la signature cesse un jour, supposez une compromission
    - Mainteneur actuel 1 : [Elliot Killick](https://github.com/ElliotKillick)
        - Clé PGP ([sous-clé de signature de code](https://keys.openpgp.org/search?q=EEEE+6403+CE85+0791+ECB1+F820+7C4E+CB25+B6B1+C0DE)) : EEEE 6403 CE85 0791 ECB1 F820 7C4E CB25 B6B1 C0DE
        - Email : [[email protected]](https://keys.openpgp.org/search?q=contact%40elliotkillick.com)
        - Cette clé est nouvelle à partir du 28 mai 2024
    - Mainteneur actuel 2 : [Frédéric Pierret](https://github.com/fepitre)
        - Clé PGP : 9FA6 4B92 F95E 706B F28E 2CA6 4840 10B5 CDC5 76E2
        - Email : [[email protected]](https://keys.openpgp.org/search?q=frederic.pierret%40qubes-os.org)
        - Principalement concerné par le support de Qubes R4.1
            - Voir la branche `release4.1` et [qubes-mgmt-salt-windows-mgmt](https://github.com/fepitre/qubes-mgmt-salt-windows-mgmt)

### Windows

#### Maintenance

N'oubliez pas d'appliquer toutes les mises à jour applicables lors de la création de votre qube Windows. Microsoft construit fréquemment des ISO à jour pour les versions actuelles de Windows, telles que Windows 10. Pour ces versions de Windows, il est recommandé de télécharger périodiquement la dernière version à l'aide de Mido pour obtenir une image Windows fraîche dès l'installation.

#### Avis

Windows 7 et Windows Server 2008 R2 ont atteint leur fin de vie (EOL) le [14 janvier 2020](https://support.microsoft.com/fr-fr/help/4057281/windows-7-support-will-end-on-january-14-2020).

## Confidentialité

Qvm-Create-Windows-Qube vise à être le moyen le plus privé d'utiliser Windows. De nombreux utilisateurs de Qubes sont passés de Windows (ou d'un autre système d'exploitation propriétaire) en partie pour s'éloigner de Microsoft (ou des Big Tech en général) et donc pouvoir utiliser Windows à une distance sécurisée est d'une importance capitale pour ce projet. Ou du moins, une distance aussi sécurisée que possible pour ce qui est essentiellement un énorme blob binaire propriétaire.

### Télémétrie Windows

Configure les paramètres de télémétrie de Windows pour respecter la confidentialité.

- Refus du programme d'amélioration de l'expérience client (CEIP)
- Désactiver le signalement d'erreurs Windows (WER)
- Désactiver le service DiagTrack
- Désactiver toute la télémétrie dans l'application "Paramètres" de Windows 10
- Activer le niveau de télémétrie ["Sécurité"](https://docs.microsoft.com/fr-fr/windows/privacy/configure-windows-diagnostic-data-in-your-organization#diagnostic-data-settings) sur les éditions compatibles de Windows 10
- Voir `spyless.bat` pour plus d'informations

### Recommandations Whonix pour Windows-Whonix-Workstation

Tout ce qui est mentionné [ici](https://www.whonix.org/wiki/Other_Operating_Systems) jusqu'à "Even more security" est implémenté. "Most security" consiste à utiliser un Whonix-Workstation officiel compilé vous-même à partir des sources. Cette fonctionnalité n'est pas officielle ni approuvée par Whonix.

Il est recommandé de lire [cette](https://www.whonix.org/wiki/Windows_Hosts) documentation Whonix pour comprendre les implications de l'utilisation de Windows de cette manière.

### Empreinte facile à réinitialiser

Il existe d'innombrables identifiants uniques dans chaque installation Windows, tels que MachineGUID, l'ID d'installation, les numéros de série de volume (VSN) du système de fichiers NTFS, etc. Avec Qvm-Create-Windows-Qube, ces identifiants uniques peuvent facilement être réinitialisés en réinstallant automatiquement Windows.

### Limitations

L'empreinte (fingerprinting) est possible via l'hyperviseur en cas de compromission de la VM, voici quelques exemples pratiques (non spécifiques à Windows) :

- [Horloge source Xen comme horloge murale](https://phabricator.whonix.org/T389)
    - La fuite de fuseau horaire peut au moins être atténuée en configurant l'heure UTC dans le BIOS/UEFI
        - Le fuseau horaire local peut toujours être configuré pour l'horloge XFCE Dom0 et dans les VM souhaitées en exécutant `timedatectl set-timezone` à chaque démarrage en utilisant le standard `/rw/config/rc.local` fourni par Qubes
    - Cependant, la corrélation temporelle entre les VM reste triviale
- [CPUID](https://github.com/QubesOS/qubes-issues/issues/1142)
- Généralement, certaines des interfaces VM documentées [ici](https://www.qubes-os.org/doc/vm-interface/) (par exemple les dimensions de l'écran)

## Foire Aux Questions (FAQ)

### Ai-je besoin d'une licence Windows pour utiliser ce projet ?

Non, chaque installation de Windows est accompagnée d'une clé de produit d'essai intégrée qui est utilisée par défaut si aucune autre n'est fournie. Qvm-Create-Windows-Qube spécifie explicitement aucune clé de produit dans les fichiers de réponse afin d'utiliser la clé d'essai par défaut.

Sur les versions grand public de Windows telles que (non entreprise) 7, 8.1 et 10, ces essais se prolongent indéfiniment avec la compréhension qu'un filigrane ou une fenêtre contextuelle peut commencer à apparaître demandant l'activation du produit.

Sur les versions Windows Enterprise Evaluation et Server Evaluation, une fois l'essai terminé, la machine s'arrêtera automatiquement (et sans avertissement) après avoir été allumée pendant un laps de temps défini par le service de surveillance de licence Windows (`C:\Windows\System32\wlms\wlms.exe` ; il se trouve dans un dossier caché). Lorsque cela se produit, la raison de l'arrêt susmentionnée sera consignée dans l'Observateur d'événements. Pour renouveler l'essai, exécutez `slmgr /rearm` dans l'invite de commandes. Cela fonctionnera pour le nombre de fois spécifié dans `slmgr /dlv` (cela peut varier), après quoi le produit doit être activé ou réinstallé.

Il est recommandé de licencier le produit lorsque l'essai expire dans tous les cas.

Donner à Windows un accès à Internet n'est pas nécessaire pour utiliser la clé d'essai (car elle est intégrée dans chaque ISO). Cependant, cela est nécessaire pour activer Windows avec votre propre clé de produit (sauf si vous effectuez une activation par téléphone).

### Quel est le but de l'AppVM `windows-mgmt` ? Puis-je la supprimer une fois l'installation de Windows terminée ?

Le but de l'AppVM `windows-mgmt` est d'isoler de manière sécurisée tout ce qui se passe lors de l'installation de Windows dans une seule machine virtuelle. Ainsi, l'exploitation de tout bogue existant, par exemple dans le code d'analyse du système de fichiers ISO Linux, est limitée dans les dégâts qu'elle peut causer si un ISO Windows est malveillant. C'est le principe de sécurité sur lequel tout Qubes OS est construit, connu sous le nom de "sécurité par isolement" ou "sécurité par compartimentation".

N'hésitez pas à supprimer `windows-mgmt` si vous êtes sûr de ne plus vouloir créer de VM Windows. Cependant, si c'est juste l'espace disque que vous souhaitez récupérer, vous pouvez simplement supprimer les ISO situés dans `/home/user/qvm-create-windows-qube/windows/isos` et `/home/user/qvm-create-windows-qube/windows/out` (dans `windows-mgmt`) pour économiser la grande majorité de cet espace.

### Y a-t-il autre chose que je devrais savoir ?

N'activez pas "Inclure dans l'équilibrage de la mémoire" (la case à cocher) dans les paramètres du qube Windows. Cette fonctionnalité de Qubes OS est actuellement instable sous Windows et son activation entraînera des plantages fréquents de Windows (écrans bleus).

## Contribuer

Vous pouvez commencer par donner une étoile à ce projet ! Les PR de haute qualité sont également les bienvenues ! Jetez un œil à la liste des tâches ci-dessous si vous cherchez des choses à améliorer. D'autres améliorations telles que des manières plus élégantes d'accomplir une tâche, un nettoyage du code et d'autres correctifs sont également les bienvenues.

Beaucoup de [GSoC](https://www.qubes-os.org/gsoc/) liés à Windows pour les personnes intéressées.

Le logo de ce projet est de Max Andersen, utilisé avec autorisation écrite.

Ce projet est le fruit d'un effort indépendant qui n'est pas officiellement approuvé par Qubes OS.

## Problèmes connus des outils Windows Qubes

- Le nouvel installateur QWT désactive la création de disques privés par défaut
    - Cela est probablement dû à des préoccupations de stabilité ?
    - Impossible de créer une TemplateVM

### Avis sur les pilotes Xen plus récents (pour les anciens OS comme Windows 7)

Dans Qubes R4.1, Qubes Windows Tools est livré avec des pilotes plus récents qui fonctionnent mieux sur les versions plus récentes de Windows, telles que Windows 10. Malheureusement, il a également été documenté que ces nouveaux pilotes fonctionnent moins bien avec les anciennes versions de Windows telles que Windows 7. Idéalement, les correctifs devraient être regroupés dans un seul pilote, mais cela n'a pas encore eu lieu.

Windows 7 est un système d'exploitation en fin de vie à ce stade, donc c'est moins important. Cependant, il existe encore des raisons valables d'utiliser (au moins une machine Windows 7 isolée) (par exemple à des fins de recherche/test technique).

Des membres de la communauté documentent cette expérience (je peux également en témoigner) sur le forum Qubes OS et dans quelques problèmes GitHub de Qubes OS.

#### Fils de discussion sur les listes de diffusion

- [qubes-users](https://groups.google.com/forum/#!topic/qubes-users/AdQcjg7XOFo)
- [qubes-devel](https://groups.google.com/forum/#!topic/qubes-devel/aCCGpYysZTQ)

#### Problèmes GitHub de Qubes OS étiquetés Windows

- [`C: windows-tools`](https://github.com/QubesOS/qubes-issues/labels/C%3A%20windows-tools)
- [`C: windows-vm`](https://github.com/QubesOS/qubes-issues/labels/C%3A%20windows-vm)

## À faire- [x] Acquérir la capacité de dépaqueter/insérer un fichier de réponse/repaqueter de manière fiable pour tout fichier ISO contenant un système de fichiers UDF ([ISO 13346](https://en.wikipedia.org/wiki/Universal_Disk_Format), c'est-à-dire le format ISO Windows)
    - Les conteneurs de fichiers ISO sont essentiellement des systèmes de fichiers en écriture unique ; vous ne pouvez pas simplement ajouter un fichier sans créer un nouvel ISO complet
    - L'ouverture d'un fichier ISO officiel de Microsoft Windows dans un éditeur hexadécimal montre clairement qu'il contient un système de fichiers UDF et mentionne spécifiquement `ISO-13346` en haut
    - Notez que la commande `file` peut légèrement mal identifier ces fichiers ISO comme étant au format ISO 9660 désormais supplanté, mais c'est probablement uniquement parce que « UDF partage le descripteur de volume de base avec ISO 9660 »
    - C'est la même méthode qu'utilise VMWare, comme on peut le voir dans la partie « Creating Disk... » de la vidéo ci-dessous (Des recherches supplémentaires indiquent qu'ils utilisent `mkisofs`)
    - [ ] À l'avenir, il serait préférable que Qubes le fasse en [étendant le core admin pour les templates XML libvirt](https://github.com/QubesOS/qubes-issues/issues/5085)
        - Plus rapide
        - Économise du stockage car il n'est pas nécessaire de créer un nouvel ISO
- [x] auto-qwt prend D:\\ ce qui fait que QWT place le profil utilisateur sur E:\\ ; il serait plus agréable de l'avoir sur D:\\ pour qu'il n'y ait pas d'espace vide gênant au milieu
- [x] Faire en sorte que le fichier de réponse Windows utilise automatiquement la clé d'essai par défaut pour l'installation de Windows sans coder en dur aucune clé de produit (Windows est pointilleux sur ce point)
- [x] Prendre en charge Windows 8.1-10 (Remarque : QWT ne prend pas encore officiellement en charge d'autre OS que Windows 7, cependant, tout est fonctionnel sauf le pilote graphique)
- [x] Prendre en charge Windows Server 2008 R2 à Windows Server 2019
- [x] Prendre en charge Windows 10 Entreprise LTSC (Canal de maintenance à long terme)
    - Fournit des mises à jour de sécurité pendant 10 ans, très stable et moins de bloat que Windows 10 standard
- [ ] Prendre en charge Windows 11
    - Qvm-Create-Windows-Qube a été conçu pour être indépendant de la version de Windows, le seul vrai travail à faire ici est de créer un fichier de réponse (probablement en modifiant légèrement celui de Windows 10) et de l'ajouter à `mido.sh` (ce qui ne sera pas un problème maintenant que j'ai étendu sa fonctionnalité pour télécharger depuis l'API de téléchargement d'ISO Microsoft derrière un portail)
    - La vraie question est de savoir si les outils Qubes Windows fonctionneront sous Windows 11
        - Microsoft a un excellent bilan en matière de compatibilité ascendante, même au niveau de l'API du noyau (car les entreprises aiment la rétrocompatibilité), il est donc possible que cela fonctionne parfaitement
        - Aide recherchée, testeurs bienvenus
- [x] Provisionner Chocolatey
- [x] Ajouter une option pour alléger Windows comme documenté pour Qubes [ici](https://www.qubes-os.org/doc/windows-template-customization/)
- [x] Rendre `windows-mgmt` air gap
- [x] Étendre la fonctionnalité de `download-windows.sh` (maintenant `mido.sh`) pour télécharger des ISO depuis l'API de téléchargement d'ISO Microsoft derrière un portail
- [ ] J'ai récemment découvert que c'est un projet [Google Summer of Code](https://www.qubes-os.org/gsoc/) pour Qubes
    - [x] Ajouter des tests automatisés
        - Utilisation de Travis CI pour des ShellCheck automatisés
    - [x] Tables ACPI pour récupérer la licence Windows intégrée
        - Plus d'informations trouvées à ce sujet, cela devrait être très simple en plaçant l'extension de template jinja libvirt suivante dans `/etc/qubes/templates/libvirt/xen/by-name/<windows_qube>`
            - Merci à @jevank pour le [patch](https://github.com/QubesOS/qubes-issues/issues/5279#issuecomment-525947408)
    - [ ] Porter en Python
        - Cela semblerait inutile pour des scripts comme `create-media.sh` où le script Python appellerait simplement des programmes externes
        - Cela conviendrait certainement pour le programme `qvm-create-windows-qube`
            - Cela nous permettrait d'échanger des données entre Dom0 et la VM sans craindre une éventuelle injection de commande ou un autre Shellshock
- [ ] Sélectionner automatiquement le fichier de réponse à utiliser en fonction des caractéristiques de l'ISO Windows obtenues via la commande `wiminfo` (Actuellement en cours ; voir branche)
    - `wiminfo` fonctionne comme DISM sous Windows
    - [ ] Une fois que le core admin sera étendu pour permettre les templates XML libvirt (fichiers de réponse) (todo précédent, c'est un problème bloquant), nous pourrions aussi lire de manière sécurisée les caractéristiques de install.wim depuis l'ISO sans même avoir à monter l'ISO en tant que périphérique loop en utilisant [`libguestfs`](https://libguestfs.org)
        - J'ai aussi vu `libguestfs` utilisé sur QEMU/KVM, c'est donc un bon candidat pour ce cas d'utilisation
        - Notez que `libguestfs` ne peut pas écrire (un fichier de réponse) sur un ISO, c'est pourquoi il n'y a pas d'intérêt à utiliser cette bibliothèque tant que nous n'avons plus besoin de créer un nouvel ISO complet pour y ajouter le fichier de réponse
- [x] Suivre la [documentation Whonix](https://www.whonix.org/wiki/Other_Operating_Systems) pour créer Windows-Whonix-Workstation
- [ ] Ajouter une fonctionnalité à `create-media.sh` pour ajouter des MSU (packages de mise à jour autonomes Microsoft) à installer pendant le passage Windows PE (spécifiquement « Installation des mises à jour... ») de l'installation de Windows
    - Nous pourrions corriger l'installation actuellement non fonctionnelle de QWT pour les anciens ISO Windows 7 SP1 et Windows Server 2008 (non-R2) en utilisant [KB4474419](https://github.com/QubesOS/qubes-issues/issues/3585#issuecomment-521280301) pour ajouter la prise en charge de la signature de pilotes SHA-256
        - L'autre option est de faire en sorte que Xen signe ses pilotes également avec SHA-1, ce que d'autres fournisseurs de pilotes semblent faire, mais ce n'est pas idéal du point de vue de la sécurité
    - Permet de se débarrasser du hack `allow-drivers.vbs` en corrigeant le bug d'installation *automatique* des pilotes SHA-256 dans les versions plus récentes de Windows 7 avec KB2921916 (voir `allow-drivers.vbs` pour les détails)
        - Ce bug Windows a été délibérément corrigé puis dé-corrigé par Microsoft dans le but de forcer les entreprises à passer à Windows 10
    - Corriger quelques bugs de sécurité Windows ?
        - Corriger BlueKeep pour Windows 7 dès la sortie de l'ISO
        - L'ISO de base de Windows Server 2008 R2 est également vulnérable à ETERNALBLUE et BlueKeep dès la sortie
        - Probablement pas intéressant d'entrer dans ce sujet, les utilisateurs devraient simplement mettre à jour la VM après l'avoir créée
- [ ] Mode sans tête (Headless)
    - Aide recherchée
        - Quel mécanisme existe pour y parvenir dans Qubes ? Quelque chose dans l'agent/daemon graphique de Qubes ?
- [ ] Empaqueter ce projet pour que sa livraison puisse être plus rationalisée et sécurisée via `qubes-dom0-update`
- [ ] Ajouter la prise en charge de [ReactOS](https://reactos.org) en tant qu'alternative open source à Windows
    - Ce serait bien, au moins jusqu'à ce qu'un [template ReactOS soit créé](https://github.com/QubesOS/qubes-issues/issues/2809)
    - Peut-être que les développeurs de ReactOS voudront utiliser ce projet pour développer ReactOS
    - Ou peut-être simplement ajouter ReactOS en tant que template (en dehors de ce projet)
        - Cependant, quelqu'un devrait maintenir ce template
        - De plus, cela n'aurait peut-être pas beaucoup d'intérêt si les pilotes QWT/Xen ne fonctionnent pas
            - Du moins pour les fonctionnalités de base comme le copier-coller et le transfert de fichiers
    - Intérêt des deux côtés
        - [Qubes OS](https://github.com/QubesOS/qubes-issues/issues/2809)
        - [ReactOS](https://reactos.org/forum/viewtopic.php?p=126279#p126279)
            - « l'une des offres de collaboration les plus intéressantes que nous ayons reçues à ce jour »
    - Les [installations automatisées de ReactOS](https://reactos.org/wiki/Create_an_unattended_Installation_CD) semblent être différentes de celles de Windows
    - [ ] Le seul problème bloquant que j'ai trouvé est le type de contrôleur SCSI QEMU
        - Qubes pourrait étendre le core admin pour prendre en charge la configuration du contrôleur SCSI dans le template libvirt
            - Cette solution semble meilleure car, selon [ce commentaire](https://github.com/QubesOS/qubes-issues/issues/3651#issuecomment-420914348), cela corrigerait également un tas d'autres OS dont l'installateur ne prend pas en charge notre contrôleur SCSI actuel
        - ReactOS pourrait ajouter la prise en charge de notre type de contrôleur SCSI actuel
        - [Problème ReactOS](https://reactos.org/forum/viewtopic.php?t=17529)
        - [Problème Qubes OS](https://github.com/QubesOS/qubes-issues/issues/3494)
        - Exposer un contrôleur SCSI différent n'augmente pas la surface d'attaque car QEMU s'exécute dans un domaine stub Xen
    - ReactOS est en alpha, donc pour la plupart des utilisateurs, cela ne sera probablement pas viable pour l'instant
    - Aide recherchée
        - Pas de calendrier pour le moment

## Objectif final

Avoir une fonctionnalité similaire (ou supérieure) à la fonctionnalité [« Easy Install »](https://www.youtube.com/watch?v=1OpDXlttmE0) de VMWare pour Windows sur Qubes OS. La solution de VMWare est propriétaire et uniquement disponible dans leurs produits payants.

VirtualBox a également [quelque chose de similaire](https://blogs.oracle.com/scoter/oracle-vm-virtualbox-52:-unattended-guest-os-install) mais ce n'est pas aussi riche en fonctionnalités.
Télécharger l’outil