Skip to content

danbenba/ElevationExploit

Repository files navigation

Elevation Exploit (Windows)

Voici un guide complet (en Markdown) pour présenter ce projet à des utilisateurs, même débutants. Il explique :

  1. Le but du logiciel
  2. Comment l’utiliser (options, paramètres)
  3. Les fonctionnalités principales (barre de progression, logs, etc.)
  4. Quelques exemples de scénarios

Vous pouvez le mettre directement dans un fichier README.md sur GitHub.


Elevation Exploit — Guide Complet

Version Console
Un outil pour exécuter des commandes Windows avec élévation de privilèges et différents modes (TrustedInstaller, SYSTEM, etc.), proposant également le téléchargement et l’utilisation automatique de AdvancedRun.

Sommaire

  1. Aperçu du projet
  2. Fonctionnalités principales
  3. Installation et compilation
  4. Utilisation
  5. Fonctionnement interne
  6. Contact & Remerciements

1. Aperçu du projet

Elevation Exploit (powered by danbenba) est un petit outil en C# qui permet :

  • De lancer une commande Windows (par ex. cmd.exe, powershell.exe, etc.)
  • De forcer l’élévation de privilèges (UAC) si nécessaire, afin de s’exécuter en mode Administrateur.
  • D’utiliser différents modes via l’outil AdvancedRun (par ex. TrustedInstaller, SYSTEM, etc.).
  • De télécharger automatiquement l’exécutable AdvancedRun.exe (si le mode avancé est activé) et de l’exécuter en lui passant la commande choisie.
  • D’afficher une barre de progression pendant le téléchargement et de logger toutes les informations (barre de progression, messages, etc.) dans la console ou dans un fichier .log.

Ce programme est particulièrement utile dans un contexte où l’on souhaite tester, debugger ou administrer un système avec différents niveaux de privilèges (par exemple pour des tâches de maintenance ou d’analyse).


