0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Код администратора для загрузки программ. Использование утилиты AdmiLink

03.03.2014 — Запуск приложений от имени учетной записи с правами администратора

Доброго времени суток уважаемый посетитель. В сегодняшней статье я предлагаю тебе рассмотреть ни как обычно установку и конфигурирование серверов и клиентских станций с самого начала, а обычные будни системного администратора. А рассматривать мы будем запуск определенного приложения из-под имени администратора, рассмотрим какие существуют решения и чем они отличаются. Причиной, по которой администраторы сталкиваются с этой проблемой довольна проста, в нашей практикте ит-аутсорсинга, мы довольно часто сталкиваемся с ситуацией, когда приложение (особенно отечественных разработчиков) не ориентированно на UAC, а почему так, спросите у разработчиков приложения. Тестировать будем в виртуальной среде Hyper-V на виртуальной машине второго поколения с ОС Windows 8.1.

Разнообразие присутствует

Рассматривать мы будем три утилиты:

RunAs

RunAs — запускает конкретные средства и программы с разрешениями, отличными от тех, которые предоставляет текущая учетная запись. Эта утилита не является сторонней, она входит в поставку ОС Windows. Справка по утилите runas /?

Тестировать будем на встроенной утилите msconfig.exe, которая входит в ОС Windows. Запуск этой утилиты осуществляется только с учетной записи имеющие права администратора.

ВНИМАНИЕ! Запуск утилиты будет осуществляется из-под учетной записи доменного администратора. В реалии не рекомендуется этого делать, лучше создать отдельную учетную запись для подобных моментов.

Итак, попробуем воспользоваться устроенной утилитой RunAs, для этого запустим командную строку и напишем следующее

Далее потребуется ввести пароль:

Попрошу заметить, что вводимый пароль не будет отображаться

После удачного ввода пароля и имени учетной записи, откроется окно msconfig.exe

Теперь создадим ярлык для запуска msconfig.exe из-под учетной записи администратора.

Нажмем «Далее» и запустим ярлык.

После удачного ввода пароля запустится уже известный msconfig.exe.

Вопрос напрашивается сам собой, позволит ли администратор, пользователю знать пароль от учетной записи имеющей права администратора, имя от которого легко посмотреть в свойствах ярлыка?

И еще, пароль при запуске ярлыка нужно будет вводить каждый раз, что не удобно для пользователя, если вы заходите облегчить жизнь ему, использовав параметр «/savecred», то вы создадите огромную дыру в системе безопасности.

Вот пример для создания огромной дырки:

Вы захотели облегчить жизнь пользователю, добавляем параметр «/savecred»

Запускаем ярлык и вводим пароль, при первом запуске утилита предлагает ввести пароль

Вводим пароль и говорим прощай! При повторном запуске утилита не будет требовать пароль, а точнее она теперь вообще не будет его требовать, вы подумаете «Ну и что!». А давайте попробуем в свойствах ярлыка изменить запускаемую утилиту, например, на cmd.exe.

Пытаемся запустить и ….

«Мать твою! Он только что почистил arp-кэш». Я думаю если вы используете «/savecred», то вы вряд ли знаете, что такое arp-кэш и что для его очистки нужны права администратора.

ExecAS

Утилита ExecAs предназначена для запуска любых программ с правами, отличными от прав текущего пользователя. Можно применять для запуска программы Locker с правами администратора из-под ограниченной учетной записи. Это позволяет запретить операторам доступ к файлам базы данных программы Locker и вообще к запуску любых нежелательных программ кроме Locker-a.

Читать еще:  Флеш плеер для андроида 8.1. Как установить Адобе флеш плеер на Андроид — обеспечиваем безграничный доступ к играм, видео, и т.д

ExecAs очень простая утилита, с которой сможет работать даже школьник.

Положительной чертой является ее простота.

Отрицательной чертой является отсутствие работы с доменными учетными записями.

