Insérer mot de passe dans un script

Fermé
adgm1 Messages postés 289 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 1 décembre 2024 - 19 juin 2022 à 23:09
brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024 - 17 août 2022 à 21:57
bonjour
j'ai un script qui permet de bloquer un navigateur via le parefeu. Seulement il faut le lancer en admin mais sur une machine qui est en utilisateur standard sans droit admin.
Quand je lance le script on me demande le mdp admin puis la commande fonctionne bien. Y a t il moyen d'insérer le mdp admin (éventuellement le masquer) pour que le script se lance direct sans avoir à taper de mdp?

Voici le script
runas /savecred /user:mondomaine\admin \\monserveur\cmd\blockchrome.bat

le script qui bloque chrome (blockchrome.bat):
netsh advfirewall firewall add rule name="firefox" dir=in action=block program="C:\program files\google\chrome\application\chrome.exe" enable=yes profile=any
A voir également:

10 réponses

brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024 2 700
20 juin 2022 à 08:29
Bonjour,

Ce n'est pas possible dans le script lui-même, puisque c'est l'ouverture de ce script qui demande les identifiants.

La théorie voudrait donc qu'on appelle le script avec un deuxième sur le mode:

runas /user:user_name /pass:12345 "mon.cmd"

qui ne fonctionne pas, la sécurité continuant de demander le mot de passe; un contournement est de l'enregistrer une fois pour toutes à la première utilisation:

runas /user:user_name /savecred "mon.cmd"

Il n'y a pas d'autre solution autre que de passer par un utilitaire tiers, on peut par exemple essayer avec PsExec:

https://docs.microsoft.com/fr-fr/sysinternals/downloads/psexec
0
adgm1 Messages postés 289 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 1 décembre 2024 10
Modifié le 20 juin 2022 à 11:56
ok merci
en effet j'ai vu la solution avec pstools mais cela oblige à l'installer sur tous les postes du reseau et le parc concerné est conséquent
je ne peux pas non plus enregistrer le mdp car il faudrait le faire pour chaque machine et chaque profil utilisateur

il n'existe pas d'option où l'on va récupérer le mot de passe placé dans un autre fichier et une commande vient le copier coller lorsqu'il est demandé? une sorte de robot qui vient taper à notre place
0
choubaka Messages postés 39407 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 9 décembre 2024 2 104
20 juin 2022 à 11:56
Bonjour

si tu travailles en domaine AD, il suffirait de faire ça par GPO ...
Là plus de soucis...
0
adgm1 Messages postés 289 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 1 décembre 2024 10
23 juin 2022 à 22:45
en effet ça se fait bien de déployer pstools sur tous les postes.
voici mes commandes :

xcopy /s "\\monserv\pstools" "%windir%\system32\pstools\" /Y

setx path /m "%path%;%windir%\system32\pstools"



ca fonctionne bien en utilisant psexec mais c'est vrai qu'il reste un petit détail que je voudrais améliorer. Le mdp reste accessible dans le batch donc pas hyper secure puisque cest le mdp admin du domaine.

en effet voici la commande du batch destiné à bloquer un programme via parefeu :

psexec -accepteula -u mondomaine\admin -p mypassword -d cmd.exe /c \\monserv\cmd\vblockbrowsers.bat

Y a une possibilité pour masquer le mdp ou le rendre moins visible? ou alors il faut que je mette la .bat en fichier caché mais tout utilisateur peut facilement réafficher les fichiers cachés

merci
0
brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024 2 700
23 juin 2022 à 23:16
Bonsoir,

La solution est peut-être de convertir le bat en exe?

Le hic, c'est bien sûr s'il faut s'adresser à plusieurs machines, il faudrait un exe différent pour chaque machine et chaque mot de passe.

D'autres sources, comme ici, suggèrent d'intégrer le bat à une archive zip dotée d'un mot de passe ou de le chiffrer (CERTUTIL, codeur base64...), je n'ai rien testé de tout cela puisqu'il faut que le bat ainsi traité reste opérationnel.

C'est probablement le cas avec la solution zip (il suffit de décompresser à la volée, mais manuellement à la ligne de commande puisque planifier le batch ou en faire un deuxième à cet effet va perdre de son intérêt: c'est le deuxième mot de passe qui sera visible).

https://www.developpez.net/forums/d1297398/general-developpement/programmation-systeme/windows/scripts-batch/outils-cryptage-sous-windows/
0
brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024 2 700 > brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024
23 juin 2022 à 23:26
Pour le coup, il suffit peut-être là de passer par une GPO: si uniquement tel administrateur a des droits sur les fichiers bat ou cmd y compris pour la seule lecture, ça doit clore le problème sauf si la possibilité reste ouverte en ne censurant pas les menus contextuels ouvrir avec (bloc-notes ou ce qu'on veut).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
adgm1 Messages postés 289 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 1 décembre 2024 10
24 juin 2022 à 19:58
oui en effet il ya l'option de conversion en .exe que j'ai testé et qui est intéressante.

je pense que je vais aussi tenter une méthode toute simple : placer le fichier .bat dans un lecteur invisible par l'utilisateur, le C: tout simplement puisqu'il est masqué pour les utilisateurs (via clé registre nodrives et noviewondrives).
en espérant que l'execution puisse bien se faire
0
choubaka Messages postés 39407 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 9 décembre 2024 2 104
25 juin 2022 à 12:25
le problème de la conversion en .exe suppose que le mot de passe ne peut en aucun cas être changé. Ce qui en matière de sécurité n'est pas recommandé.
0
adgm1 Messages postés 289 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 1 décembre 2024 10
Modifié le 13 juil. 2022 à 22:57

ok. mais la conversion en .exe semble etre laseule option pour que personne ne puisse voir le mdp admin

je rencontre un pb etrange, quand je met la commande qui appelle un .bat ca fonctionne bien mais si j'insere la commande dans le psexec cela demande un droit administrateur

commande ok mais requiert 2 fichiers

psexec -accepteula -u mondomaine\admin -p mypassword -d cmd.exe /c \\monserv\cmd\vblockbrowsers.bat

commande pas ok

psexec -accepteula -u mondomaine\admin -p mypassword -d cmd.exe /c (^netsh advfirewall firewall add rule name="chrome" dir=in action=block program="C:\program files\google\chrome\application\chrome.exe" enable=yes profile=any ^)

si un utilisateur lance ce batch il est indiqué "loperation demandée requiert une elevation"

0
brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024 2 700
14 juil. 2022 à 10:21

Bonjour,

Je ne suis pas sûr de comprendre la question. Le script n'est pas destiné à être lancé par l'utilisateur sur un des postes cibles?

Le problème peut se trouver à la fois dans PSEXEC et dans NETSH: dans les deux cas, on a besoin que soit activé sur le poste cible le partage administratif admin$.

Dans le deuxième, la plupart des commandes NETSH nécessitent une élévation qui peut peut-être être obtenue à partir du commutateur -h de PSEXEC et qui sinon passe en principe par PowerShell:

https://ss64.com/ps/syntax-elevate.html

Qui plus est NETSH interdit en local l'utilisation d'un identifiant et d'un mot de passe, et nécessite en réseau non seulement que le partage de fichiers et d'imprimantes y soit actif, mais également que le service d'accès distant au registre soit activé.

0
adgm1 Messages postés 289 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 1 décembre 2024 10 > brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024
23 juil. 2022 à 21:42

bonjour, ou est ce qu'il faudrai mettre le -h dans ma commande psexec pour supprimer le message qui demande l'elevation?

0
brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024 2 700 > adgm1 Messages postés 289 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 1 décembre 2024
24 juil. 2022 à 07:22
0
adgm1 Messages postés 289 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 1 décembre 2024 10 > brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024
17 août 2022 à 19:58

salut je reviens sur ce pb d'élévation de droit avec psexec. même en ajoutant -h dans la commande j'obtiens le message "could not start psexesvc service on A01-1" > A01-1 étant le nom de la machine

j'ai ensuite l'opération demandé requiert une élévation. pourtant tout est OK en admin la commande se lance bien

psexec -accepteula -u mondomaine\admin -p mypassword -h -d cmd.exe /c (^netsh advfirewall firewall add rule name="chrome" dir=in action=block program="C:\program files\google\chrome\application\chrome.exe" enable=yes profile=any ^)

ca reste mysterieux. Le seul moyen de ne pas avoir le pb d'élévation c'est d'avoir un deuxieme fichier .bat que psexec vient lancer

0
brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024 2 700 > adgm1 Messages postés 289 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 1 décembre 2024
17 août 2022 à 20:26

Je crains qu'il n'y ait pas en effet de solution claire, c'est le serpent qui se mord la queue: Psexec lance les commandes requises au niveau administrateur avec le commutateur h, mais a lui-même besoin d'être lancé en tant qu'administrateur, ce qui va fonctionner parfaitement à la ligne de commande, mais pas dans une tâche planifiée.

On trouve un certain nombre de solutions complexes dont par exemple celle-ci:

https://stackoverflow.com/questions/7044985/how-can-i-auto-elevate-my-batch-file-so-that-it-requests-from-uac-administrator

Et un certain nombre d'autres idées en Googolisant quelque chose du style "psexec batch scheduled task elevation" ou "batch elevate to administrator', je te laisse faire ton marché pour voir si tu y trouves l'inspiration...

0
choubaka Messages postés 39407 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 9 décembre 2024 2 104
14 juil. 2022 à 18:26

Bonjour

Je maintiens la solution GPO ... dans un domaine, ce sont leurs finalités.


0
brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024 2 700
14 juil. 2022 à 23:34

Bonsoir,

Tu as à l'évidence raison à cela près que l'auteur semble ne pas en vouloir pour une raison qu'il n'a pas précisée.

0
choubaka Messages postés 39407 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 9 décembre 2024 2 104 > brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024
15 juil. 2022 à 14:15

Bonjour .. Pourquoi faire simple ?

0
adgm1 Messages postés 289 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 1 décembre 2024 10
Modifié le 16 juil. 2022 à 12:57

je precise un peu plus mon objectif de masquer le mdp admin car la GPO ne semble pas envisagée dans ce cas.

l'idée c'est qu'à un moment précis, un utilisateur (prof) envoie une commande sur un autre poste utilisateur (etudiant) via un logiciel de prise en main a distance. 2 commande sont prévues, une pour bloquer le navigateur l'autre pour le debloquer. les fchiers scripts integrant psexec sont préparamétré dans l'appli, invisible pour l'utilisateur. mais pas complètement inaccessible pour ce dernier puisque les scripts sont stocké sur un disque partagé. Donc en imaginant que meme bien caché l'utilisateur retrouve le batch il pourrait réactiver le navigateur. car meme en masquant le disque avec le registre via la clé "nodrives" il faut que le disque reste accessible pour l'utilisateur donc "noviewondrive" ne peut pas s'envisager à priori.

voila pourquoi meme si au pire le script est décelé, au moins le mdp admin ne doit pas être récupérable.

0
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 4 918
Modifié le 17 août 2022 à 21:15

Bonjour,

Psexec possède un commutateur -s qui permet d'utiliser le compte "NT AUTHORITY\SYSTEM"

Ce compte est le plus puissant des comptes, et n'est pas soumis à l'UAC.



0
brucine Messages postés 18272 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 16 décembre 2024 2 700
17 août 2022 à 21:57

Bonjour,

Oui, j'ai vu cela également, mais que le commutateur soit h ou s, je ne suis pas sûr du résultat en tâche planifiée: ce n'est pas apparemment l'instruction psexec qui ne s'exécute pas faute de droits sur la cible, mais le fait que l'on se fait jeter dès que psexec est lu; le service psexec n'est pas lancé faute que préalablement on dispose de droits administratifs pour ce faire, ce qui a lieu quand on exécute un batch en choisissant préalablement comme administrateur.

0