IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Elévation de privilège VBS


Sujet :

VBScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut Elévation de privilège VBS
    Bonjour,

    Débutant en VBS, j'aurais besoin d'aide concernant l'écriture en base de registre avec un compte ne disposant pas de droits administrateur.

    Explication du script.

    - récupérer de la variable Logon Serveur
    - élever le privilège
    - écrire en base de registre

    Le script fonctionne correctement avec les droits admin mais bloque avec un compte utilisateur lambda pour lequel l'écriture en registre ne fonctionne pas.

    Les écritures en registre seront différents pour chaque utilisateur en fonction de la variable LogonServer.

    Quelqu'un pourrait me dire comment permettre à un utilisateur lambda d'écrire en registre, donc d'augmenter ces privilèges pour lui permettre d'effectuer cette action.

    J'espere avoir été clair.

    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Par défaut
    Petite suggestion à tester ...
    As-tu essayé d'exécuter ton script en utilisant une GPO ?
    Tu ne devrais pas avoir besoin d'élever les privilèges.

    Exécuter "GPEDIT.MSC" - "Configuration utilisateur" - "Paramètres Windows" - "Ouverture de session" ... et tu colles ton script là.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    Tout d'abord merci pour ta réponse

    Sinon j'ai deja testé cette solution car effectivement c'est par GPO que le script devra se lancer au final.
    La GPO s'applique correctement mais un message d'erreur apparaît après l'ouverture de session : Permission refusé.

    J'ai même effectué une élévation de privilège dans mes options de sécurité de ma GPO mais rien n'y fait.

    Je suis toujours bloqué.

  4. #4
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Je ne sais pas si cet article sur Cacls vous aide ou non ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    Bonjour,

    Les fonctions CACLS permettent les autorisations NTFS c'est à dire sur un type de systeme de fichier or moi c'est une autorisation en base de registre dont j'ai besoin.

    Je ne penses pas que cela puisse m'aider

  6. #6
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Par défaut
    Salut Lion,

    Peut-on jeter un coup d'œil à ton script ?
    Cela aiderait de connaitre la clé que tu extrais (HKCU ?) et celle que tu modifies (HKLM ?) ...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    Voici le script


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    Dim WshShell
    Dim strLogonServer
    Dim fso
    Dim f
    Dim WSHProcess
    Dim oFSO
    Dim oFile
    Dim oShell
     
     
     
    'obtenir le logonserver
    Set WshShell = Wscript.CreateObject("WScript.Shell")
    strLogonServer = WshShell.ExpandEnvironmentStrings("%Logonserver%")
     
    'msgbox strLogonServer
     
    Set WSHProcess = WSHShell.Environment("Process")
    'Positionner le logonserver dans une variable
    DomainLogonServer = WSHProcess("LogonServer")
     
     
    set oFSO = CreateObject("Scripting.FileSystemObject")
    strFileName = oFSO.GetTempName
    set oFile = oFSO.CreateTextFile(strFileName)
    oFile.WriteLine "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\WUStatusServer [1 5 7 11 17]"
    oFile.WriteLine "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\TargetGroup [1 5 7 11 17]"
    oFile.Close
     
    ' Change registry permissions with regini.exe
    '
    set oShell = CreateObject("WScript.Shell")
    oShell.Run "regini " & strFileName, 8, true
     
    ' Delete temp file
    '
    oFSO.DeleteFile strFileName
     
     
    'modifier la valeur pour Wsus
    DomainLogonServer = "http://" + right(strLogonServer,len(strLogonServer) - 2)
     
    'msgbox DomainLogonServer
     
    'Ecrire en registre
    Set WshShell = WScript.CreateObject("WScript.Shell")
     WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\WUStatusServer", DomainLogonServer
     
    'msgbox WshShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\WUStatusServer")
     
     WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\WUServer", DomainLogonServer
     
    'msgbox WshShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\WUServer")
     
    'msgbox DomainLogonServer
     
     
    'Condition d'appartenance aux sites afin de renseigner le TargetGroup Wsus
     
    Select case DomainLogonServer
     
     
    Case "http://ServerName"
         WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\TargetGroup", "GroupeTest"
     
    Case "http://ServerName1"
         WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\TargetGroup", "GroupeTest1"
     
     
    End Select

  8. #8
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Par défaut
    Salut ! Bien j'ai testé tout ça sans plus de succès que toi ...
    En effet, on tourne en rond avec les soucis des droits insuffisants de la session en cours.
    Et dès lors que l'on cherche à utiliser les droits SYSTEM, on ne récupère pas la variable recherchée.
    La seule solution que je vois dans l'instant serait l'exécution du script à partir d'un RUNAS en ligne de commande, mais qui nécessiterait de faire apparaitre en clair le mot de passe admin local.
    Sinon j'ai essayé de jouer avec SubInAcl, mais je n'ai pas trop de temps pour tester aujourd'hui ... à voir !
    Bon courage en tout cas, je continue à réfléchir à la question !
    ++

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    Bonjour,

    Je n'ai toujours pas réussi à résoudre mon pb. Je pensais à procéder la manière suivante mais ne sais pas trop comment faire.

    Faire deux scripts: 1 Vbs et 1 vbs convertie en exe

    le 1er récupere la variable logonserver puis lance le second dans lequel il y aurait une élévation de privilège avec un compte admin en dur sauf que le second script serait transformé en executable.

    Quelqu'un serait comment procéder?

  10. #10
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,

    Pour l'élévation de privilège au sein de ton script, une des solutions serait l'utilisation de l'utilitaire psexec, un outil des fameux pstools de la SystInternal Suite.

    Bonne continuation.

  11. #11
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 303
    Par défaut
    bonjour,
    la solution désormais la plus classique pour une élévation de privilèges en vbs, c'est d'utiliser la méthode ShellExecute
    toutes les explications ici
    les droits étant déterminés au stade de la création du processus, il est nécessaire de redémarrer une nouvelle instance avec les droits idoines
    une autre solution consisterait à intervenir sur l'environnement d'exécution WSH avec le manifest adéquat mais ceci est une autre histoire...
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  12. #12
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2010
    Messages : 12
    Par défaut
    salut

    au cas où ça puisse aider quelqu'un, il faut passer par du WMI pour gérer les privilèges en VBS, c'est facile

    expliqué ici : http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    ++

Discussions similaires

  1. Elévation de privilège runas
    Par castorcharly dans le forum Langage
    Réponses: 4
    Dernier message: 07/01/2013, 13h54
  2. [VBS] décodage base 64
    Par windob dans le forum VBScript
    Réponses: 2
    Dernier message: 12/04/2004, 00h53
  3. [VBS] Erreur sur "AddWindowsPrinterConnection"
    Par Admin dans le forum VBScript
    Réponses: 5
    Dernier message: 27/03/2004, 16h15
  4. Création d'un vbs qui permettrait d'arreter l'agent sql
    Par cracosore dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 03/02/2004, 10h22
  5. Rôles et Privilèges
    Par PhoneKilleR dans le forum Administration
    Réponses: 10
    Dernier message: 28/10/2003, 11h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo