PsTools — бесплатный набор консольных утилит для администрирования как удаленных, так и локальных систем, с помощью которых можно получать информацию о запущенных процессах и службах, управлять ими, запускать или завершать процессы и многое другое.
Для каждой утилиты доступен список поддерживаемых команд и ключей, кроме того в архиве PsTools имеется файл справки.
В состав пакета PsTools входят следующие утилиты:
PsExec — удалённое выполнение процесса.
PsFile — просмотр удаленно открытых файлов.
PsGetSid — вывод идентификатора безопасности (SID) пользователя или компьютера.
PsInfo — информация о системе и установленных приложениях.
PsKill — завершение процесса по имени или идентификатору.
PsList — подробная информация о запущенных процессах.
PsLoggedOn — просмотр пользователей зарегистрированных в системе локально или использующих общие ресурсы.
PsLogList — просмотр записей из журнала регистрации событий.
PsPasswd — изменение паролей учетных записей.
PsPing — проверка сети.
PsService — управление и просмотр информации о службах.
PsShutdown — выключение или перезагрузка компьютера.
PsSuspend — приостановка процессов.
С помощью небольшой программки Defender Control вы в один клик сможете отключать, включать и.
Небольшая портативная программа, которая позволяет настроить панель задач Windows 10.
Volume2 — очень удобная программа, дающая пользователю возможность управлять уровнем.
StartIsBack++ — полезная утилита для всех пользователей «десятки», которая вернет в интерфейс операционки привычное и знакомое меню Пуск из Windows 7.
CPU-Control — программа, которая позволяет распределять использование отдельных ядер.
UltraUXThemePatcher — небольшая утилита для установки сторонних тем оформления для Windows. Утилита не.
Отзывы о программе PsTools
Admin
Отзывов о программе PsTools 2.47 пока нет, можете добавить.
PsTools
By Mark Russinovich
Published: March 23, 2021
Download PsTools Suite(3.5 MB)
Introduction
The Windows NT and Windows 2000 Resource Kits come with a number of command-line tools that help you administer your Windows NT/2K systems. Over time, I’ve grown a collection of similar tools, including some not included in the Resource Kits. What sets these tools apart is that they all allow you to manage remote systems as well as the local one. The first tool in the suite was PsList, a tool that lets you view detailed information about processes, and the suite is continually growing. The «Ps» prefix in PsList relates to the fact that the standard UNIX process listing command-line tool is named «ps», so I’ve adopted this prefix for all the tools in order to tie them together into a suite of tools named PsTools.
Some anti-virus scanners report that one or more of the tools are infected with a «remote admin» virus. None of the PsTools contain viruses, but they have been used by viruses, which is why they trigger virus notifications.
The tools included in the PsTools suite, which are downloadable as a package, are:
PsExec — execute processes remotely
PsFile — shows files opened remotely
PsGetSid — display the SID of a computer or a user
PsInfo — list information about a system
PsPing — measure network performance
PsKill — kill processes by name or process ID
PsList — list detailed information about processes
PsLoggedOn — see who’s logged on locally and via resource sharing (full source is included)
PsLogList — dump event log records
PsPasswd — changes account passwords
PsService — view and control services
PsShutdown — shuts down and optionally reboots a computer
PsSuspend — suspends processes
PsUptime — shows you how long a system has been running since its last reboot (PsUptime’s functionality has been incorporated into PsInfo
The PsTools download package includes an HTML help file with complete usage information for all the tools.
Download PsTools Suite(3.5 MB)
Runs on:
Client: Windows Vista and higher
Server: Windows Server 2008 and higher
Nano Server: 2016 and higher
Installation
None of the tools requires any special installation. You don’t even need to install any client software on the remote computers at which you target them. Run them by typing their name and any command-line options you want. To show complete usage information, specify the «-? » command-line option. If you have questions or problems, please visit the Sysinternals PsTools Forum.
Related Links
Introduction to the PsTools: Wes Miller gives a high-level overview of the Sysinternals PsTools in the March column of his TechNet Magazine column.
PsTools
PsTools 2.46 LATEST
Windows Vista / Windows 7 / Windows 8 / Windows 10
PsTools 2021 full offline installer setup for PC 32bit/64bit
PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
The Windows NT and Windows 2000 Resource Kits come with a number of command-line tools that help you administer your Windows NT/2K systems. Over time, I’ve grown a collection of similar tools, including some not included in the Resource Kits. What sets these tools apart is that they all allow you to manage remote systems as well as the local one. The first tool in the suite was PsList, a tool that lets you view detailed information about processes, and the suite is continually growing. The «Ps» prefix in PsList relates to the fact that the standard UNIX process listing command-line tool is named «ps», so I’ve adopted this prefix for all the tools in order to tie them together into a suite of tools named PsTools.
The tools included in the PsTools suite, which is downloadable as a package, are:
PsExec — execute processes remotely
PsFile — shows files opened remotely
PsGetSid — display the SID of a computer or a user
PsInfo — list information about a system
PsPing — measure network performance
PsKill — kill processes by name or process ID
PsList — list detailed information about processes
PsLoggedOn — see who’s logged on locally and via resource sharing (full source is included)
PsLogList — dump event log records
PsPasswd — changes account passwords
PsService — view and control services
PsShutdown — shuts down and optionally reboots a computer
PsSuspend — suspends processes
PsUptime — shows you how long a system has been running since its last reboot (PsUptime’s functionality has been incorporated into PsInfo)
Note: some anti-virus scanners report that one or more of the tools are infected with a «remote admin» virus. None of the PsTools contain viruses, but they have been used by viruses, which is why they trigger virus notifications.
Sysinternals PsTools
Разработчик:
Microsoft (США)
Лицензия:
Бесплатно
Версия:
2.47
Обновлено:
2021-03-23
Системы:
Windows / Windows Server
Интерфейс:
Английский
Рейтинг:
Ваша оценка:
О программе
Что нового
Новое в версии 2.47 (23.02.2021):
Обновлена утилита PsExec 2.33
Системные требования
Операционные системы:
Windows Vista и выше
Windows Server 2008 и выше
Nano Server 2016 и выше
Полезные ссылки
Подробное описание
Sysinternals PsTools — бесплатный набор портативных консольных утилит для администрирования операционной системы и пользователей.
С помощью утилит из набора PsTools можно получать информацию о запущенных процессах и службах, управлять ими, удалённо запускать или завершать процессы, а также выполнять другие операции.
После запуска утилит в консоли отображается информация о поддерживаемых команда и ключах, а также доступен ключ -? для вывода информации об утилите. Также, в архиве PsTools имеется файл справки, описывающий работу с каждой утилитой.
Список утилит PsTools
PsExec — удалённое выполнение процесса.
PsFile — просмотр удаленно открытых файлов.
PsGetSid — вывод идентификатора безопасности (SID) пользователя или компьютера.
PsInfo — информация о системе и установленных приложениях.
PsKill — завершение процесса по имени или идентификатору.
PsList — подробная информация о запущенных процессах.
PsLoggedOn — просмотр пользователей зарегистрированных в системе локально или использующих общие ресурсы.
PsLogList — просмотр записей из журнала регистрации событий.
PsPasswd — изменение паролей учетных записей.
PsPing — проверка сети.
PsService — управление и просмотр информации о службах.
PsShutdown — выключение или перезагрузка компьютера.
PsSuspend — приостановка процессов.
Оценка пользователей
Другие программы
Sysinternals Tools Набор инструментов для диагностики и настройки Windows
NirLauncher Набор из более 200 бесплатных утилит для оптимизации и настройки Windows
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как использовать инструменты PsExec для запуска команд и управления удалёнными системами Windows
Операционная система Windows предоставляет различные способы управления удалёнными системами. Telnet, RDP, VNC — это только некоторые из них. Но эти варианты обычно связаны с графическим интерфейсом пользователя. Если мы предпочитаем интерфейс командной строки, есть альтернатива под названием PsExec.
PsExec — это портативный инструмент от Microsoft, который позволяет удалённо запускать процессы с использованием учётных данных любого пользователя. Это немного похоже на программу удалённого доступа, но вместо того, чтобы управлять удаленным компьютером с помощью мыши, команды отправляются на компьютер через командную строку.
Примечание: некоторые антивирусные сканеры сообщают, что один или несколько инструментов заражены вирусом «remote admin» («удалённый администратор»). Ни один файл из пакета PsTools не содержит вирусов, но они использовались вирусами, поэтому они вызывают уведомления о нежелательном ПО.
Вы можете использовать PsExec не только для управления процессами на удалённом компьютере, но и для перенаправления вывода консоли приложения на локальный компьютер, создавая впечатление, будто процесс выполняется локально.
Что такое PsExec и PsTools
На самом деле, PsExec это всего лишь один из инструментов из пакета PsTools. Программа PsExec используется чаще всего, поэтому обычно упоминается она, но в данной инструкции будут рассмотрены как примеры использования PsExec, так и примеры использования других инструментов из пакета PsTools.
PsExec используется для удалённого выполнения команд или получения шелла (оболочки) на удалённой системе
PsFile используется для вывода списка удалённо открытых файлов
PsGetSid используется для отображения идентификатора безопасности для удалённого компьютера или пользователя
PsInfo используется для получения подробной информации об удалённой системе
PsKill используется для остановки процесса в удалённой системе по имени или идентификатору
PsList используется для детального отображения процессов в удалённой системе
PsLoggedOn используется для вывода списка зарегистрированных пользователей в удалённых системах
PsLogList, используемый для отображения журналов событий на удалённых системах
PsPasswd используется для изменения заданного пароля пользователя в удалённой системе
PsPing используется для пинга из удалённой системы
PsServervice используется для перечисления и управления службами Windows в удалённой системе
PsShutdown используется для выключения, выхода из системы, приостановки и перезапуска удалённой системы Windows
PsSuspend используется для приостановки и возобновления процессов в удалённой системе Windows
PsUptime используется для отображения времени работы удалённой системы
Скачать PsExec (PsTools)
Как уже было сказано, PsExec является частью PsTools, который является частью Sysinternals от Microsoft. Набор программ PsTools распространяется бесплатно, ссылка на скачивание: https://download.sysinternals.com/files/PSTools.zip
Поскольку все утилиты имеют интерфейс командной строки, то если вы совсем не ориентируетесь в командной строке Windows (например, даже не знаете, как её открыть), то вначале ознакомьтесь со статьёй «Настройка рабочего окружения PowerShell в Windows и Linux».
Распакуйте скаченный архив, например, в папку PSTools.
Программа PsExec не требует установки. Но для запуска исполнимых файлов в командной строке нужно указать путь до них в файловой системе. Это можно сделать двумя способами:
1. Перед запуском программ перейти в папку со скаченными исполнимыми файлами, например, у меня это папка C:\Users\MiAl\Downloads\PSTools\, тогда, используя команду cd, в папку с файлами я перехожу следующим образом:
2. Скопировать папку PSTools в директорию C:\Windows\System32\ тогда все файлы PSTools будут доступны следующим образом:
Выберите любой вариант, который вам удобнее.
Что нужно для PsExec
Для работы PsExec на удалённом компьютере не требуется никакого программного обеспечения — то есть на компьютере, которым вы будете управлять, не нужно устанавливать никакую клиентскую часть. Но нужно соблюдение некоторых условий, чтобы PsExec работала, поэтому если первая попытка не удалась, то проверьте следующие требования.
1. На обеих машинах, т.е. удалённом компьютере (которым будем управлять) и локальном компьютере (с которого будем управлять), должен быть включён общий доступ к файлам и принтерам. Для их включения смотрите статью «SMB: настройка общей сетевой папки в Windows».
2. В современных Windows 10 у меня PsExec работала только с учётной записью «Администратор», видимой по той причине, что необходимы административные общие ресурсы (подробнее о них смотрите в статье «Как включить административные общие ресурсы в ОС Windows 10, 8 или 7 (C$, D$, $admin и другие)»).
На серверах Windows учётная запись «Администратор» включена по умолчанию.
В более старых версиях Windows, видимо, достаточно включения общего сетевого ресурса $admin для предоставления доступа к папке \Windows\. В Windows 10 папки $admin как сетевого ресурса нет вовсе.
3. Проверьте, что сетевой доступ к файлам и принтерам включён в файерволе. Для этого нажмите Win+r, введите там firewall.cpl.
Во вкладке «Разрешение взаимодействия с приложениями или компонентами в брандауэре защитника Windows»
найдите «Общий доступ к файлам и принтерам» и убедитесь, что стоит галочка в столбце «Частная» — если его там нет, то нажмите кнопку «Изменить параметры», поставьте галочку и нажмите ОК.
4. Убедитесь, что оба компьютера принадлежат к одной и той же рабочей группе (Workgroup).
5. Убедитесь, что вы правильно вводите пароль администратора удалённого компьютера.
Как включить учётную запись администратора
В моих тестах на последних Windows 10 и Windows Server 2019 команда PsExec работает только с учётной записью Администратор. Поэтому в этом разделе описано, как активировать пользователя Администратор, который по умолчанию присутствует в Windows, но в обычных, не серверных версиях, этот пользователь отключён.
Пользователя Администратор должен быть активен только на удалённом компьютере, где будут выполняться команды с помощью PsExec. На локальном компьютере учётная запись Администратор не требуется.
1. Нажмите клавиши Win+r, чтобы открыть окно запуска команды.
2. Введите lusrmgr.msc и нажмите Enter.
3. Откройте Пользователи.
4. Щёлкните правой кнопкой мыши Администратор и выберите Свойства.
5. Снимите флажок «Отключить учётную запись» и нажмите ОК.
6. Снова щёлкните правой кнопкой мыши учётную запись администратора и выберите «Задать пароль».
7. Укажите пароль для учётной записи администратора и нажмите «ОК».
Как запустить команду на удалённой системе
Основное использование команды PsExec — это просто запуск команды в удалённой системе. Чтобы запустить команду в удалённой системе, мы должны указать имя пользователя и пароль вместе с командой для запуска на удалённом компьютере.
Общий вид команды для запуска на удалённой системе:
\\КОМПЬЮТЕР — имя компьютера Windows или его IP адрес в локальной сети
-u Администратор — если операционная система на ином языке, то имя пользователя также будет другим, например, на английском это Administrator
-p ПАРОЛЬ — пароль пользователя Администратор. Эту опцию можно пропустить, тогда команда запросит пароль для ввода
КОМАНДА — программа, которую нужно выполнить на удалённой системе. После команды могут идти её опции.
Пример выполнения команды ipconfig на удалённом компьютере \\hackware-server от имени пользователя Администратор с паролем Aa1:
Как мы видим, команда выполняется в удалённой системе без проблем.
У удалённого компьютера HACKWARE-SERVER IP адресом является 192.168.0.53, поэтому следующая команда эквивалентна предыдущей:
Обратите внимание, что в Windows (в противоположность Linux), регистр букв в именах компьютеров, командах и путях не имеет значения — можно использовать буквы любого регистра в любых местах.
Как в PsExec запустить команду с аргументами
Аргументы программы достаточно указать через пробел после самой команды:
Как перенаправить вывод команды PsExec
После запуска команды в удалённой системе вывод команды будет напечатан в текущий стандартный вывод, который является нашей текущей оболочкой (окном командной строки). Этот вывод может быть перенаправлен в файл с помощью символа >. Если у нас много удалённых систем для запуска команд, эта опция будет очень полезна.
В этом примере выходные данные команды ipconfig сохраняются в файл с именем HACKWARE-SERVER_ifconfig.
Для вывода содержимого файла можно использовать команду Get-Content или её более короткий псевдоним cat:
Pass The Hash (использование хеша вместо пароля)
Указывать в командной строке пароль плохо для безопасности. А использование интерактивного ввода не позволяет использовать psexec.exe в скриптах. Выход из этой ситуации — использовать хеш пароля.
PsExec не может напрямую использовать хеш (хотя это ошибочно утверждается в некоторых инструкциях). Для применения хеша (Pass The Hash) с PsExec нужно использовать Windows Credential Editor или Mimikatz или Metasploit.
Пример выполнения Pass The Hash с PsExec. Вначале в Mimikatz:
Затем PsExec запускается без указания имени пользователя и пароля
Примеры NTLM хешей и где их брать в статье «Как взломать пароль Windows».
Как копировать исполнимый файл с локального на удалённую систему
Выполнение команд в удалённой системе — очень полезная функция, но есть и другая полезная функция, которая облегчит работу системных администраторов и пентестеров. PsExec может использоваться для копирования исполнимых файлов из локальной системы в удалённую систему. Мы задействуем опцию -c для операции копирования. По завершении команд скопированный экземпляр будет удалён.
В этом примере мы скопируем cmd.exe. После завершения операции копирования в удалённой системе будет запущен cmd.exe.
Как мы видим, мы получаем оболочку cmd в удалённой системе.
С опцией -c можно указать любой файл.
Ещё один пример:
В последнем примере как использовать PsExec мы используем опцию -c для копирования программы ccleaner.exe на удалённый компьютер J3BCD011, а затем запускаем выгруженный файл с параметром /S, который говорит CCleaner включить тихую установку (не требует ввода пользователя). Добавление такого аргумента требует cmd.
Как запустить приложение с графическим интерфейсом на удалённой системе
Операционные системы Windows предоставляют по умолчанию графический интерфейс. PsExec можно использовать для открытия приложения с графическим интерфейсом на удалённой системе в указанной пользовательской консоли. Пользовательская консоль просто означает рабочий стол пользователя.
В этом примере мы запустим notepad.exe на удаленной системе. Пользователь удаленного системного администратора может взаимодействовать с этим блокнотом. То есть программа откроется на удалённой системе, как-либо взаимодействовать с ней на локальной системе не получится.
Поскольку используется опция -i, программа откроется в интерактивном режиме, что означает, что она фактически запустится на экране удалённого компьютера. Если бы -i была опущена в вышеупомянутой команде, то команда выполнялась бы в скрытом режиме, что означает не показывать какие-либо диалоговые окна или другие окна.
Мы получим нашу локальную оболочку после того, как удалённый пользователь закроет блокнот. После закрытия код выхода будет напечатан в консоли psexec.
Как запустить команду как пользователь SYSTEM
При выполнении команд в удалённой системе привилегии и владелец процесса будут предоставлены пользователем. Если нам нужно изменить владельца удалённых команд на пользователя SYSTEM, мы указываем опцию -s.
В этом примере мы будем использовать regedit.exe:
Обратите внимание, что если на локальном компьютере нужно запустить программу с привилегиями SYSTEM (это намного более высокий привилегии, чем Администратор), то psexec также поможет. Например, чтобы получить доступ к разделам реестра Windows HKEY_LOCAL_MACHINE\SAM\SAM\ достаточно выполнить команду:
Как создать интерактивную оболочку с подключением к удалённой системе
До сих пор мы выполняли команды удалённо. После выполнения команды подключение к удалённой системе закрывалось. Это как сессионное соединение. С помощью PsExec мы можем получить удалённую оболочку или командную строку (по аналогии SSH в Linux). PsExec подключается удалённо и предоставляет нам оболочку MS-DOS. Чтобы получить удалённую оболочку, мы указываем команду cmd.exe в удалённой системе.
Но начнём с того, что посмотрим информацию о текущей системе и пользователе:
Теперь создадим шелл до другого компьютера:
Во-первых, обратите внимание, что изменилось приглашение командной строки (вместо PowerShell она стало CMD).
Теперь просмотрим информацию о текущем пользователе и системе:
Как можно убедиться, мы теперь находимся в командной строке другого компьютера — это и есть шелл, интерактивная оболочка.
Локальным пользователем является hackware-mial\mial, а после подключения пользователь стал hackware-server\администратор. Локальная система имеет версию 10.0.18363.720, а удалённая — версию 10.0.17763.1039.
Инструменты PsTools
До сих пор мы рассмотрели возможности утилиты PsExec, которая является самой популярной в пакете PsTools. Но в PsTools ещё много утилит для типичных действий, которые регулярно выполняют системные администраторы. Рассмотрим их далее.
Как вывести список открытых удалённо файлов с помощью PsFile
Команду PsFile можно использовать для просмотра или закрытия открытых файлов. Синтаксис очень похож на команду PSexec. В этом примере мы перечислим все открытые удалённо файлы.
Как получить список SID на удалённой системе с PsGetSid
SID используется для более детальной идентификации пользователей Windows. Мы можем перечислить SID предоставленных пользователей с помощью команды PsGetSid, как показано ниже.
Как получить информацию об удалённой системе с PSInfo
PsInfo — это инструмент, используемый для получения об удалённой системе информации, такой как время работы, версия, вариант Windows и т. д.
Следующая информация об удалённой системе предоставлена в PsInfo:
Uptime показывает, сколько дней и часов работает система
Kernel Version показывает ядро операционной системы
Product Type показывает версию операционной системы
Product Version версия продукта
Kernel Build Number номер сборки ядра
Registered Organization организация
Registered Owner владелец
IE Version показывает версию Internet Explorer
System Root показывает, где установлена операционная система
Processor показывает количество процессоров или потоков
Processor Speed скорость (частота) центрального процессора
Processor Type показывает подробную версию и имя процессора
Physical Memory количество физической памяти
Video Driver показывает имя загруженного драйвера
Как получить процессов в удалённой системе с PsList
Процессы, запущенные в удалённой системе, могут быть легко перечислены с помощью команды PsList.
Вывод предоставит следующую информацию о процессах удалённой системы.
Name — это имя исполняемого файла
Pid — это ID процесса, который идентифицирует процессы (то есть отделяет друг от друга, является уникальной характеристикой процессов)
Pri является приоритетом, который влияет на производительность процесса в периоды высокой нагрузки
Thd — это номер потока
Hnd — это счётчик открытых файловых обработчиков
CPU Time — это общее использование ресурсов центрального процессора
Elapsed Time — это время от начала процесса
Как убить процесс в удалённой системе с PsKill
Процессы, запущенные в удалённой системе, могут быть легко остановлены с помощью команды PsKill. Чтобы убить процесс, мы должны указать идентификатор процесса или имя процесса в качестве аргумента. Мы убьём удалённый процесс с идентификатором процесса 2064.
Как получить список журналов событий на удалённой системе с помощью PsLogList
Журналы удалённой системы могут быть легко выгружены в локальную систему с помощью команды PsLogList. Если мы используем эту команду без каких-либо дополнительных параметров, она выведет все журналы событий из удалённой системы, которые заполнят окно консоли. Так что для примера мы с опцией -m ограничим вывод последними 5 минутами журналов событий.
Как изменить пароль на удалённой системе с помощью PsPasswd
Пароли пользователей удалённой системы можно легко изменить с помощью команды PsPasswd. В этом примере мы изменим пароль администратора на 123456Aa.
Пинг с PsPing
Ещё одним полезным инструментом является PsPing, который создает ICMP-пакеты для проверки связи. Команда в примере запускается на локальной системе (но может быть запущена и удалённо).
Для запуска пинга с удалённого компьютера:
Управление службами в удалённой системе с помощью PsService
Команда PsService используется для просмотра, запуска, остановки служб в удалённой системе.
Как вывести список служб
Мы можем перечислить удалённые сервисы с опцией query.
Как запустить службу удалённо
Удалённый сервис может быть запущен с опцией start. В этом примере мы запустим сервис с именем mysql.
После запуска сервиса будет выведена информация о нём.
Как остановить службу удалённо
В следующем примере мы остановим службу mysql:
Как выключить, перезагрузить, приостановить удалённую систему с PsShutdown
Удалённую систему можно отключить командой PsShutdown, как показано ниже.