Итак, после создания локальной ученой записи с ограниченными правами и учетной записи с права администратора, запустим ExecAs.

При первом запуске, приложение сразу предлагает ввести имя учетной записи и пароль, а также указать путь до приложения которое нужно запустить. Будем запускать cmd.exe о имени локального администратора. Попрошу заметить, что вводимая учетная запись указывается без имени машины. Для добавления приложения нажимаем на значок папки, который находится в конце строки «Программа».

Нажимаем «Записать». Наше приложение будет под номером 1.

Закрываем ExecAs и снова запускаем.

Как мы видим, cmd.exe сразу запустилось при запуске ExecAs. Дело в том, что если у вас одно приложение в списке запускаемых приложений в ExecAs, то это приложение будет сразу запускаться, это довольно хорошо, но если у вас к примеру, больше одного приложения?

Открываем cmd, переходим в каталог с приложением ExecAs, и запускаем его с параметром ниже

Теперь мы можем добавить еще одно приложение, к примеру калькулятор

Теперь если мы закроем и откроем ExecAs, мы увидим окно выше, этого не должно произойти. Для этого есть параметр NN – номер запускаемой программы.

Создадим два ярлыка, один для запуска cmd, другой для калькулятора.

Запускаем оба ярлыка

Не забываем про номер программы, который можно изменять при добавлении запускаемой программы, и который можно посмотреть в списке запускаемых программ.

AdmiLink

AdmiLink — утилита, при помощи которой Администратор может создать ярлык, дающий возможность пользователям с ограниченными правами запускать конкретную (без возможности подмены!) программу с правами Администратора (или любого другого пользователя) без (интерактивного) ввода пароля.

Типичным применением программы AdmiLink является администрирование защищенных систем, в которых пользователь работает в основном под своей ограниченной учетной записью, и только отдельные, строго ограниченные Администратором функции запускает под Администратором, не зная его пароля и не имея возможности запускать другие, несанкционированные программы.

Другим типичным примером является использование AdmiLink для запуска потенциально опасных программ, например, Web браузера, с пониженными правами без ввода пароля. Так, чтобы избежать заражения машины вирусом, можно запускать Web браузер под учетной записью ограниченного пользователя, что резко снижает вероятность повреждения системы. Чтобы не вводить каждый раз пароль ограниченного пользователя, на Рабочем Столе можно сделать ярлык для запуска Web браузера под ограниченным пользователем.

Как работает AdmiLink

В состав пакета входит две программы: AdmiRun и AdmiLink.

AdmiRun — простая консольная задачка, которая умеет только одно — запускать другие программы от имени Администратора (или любого другого пользователя). При инсталляции AdmiRun копируется в каталог Windows, чтобы быть доступной в любом каталоге. AdmiRun может работать как в пакетном режиме (в командных файлах), так и для интерактивного запуска программ (через ярлык на Рабочем столе). Формат вызова можно получить, набрав AdmiRun /? Разумеется, для запуска программ от имени Администратора нужно знать пароль. С другой стороны, из соображений безопасности открыто передавать пароль нельзя, иначе вся система защиты лишается смысла. Выход состоит в передаче зашифрованной учетной записи (учетная запись = пользователь + домен + пароль). Учетную запись AdmiRun получает демонстративно открыто, через командную строку, однако понять из нее ничего нельзя — учетная запись передается как зашифрованнный ключ. Ключ привязан к конкретному исполняемому файлу, без этого файла AdmiRun просто не сможет расшифровать учетную запись. Поэтому если пользователь попробует запустить другую программу с таким же ключем, он потерпит неудачу. Более того, для того, чтобы сделать жизнь хакеров повеселее, ключи генерируются с использованием случайных чисел и никогда не повторяются.

Читать еще:  Какие операторы отменили внутрисетевой роуминг. В россии отменили национальный и внутрисетевой роуминг

Итак, после установки AdmiLink, советую при установке убрать галочку с создания всех ярлыков и запускать утилиту только с каталога где она установлена, запускам AdmiLink.

