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
UsoDllLoader — Windows - Armement d'écritures de fichiers privilégiées avec le service Update Session Orchestrator | Kitploit
Outils/GitHubGitHub/itm4n/usodllloader
Escalade de PrivilègesGénération de PayloadsExploitationTests d'IntrusionArchived
GitHubitm4n/usodllloader

UsoDllLoader

Windows - Armement d'écritures de fichiers privilégiées avec le service Update Session Orchestrator

Voir le dépôt
406100il y a 6 ansVé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

UsoDllLoader

⚠️ Mise à jour du 2020-06-06 : cette astuce ne fonctionne plus sur les dernières versions de Windows 10 Insider Preview. Cela signifie que, bien qu'elle fonctionne encore sur la version standard de Windows 10, vous devriez vous attendre à ce qu'elle soit corrigée dans les mois à venir.

Description

Cette Preuve de Concept (PoC) montre une technique qui peut être utilisée pour exploiter les vulnérabilités d'écriture de fichier privilégiées sous Windows. Elle offre une alternative à l'« exploit » de chargement de DLL DiagHub trouvé par James Forshaw (alias @tiraniddo), qui a été corrigé par Microsoft à partir de la version 1903.

TL;DR

À partir de Windows 10, Microsoft a introduit le service Update Session Orchestrator. En tant qu'utilisateur standard, vous pouvez interagir avec ce service via COM, et par exemple lancer une « recherche de mises à jour » (vérifier si des mises à jour sont disponibles) ou démarrer le téléchargement des mises à jour en attente. Il existe même un outil intégré non documenté appelé usoclient.exe, qui remplit cet objectif.

Du point de vue d'un attaquant, ce service est intéressant car il s'exécute en tant que NT AUTHORITY\System et tente de charger une DLL inexistante (windowscoredeviceinfo.dll) lorsqu'une session de mise à jour est créée.

Cela signifie que, si nous trouvions une vulnérabilité d'écriture de fichier privilégiée dans Windows ou dans un logiciel tiers, nous pourrions copier notre propre version de windowscoredeviceinfo.dll dans C:\Windows\Sytem32\ et la faire charger par le service USO pour obtenir une exécution de code arbitraire en tant que NT AUTHORITY\System.

Pour plus d'informations :
Partie 1 - https://itm4n.github.io/usodllloader-part1/
Partie 2 - https://itm4n.github.io/usodllloader-part2/

Construire la PoC

Contenu

Cette solution est composée de deux projets : WindowsCoreDeviceInfo et UsoDllLoader.

  • WindowsCoreDeviceInfo

Il fournit une DLL de PoC qui démarrera un shell lié (bind shell) sur le port 1337 (localhost uniquement), chaque fois que la fonction QueryDeviceInformation() est appelée. C'est le nom de la fonction utilisée par les workers USO.

  • UsoDllLoader (optionnel)

C'est une version allégée de usoclient.exe. Il peut être exécuté en tant qu'utilisateur standard pour interagir avec le service USO et lui faire charger windowscoredeviceinfo.dll. Ensuite, il tentera de se connecter au shell lié. En cas d'erreurs, veuillez lire la section « Problèmes connus ».

Compiler la solution

La solution est déjà préconfigurée, donc la compilation devrait être facile. J'utilise Visual Studio 2019. Cela pourrait ne pas fonctionner avec des versions plus anciennes.

  1. Sélectionnez la configuration Release et l'architecture x64.
  2. Compilez la solution.
  3. Sortie : la DLL .\x64\Release\WindowsCoreDeviceInfo.dll et le chargeur .\x64\Release\UsoDllLoader.exe.

Test

Utilisation 1 - UsoDllLoader

À des fins de test, vous pouvez :

  1. En tant qu'administrateur, copiez WindowsCoreDeviceInfo.dll dans C:\Windows\System32\.
  2. Utilisez le chargeur en tant qu'utilisateur standard.
  3. Espérons profiter d'un shell en tant que NT AUTHORITY\SYSTEM.

Utilisation 2 - UsoClient

Si UsoDllLoader.exe échoue, vous pouvez faire ce qui précède manuellement.

  1. En tant qu'administrateur, copiez WindowsCoreDeviceInfo.dll dans C:\Windows\System32\.
  2. Utilisez la commande usoclient StartInteractiveScan en tant qu'utilisateur standard. Notez que vous n'obtiendrez aucun retour de la commande.
  3. Téléchargez netcat pour Windows et utilisez la commande nc.exe 127.0.0.1 1337 pour vous connecter au shell lié.

Problèmes connus

  • Mises à jour en attente

Cette méthode échouera probablement si une ou plusieurs mises à jour sont en attente d'installation, ou si des mises à jour sont en cours d'installation.

  • Erreurs RPC

Selon la version de Windows, UsoDllLoader.exe peut échouer avec divers codes d'erreur. Je n'ai pas trop investigué ces problèmes. La raison en est qu'il s'agit seulement d'une PoC, que j'ai développée pour ma commodité. Ce qui importe le plus est la DLL, pas le chargeur. Voir « Utilisation 2 » pour plus de détails.

Télécharger l’outil