Voilà une procédure pour crypter le mot de passe admin dans un script en VB:
Prérequis:
AutoIt (a télécharger)
Fichiers lsrunase.exe et authscript.au3 (a télécharger)
Fichier lsencrypt.exe en cas de nouveau mot de passe à crypter.
Script à déployer (nécessitant les pouvoirs admin) compilé
Contenu du script authscript.au3:
AutoItSetOption ( "RunErrorsFatal", 0 )
Permet au programme de continuer en cas d’erreurs des fonctions RUN.
Nécessaire car une telle erreur peut arrêter le programme et faire apparaître le code.
;**** Variables ****
$TEMP=envget("WINDIR" )&"\temp"
$PASSWORD="zLJ8gOJrj/2="
;$PASSWORD2="51pagYgMqsc="
;*******************
$PASSWORD et $PASSWORD2 : Mot de passe Admin1 et Admin2 crypté grâce a lsencrypt.exe
fileinstall("C:\temp\runas.exe",$TEMP&"\runas.exe",1)
fileinstall("C:\temp\*****script_a_inserer*****.exe",$TEMP&"\*****script_a_inserer*****.exe",1)
Commande fileinstall : sert a « packager » un programme extérieur et à l’extraire en local. Le premier paramètre indique le chemin du fichier a packager au moment de la compilation, le deuxième indique le dossier d’extraction sur le poste incriminé, et le 3e paramètre (1) provoque l’écrasement en cas de fichier avec le même nom.
run_adm("Admin1",$PASSWORD,'cmd /c start /min '&$temp&'\*****script_a_inserer*****.exe')
sleep (500)
;run_adm("Admin2",$PASSWORD2,'cmd /c start /min '&$temp&'\*****script_a_inserer*****.exe')
;sleep (500)
Lancement de la fonction run_adm expliquée plus bas.
FileDelete($TEMP&"\runas.exe" )
FileDelete($TEMP&"\*****script_a_inserer*****.exe" )
Suppression des fichiers résiduels
func run_adm($user,$PASS,$cmd)
RunWait('cmd /c '&$TEMP&'\runas.exe /user:'&$user&' /password:'&$PASS&' /domain:%COMPUTERNAME% /command:"'&$cmd&'" /runpath:c:\ ',"",@SW_disable)
EndFunc
Fonction lancant le programme runas.exe (vrai nom LSrunase), extrait sur la machine, qui réalise lui même l’authentification. Nécessite 3 paramètres : le login, le mot de passe et la commande à lancer.
Utilisation du script:
Pour utiliser ce script, il suffit de remplacer toutes les occurrences de
*****script_a_inserer*****.exe
Par le nom du programme nécessitant les pouvoirs administrateurs
Il faut ensuite placer ce dernier ainsi que le fichier lsrunase.exe renommé en runas.exe (pour plus de sécutrité) dans le répertoire précisé au niveau de la commande fileinstall (en l’occurrence $TEMP, donc C:\winnt\temp ou C:\windows\temp) et lancer la compilation du script.