Як користуватися psexec без права адміністратора на цільовій машині?


27

Чи можна використовувати psexecкоманду для виконання команди на віддаленій машині, не маючи привілеїв адміністратора на віддаленій машині?

Я спробував запустити psexec \\<machine> -u <username> -p <password>, де <username>і <password>є облікові дані не адміністратора, але мені з’явилася помилка «відмовлено у доступі»

Я можу видалити робочий стіл на віддалену машину з тими ж обліковими записами без проблем.

На моїй локальній машині працює 64-розрядна версія Windows 7 Enterprise, а на віддаленій машині працює 64-розрядна версія Windows Server 2008. У мене є права адміністратора на локальній машині.

EDIT : Для всіх людей, які заперечують це питання: я не намагаюся обійти будь-який захід безпеки. Я вже можу запустити процес на віддаленій машині, віддаляючи робочий стіл на віддаленій машині та запустивши його. Я просто шукаю спосіб командного рядка зробити щось, що вже можу зробити через GUI.


Це поганий питання, оскільки на цьому веб-сайті ми заперечуємо, щоб кінцеві користувачі запитували нас, як обійти системи безпеки. Можливо, вам слід прочитати цей: meta.serverfault.com/questions/1659/… , після чого слід прочитати FAQ.
John Gardeniers

7
Я не намагаюся обійти жодну систему безпеки. Я намагаюся зробити щось, що вже можу зробити через графічний інтерфейс, замість командного рядка, що вважаю зручнішим. Будь ласка, поясніть мені, як це обходить систему безпеки.
HC4 - відновити Моніку

4
Є багато разів, коли особа, яка є адміністратором, має вагомі причини знайти спосіб запустити процес без використання повних адміністративних прав. Іноді, звичайно, це неможливо чи не практично, але якщо кілька налаштувань системи можуть зробити різницю між повним відкриттям системи та налаштуванням доступу до неї за допомогою більш обмеженого облікового запису, то часто добре робити це робота, необхідна для роботи під більш обмеженим рахунком.
Шеннон Вагнер

8
Я адмініструю хости Windows, Linux та UNIX у своїй робочій ролі, і якби я вирішував питання користувача, атакуючи його за запитання, я скоро не з роботи. Ця особа не вимагає способу обходу адміністративних прав. Він просить метод використання PSEXEC з обмеженими правами для запуску процесу, який у нього вже є права для запуску через GUI.
Роберт Еберс

Відповіді:


26

Докладніше: /programming/534426/psexec-help-needed

Потрібно мати права адміністратора на цілі, оскільки частина psexec запускає службу Windows на цілі, і вам потрібні права адміністратора, щоб це зробити.

psexec копіює файл psexecsvc у спільний доступ адміністратора, а потім за допомогою віддаленого управління запускає послугу, що використовує цей файл. Він відкриває названі труби і використовує їх для подальшого спілкування. Коли вона закінчена, вона прибирає після себе.

Хоча я не можу знайти офіційну документацію, яка говорить про те саме.


5

Попросіть місцевого адміністратора на машині.

Редагувати: Або виконайте команду як заплановане завдання. Або використовуйте перемикач -l в PsExec: Запустити процес як обмежений користувач (знімає групу Адміністраторів і дозволяє лише привілеї, призначені групі Користувачі). У Windows Vista процес працює з низькою цілісністю. Дивіться тут: http://technet.microsoft.com/en-us/sysinternals/bb897553 . Вибачте за те, але RTFM!

Наприклад: Щоб запустити Internet Explorer як з правами обмеженого користувача, використовуйте цю команду:

psexec -l -d "c: \ програмні файли \ Internet Explorer \ iexplore.exe"

Зауважте, що пароль передається чітким текстом у віддалену систему.


1
Сисадміни цього не дозволять, і це не повинно бути необхідним. У Linux це не обов'язково.
HC4 - відновлення Моніки

4
@ HighCommander4, яка різниця має значення, чи потрібно це в Linux? Це середовище Windows. Перестаньте порівнювати яблука з апельсинами.
John Gardeniers

2
@John: Я просто пояснював, що я не намагаюся робити нічого, що потребує адміністраторських прав. У мене дві машини, з обліковим записом на кожній, і я намагаюся віддалено запустити процес на одній машині з іншої машини. Мені це здається дуже природною справою, і здається абсурдним вимагати права адміністратора для цього.
HC4 - відновлення Моніки

@ HighCommander4, те, що ви намагаєтеся зробити, це адміністративний доступ до віддаленого комп'ютера, НЕ потребує доступу адміністратора в Windows. Хоча це може здатися вам абсурдом, це має ідеальний сенс для тих, хто має адмініструвати мережу Windows.
Джон Гарденєр

4
@John: Що таке "адміністративне" щодо запуску програми на власному акаунті?
HC4 - відновити Моніку

2

Ні, не корисним способом. Чому б ти хотів це зробити, а не бути адміністратором?


2
Попросіть адміністратора домену зробити це за вас. Що не повинно бути проблемою, якщо тільки те, що ви робите, є рибним, правда?
Сафадо

2
Попросіть мого адміністратора домену зробити що для мене? Я вже можу запустити процес, віддалений робочий стіл на комп'ютері за допомогою облікового запису не адміністратора, і запустити процес під цим обліковим записом, тобто сам процес не потребує прав адміністратора для запуску. Я просто хочу мати можливість це робити з командного рядка, а не для віддаленого робочого столу в машину.
HC4 - відновлення Моніки

1
Чи можна встановити ssh на Windows Server без прав адміністратора? Якщо так, чи можете ви вказати на посилання? Я спробував OpenSSH, але, схоже, потрібні права адміністратора.
HC4 - відновлення Моніки

1
@tony roth: Для запуску демона SSH в Linux вам не потрібні підвищені хімічні показники. Для запуску на привілейованому порту вам потрібні підвищені фізичні можливості (0-1023). Ви можете налаштувати як клієнт, так і сервер для використання непривілейованого порту, не потребуючи підвищених perms на будь-якій машині.
HC4 - відновлення Моніки

2
Насправді мені вдалося встановити OpenSSH на сервері Windows без будь-яких привілеїв адміністратора, запустивши демон SSH на непривілейований порт. Ідіть далі і відверніть мене за те, що я зважився взяти на себе ініціативу, щоб збільшити свою продуктивність на своїй роботі, не попередньо звертаючись до Святих Сисадмінів.
HC4 - відновлення Моніки


0

Рішенням може бути використання сценарію AutoIT для входу на ваш віддалений робочий стіл за графіком з робочої станції. Нехай ваша папка "startup" виконає ваш процес за допомогою пакетного сценарію або іншого сценарію AutoIT (щоб ви могли скасувати, якщо виконувати інші роботи). Це не командний рядок, але він автоматизує вашу роботу в межах параметрів, які вам дав ваш sysadmin. Сподіваюся, це допомагає.


-1

Можливо, є спосіб це зробити. Це, мабуть, так просто, як редагування дозволів WMI на машині. Якщо це неможливо, то використовувати щось на кшталт WinRM, безумовно, вийде.

Все це є суперечкою для вас. У вас взагалі немає доступу адміністратора до машини. Тому ви не можете внести будь-які зміни, необхідні для цього. Вам потрібно це попрацювати зі своїм систематичним адміністратором, а не просити нас допомогти вам обійти його. Запам’ятайте одне дуже чітко, більшість з нас тут сисадміни, і ми не любимо користувачів, які намагаються обходити нас. Це не робить нас дуже ймовірними, щоб допомогти вам спробувати обійти своїх сисадмінів.


2
Я не бачу, як я намагаюся щось "обійти". Sysadmins хочу, щоб я міг запускати процеси на цій машині, інакше я б не зміг віддалити робочий стіл на нього. Все, що мені потрібно, це спосіб запустити процес, використовуючи командний рядок, а не графічний інтерфейс віддаленого робочого столу. Тепер я міг би помилитися з сисадмінами про це, або я просто міг знайти спосіб це зробити сам. Я думав, що спільнота професійних сисадмінів намагатиметься мені допомогти, а не читати мене.
HC4 - відновлення Моніки

@HighCommander - Відповідь полягає в тому, що систематики повинні надавати вам цю здатність. Ви не можете зробити це самостійно, оскільки у вас немає адміністративних прав на апарат. Якщо вони дійсно схвалюють це, то попросіть їх надати вам потрібні права, щоб мати можливість робити те, що вам потрібно зробити.
Джейсон Берг

-1

`const string subkey =" Програмне забезпечення \ Sysinternals \ PsExec ";

        if (Environment.Is64BitOperatingSystem)
        {
            // For 64 Bit PC
            RegistryKey registryKey64 = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry64);
            RegistryKey NDPKey64 = registryKey64.OpenSubKey(subkey);
            if (NDPKey64 != null)
            {
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
            else
            {
                RegistryKey regKey64 = registryKey64.OpenSubKey("Software", true);
                regKey64.CreateSubKey("Sysinternals\\PsExec", RegistryKeyPermissionCheck.ReadWriteSubTree);
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
        }
        else
        {
            //For 32 bit PC
            RegistryKey registryKey32 = Registry.CurrentUser.OpenSubKey(subkey);
            if (registryKey32 != null)
            {
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
            else
            {
                RegistryKey regKey32 = Registry.CurrentUser.OpenSubKey("Software", true);
                regKey32.CreateSubKey("Sysinternals\\PsExec", RegistryKeyPermissionCheck.ReadWriteSubTree);
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
        }`

4
Одним із надійних способів привернути до себе увагу системи - опублікувати однакові відповіді на старі запитання. Просто демпінг-код без пояснень теж не великий. Будь ласка, оновіть свої відповіді, пояснивши, що робить код і як він вирішує проблему ОП.
user9517 підтримує GoFundMonica

1
Гаразд, іноді PsExec навіть у тому випадку, коли він встановлений, не вимагає посилань на інші програми exe, коли вони вимагають. Проблема полягає у встановленні значення DWORD EulaAccepted в 1. Я не зміг знайти сторінку, на якій обговорюється ця проблема, і тут додано.
Шям

-1

Чому хтось не просто каже, що це неможливо? Мені потрібно зробити щось подібне (Remote Exec SAS Program), до якого я маю доступ робити, якщо я RDP на цей сервер (тобто у мене є доступ до сервера. У мене є доступ до файлової системи до папки вихідного коду, і у мене є доступ для запуску SAS).

Жоден sysadmin не є його розумним правом надавати мені повні права адміністратора на цю скриньку просто виконувати віддалено. В основному PSTools - це інструмент sysadmin, не призначений для використання для розгортання власних системних рішень ІТ.


1
Ця зухвалість взагалі не відповідає на питання.
Flup

Насправді це і є. +1
Аміт Найду
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.