1) В поле «Задать имя исполняемого файла интересующей программы» укажем путь, нажав на значок дискеты. В нашем случае это будет cmd.exe

2) Поле «Задать командную строку для исполняемого файла» оставим пустым.

Этот шаг необязателен, если параметры отсутствуют. Кроме того, имейте в виду, что можно указать привязку шифрования учетной записи к командной строке, чтобы нельзя было получить права Администратора, подменив параметры командной строки в ярлыке.
Например, делая ярлык c:windowssystem32control.exe timedate.cpl для коррекции системного времени, не забудьте привязать шифрование к командной строке, иначе, отредактировав ярлык, можно будет запустить, например, c:windowssystem32control.exe nusrmgr.cpl и получить доступ к управлению пользователями, что совсем нехорошо.

3) Поле «Задать стартовый каталог запускаемой программы…» обычно заполняется автоматически

4) Задать режим отображения окна программы.

  • SHOW — запускать программу, видимую на экране. Это обычный режим для интерактивных программ.
  • HIDE — запускать программу, не видимую на экране. Это режим для служебных программ, работающих в фоновом режиме.

Переходим на вкладку «Accout»

5) В поле «Имя домена» указываем NetBios имя или полное имя домена, в нашем случае test.lan.

6) В поле «Имя пользователя» можем вписать Администратор или нажать «…» для выбора учетной записи.

7) Вводим пароль и его подтверждение и жмем «Тестировать».

Нажимаем любую клавишу. Если появилось сообщение «Account is good to use» значит все хорошо и идем дальше.

8) Жмем «Сгенерировать ключ запуска AdmiRun», без этого ключа запуск приложения пройдет неудачно.

9) Переходим на вкладку «Link» и задаем имя ярлыку

10) Задаем каталог, и не забываем про ту учетную запись из-под которой запущен AdmiLink

11) Задать файл и индекс картинки для ярлыка. Обычно это поле заполняется автоматически. По умолчанию предполагается, что картинка берется из исполняемого файла программы с индексом 0.

12) Нажимаем «Сгенерировать командную строку» и видим волшебную абракадабру

13) Жмем «Создать ярлык сейчас»

После нажатия на «Создать ярлык сейчас» создается ярлык и сбрасываются все поля.

Попробуем изменить запускаемую программу в свойствах ярлыка, например, на калькулятор

Попытаемся запустить ярлык

Попрошу заметить, что привязка к MAC, IP и командной строке не производилась.

К заключению. Не забывайте, что в запущенной программе с правами администратора, можно открыть вкладку «Файл» если она конечно есть и делать с ОС все что угодно. Это уже проблемы безопасности скорее ОС, так что будьте осторожны.

Все, люди, мир Вам!

Автор ag | Метки: UAC, IT Просмотров 102064

Windows: Создать ярлык для запуска программы от имени администратора. (AdmiLink)

Довольно часто возникает ситуация, когда некоторые программы отказываются корректно работать без прав администратора. Если давать права администратора не сильно хочется или это запрещено политикой компании, то вам пригодится утилитка AdmiLink, которая создает ярлыки для запуска программ с правами другого пользователя. Есть конечно штатный runas /savecred и утилитка Марка Руссиновича PSExec, но на мой взгляд AdmiLink более прост в обращении.

На момент написания статьи актуальная версия программы (версия 3.0) нормально работает со всеми операционными системами семейства Windows включая Windows 10. Скачать софтинку можно отсюда или с оф. сайта.

Создание ярлыка происходит в три этапа:

Этап номер раз. Выбор программы и ключей запуска.

На этом этапе указывается полный путь к программе, параметры командной строки, рабочий каталог программы и режим отображения окна. Расшифровку режимов отображения можно посмотреть нажав кнопку «Выбрать. «

Читать еще:  Proxy Soft – утилита для работы с прокси серверами. Проверено Граббер приватный прокси By Xaiver V2.1

