Разное

Pstools инструкция на русском – PsTools — расширяем возможности командной строки Windows

02.01.2020

PsTools — Windows Sysinternals | Microsoft Docs

  • Время чтения: 2 мин

В этой статье

By Mark Russinovich

Published: July 4, 2016

Download Download PsTools Suite (2.7 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 Download PsTools Suite (2.7 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.

docs.microsoft.com

pstools | SCBlog

Выполнение команд на удаленном компьютере — задача довольно распространенная. Это может быть необходимо для изменения настроек системы, установки или удаления программ и много еще для чего. Для решения подобных задач есть довольно много различных инструментов, начиная с серьезных программных комплексов типа System Center Configuration Manager и заканчивая скромными утилитами командной строки . Об одной из таких утилит и пойдет речь в этой статье.

Утилита PsExec входит в состав пакета PsTools компании Sysinternals. Она позволяет выполнять команды на удаленных компьютерах и при этом не требует установки в систему. Для использования утилиты достаточно просто скопировать ее в папку с исполняемыми файлами (напр. C:\Windows\system32) и запустить из любой оболочки командной строки: Cmd или PowerShell. Принцип работы программы состоит в следующем: в ресурсах исполняемого файла PsExec.exe находится еще один исполняемый файл – PSEXESVC, который является службой Windows. Перед выполнением команды PsExec распаковывает этот ресурс в скрытую административную папку удалённого компьютера Admin$ (C:\Windows), в файл c:\windows\system32\psexesvc.exe.

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

После завершения копирования  PsExec устанавливает и запускает службу, используя API функции

Windows для управления службами. Затем, после запуска PSEXESVC между ним и PsExec устанавливается соединение для передачи данных (ввода команд и получения результатов). По завершению работы PsExec останавливает службу и удаляет её с целевого компьютера.

Синтаксис PsExec выглядит следующим образом:

1
psexec \\компьютер [-u пользователь [-p пароль]] программа [аргументы]
psexec \\компьютер [-u пользователь [-p пароль]] программа [аргументы]

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

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

В качестве примера очистим кэш dns на удаленном компьютере SRV1:

1
psexec \\SRV1 ipconfig /flushdns
psexec \\SRV1 ipconfig /flushdns

Команда будет запущена на компьютере SRV1 под вашими учетными данными. После завершения работы ipconfig весь текстовый вывод будет передан на ваш компьютер, а кроме того будет возвращён код выполнения команды (error code). В случае если команда выполнилась успешно, он будет равен 0.

Если нужно выполнить несколько команд, то лучше установить с удаленным компьютером интерактивный сеанс. Для этого вводим команду psexec \\SRV1 cmd . Теперь команды, вводимые на локальном компьютере будут выполняться на удаленном компьютере SRV1

PsExec позволяет выполнить команду одновременно на нескольких компьютерах. Для этого можно ввести имена компьютеров через запятую:

psexec \\SRV1, SRV2 или сохранить их в текстовом файле и затем указать его адрес:  psexec @c:\comp.txt . Если же вместо имени компьютера поставить звездочку,  вот так:  psexec \\*  , то команда будет выполнена на всех компьютерах домена.

И еще один интересный способ использования утилиты PsExec. Если не указывать имя компьютера, то по умолчанию команда выполняется в локальной системе. Используя ключ -s можно запускать программы под  учетной записью системы. Например, запустим сеанс командной строки: psexec -s cmd и затем командой

whoami проверим, под каким пользователем мы сейчас работаем

Эта возможность может пригодиться для отладки программ или доступа к скрытым разделам реестра SAM и SECURITY.

Ну и несколько слов о ключах программы. Все описывать не буду, расскажу о наиболее интересных:

-c

Указанная программа копируется в удаленную систему для выполнения. Например:

psexec \\SRV1 -c test.exe

Если этот параметр не задан, то приложение должно находиться в системной папке удаленного компьютера. Если же на удаленном компьютере такая программа уже есть и находится не в системном каталоге, то необходимо указать к ней полный путь (если имя программы содержит пробелы, то его необходимо поместить в кавычки):

psexec \\SRV1 «c:\program files\test.exe»

Если вместе с ключом -c использовать ключ -f то даже если программа уже есть в удаленной системе, она будет перезаписана. А с ключом -v она перезапишется только в том случае, если копируемая версия программы более новая чем та, что установлена в системе.

-i

Работа программы в интерактивном режиме. По умолчанию PsExec выполняет команды в скрытом режиме, то есть на системе где выполняется команда, не выводятся никакие окна или диалоги. Однако есть возможность изменить это с помощью ключа

-i . После него можно указать номер сессии, в которой выводить окна, а можно и не указывать, тогда интерфейс будет отображен в консольной сессии.

-d

Указывает, что не нужно ждать завершения приложения. В этом случае мы не получим выходных данных от консольной утилиты, но зато сможем не дожидаясь завершения предыдущей команды запускать следующие. Этот параметр следует использовать только при запуске неинтерактивных приложений.

 -h

Используется для запуска программы в режиме повышения полномочий. Может потребоваться в операционных системах Windows Vista и выше для запуска некоторых программ, вносящих изменения в настройки системы (например regedit)

-l

А с помощью этого ключа можно наоборот понизить полномочия. При запуске процесса пользователю вне зависимости от его принадлежности к группе администраторов предоставляются ограниченные права (права группы  «администраторы» отменяются, и пользователю предоставляются только права, назначенные группе «пользователи»).

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

sc-blog.ru

Набор средств PsTools (Часть 1)

Published on Февраль 3, 2009 by Support   ·   Комментариев нет

Если вы хотите ознакомиться с остальными частями этой статьи, пожалуйста, прочитайте:

Вы должны обожать людей, которые тратят свое время на разработку бесплатных средств. То, что эти средства бесплатны, – это здорово, но, помимо этого, многие из них еще и постоянно изменяются, что тоже чертовски приятно. Мы должны поблагодарить Марка Риссиновича и Дэйва Соломона из Sysinternals за то, что они разработали большое количество бесплатных средств, которые называются PsTools. Все средства, входящие в набор PsTools, запускаются из командной строки с помощью cmd.exe. Многие ли из вас думают о средствах командной строки то же самое, что и я? Когда дело доходит до командной строки, я сразу начинаю думать о неприятностях: о хакерах, взламывающих системы, или об их действиях внутри уже взломанной сети. Большинство средств для взлома как раз и запускаются из командной строки. В данной статье мы рассмотрим функциональность набора средств PsTools и узнаем, как и зачем может использовать эти средства системный администратор или специалист по безопасности.

Любимы хакерами и сисадминами

Сегодня средства из набора PsTools нравятся как хакерам, так и системным администраторам, и тому есть несколько причин. Данные средства малы по размеру, однако, достаточно функциональны. Весьма удобно обладать маленькой программкой, позволяющей вам удаленно перегрузить компьютер или, например, выдать системную информацию. Общим у всех средств является удаленный способ управления компьютером. Вот почему я думаю о хакерах, когда речь заходит о средствах командной строки, и PsTools не исключение. Помня об этом, опробуйте данные средства в тестовом окружении, чтобы узнать, как они работают и для чего они могут вам пригодиться.

Подготовка

Для описания некоторых из этих средств я буду использовать их после получения системного уровня доступа к компьютеру в моей тестовой сети. Таким образом, вы сможете увидеть, как хакеры используют данные средства. Для получения привилегий на удаленное выполнение программ я буду использовать программу Metasploit Framework. Зачем разрабатывать собственные средства, если можно использовать упомянутую выше программу? После Metasploit для своих упражнений я воспользуюсь VMware и tcpdump.exe. Теперь, воспользовавшись данными средствами, давайте перейдем к первой программе пакета PSTools.

psexec

Средство psexec используется для удаленного запуска программ на компьютерах. Ранее я использовал psexec для запуска программ, установленных на альтернативных потоках данных. Порой, если хакер получает доступ к одному из компьютеров, вы сможете заметить передачу psexec. Когда я писал вышеупомянутую статью, средство psexec работало прекрасно. Теперь я обнаружил в нем несколько странных моментов. Оно не хотело работать, и мне пришлось потратить около часа на то, чтобы найти, в чем причина. Я заставил ее работать, но с синтаксисом, отличным от того, что был описан в указанной статье. Я был бы рад, если бы вы сообщили мне, что изменилось. Ну а теперь посмотрим, как использовать psexec с помощью обратной оболочки, предоставляемой Metasploit.

Рисунок 1

Из Рисунка 1 видно, что программа psexec запустилась успешно. Хотя ipeye.exe (средство командной строки для сканирования портов, о котором я напишу позднее) работает, оно выдает код ошибки 0. Странно, поскольку такого никогда не случалось прежде, однако, тест работает, и мы смогли удаленно запустить программу с помощью psexec. Если вы обладаете системным уровнем доступа на удаленном компьютере через оболочку, вы можете запустить на нем любую программу. Поиграйтесь с psexec, познакомьтесь поближе с этим средством, поскольку оно обладает некоторыми параметрами, которые могут показаться вам интересными.

psfile

Данное средство позволяет вам видеть, какие файлы открыты удаленно на компьютере, где запущена эта программа. То есть, если вы запустите psfile, скажем, на компьютере 192.168.1.100, вы увидите, какие файлы на 192.168.1.100 просматриваются удаленными компьютерами. Однако, вы не увидите IP-адреса удаленных компьютеров. Зато вы сможете закрыть любой из просматриваемых файлов. Это достаточно удобное средство. Но лучше один раз увидеть, чем сто раз услышать, поэтому давайте посмотрим, как выглядит данное средство в работе.

Рисунок 2

Как видно из Рисунка 2, psfile выдает список удаленно открытых файлов и локальный путь к ним. Достаточно удобно, особенно если вы обнаружите в своей системе новые папки, которых раньше не было!

psgetsid

Последним средством, которое мы рассмотрим сегодня, будет psgetsid. Данное средство позволяет запрашивать SID компьютера. Весьма полезно, если вы не относитесь к тем, кто любит ковыряться в реестре. Данная программа также позволяет не только просматривать SID компьютера, но и указывать имена учетных записей. Например, если вы хотите увидеть SID учетной записи администратора, просто сделайте все так, как показано на Рисунке 3.

Рисунок 3

Wrapup

Итак, мы рассмотрели некоторые из средств, входящих в состав пакета PsTools. В следующих частях статьи мы расскажем об оставшихся. С помощью этих средств вы, как сетевой администратор, будете не только лучше управлять вашей сетью, но и сможете распознать потенциально опасные активности в вашей сети. Как и большинство хороших программ, эти используются и администраторами, и хакерами. Многообразие и функциональность этих средств – это то, что, в первую очередь, делает их крайне привлекательными. Можно придумать много различных сценариев, в которых используются данные средства командной строки. Часто информация без контекста ничего из себя не представляет, а в данном случае контекстом будет служить пример использования. После окончания описания всех средств, все станет гораздо прозрачнее. Вы увидите, что одно средство естественно переходит к другому и т.д. До встречи в Части 2.

Источник www.windowsecurity.com


Смотрите также:

Tags: redirect, tcpdump

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System … [+] Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 … [+] Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть … [+] Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations … [+] Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) … [+] If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part … [+] Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC … [+] Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание … [+] Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part … [+] Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть … [+]

faqman.ru

Утилиты пакета PSTools | |

PsExec — Позволяет выполнить приложение на локальном и удаленном компьютере. Естественно, при наличии соответствующих прав доступа. Большинство ключей командной строки, используемые для PSexec, используются и для других утилит пакета, поэтому будут рассмотрены подробно.

Использование:

psexec.exe [\\computer[,computer2[,…] | @file][-u user [-p psswd]][-s|-e][-i][-c [-f|-v]][-w directory][-d][-priority][-a n,n,…] cmd [arguments]

computer — имя или IP-адрес компьютера. Если пропущено — то приложение запускается на локальном компьютере. Если используется шаблон (\\*), PsExec выполнит приложение на всех компьютерах текущего домена.
@file — имя файла со списком компьютеров для выполнения.
-u — имя пользователя. Если опущено — то будет использовано имя текущего пользователя.
-p — пароль. Если опущен, то будет запрошен программой.
-s — выполнить приложение с локальными системными правами (Local system account).
-e — использовать указанный профиль пользователя.
-i — разрешить удаленной программе взаимодействовать с рабочим столом на удаленном компьютере. Если ключ не задан, то выполнение удаленной программы происходит незаметно для пользователя удаленного компьютера.
-c — копировать указанную программу на удаленный компьютер перед выполнением. Если ключ опущен, то программа для выполнения должна присутствовать на удаленном компьютере в путях поиска, задаваемых переменной окружения path.
-f — выполнять копирование даже при наличии исполняемого файла на удаленном компьютере.
-v — выполнять копирование только в случае, если исполняемый файл имеет более позднюю версию.
-d — не ждать завершения удаленного процесса.
-w — установить рабочий каталог для удаленного процесса.
-priority — приоритет для удаленного процесса. Может принимать значения (в порядке возрастания) -low, -belownormal, -abovenormal, -high, -realtime.
-a — указание процессоров (для мультипроцессорных систем) на котором будет выполняться приложение. Например — для CPU 1, CPU 4, ключ: «-a 1,4»
program — имя приложения для выполнения на удаленной системе.
arguments — аргументы для удаленного приложеня. Пути файлов должны задаваться относительно удаленного компьютера и имена файлов или каталогов, содержащие пробелы должны заключаться в двойные кавычки, например — «C:\Program Files\User Folder\Programm.exe»

    Ввод с клавиатуры направляется на удаленный компьютер, нажатие Ctrl-C завершит удаленный процесс. Если не задано имя пользователя, то удаленный процесс будет выполнен на удаленной системе с правами локальной системной учетной записи, т.е. без доступа к сетевым ресурсам, даже если ваша учетная запись на удаленной системе дает вам такой доступ. Поэтому, если удаленному приложению требуется доступ к сетевым ресурсам, задавать имя пользователя в формате «Domain\User» обязательно. Код возврата (ERRORLEVEL) по завершению Psexec определяется удаленным приложением, что позволяет анализировать результаты выполнения удаленного приложения в командных файлах.
Примеры:
  —   запустить командный процессор cmd.exe на удаленном компьютере
Psexec.exe \\192.168.0.1 cmd.exe
Psexec.exe \\Comp1 cmd.exe
Psexec.exe \\192.168.0.1 -u vasya -p mypass cmd.exe
Psexec.exe \\192.168.0.1 -u vasya -p mypass -c -f -w C:\ cmd.exe
В результате вы получаете доступ к командной строке на удаленном компьютере и увидите приглашение:

Microsoft Windows 2000 [Версия 5.00.2195]
(С) Корпорация Майкрософт, 1985-2000.
С:\WINNT\system32>

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

— получить информацию о настройке TCP/IP
Psexec.exe \\REMOTEPC -u Mydomain\MyUsername -p mypass ipconfig /all
— получить информацию о сетевом окружении на REMOTEPC:
Psexec.exe \\REMOTEPC -u Mydomain\MyUsername -p mypass net view
— послать сообщение от REMOTEPC на другой компьютер (REMOTE2):
Psexec.exe \\REMOTEPC -u Mydomain\MyUsername -p mypass net send REMOTE2 TEXT OF MESSAGE
— подключить диск &quotC» удаленного компьютера REMOTE2 к удаленному компьютеру REMOTEPC:
Psexec.exe \\REMOTEPC -u Mydomain\MyUsername -p mypass net use X: \\REMOTE2\C
— скопировать каталог C:\TEST с удаленного компьютера REMOTEPC на удаленный компьютер REMOTE2:
Psexec.exe \\REMOTEPC -u Mydomain\MyUsername -p mypass xcopy C:\test\*.* X:\TEST\*.*
— архивировать данные каталога &quotC:\TEST» удаленного компьютера REMOTEPC на удаленный компьютер REMOTE2:
Psexec.exe \\REMOTEPC -u Mydomain\MyUsername -p mypass arj a X:\ARHIV\test.arj C:\TEST\*.*
    Для того, чтобы выполнить командный файл (.bat или .cmd), нужно сначала скопировать его на удаленный компьютер, т.е. обязательно использовать ключ -c. Если в командном файле используются сетевые диски или команды, требующие доступ к сети (например, NET.EXE ), то нужно задать имя пользователя:
Psexec.exe \\192.168.0.1 -u vasya -p mypass -c mycmd.cmd
    Иногда необходимо запустить приложение на удаленном компьютере, видимое для его пользователя. Используйте ключ -i:
Psexec.exe \\192.168.0.1 -u vasya -p mypass -i notepad.exe
После запуска блокнота (notepad.exe) PsExec будет ждать его завершения удаленным пользователем. Если в этом ожидании нет необходимости, то нужно использовать ключ -d.
    Особеннсоть запуска приложения от имени локальной учетной записи позволяет получить в редакторе реестра (REGEDIT.EXE) доступ к разделам SAM и SECURITY. Для этого нужно запустить удаленно regedit без указания имени пользователя и пароля и использовать &quot-i»:
psexec.exe \\REMOTE -i regedit.exe
После чего на компьютере \\REMOTE запустится редактор реестра с доступными разделами SAM и SECURITY.
Или локально с ключами -s и -i:
psexec.exe -s -i regedit.exe
    Учтите, что в таком режиме использования редактора реестра вы получаете права на создание, изменение и удаление даже таких ключей, которые доступны только процессам ядра.

    С точки зрения системного администрирования PSexec удобно использовать для запуска приложений на всех компьютерах домена (вместо имени компьютера задать — \\*) с правами администратора или под локальной системной учетной записью (ключ -s).
Psexec.exe \\* -s install.exe — запустить install.exe на всех компьютерах домена под системной учетной записью
    Ну и последнее — Psexec можно использовать для обхода ошибки типа «Negative delta time», возникающей на многоядерных системах из-за несовпадения счетчиков RTSC (Real Time Stamp Counter) у разных ядер. Для чего приложение запускается с помощью psexec только для одного ядра (ключ -a):
psexec.exe -a 1 -i -w «папка приложения» «приложение»
 

rootonly.ru

PsExec | Windows IT Pro/RE

Выполнение процесса на удаленной машине с перенаправлением выходных данных на локальный компьютер

PsExec — это инструмент командной строки, с помощью которого можно выполнять процессы на удаленных системах, перенаправляя данные, которые приложение выводит на экран, на локальную машину. В результате складывается впечатление, что приложение работает локально. PsExec можно бесплатно загрузить с Web-узла компании Sysinternals (http://www.sysinternals.com). Приемы, описанные в данной статье, помогут более эффективно использовать потенциал PsExec как утилиты управления системой.

Комплекс PsTools

PsExec входит в состав программного комплекса PsTools компании Sysinternals. Всего в комплексе 11 инструментов. Утилиты комплекса соответствуют ряду технических требований, в частности совместимы с Windows NT 4.0 и более новыми версиями операционной системы. Все они представляют собой консольные приложения и могут работать как на локальной, так и на удаленной машине. Утилиты PsTools не требуют установки программ на удаленной системе вручную и позволяют назначать альтернативные пароли и имена пользователей для доступа к удаленному компьютеру.

Комплекс называется PsTools, а названия всех входящих в него инструментов начинаются с приставки Ps, так как первым спроектированным мною инструментом, удовлетворяющим перечисленным критериям, был PsList — программа для подготовки списка активных процессов. Я назвал инструмент по аналогии с утилитой ps, которая выполняет ту же функцию в Unix.

Для дистанционного запуска процессов с помощью PsExec необходимо, чтобы как локальные, так и удаленные компьютеры обеспечивали разделение файлов и принтеров (службы Workstation и Server), а на удаленной машине был определен стандартный разделяемый ресурс Admin$ (скрытый ресурс, отображаемый в каталог windows). Причины этих требований станут понятны после того, как будет описан механизм работы PsExec.

PsExec

PsExec легко развернуть благодаря способности утилиты дистанционно запускать процессы без необходимости ручной установки программ на удаленной системе. Инструмент не был бы столь эффективным, если бы единственной функцией PsExec был запуск программ на удаленной машине. Но благодаря возможности перенаправлять входные и выходные данные консольных приложений PsExec превращается в гибкую утилиту управления системой. Взглянув на параметры командной строки PsExec (экран 1), можно составить представление о возможностях данной утилиты. Многие консольные административные инструменты Windows могут работать только на локальной машине. PsExec позволяет дистанционно запустить любой из этих инструментов. Например, можно установить конфигурацию удаленной системы с помощью Ipconfig, утилиты Windows, которая показывает параметры TCP/IP сетевых адаптеров. Образец такой команды:

psexec emote ipconfig

где remote — имя или IP-адрес исследуемой системы. Результаты работы Ipconfig появятся на экране, как будто Ipconfig была запущена на локальной машине.

Экран 1. Аргументы командной строки для Ps Exec

Если не указан путь к программе, которую надлежит выполнить, то PsExec обращается в каталог windowssystem32 на удаленной системе. Если известно, что программа находится не в этом каталоге, следует ввести полный путь на удаленной машине; если это выполняемый файл на удаленном компьютере, то нужно указать ключ -c и локальный путь файла. PsExec с ключом -c копирует указанный программный файл на удаленную машину перед выполнением и убирает файл с удаленной системы после завершения работы.

Еще более эффективное применение функции перенаправления консоли PsExec — запуск командной строки на удаленной системе как на локальной. Этот прием похож на запуск клиента Telnet на локальной машине и соединение со службой Telnet на удаленном компьютере, но при этом не нужна ни служба Telnet, ни любая другая специальная служба на удаленной системе. Достаточно выполнить команду:

psexec emote cmd

Если на удаленной системе нужно выполнить одну консольную команду, следует использовать ключ /c, указав вслед за ним выполняемую команду. Например, команда

psexec emote cmd /c ver

отображает номер версии Windows на удаленной машине в консоли локального компьютера.

Еще одно распространенное применение PsExec — развертывание оперативных исправлений и других программ коррекции с неинтерактивным сетевым интерфейсом. Задача облегчается благодаря возможности указать имена многих компьютеров, имя текстового файла, содержащего список имен компьютеров или специальное имя *, которое генерирует перечень всех компьютеров в текущем домене. Например, чтобы запустить инструмент удаления Microsoft MyDoom на компьютерах с именами Remote и Remote1 и записать статус завершения операции очистки в файл, можно использовать команду:

psexec emote,remote1
-c doomcln.exe
-s 2> results.log

В результате ее выполнения процесс выдает целое число, которое может быть прочитано родительским процессом. Программы часто используют код завершения, чтобы сообщить об успешном выполнении или сбое. Каждый раз, когда завершается работа процесса, запущенного с помощью PsExec, утилита выводит на экран код завершения процесса и возвращает его как собственный код завершения. Следует протестировать конкретную программу или узнать в документации значения тех или иных кодов, но код 0 обычно свидетельствует об успешном завершении. Ключ -s указывает, что PsExec должен выполнить команду для учетной записи System. Далее этот режим будет рассмотрен подробнее.

Безопасность PsExec

Существует несколько способов интеграции PsExec в систему безопасности Windows. По умолчанию процесс на удаленной машине использует учетную запись, от имени которой PsExec был запущен на локальном компьютере. Заимствование прав (impersonation) несколько ограничено требованиями безопасности — удаленный процесс не имеет доступа ко всем сетевым ресурсам, даже к тем из них, которые обычно доступны для данной учетной записи. Если учетная запись не имеет локальных административных полномочий на удаленной машине, запускаемый процесс должен иметь доступ к сетевым ресурсам или процесс нужно запустить от имени другой учетной записи, следует использовать PsExec с ключом -u, чтобы указать альтернативное имя учетной записи. Например, можно ввести команду

-u remoteadministrator
-p adminpass ipconfig

чтобы запустить Ipconfig из учетной записи Administrator на удаленной машине. Указав ключ -p, можно ввести пароль для учетной записи, заданной ключом -u. Если опустить ключ -p, PsExec попросит ввести пароль (в целях обеспечения безопасности пароль на экране не отображается).

Если указать другие имя и пароль пользователя, то удаленный процесс будет иметь доступ к тем сетевым ресурсам, которые доступны соответствующей учетной записи. Для запуска из другой учетной записи PsExec должен использовать эту учетную запись для регистрации на удаленном компьютере. Поэтому утилите PsExec нужен пароль на удаленной машине; пароль в открытой текстовой форме пересылается с локальной системы. Это обстоятельство следует учитывать, если существует опасность перехвата трафика между локальной и удаленной машинами посторонними лицами.

Удаленный процесс можно запустить также от имени учетной записи System, с которой работают службы и базовые процессы Windows, такие как Winlogon и Local Security Authority Subsystem Service (LSASS). Учетная запись System располагает широкими полномочиями. Стандартные параметры безопасности некоторых ресурсов файловой системы и реестра предусматривают доступ только с учетной записью System — примерами могут служить раздел реестра HKEY_LOCAL_MACHINESAM и каталог System Volume Information, который имеется в каждом томе всех систем Windows 2000 и более поздних.

Например, если нужно узнать содержимое раздела SAM, который выглядит пустым в редакторе regedit, так как regedit позволяет перейти в этот раздел только пользователю учетной записи System, можно задействовать PsExec подобно команде Runas (реализована в Windows 2000 и более поздних версиях) для запуска regedit с учетной записью System. Команда выглядит следующим образом:

psexec -s -i
c:windows egedit.exe

В команде не указывается имя удаленного компьютера и нет ключа -i (interactive). При вводе команды на «рабочем столе» появляется regedit, работающий от имени учетной записи System, и можно заглянуть в разделы HKEY_LOCAL_MACHINESAM и HKEY_LOCAL_MACHINESYSTEM. Редактор regedit появляется в консоли благодаря ключу -i; обычно это оправданно лишь в тех случаях, когда требуется запустить приложение с графическим интерфейсом на локальной системе, где с ним можно взаимодействовать.

Последнее замечание относительно безопасности относится к вирусам. Несколько вирусов используют PsExec для распространения в сети, и в результате несколько популярных антивирусных программ отмечают PsExec как «троянского коня» или «червя». Следует помнить, что PsExec работает на удаленных машинах только от имени учетной записи из административной группы удаленного компьютера. Другими словами, если учетная запись, от имени которой запускается утилита, не имеет административного доступа к удаленной системе, PsExec не сможет запустить процесс на удаленном компьютере. Кроме того, функциональность PsExec можно реализовать и другими способами; таким образом, утилита лишь незначительно облегчает задачу авторам вирусов, которые могут без труда самостоятельно реализовать функции PsExec.

Внутри PsExec

PsExec запускает выполняемый файл на удаленной машине и управляет входными и выходными потоками соответствующего процесса так, что администратор может взаимодействовать с программой с локального компьютера. Для этого PsExec извлекает из выполняемого образа встроенную службу Windows с именем Psexesvc и копирует ее в раздел Admin$ на удаленной машине. Затем через удаленный интерфейс Windows Service Control Manager API утилита PsExec запускает службу Psexesvc на удаленной машине.

Служба Psexesvc создает именованный канал, psexecsvc, с которым PsExec устанавливает соединение, и посылает команды, указывая службе на удаленном компьютере программы для запуска и режим выполнения. Если применяется ключ -d (don?t wait — не ждать), то служба завершает работу после запуска исполняемого файла; в противном случае служба ждет окончания работы программы, а затем посылает код завершения в PsExec, и он отображается на локальной консоли.

Марк Русинович ([email protected]) — редактор Windows & .NET Magazine, автор многих популярных утилит для Windows, в том числе Process Explorer и Regmon

Поделитесь материалом с коллегами и друзьями

www.osp.ru

Пакет утилит Sysinternals Suite.

&nbsp &nbsp Инструменты Sysinternals — это набор бесплатных программ для администрирования и мониторинга компьютеров под управления операционных систем Windows. Изначально программы Sysinternals (Winternals) разрабатывались компанией Winternals Software LP под руководством двух разработчиков — Марка Руссиновича (Mark Russinovich) и Брайса Когсуэлла (Bryce Cogswell). В июле 2006 года корпорация Microsoft приобрела компанию Winternals Software LP и всю её продукцию. В настоящее время веб-сайт Sysinternals переехал на веб-портал Microsoft и стал частью Microsoft TechNet. В составе Microsoft Technet теперь имеется раздел Windows Sysinternals , где можно скачать полный набор утилит Sysinternals Suit в виде архива, либо отдельные утилиты из его состава.

В настоящее время, пакет инструментов Windows Sysinternals может использоваться даже без загрузки на локальный компьютер благодаря возможности совместного доступа к ресурсу Sysinternals Live, который может быть подключен в качестве сетевого диска, которому присвоена, например буква R:

net use R: \\live.sysinternals.com\tools

С сетевым диском, конечно, скорость обмена данными гораздо ниже, чем с локальным, но с ним можно без проблем работать, как с обычным локальным диском, в том числе и в командной строке. Так, например, командой

start R:\autoruns.exe

утилита autoruns.exe может быть запущена в отдельном окне. Таким образом, находясь в любом месте, где есть доступ в Интернет, можно воспользоваться самым функциональным и эффективным набором инструментов для Windows – Sysinternals Suite.

&nbsp &nbsp Большинство утилит пакета Sysinternals Suite для получения полной функциональности требуют наличия административных привилегий. Для операционных систем семейства Windows 2000/XP достаточно того, чтобы пользователь работал под учетной записью члена группы администраторов. В среде операционных систем Widows Vista/Windows 7 необходим запуск утилит с использованием пункта контекстного меню «Запустить от имени администратора». Командные файлы, в которых используются утилиты командной строки, также должны выполняться в контексте учетной записи с привилегиями администратора.

Пакет Sysinternals Suite включает в себя несколько десятков небольших утилит, как консольных, так и с графическим интерфейсом, многие из которых широко известны в среде системных администраторов и продвинутых пользователей — пакет программ PSTools, утилиты мониторинга Process Monitor, Autoruns, Process Explorer, антируткит RootkitRevealer и т.д. Многие из них рассматриваются в отдельных статьях, ссылки на которые найдете на главной странице сайта в разделе Windows . Пакет Sysinternals Suite обновляется несколько раз в год, состав его может изменяться — меняются версии программ, некоторые из утилит удаляются, некоторые добавляются, но основной набор существует более десяти лет, что говорит о его востребованности в среде администраторов и грамотных пользователей операционных систем семейства Windows. Параметры командной строки консольных утилит и графический интерфейс пользователя для большинства программ очень схожи, что значительно облегчает их практическое использование.

AccessChk

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

accesschk -u user1 -c MpsSvc -v — отобразить права пользователя user1 по отношению к службе MpsSvc (Брандмауэр Windows 7. Напомню, что в среде Windows Vista/Windows 7 утилита Accesschk должна запускаться от имени администратора). Ключ -v означает подробный вывод результатов. Если это ключ не задан, то права пользователя индицируются символами R (Read) и W (Write). Отображение R означает разрешение на просмотр состояния (Query_Status), конфигурации (Query_Config) и запуск (Service_Start) службы. W означает наличие права на изменения конфигурации и состояния службы. Комбинация RW означает, что имеется доступ к любым допустимым действиям по отношению к службе. (Service_All_Access). Если задан ключ -v то вместо символов R и WR отображается описание прав доступа, как, например Service_All_Access — разрешен полный доступ

accesschk -c MpsSvc -w -v — отобразить список учетных записей, имеющих право полного доступа (ключ -w ) к службе MpsSvc.

accesschk -u user1 -c * -w -v — отобразить список служб, к которым пользователь user1 имеет полный доступ.

accesschk -u user1 -k hklm\security — отобразить права доступа пользователя user1 к подразделам раздела HKLM\SECURITY реестра.

accesschk -u user1 -k hklm\security -d — ключ -d означает обработку только верхнего уровня (каталога файловой системы или раздела реестра)

accesschk -u user1 C:\Users -d — отобразить права пользователя user1 по отношению к каталогу C:\Users

accesschk -u user1 C:\Users — отобразить права пользователя user1 по отношению к подкаталогам каталога C:\Users

accesschk C:\Users -w — отобразить список учетных записей, имеющий полный доступ к каталогу C:\Users

accesschk -u user1 -p wininit -v — отобразить права пользователя user1 по отношению к процессу wininit

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

AccessEnum

AccessEnum — утилита для просмотра прав учетных записей по отношению к элементам файловой системы и реестра Windows.

Полученные данные можно сохранить (кнопка Save) и использовать в дальнейшем для анализа и обнаружения изменений в правах доступа к файлам, каталогам, разделам и ключам реестра (меню File — Compare to Saved. . . ) .

CacheSet

Утилита CacheSet — это приложение, позволяющее управлять параметрами рабочего набора (Working Set) кэша файлов системы. Используется для подбора оптимальных параметров и увеличения скорости и стабильности работы ПК. Изменяя минимальные и максимальные значения размера рабочего кэш, можно добиться некоторого увеличения производительности системы.

Установка новых значений минимума и максимума происходит при нажатии на кнопку Apply. Кнопка Reset позволяет вернуть значения минимального и максимального размера кэш, которые были заданы на момент запуска утилиты.

Contig

Contig — утилита командной строки для увеличения производительности системы путем дефрагментации отдельных, часто используемых файлов. Удобно использовать для дефрагментации файлов виртуальных машин, образов ISO на загрузочных флешках с использованием загрузчика Grub, которому может потребоваться не фрагментированный файл-образ, для дефрагментации некоторых, часто считываемых с диска файлов.

Contig.exe /? — выдать справку по использованию утилиты.

Contig.exe -a E:\SonyaLiveCD.iso — провести анализ на фрагментированность файла E:\SonyaLiveCD_15.10.2010.iso

Contig.exe E:\SonyaLiveCD_15.10.2010.iso — выполнить дефрагментацию заданного файла.

Contig.exe -a -s C:\windows\*.exe — выполнить анализ всех файлов с расширением exe в каталоге C:\Windows и его подкаталогах (ключ -s)

Contig.exe C:\windows\system32\*.exe — дефрагментировать все файлы с расширением exe в системном каталоге C:\Windows\System32

Повышение производительности системы при целенаправленном использовании Contig.exe как правило, выше по сравнению с тем, что может быть получено при использовании стандартных средств дефрагментации Windows.

Disk2vhd

Утилита Disk2vhd используется для создания виртуального жесткого диска формата VHD виртуальной машины Microsoft (Virtual Hard Disk — Microsoft’s Virtual Machine disk format) на основе данных физического диска реальной машины. Операция по созданию диска виртуальной машины может выполняться непосредственно в среде работающей ОС. Графический интерфейс пользователя программы Disk2vhd позволяет выбрать для преобразования любой из логических дисков реального компьютера и преобразовать его в виртуальный диск, который можно будет использовать для работы в среде виртуальной машины Microsoft Virtual PC.

DiskMon

DiskMon — позволяет выполнять мониторинг операций ввода-вывода для жестких дисков в среде операционных систем семейства Windows. Программа также может быть использована в качестве программного индикатора обращений к жестким дискам — в свернутом состоянии значок на панели задач отображается зеленым цветом при операции чтения с диска, и красным — при операции записи.

В основном окне программы отображается номер диска в системе (колонка Disk), тип операции (колонка Requst), номер сектора на диске, к которому выполнялось обращение (колонка Sector), и размер поля данных (колонка Lenth). При необходимости определить к какому файлу имеет отношение сектор с определенным номером, можно воспользоваться консольной утилитой NFI.EXE (NTFS File Sector Information Utility) из состава пакета Support Tools от Microsoft. Скачать 10кб
Формат командной строки
nfi.exe Диск Номер сектора
nfi.exe C: 655234 — отобразить имя файла, которому принадлежит сектор 655234
nfi.exe C: 0xBF5E34 — то же самое, но номер сектора задан в шестнадцатеричной системе счисления
В результате выполнения команды будет выдано сообщение

***Logical sector 12541492 (0xbf5e34) on drive C is in file number 49502.
\WINDOWS\system32\D3DCompiler_38.dll

Т.е. интересующий нас сектор принадлежит файлу D3DCompiler_38.dll в каталоге Windows\system32.

DiskView

Программа DiskView позволяет получить в графическом виде карту использования дискового пространства:

Выбор диска для просмотра выполняется в поле Volume нижней части окна программы. После выбора диска и нажатия кнопки Refresh программа выполняет сканирование и вывод карты расположения файлов и каталогов. В нижнем окне отображается своеобразная шкала расположения данных относительно начала диска. Цвет участка соответствует характерным особенностям отображаемых групп кластеров . Для получения справки по цветовой маркировке можно воспользоваться меню Help — Legend. . . :

First cluster of the fragment — цвет начального кластера в цепочке.
Contiguous file cluster — кластер принадлежит непрерывному (не фрагментированному) файлу.
Ftagmented file cluster — кластер принадлежит фрагментированному файлу.
System file cluster — кластер принадлежит системному файлу
Unused cluster — кластер принадлежит свободному пространству
Unused cluster in MFT zone — свободный кластер в зоне MFT оглавления диска
User Highlighted File cluster — кластер принадлежит выбранному пользователем файлу.

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

Для отображения степени использования диска и информации о количестве файлов и фрагментов используется меню «File» — «Statistics»

DU

du.exe — утилита командной строки для определения статистики использования дискового пространства в каталогах файловой системы Windows. Для получения перечня ключей можно выполнить запуск du.exe без параметров, или с параметром /?. Примеры использования утилиты:

du.exe C:\ — отобразить информацию об использовании корневого каталога диска C: — число файлов, подкаталогов и размер занимаемого дискового пространства.

FileMon

FileMon (File Monitor) — утилита для отслеживания в режиме реального времени всей активности файловой системы. Позволяет определить, какие процессы обращаются к файлам и каталогам, какие операции и над какими объектами файловой системой выполняются. В настоящее время утилита FileMon заменена утилитой Process Monitor (ProcMon). Подробное описание и порядок использования обеих программ приведены в отдельных статьях:

Filemon — отслеживание обращений к файловой системе.

Process Monitor — отслеживание активности процессов Windows.

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

MoveFile

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

movefile.exe «C:\Documents And Settings\user\Local Settings\TEMP\svchost.exe» C:\virus\svchost.ex_

Операцию по переносу файла реально выполняет диспетчер сеансов Windows (Session Manager SMSS.EXE), который в процессе загрузки системы считывает зарегистрированные утилитой MoveFile команды переименования и удаления из ключа реестра
HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations .
После выполнения переноса, данный ключ реестра будет удален. Для просмотра запланированных утилитой MoveFile переносов можно воспользоваться утилитой PendMoves из набора Sysinternals Suite.

PageDefrag

PageDefrag (pagedfrg.exe) по популярности многие годы находится на 4-5 месте среди утилит от Sysinternals. Позволяет повысить быстродействие системы путем дефрагментации файлов реестра (файлов SYSTEM, SOFTWARE, SAM, SECURITY,DEFAULT каталога \windows\system32\config), журналов системы ( в этом же каталоге ) и файла подкачки (pagefile.sys).

После запуска, утилита выводит перечень файлов, которые могут быть обработаны и степень их фрагментации.

Для дефрагментации используется создаваемая утилитой системная служба pgdfgsvc.exe и, как и в случае с утилитой MoveFile, — диспетчер сеансов Windows (SMSS.EXE (аббревиатура от англ. Session Manager Subsystem Service) — подсистема управления сеансами в Windows) . Диспетчер сеансов в процессе загрузки системы обрабатывает ключ реестра
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute
В данном ключе содержится информация о тех программах, которые должны быть выполнены диспетчером SMSS.EXE в процессе начальной загрузки Windows. Стандартно — это программы проверки файловой системы. Утилита PageDefrag добавляет в данный ключ команды, обеспечивающие запуск службы pgdfgsvc и, соответственно, дефрагментацию системных файлов, выполняемую до того, как они потребуются для развертывания системы. При необходимости, можно отменить дефрагментацию, выполнить ее однократно, или установить режим выполнения при каждой загрузке Windows.

Программу PageDefrag можно запускать в консольном режиме, регулируя настройки с помощью параметров командной строки.

pagedefrag [-e | -o | -n] [-t ]

-e — Дефрагментация при каждой загрузке
-o — Однократная дефрагментация
-n — отмена дефрагментации
-t — Обратный отсчет времени в секундах перед началом дефрагментации

Примеры:

pagedefrag -e -t 10 — выполнять дефрагментацию при каждой загрузке и установить режим ожидания 10 секунд для отмены выполнения при нажатии пользователем любой клавиши.

pagedefrag -o — выполнить однократную дефрагментацию при следующей перезагрузке системы.

pagedefrag -n — отменить ранее запланированную дефрагментацию.

Утилиты Sysinternals Suite для работы с сетью.

ADRestore

ADRestore позволяет просмотреть список удаленных объектов Active Directory (AD) и, при необходимости, — восстановить выбранные. Для получения справки используется ключ /? . При запуске без параметров утилита выводит список объектов AD, помеченных как удаленные.

Примеры :

adrestore > C:\adodel.txt — вывести список всех объектов AD, помеченных как удаленные, в файл C:\adodel.txt
adrestore.exe laserjet — вывести список удаленных объектов AD, в имени которых содержится строка «laserjet»
adrestore -r — вывести список объектов AD с запросом на восстановление.
adrestore -r — вывести список объектов AD с запросом на восстановление.

ADinsight

ADInsight — утилита для наблюдения за обменом данными между клиентом и сервером по протоколу LDAP. Очень полезна при поиске причин ненормальной работы служб и приложений в среде Active Directory , отслеживании разрешений, поиске причин низкой производительности, и просто для изучения механизма взаимодействия объектов AD.

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

Фильтры для поиска и подсветки событий используются так же, как и в большинстве утилит Sysinternals с графической оболочкой. При настройках по умолчанию, строки подсвеченные красным цветом, относятся к событиям, завершившимся с ошибкой. Контекстное меню также позволяет непосредственно из среды ADInsight вызвать другую программу из состава пакета Sysinternals Suite — проводник Active Directory ADExplorer , используемую для просмотра структуры данных AD и по возможностям и интерфейсу пользователя схожей с утилитой ADSIEdit от Microsoft. TCPView

TCPView — стабильно входит в десятку наиболее популярных утилит пакета Sysinternals Suite. Используется для отображения списка всех установленных в системе соединений по протоколам TCP и UDP с подробными данными, в том числе с указанием локальных и удаленных адресов и состояния TCP-соединений. В операционных системах Windows XP и старше, программа TCPView также отображает имя процесса, которому принадлежит данное соединение. В некотором смысле, TCPView является дополнением стандартной утилиты операционной системы Windows Netstat.exe, но кроме представления данных о соединениях в удобной форме, позволяет выполнить дополнительные действия — разорвать конкретное соединение, завершить процесс, создавший соединение и определить имя хоста, участвующего в соединении.

Контекстное меню, вызываемое правой кнопкой мышки позволяет выполнять определенные действия над выбранным соединением:

Procees Properties — отобразить свойства процесса, связанного с данным соединением. Отображается название процесса, версия, имя и путь исполняемого файла.

End Process — завершить процесс, связанный с данным соединением.

Close Connection — принудительно завершить выбранное соединение .

Whois — выполнить запрос на получение данных об узле, участвующем в данном соединении.

Copy — скопировать в буфер обмена информацию данной строки.

С использованием основного меню программы можно сохранить данные о всех текущих соединениях в текстовый файл ( меню File — Save ) . В составе пакета Sysinternals Suite, кроме программы TCPView имеется консольный вариант Tcpvcon с теми же функциональными возможностями.

Утилиты Sysinternals Suite для анализа сведений о процессах .

Autoruns — утилита для отслеживания точек автоматического запуска программ. Статья об Autoruns размещена в разделе «Безопасность».
Process Monitor — утилита для отслеживания активности процессов в Windows (использование памяти, процессора, обращения к файлам и реестру, сетевая активность и т.п.).
Process Explorer — утилита для наблюдения за использованием ресурсов системы отдельными процессами.
PSTools — набор утилит командной строки для удаленного запуска приложений (PSExec), получения списка процессов на локальном или удаленном компьютере (PSList), принудительного завершения задач (Pskill), управления службами (PSService) . Кроме того, в набор PsTools входят служебные программы для перезагрузки или выключения компьютеров, вывода содержимого журналов событий, поиска зарегистрированных по сети пользователей и многое другое.

ListDLLs

ListDLLs — утилита командной строки для получения списка используемых библиотек DLL отдельными процессами. При запуске без параметров, на экран выводится список всех процессов и всех загруженных библиотек. Подсказку по применению утилиты можно получить с использованием ключа /?. Формат командной строки:

listdlls [-r] [-v | -u] [processname|pid]
или
listdlls [-r] [-v] [-d dllname]

processname — имя ( или часть имени) процесса, для которого нужно отобразить список загруженных DLL.
pid — идентификатор процесса, для которого нужно отобразить список загруженных DLL .
-d dllname — имя библиотеки DLL.
-r отображать DLL , которые перемещены, так как не загружены по их базовому адресу
-u — отображать только те модули, которые не имеют цифровой подписи.
-v — отображать версию библиотеки DLL .

Примеры использования :

listdlls — отобразить список всех процессов и всех загруженных библиотек DLL

listdlls > C:\listdlls.txt — сохранить в текстовый файл с именем C:\listdlls.txt список всех процессов и всех загруженных библиотек DLL

listdlls win — отобразить список DLL для все процессов, имя которых начинается со строки «win»

listdlls winlogon — отобразить список DLL , используемых процессом winlogon

listdlls 495 — отобразить список DLL , используемых процессом с номером идентификатора PID=495

listdlls -d ntdll.dll — отобразить список процессов, использующих библиотеку ntdll.dll

Handle

Handle — утилита командной строки для отображения информации открытых дескрипторах (хэндлах) для любого процесса в системе. Она позволяет посмотреть, какие программы открыли файл, с какими правами доступа, типы объектов и имена дескрипторов программы, а также, при необходимости, принудительно закрыть файл по номеру его дескриптора. При запуске без параметров, на экран выводится полный список дескрипторов всех открытых на данный момент файлов. Подсказку по использованию программы, можно получить введя ключ /?. Формат командной строки:

handle [[-a [-l]] [-u] | [-c [-y]] | [-s]] [-p |] [name]
-a — вывод информации о всех дескрипторах.
-c — закрыть файл с указанным номером дескриптора. Необходимо учитывать, что принудительное закрытие файла, может вызвать аварийное завершение процесса или потерю данных.
-y — не требовать подтверждения при закрытии дескриптора файла.
-s — отображать счетчики для каждого типа открытых дескрипторов.
-u — отображать имя пользователя, в контексте учетной записи которого открыт файл.
-p — отображать дескрипторы, открытые процессом с указанным именем (частью имени). или идентификатором PID

Примеры использования:

handle | more — отобразить список всех открытых дескрипторов всех процессов в режиме постраничного вывода на экран.
handle -p winlogon — отобразить список дескрипторов файлов, открытых процессом с именем winlogon
handle -p winlogon > C:\winlogonh.txt — то же, что и в предыдущем случае, но с перенаправлением вывода в файл C:\winlogonh.txt
handle -u — вывести список всех дескрипторов файлов всех процессов с отображением учетной записи, связанной с процессом.
handle -u user1 — отобразить список дескрипторов файлов, открытых в контексте учетной записи пользователя с именем «user1»
handle -s — отобразить счетчики по каждому типу и суммарное число открытых дескрипторов.

Утилиты безопасности пакета Sysinternals Suite .

К утилитам безопасности можно отнести и программы для определения точек автоматического запуска (Autoruns), наблюдения за процессами (ProcMon), проверки прав доступа к ресурсам системы и т.п. Но, кроме того, в пакет Sysinternals Suite входит утилита RootkitRevealer основным предназначением которой является обнаружение rootkit-средств (руткитов) при заражении системы вирусами, реализующими специальные механизмы скрытия своего присутствия в системе.

Термин «rootkit» по отношению к программам-шпионам, троянам, и прочему вредоносному ПО, означает, что для сокрытия своего присутствия от антивирусных программ, используется перехват системных функций и коррекция результатов их выполнения таким образом, чтобы не было возможности обнаружить некоторые файлы, каталоги и сетевые соединения, создаваемые вредоносной программой. Так, например, при запросе списка файлов в каталоге, из результатов может быть удалена информация о файле самого вируса. Реально такой файл присутствует в файловой системе, но для программных средств, использующих функции API, перехваченные вирусом, он невидим. Rootkit-программы подразделяются на несколько классов в зависимости от способности сохранять работоспособность после перезагрузки компьютера и типа запуска (в пользовательском режиме или в режиме ядра). Но главный признак руткитов — это перехват и коррекция результатов системных вызовов.

Принцип работы RootkitRevealer основан на использовании кроме стандартных функций API-интерфейсов для файловой системы и реестра, своих собственных подпрограмм, реализующих эти же функции. Несоответствие полученных результатов может означать наличие rootkit-программы. RootkitRevealer выполняет сканирование реестра и файловой системы при нажатии кнопки Scan и результаты своей работы отображает в основном окне.

&nbsp &nbsp Path — путь файла или ключа реестра.
Timestamp — Время модификации.
Size — размер
Description — описание события — признак возможного наличия rootkit в системе.

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

В первую очередь, должны настораживать файлы и ключи реестра, для которых в поле Description) присутствует описание события «Hidden from Windows API» — скрыто от API-интерфейса Windows. В подавляющем большинстве случаев — строка результатов сканирования указывает на наличие rootkit , поскольку, скрытыми от Windows API обычно бывают только служебные файлы, относящиеся к файловой системе NTFS ( имена которых начинаются со знака $ — $BitMap, $BadClus, $MFT и т.п. ) При сканировании можно отключить отображение событий, связанных с стандартными скрытыми служебными файлами используя меню Options — поставить галочку для пункта Hide Standard NTFS Metadata Files . Кроме того, нужно учитывать, что некоторые антивирусы прячут свои файлы от Windows API таким же образом, как и вредоносные программы, и каждая строка результатов сканирования с признаком Hidden from Windows API требует дополнительного анализа — в каком каталоге находится скрытый файл, его имя, расширение, размер, время модификации. В приведенном выше примере сканирования, скрытыми от Windows API являются файлы с расширением .sys , расположенные в каталоге драйверов (C:\Windows\system32\drivers) и имеющие размер в десятки килобайт — это и есть драйверы rootkit.

Другие возможные описания события в поле Description могут быть ложной тревогой и говорить о том, что выполнение какой-либо функции API завершилось подозрительным результатом. Обычно это вызвано тем, что в процессе сканирования в мультизадачной среде Windows, какая-то из программ выполнила модификацию проверяемых данных или легальное программное обеспечение использует специализированные методы, схожие с теми, которыми пользуются создатели вирусов.

Key name contains embedded nulls — имя ключа реестра содержит пробелы, что может сделать такой ключ невидимым для стандартного редактора реестра.

Data mismatch between Windows API and raw hive data — несоответствие данных ключа реестра, полученных с использованием Windows API и реальных данных куста реестра. Может быть вызвано изменением данных реестра, которое произошло в процессе сканирования.

Access denied — доступ запрещен. На практике, такое описание встречается при наличии установленных в системе средств эмуляции CD/DVD приводов ( Alcohol 120, Daemon Tools) , некоторых антивирусных продуктов, использующих драйвер SPTD.SYS .

Необходимо учитывать, что RootkitRevealer выполняет сканирование из своей копии со случайным именем файла, запущенной как служба Windows. Такой тип запуска делает затруднительным его обнаружение вирусами и принудительное завершение процедуры сканирования. Поэтому, наличие процесса с невразумительным именем при работе RootkitRevealer является нормальным, но бывают случаи, когда вирус блокирует запуск программы, например, по имени «RootkitRevealer». В этом случае, программа просто не запускается, что, кстати, уже является очень весомым признаком наличия вируса в системе. В таком случае, можно просто переименовать исполняемый файл RootkitRevealer.exe, а еще лучше скопировать его в текущем каталоге под другим случайным именем .

Существует возможность запуска RootkitRevealer с параметрами в командной строке:

rootkitrevealer [-a] [-c] [-m] [-r] [logfile]

-a — автоматически выполнить сканирование и завершиться.
-c — сформировать результаты сканирования в формате CSV
-m — выполнять сканирование метаданных NTFS
-r — не выполнять сканирование реестра Windows
logfile — имя и путь файла для записи результатов сканирования.

Пример запуска:

rootkitrevealer -a C:\RootkitRevealer.log — выполнить сканирование с записью в файл C:\RootkitRevealer.log и завершиться.

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»

В начало страницы &nbsp &nbsp | &nbsp &nbsp На главную страницу

ab57.ru

PsTools v2.33 + Frontend for PsTools » 2BakSa.Net

Набор утилит для администрирования локального или удаленного компьютера. Включает в себя более десятка утилит, работающих из командной строки. Теперь плюс Frontend for PsTools — графический интерфейс для PsTools! ********************************************************************* 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. Now with Frontend for PsTools is a graphical interface around the command line tools from SysInternal’s PsTools!

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. The tools included in the PsTools suite, which are downloadable individually or as a package, are: PsExec — execute processes remotely PsFile — shows files opened remotely PsGetSid — display the SID of a computer or a user PsKill — kill processes by name or process ID PsInfo — list information about a system 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) All of the utilities in the PsTools suite work on Windows NT, Windows 2000, Windows XP and Windows Server 2003. The PsTools download package includes an HTML help file with complete usage information for all the tools. 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. Frontend for PsTools — это графический интерфейс для PsTools ******************************************************************************************* Frontend for PsTools (FePsTools) is a graphical interface around the command line tools from SysInternal’s PsTools. FePsTools gives you an easy way to build the command you need to execute a PsTool utility. While you are clicking and typing the needed options you can see the command line build up. Once you have created the command line FePsTool can execute the command for you and will show you the results. It can also create a shortcut from your command line or you can copy the command line and use it in your script. Just as the PsTools utilities, you may use FePsTools freely, as long as you don’t sell it. Home page for PsTools. Home page for Frontend for PsTools. 575 KB
Download/Скачать PsTools v2.33 145 KB
Download/Скачать Frontend for PsTools


2baksa.net

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *