Utilisation de CPAU
CPAU
Résumé :
CPAU est un outil en ligne de commande qui permet de lancer des applications de manière sécurisée. Il permet de remplacer la commande runas de manière sécurisée en chiffrant l'identité, le mot de passe et la ligne de commande à lancer dans un fichier que les Utilisateurs sans pouvoir peuvent lancer.
Le site où l'on peut télécharger l'utilitaire CPAU [1].
Utilisation de CPAU
Pour avoir l'aide :
cpau /?
CPAU V01.11.00cpp Joe Richards (joe@joeware.net) November 2005
Usage:
CPAU -u user [-p password] -ex "WhatToRun" [switches]
user User to log on as. Ex: user or domain\user
password User's password
WhatToRun What to execute
Switches: (designated by - or /)
-profile Do local logon with profile instead of net logon
-localwithprofile Alias for -profile
-lwp Alias for -profile
-localwithoutprofile Local logon but do not load profile.
-lwop Alias for -localwithoutprofile
-k Prefix command with cmd /k to leave window open
-c Prefix command with cmd /c to close window after exec.
-pipepwd Special method allows you to pipe password in
-enc Encrypt a job file for later user
-dec Use an ecrypted job file
-file Specify job file to execute or create
-wait Wait for process completion before returning.
-outprocexit Used with -wait, the errorlevel variable has the
exit code of the spawned process instead of cpau.
-cwd x Start at working directory x.
-hide Start the new process in a hidden state.
-title x Allow you specify title of command prompt windows.
-crc file[,file,file] This option allows you to encode
CRC info for files in the job file. When decoded
the CRC have to match or the program bombs. Note that
it will not chase paths looking for the file, you must
specify the exact path.
-nowarn Don't output warning about network logon.
Exemple 1 (ligne de commande en clair contenant le nom d'utilisateur et le mot de passe)
Lance le script perl cleanup.pl en étant SE3PDC\wawa (utilisateur administrateur wawa sur la machine SE3PDC et avec comme mot de passe : plouf) :
cpau -u SE3PDC\wawa -p plouf -ex "perl cleanup.pl" -lwp
Exemple 2 (création d'un fichier ligne de commande crypter contenant le nom d'utilisateur et le mot de passe et son lancement)
- Création d'un fichier de travail (.job) nommé cleanup.job, fichier crypté contenant le nom d'utilisateur, le mot de passe et le script à lancer cleanup.pl, comme si on était SE3PDC\wawa :
cpau -u SE3PDC\wawa -p plouf -ex "perl cleanup.pl" -enc -file cleanup.job
- Exécution du fichier de travail en décryptant le fichier cleanup.job :
cpau -dec -file cleanup.job -lwp
Exemple 3 (avec l'option d'attente)
Exécution du script perl cleanup.pl comme si on était SE3PDC\wawa et attends la fin du processus :
cpau -u SE3PDC\wawa -p plouf -ex "perl cleanup.pl" -wait -lwp
Exemple 4
Lance notepad comme si on était l'utilisateur SE3PDC\wawa :
cpau -u SE3PDC\wawa -p plouf -ex notepad.exe -lwp
Exemple 5
Lance le script de connexion logon dans le répertoire courant comme si on était l'utilisateur SE3PDC\wawa :
cpau -u SE3PDC\wawa -p plouf -ex logonscript.cmd -lwp
Exemple 6
Lance le script de démarrage logon dans/depuis le répertoire c:\temp comme si on était l'utilisateur SE3PDC\wawa :
cpau -u SE3PDC\wawa -p plouf -ex logonscript.cmd -lwp -cwd c:\temp
Exemple 7
Chiffre le fichier logon.job (utilisateur : wawa, mot de passe : plouf) et rajoute une protection CRC.
cpau -u wawa -p plouf -ex logonscript.cmd -enc -file logon.job -crc logonscript.cmd
Exemple d'utilisation de CPAU dans un réseau scolaire
Pour des raisons de facilité de connexion, le logiciel Moliere de gestion des absences est installé sur un serveur (SAMBAEDU), il est dans un partage caché (nom du partage avec un $ à la fin), du style omt$.
Malheureusement, lorsque ce logiciel a un changement de version, le fichier d'installation du logiciel a besoin que utilisateur courant lance un logiciel 'lient.exe avec des droits d'administrateur pour pouvoir mettre à jour les paramètres de la base de registre :
Chemin d'accès UNC du logiciel de mise à jour : //SE3PDC/omt$/moliere/client.exe
Afin de ne pas repasser sur chaque poste en tant qu' Administrateur lors d'un changement de version du logiciel, il faut créer un raccourci vers un script chiffré que les utilisateurs profs pourront lancer. (Nota : on pourrait le faire avec WPKG aussi)
Dans un premier lieu, il faut faire le script en clair, on le chiffrera dans un fichier pour qu'il soit exécuté ppar la suite par les utilisateurs (j'ai déposé l'exécutable cpau.exe dans le répertoire en lecture seule L:\RO et j'ai créé un répertoire l:\ro\scriptcpau\ dans lequel je déposerai les fichiers de travaux chiffrés).
- Création du fichier chiffré (dans une fenêtre de commande, Démarrer -> exécuter -> cmd) :
L:\ro\cpau -u SE3PDC/wawa -p plouf -ex "cmd /c net use \\SE3PDC\omt$ mot-de-passe-reseau /user:SAMBAEDU3\adminse3&\\SE3PDC\omt$\moliere\client.exe" -enc "l:\ro\scriptcpau\client.job" -lwp
Décorticage des options :
- -u nom de l'utilisateur administrateur local du poste : SE3PDC/wawa
- -p mot de passe de l'utilisateur wawa : plouf
- -ex ligne de commande :
"cmd /c net use \\SE3PDC\omt$ mot-de-passe-adminse3 /user:SAMBAEDU3\adminse3&\\SE3PDC\empldut$\moliere\client.exe"
Ici la ligne de commande contient en faite un enchainement de plusieurs commandes séparées par le signe &.
On crée un accès réseau vers le répertoire omt$ sur le serveur SE3PDC en tant que l'utilisateur SAMBAEDU3\adminse3 :
cmd /c net use \\SE3PDC\omt$ mot-de-passe-adminse3 /user:SAMBAEDU3\adminse3
On lance le programme client.exe en étant SE3PDC/wawa sur la machine locale :
\\SE3PDC\empldut$\Notabene\client.exe
- -enc on veut qu'il chiffre le fichier
- -file nom du fichier de travail
Maintenant, il suffit de créer un raccourci que j'ai placé dans le template profs :
L:\ro\cpau.exe -file "l:\ro\scriptcpau\client.job" -dec -lwp