Этап номер два. Выбор пользователя под которым будет запускаться программа.

На этом этапе указываются Домен имя пользователя и пароль. Пользователи без пароля не канают. AdmiLink просто откажется продолжать, если вы введете пользователя без пароля. Проверить правильность введенных данных можно кнопкой «Тестировать». При правильных логине/пароле вы увидите окошко:

и надпись «Account is good to use.» в окне с программы. Также можно задать таймаут при старте в поле «AdmiRun ждет при старте, сек», при создании ярлыка для автозапуска.

Этап номер три. Собственно создание ярлыка.

После проверки пользователя генерируем строку запуска AdmiLink одноименной кнопкой. На вкладке LNK вводим имя ярлыка, выбираем папку назначения и файл со значком. Если хотите поместить ярлык в общий профиль, чтобы он появился у всех пользователей, ставьте галку All Users.

После чего нажимаем «Сгенерировать командную строку» и «Создать ярлык сейчас!». Радуемся жизни.

Единственный серьёзный минус программы — при изменении конечного файла ярлык перестает работать. AdmiLink пишет ошибку «Не могу выполнить . целевой файл был измененобновленудален . «. Поэтому если вы доработали скрипт или обновили программу, ярлык нужно создавать заново.

Запуск программ от имени администратора из-под ограниченной учетной записи

Любой системный администратор сталкивался с ситуацией, когда бухгалтеру нужно поставить какую-нибудь программу, которая работает только под админом, например, банк-клиент. И часто из всех подходящих способов остается только дать админа и молиться, чтобы бухгалтерша не полезла шариться по форумам и пр. в поисках всякой полезной малвари.

Вариант создания ограниченной учетной записи и выдача пароля от админской учетной записи неудобен по нескольким соображениям:

1) Вводить пароль каждый раз будет неудобно (уж не помню, почему, но от ключа «/savecred» команды «runas» я отказался).
2) Факт владения паролем от админки(!) для бухгалтерши(. ) открывает ей путь для волшебства. Аськи, плагины и прочие, недоступные ранее радости, теперь доступны. Естественно, это сразу отразиться на работе компьютера.

Выходом из сложившейся ситуации стала программа AdmiLink, создающая ярлык для запуска программы от имени какой-либо учетной записи, введенной ранее. Программа с русским интерфейсом, бесплатная и очень простая в использовании. Приведу цитату с сайта автора:

«AdmiLink — утилита, при помощи которой Администратор может создать ярлык, дающий возможность пользователям с ограниченными правами запускать конкретную (без возможности подмены!) программу с правами Администратора (или любого другого пользователя) без (интерактивного) ввода пароля.

Типичным применением программы AdmiLink является администрирование защищенных систем, в которых пользователь работает в основном под своей ограниченной учетной записью, и только отдельные, строго ограниченные Администратором функции запускает под Администратором, не зная его пароля и не имея возможности запускать другие, несанкционированные программы»

Запуск программ под администратором в Windows 7

Совершенно случайно (см. комментарии kpcp) я узнал, что Admilink при работе в Windows 7 может выдавать ошибку при попытке запуска созданного ярлыка для какой-нибудь программы, которую мы хотим выполнить под админом.

Выглядит это так (здесь и далее скрины и идея с oszone.net):

Происходит это из-за проблем с пресловутым «Контролем учетных записей пользователя» (User Account Control или UAC). Кто-то отключает UAC, но я не стал, все-таки лишний контроль не помешает.

Ладно, а как жить дальше-то? Решение не обычное, сразу сам бы не додумался, наверное:

Нам будет нужна утилита Elevate от Johannes Passing. Эта утилита из командной строки запустит нашу программу, которой нужны права администратора и у которой есть проблемы с поддержкой UAC:

Выведется запрос UAC и приложение запустится от имени администратора.

Вот как это будет выглядеть в программе Admilink:

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector