Utilisation de CPAU

De Mediase3
Aller à : Navigation, rechercher

CPAU

Sommaire

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
Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Support
Téléchargements
Développement
Outils logiciels
Boîte à outils