2. Fonctionnalités principales

  1. Élévation UAC :

    • Le programme vérifie s’il est déjà lancé en tant qu’administrateur. Si non, il se relance automatiquement avec Verb=runas pour obtenir le prompt UAC.
  2. Modes d’exécution (RunAs) via AdvancedRun :

    • 1 : Utilisateur actuel avec autorisation d’élévation
    • 3 : Administrateur forcé
    • 8 : TrustedInstaller
    • 4 : Système, etc.
      (Voir la liste complète plus bas.)
  3. Téléchargement automatique d’AdvancedRun :

    • Par défaut depuis un lien GitHub
    • S’enregistre dans AppData\Temp
    • Extraction automatisée du .zip
  4. Logs :

    • Affichage en console avec couleurs (Info, Erreur, Succès, Avertissement).
    • Option pour sauvegarder dans un fichier .log.
  5. Barre de progression pendant le téléchargement :

    • Affichage d’une jauge ASCII : [#####-----] 50%
  6. Arguments supplémentaires :

    • Possibilité de passer des arguments additionnels à la commande (par ex. cmd.exe /c dir).

3. Installation et compilation

Pré-requis

  • .NET SDK (version 6, 7, 8, 9 ou supérieure) installé sur la machine.
  • Visual Studio, Visual Studio Code, ou tout autre environnement supportant .NET.

Étapes

  1. Cloner ou télécharger ce dépôt.

  2. Ouvrir un terminal (ou l’IDE de votre choix) dans le dossier du projet.

  3. Taper :

    dotnet build --configuration Release
  4. Le binaire (exécutable) se trouvera dans :

    bin/Release/netX.X/Elevation.exe
    

    (X.X dépend de la version .NET configurée.)

  5. Optionnel : Publier en un seul exécutable autonome (self-contained) :

    dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true

    Vous obtiendrez alors un fichier Elevation.exe unique dans bin/Release/netX.X/win-x64/publish.


4. Utilisation

4.1. Syntaxe générale

elevation.exe <commande> [options]
  • <commande> : La commande Windows à exécuter (par ex. cmd.exe, powershell.exe, etc.).

4.2. Options disponibles

Option Description
-m <1..11> Mode /RunAs d’AdvancedRun (ex: -m 8 = TrustedInstaller). Par défaut : 8.
-t Mode TrustedInstaller.
-arg "<args>" Arguments supplémentaires pour la commande (ex: "/c dir" pour cmd.exe).
-s Sauvegarde les logs dans un fichier .log.
-e "<chemin>" Chemin personnalisé pour le fichier .log (ex: -e "C:\Temp\monfichier.log").
-u "<URL>" URL personnalisée pour télécharger AdvancedRun (ex: -u "https://monSite/AdvancedRun.zip").
-h / --help Affiche l’aide (menu récapitulatif).

Le tableau des modes disponibles avec l’option -m :

Valeur (-m X) Description
1 Utilisateur actuel – Autoriser l’élévation (LIAC)
2 Utilisateur actuel – Sans élévation (IJAC)
3 Administrateur (Forcer l’élévation)
4 Utilisateur SYSTEM
5 Utilisateur du processus sélectionné
6 Descendant du processus sélectionné (injection de code)
7 Nom d’utilisateur + mot de passe (login/password spécifiés)
8 TrustedInstaller
9 Autre utilisateur connecté
10 Service réseau
11 Service local

4.3. Exemples d’utilisation

  1. Exécuter cmd.exe en mode Administrateur forcé (-m 3) :

    elevation.exe cmd.exe -m 3
    • Le programme lancera AdvancedRun en mode 3 pour forcer l’élévation Administrateur.
    • Affichera le prompt UAC si nécessaire.
  2. Exécuter cmd.exe en mode TrustedInstaller (-m 8) + Téléchargement :

    elevation.exe cmd.exe -t -m 8
    • Télécharge AdvancedRun si besoin, puis exécute cmd.exe avec /RunAs 8.
  3. Ajouter des arguments supplémentaires à cmd.exe :

    elevation.exe cmd.exe -m 3 -arg "/c dir"
    • Lance cmd.exe /c dir en mode Administrateur forcé (3).
  4. Sauvegarder les logs dans un fichier Elevation.log :

    elevation.exe powershell.exe -t -s
    • Télécharge AdvancedRun, exécute powershell.exe en mode 8 (par défaut).
    • Sauvegarde tous les logs (progression, infos, etc.) dans Elevation.log.
  5. Spécifier un chemin pour le fichier de logs :

    elevation.exe cmd.exe -m 4 -s -e "C:\MonDossier\Logs\myElev.log"
    • Lance cmd.exe en mode SYSTEM (4).
    • Les logs seront écrits dans C:\MonDossier\Logs\myElev.log.
  6. Changer l’URL de téléchargement :

    elevation.exe cmd.exe -t -u "https://exemple.com/AdvancedRun.zip"
    • Télécharge la version d’AdvancedRun située à https://exemple.com/AdvancedRun.zip.

5. Fonctionnement interne

5.1. Élévation de privilèges

  • Le code vérifie si le processus actuel est déjà Admin :
    if (!IsRunningAsAdmin())
    {
        RelaunchAsAdmin(args);
        return;
    }
  • S’il ne l’est pas, il relance le même exécutable avec ProcessStartInfo.Verb = "runas" pour afficher le prompt UAC.

5.2. Téléchargement d’AdvancedRun

  • Lorsque l’option -t est utilisée (ou qu’un mode -m X est spécifié), on appelle :
    DownloadFileWithProgress(_advancedRunUrl, zipFilePath);
  • Le fichier ZIP est placé dans le dossier AppData\Temp\AdvancedRun.zip.
  • Puis on l’extrait via :
    ZipFile.ExtractToDirectory(zipFilePath, appDataTemp, true);
  • L’exécutable AdvancedRun.exe est alors prêt à être lancé.

5.3. Logs et barre de progression

  • Logs :

    • Système de niveaux (Info, Success, Error, Warning).
    • Couleurs différentes en console (blanc, vert, rouge, jaune).
    • Si -s est spécifié, on écrit également dans un fichier .log.
  • Barre de progression :

    • Pendant le téléchargement, on affiche quelque chose du style :
      [#####-----] 50%
      
    • Mise à jour en temps réel via l’événement DownloadProgressChanged.

6. Contact & Remerciements

  • Auteur : danbenba
  • Contributeurs : Toute aide est la bienvenue !
  • Pour plus d’infos sur l’API AdvancedRun : NirSoft’s AdvancedRun
  • En cas de questions ou de problèmes, n’hésitez pas à ouvrir une issue sur le dépôt GitHub.

Merci d’utiliser Elevation Exploit !

Disclaimer : Ce projet est un exemple à visée éducative. Son utilisation relève de la responsabilité de l’utilisateur, et peut nécessiter des privilèges élevés risqués pour le système. N’exécutez ce logiciel que sur vos environnements de test ou systèmes autorisés.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages