BootshellCredentialProvider - Apporter Linux Des à Windows
BSCP vous permet de démarrer Windows directement dans une expérience de bureau Linux, en utilisant l'interface utilisateur de connexion native de Windows et une combinaison de XMing & WSL lors de la connexion.




Commencer
Prérequis:
- VCXSRV doit être installé. Il s'agit d'une alternative XMing gratuite qui se trouve être plus stable et en vedette. Il est disponible sur Chocolatey, sinon: https://sourceforge.net/projects/vcxsrv/
- Le Microsoft Visual C ++ redistribuable pour Visual Studio 2017 doit être installé. Disponible ici
- Le sous-système Windows pour Linux, y compris l'environnement bash, est installé et fonctionne
- Vous avez un sens de quel Linux De vous souhaitez explorer et les avez installés via WSL. Voir ici pour l'inspiration / un script coulable pour le faire pour vous. Remarque: tout dans ce fichier devrait fonctionner, mais prendra beaucoup de temps malgré tout.
Installation et configuration:
- Téléchargez et exécutez l'installateur à partir d'ici. Ne modifiez aucune des défauts; Les défauts fonctionnent.
- Exécuter le configurateur BSCP (un raccourci dans votre menu Démarrer)
- Configurez les paramètres comme vous le souhaitez. Notez que les valeurs par défaut devraient fonctionner avec l'environnement créé par le scritpt de configuration mentionné ci-dessus.
- Dans le cas peu probable que le configurateur BSCP se bloque lors de la tentative d'enregistrement, vous avez un problème d'autorisations. Essayez de fonctionner à nouveau en tant qu'administrateur. Si cela ne fonctionne pas, vous devez probablement vous donner des autorisations de contrôle complètes sur
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinLogon . - Connectez-vous et voyez!
- Si vous ne le voyez pas, vérifiez que le Visual C ++ Redistributable est installé.
Notes d'utilisation:
- Ctrl + Alt + Del fonctionne toujours dans le Linux DES. C'est ainsi que vous pouvez vous déconnecter, démarrer le gestionnaire de tâches, etc.
- Win + R ne fonctionne pas tandis que l'Explorer ne fonctionne pas en tant que coquille système. Utilisez le gestionnaire de tâches (via Ctrl + Alt + Del) pour démarrer les programmes Windows
- Il y a une chance Windows Explorer (en tant qu'explorateur de fichiers, pas Shell) s'exécutera au premier plan lorsque le DE commencera. Vous pouvez l'ignorer ou le fermer en toute sécurité.
- Le désinstallation n'est pas particulièrement intelligent. Vous voudrez utiliser le configurateur pour désactiver d'abord la fonctionnalité, puis exécuter le désinstallation.
- Une fois que vous avez installé cela, vous voudrez l'utiliser comme votre principal moyen de vous connecter; Il n'a aucun moyen de mettre à jour les paramètres du shell si vous vous connectez via un autre fournisseur d'identification (par exemple, la connexion PIN ou Windows Hello).
À propos du projet
Ce projet se compose de plusieurs composants:
- Configurateur: application de bureau conviviale pour modifier la configuration
- Regrovider: Bibliothèque d'aide pour interagir avec le registre (rien de spécial ici)
- ConfigurableShell: remplace le shell Windows Explorer au moment du démarrage. Vérifie les paramètres du registre et charge l'environnement de bureau spécifié (Windows Explorer, XFCE ou tout ce que vous pouvez travailler)
- BootshellCredentialProvider: Plugin pour WinLogon à l'aide de l'interface V2 CatedentialProvider. Ce composant vous montre les environnements de bureau disponibles et définit celui sélectionné dans le registre
Risques, sécurité et divulgation complète
Vous ne devriez probablement pas faire cela sur quoi que ce soit ressemblant à un système de production / mission critique, pour plusieurs raisons:
- Vous exécutez mon code C ++ non géré à l'intérieur de Winlogon. Si mon code s'écrase, Winlogon se bloque; Vous ne pourrez pas utiliser votre PC si cela se produit.
- Mon code non géré consiste à gérer votre mot de passe Windows. Ceci est emprunté à l'échantillon / modèle de Microsoft. Le scepticisme est encouragé.
- Les composants de ce système reposent sur l'affaiblissement de la sécurité des diverses clés de registre du système. Ceux-ci sont essentiels à la capacité de Windows à présenter une expérience de bureau cohérente.
- Ceci est mon deuxième projet C ++ sérieux, et d'abord avec l'API Win32. Bonne chance.
Contribution et commentaires
J'apprécierais tous les commentaires (constructifs) sur ce projet et j'accepterai bien sûr PRS. N'hésitez pas à déposer des problèmes sur ce projet si vous avez quelque chose à partager.
Licence
La plupart de ce projet est publié sous la licence du MIT. Le composant fournisseur d'identification est libéré sous la licence MS-LPL car il est dérivé du projet Samplev2CredentialProvider.