Требуется: На рабочей станции пользователь без привилегий должен запускать программу, которая работает только с правами администратора.
Стандартное решение: Воспользоваться штатной программой run as, в самом простом виде имеющей синтаксис следующего вида RUNAS /user:
Сторонние решения: CPAU (http://www.joeware.net/freetools/tools/cpau/) и RunasSpc (http://www.robotronic.de/runasspcEn.html).
Эти программы позволяют шифровать строку запуска, и затем уже запускать зашифрованный файл.
Примеры:
CPAU:
cpau -u localhost\admin -p PaSsWOrD -ex «C:\Windows\notepad.exe» -enc -file ExNonAdmin.job -lwp (создаем зашифрованный файл запуска)
cpau -dec -file ExNonAdmin.job -lwp (запускаем созданный выше файл)
RunasSpc:
runasspc /cryptfile:»ExNonAdmin.spc» /program:»C:\Windows\notepad.exe» /domain:»localhost» /user:»admin» /password:»PaSsWOrD» (создаем зашифрованный файл запуска)
runasspc /cryptfile:»ExNonAdmin.spc» /quiet (запускаем созданный выше файл)
К сожалению, у обеих программ нашлись недостатки: CPAU имеет проблемы в безопасности, дело в том, что если подложить ей любой запускной файл, имеющий то же имя, что и наш исходный файл, например, вместо notepad.exe мы подсунем virus.exe переименованный в notepad.exe, то мы сможем запустить вирус с правами администратора. Конечно, чтобы такое сделать пользователь должен знать какой exe’шник мы запускаем. То есть, в принципе, ушлого пользователя мы тоже сможем запутать при желании, но придется поколдовать с обманками. RunasSpc таким недостатком не обладает, и она just it work, поскольку сертификат вероятно учитывает размер файла, или какие-то контрольные суммы. И все бы ничего, но программа Free for only Private Use, что лицензионно чистые предприятия ставит перед фактом покупки лицензии.
Комментариев нет:
Отправить комментарий