Skip to content

Vous avez obtenu un shell à faibles privilèges sur un hôte Windows. Comment escaladez-vous les privilèges ?

Réponse courte

Énumérez les privilèges du compte et les mauvaises configurations de l'hôte : privilèges de jeton comme SeImpersonate, chemins de service non entre guillemets, permissions de service faibles, AlwaysInstallElevated et identifiants stockés. Puis abusez du plus fiable — l'usurpation de jeton (attaques Potato) est une voie courante vers SYSTEM.

Sous Windows, l'objectif est généralement NT AUTHORITY\SYSTEM, et le chemin passe presque toujours par un privilège ou une mauvaise configuration de service plutôt que par un exploit de corruption de mémoire. Comme sous Linux, l'énumération vient en premier.

Énumérer le compte et l'hôte

  • Privilèges de jeton : whoami /priv. Des privilèges comme SeImpersonate, SeAssignPrimaryToken, SeBackup ou SeDebug sont des primitives d'escalade déguisées. Les comptes de service (IIS, MSSQL) détiennent fréquemment SeImpersonate.
  • Services mal configurés :
    • Chemins de service non entre guillemets — un chemin de service comme C:\Program Files\My App\svc.exe sans guillemets vous permet de déposer C:\Program.exe si le répertoire est inscriptible.
    • Permissions de service faibles — si vous pouvez reconfigurer le chemin du binaire d'un service (sc config), vous exécutez du code en tant que son compte au redémarrage.
    • Binaires de service inscriptibles ou opportunités de détournement de DLL.
  • AlwaysInstallElevated : si les deux clés de registre sont définies, tout MSI que vous installez s'exécute en tant que SYSTEM.
  • Identifiants stockés : unattend.xml, autologon dans le registre, secrets RDP/gestionnaire d'identifiants enregistrés, scripts.

Des outils comme WinPEAS, PowerUp et Seatbelt automatisent le balayage.

Exploiter la primitive la plus forte

  • SeImpersonate est la victoire classique sur les comptes de service. La famille Potato (JuicyPotato, PrintSpoofer, RoguePotato, GodPotato) contraint un processus SYSTEM à s'authentifier, puis usurpe ce jeton pour s'exécuter en tant que SYSTEM — fiable et discret.
  • Un chemin non entre guillemets ou une configuration de service inscriptible vous donne le compte de service, qui sur des machines plus anciennes est souvent directement LocalSystem.
  • AlwaysInstallElevated n'est qu'à un MSI malveillant de SYSTEM.

Pourquoi pas simplement les exploits de corruption de mémoire ?

Ils existent, mais ils sont spécifiques à une version et risquent de faire planter l'hôte. L'abus de configuration et de jeton est plus fiable et bien moins susceptible de provoquer une panne que vous devrez expliquer.

Ce que recherchent les recruteurs

Une méthodologie reproductible, l'instinct du whoami /priv, la reconnaissance que SeImpersonate plus une attaque Potato est un incontournable pour SYSTEM, et la même conscience de la stabilité qui vous fait préférer les mauvaises configurations aux exploits fragiles.

Questions de suivi probables

  • Pourquoi le SeImpersonatePrivilege est-il si précieux pour un attaquant ?
  • Comment un chemin de service non entre guillemets mène-t-il à l'exécution de code en tant que compte de service ?
  • Qu'est-ce qu'AlwaysInstallElevated et pourquoi est-ce un tel cadeau ?

Sources

Certifications

Recevez 100 questions d'entretien en cybersécurité + réponses

Laissez votre e-mail et nous vous enverrons le pack PDF gratuit et le jeu de flashcards.

Pas de spam. Désabonnez-vous à tout moment.