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
BrokenPipe — Vulnérabilité d’élévation de privilèges locaux dans Steam Client Service | Kitploit
Outils/GitHubGitHub/killaboi/brokenpipe
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationPost-ExploitationTests d'IntrusionRed Teaming
GitHubkillaboi/brokenpipe

BrokenPipe

Vulnérabilité d’élévation de privilèges locaux dans Steam Client Service

Voir le dépôt
159346il y a 1 jourPas encore vérifié

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

BrokenPipe - Vulnérabilité LPE du service client Steam

BrokenPipe lançant une invite de commande NT AUTHORITY SYSTEM interactive

Vidéo PoC : ICI
Une petite vidéo sympa de John Hammond ICI

Greetz à @MSNIGHTMARE2000 pour l'inspiration - Donnez-lui un job et envoyez-lui un mail !
Shoutout à Tookie, Hazetick, belogen et bet3rd pour être les meilleurs potes.
Et tu me dois toujours une session de jeu Overwatch ou Starlight Princess lusilly, meow :3

Qu'est-ce que BrokenPipe ?

BrokenPipe démontre une élévation de privilèges locale depuis un compte Windows standard vers NT AUTHORITY\SYSTEM via le service client Steam. La preuve lance une invite de commande SYSTEM interactive sans demander d'identifiants administrateur ni afficher d'invite UAC.

Ce que la capture d'écran ci-dessus prouve

  • BrokenPipe a été lancé par un utilisateur Windows standard.
  • Steam était ouvert sur son écran de connexion non authentifié.
  • L'invite de commande résultante s'exécutait en tant que NT AUTHORITY\SYSTEM.
  • whoami /user a renvoyé le SID Local System, S-1-5-18.
  • Aucun jeu n'a été lancé.

Résumé technique

Le service client Steam (steamservice.exe), qui s'exécute toujours en tant que SYSTEM, accepte une racine d'installation contrôlée par l'appelant qui n'est pas couverte par la signature d'un script d'installation VDF authentique signé par Valve. BrokenPipe exploite cette lacune de couverture de signature pour faire exécuter par le service privilégié le lanceur inclus depuis un chemin relocalisé en tant que SYSTEM. Il ne falsifie, ne modifie ni ne contourne la signature VDF.

Pipeline :

root@kitploit:~
Establish IPC connection to Steam Client Service (No Admin Needed)
                         |
                         v
IClientInstallUtils::AddInstallScriptToWhiteList
                         |
                         |  Genuine Valve-signed VDF
                         |  Caller-controlled installation root             <------ flaw exists here.
                         |  Relocated launcher becomes whitelisted          <---------ˡ
                         v
IClientInstallUtils::RunInstallScript
                         |
                         |  Service processes the run VDF
                         |  Whitelisted launcher is selected
                         v
Steam Client Service launches the executable as SYSTEM
                         |
                         |  BrokenPipe receives an interactive
                         |  NT AUTHORITY\SYSTEM command prompt
                         v
IClientInstallUtils::GetInstallScriptExitCode
                         |
                         |  Optional polling or result collection
                         v
Cleanup and receipt generation

La preuve a été validée contre la version actuelle de Steam 10.96.30.42 sur les dernières versions de Windows 10 et Windows 11 x64.

Compilation

Prérequis :

  • Visual Studio 2022
  • Charge de travail Développement Desktop en C++
  • MSVC v143
  • SDK Windows 10 ou Windows 11

Ouvrez PowerShell dans le répertoire du projet et exécutez :

root@kitploit:~
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\build.ps1

L'exécutable final est écrit dans :

root@kitploit:~
x64\Release\BrokenPipe.exe

Le script de compilation trouve MSBuild, vérifie le hash de la charge utile intégrée, reconstruit la configuration x64 Release, et affiche le chemin de l'exécutable final ainsi que son SHA-256.

Vous pouvez également ouvrir BrokenPipe.sln dans Visual Studio, sélectionner Release | x64, et choisir Build > Rebuild Solution.

Utilisation

  1. Connectez-vous en tant qu'utilisateur Windows standard.
  2. Démarrez Steam et laissez-le inactif. Une connexion à un compte Steam n'est pas nécessaire.
  3. N'ouvrez pas de jeu.
  4. Exécutez BrokenPipe.exe normalement, sans élévation.
  5. Vérifiez la nouvelle invite SYSTEM avec whoami ou whoami /user ou toute autre commande que vous souhaitez exécuter.
  6. Tapez exit ou fermez l'invite SYSTEM lorsque vous avez terminé.

Aucun argument de ligne de commande ni fichier d'exécution externe n'est requis. Le ZIP de la charge utile est compilé dans l'exécutable. La preuve ne crée aucune persistance, ne lance que le C:\Windows\System32\cmd.exe canonique, et place l'arbre de processus élevé dans une tâche Windows kill-on-close. Les reçus JSON sont écrits dans C:\Users\Public\BrokenPipe.

Si vous souhaitez apporter des ajustements à la charge utile utilisée, elle se trouve dans le dossier payloads sous le nom BrokenPipePayload.zip

Organisation des sources

root@kitploit:~
BrokenPipe\
  assets\
    brokenpipe-system-shell.png
  payload\
    BrokenPipePayload.zip
  BrokenPipe-Bootstrap.ps1
  BrokenPipe.cpp
  BrokenPipe.rc
  BrokenPipe.sln
  BrokenPipe.vcxproj
  build.ps1
  resource.h
  README.md

La charge utile intégrée doit rester à payload\BrokenPipePayload.zip sauf si son chemin de ressource est également mis à jour dans BrokenPipe.rc.

FAQ

Q : Qu'est-ce que c'est
R : Une élévation de privilèges locale Utilisateur Standard -> SYSTEM

Q : Comment ça marche ? R : Regardez dans Payload\BrokenPipePayload.zip, décompressez-le et lisez le code.

Q : Ce n'est pas inutile ? R : Pour vous, peut-être, pour d'autres, probablement pas.

Q : Qu'est-ce qu'il y a de si grave là-dedans R : Vous obtenez des privilèges SYSTEM, c'est un niveau supérieur à Administrateur (ce que vous faites un clic droit et sélectionnez) et un niveau inférieur à TRUSTEDINSTALLER sans être réellement administrateur au départ. Si vous ne comprenez pas cela, cherchez sur Google (ou demandez à votre LLM de quartier tel que Grok, ChatGPT ou Siri mdr)

Q : Pourquoi ? R : Parce que VALVE est déjà au courant depuis mars, ils ne l'ont pas corrigé et simplement parce que je me fiche de Steam ou de n'importe quel jeu VALVE, surtout quand CS2 est infesté de tricheurs et d'exploiteurs. Ils devraient le corriger et se pencher sur ce rapport vieux de 5 mois.

Q : Une question stupide sur l'installation en tant qu'Admin Standard ou je ne sais quoi qui m'a fait perdre quelques neurones... R : Même votre antivirus a besoin des droits admin quand vous l'installez, installer Steam nécessite bien sûr les droits admin lors de la première installation. Après cela, il exécute simplement le service en tant que SYSTEM même pour un utilisateur standard. Ne me demandez pas, demandez à VALVE.

Avertissement

Ce projet est fourni pour la recherche en sécurité autorisée et la validation défensive. Testez uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite d'évaluation.

Télécharger l’outil