Файл: Руссинович М., Маргозис А. Утилиты Sysinternals. Справочник администратора 2012.pdf
Добавлен: 29.10.2018
Просмотров: 32980
Скачиваний: 742

82 Часть
II
Работа с утилитами
Рис. 3-30. Вкладка TCP/IP в Windows XP и в окне Thread Stack
Вкладка Security
Маркер процесса определяет его контекст защиты: базовое имя пользова-
теля, под записью которого работает процесс; группы, в которые входит эта
запись, и ее привилегии в системе. Вкладка Security (рис. 3-31) отображает
все эти сведения, а также показывает, включена ли для процесса виртуализа-
ция UAC для файлов и реестра, выводит также ID сеанса служб терминалов,
в котором работает процесс. При выборе группы в списке Group под спи-
ском отображается идентификатор защиты (SID) выбранной группы.
Рис. 3-31. Вкладка Security в окне свойств процесса
Обычно (особенно в случае «настольных» приложений) проверка прав
доступа выполняются по маркеру процесса или (иногда) маркеру потока,
SIN_ch_03.indd 82
27.12.2011 14:14:29

Process Explorer
Глава 3 83
производному от маркера процесса. Таким образом, у маркера потока не
может быть больше прав, чем у маркера процесса. Информация вкладки
Security помогает найти причину успеха или неудачи различных операций.
Службы и серверные приложения могут олицетворять контекст защиты
другого пользователя при выполнении действий от имени этого пользовате-
ля. Олицетворение осуществляется путем связывания копии маркера олице-
творяемой записи пользователя с одним из потоков процесса. Во время оли-
цетворения проверка прав доступа выполняются по маркеру потока, маркер
процесса в таких случаях применяться не может. Вышеперечисленные окна
не отображают маркеры потоков.
Не буду углубляться в устройство маркера, но дам несколько полезных
советов, чтобы развеять некоторые распространенные заблуждения:
• группа, для которой установлен флаг Deny (Запрет), равноценна от-
сутствию данной группы в маркере. Если активирован UAC, то группы
с высоким уровнем прав, например Администраторы помечены флагом
Deny-Only (Только запрет), за исключением процессов с повышенны-
ми привилегиями. Флаг Deny говорит о том, что при наличии в списке
управления доступом (ACL) объекта разрешающего доступ элемента
(ACE) для группы Администраторы этот элемент игнорируется, а при
наличии ACE, запрещающего доступ Администраторам (а не всем во-
обще), доступ будет запрещен;
• привилегия, отмеченная флагом Disabled (Отключена), вовсе не счита-
ется отсутствующей. Напротив, если привилегия фигурирует в маркере,
программа может активировать ее и использовать. Если же привилегия
отсутствует вообще, процесс никак не сможет получить ее. Важно от-
метить, что в Windows Vista и выше ряд привилегий приравнивается к
администраторским. Windows никогда не вносит эти привилегиям в мар-
керы обычных пользователей;
• если компьютер, подключенный к домену, не может связаться с контрол-
лером домена и не кешировал результаты прежних запросов разрешения
SID в имя, он не может установить имена групп по их SID. В этом случае
Procexp просто отображает SID;
• SID группы Logon основан на случайном числе, сгенерированном в мо-
мент входа пользователя в систему. Одна из его функций — предостав-
ление доступа к специальным ресурсам сеанса служб терминалов. SID
группы Logon всегда начинаются с S-1-5-5-.
Кнопка Permissions (Разрешения) отображает дескриптор защиты са-
мого объекта процесса, то есть показывает, кто какие действия может вы-
полнять с процессом.
Вкладка Environment
Вкладка Environment (Окружение) отображает переменные окружения
процесса и их значения. Процессы обычно наследуют свои переменные окру-
SIN_ch_03.indd 83
27.12.2011 14:14:30

84 Часть
II
Работа с утилитами
жения от родительских процессов, и зачастую блоки переменных окружения
всех процессов оказываются, в сущности, эквивалентными. Исключения
возникают, когда:
• родительский процесс может определять другой набор переменных окру-
жения для дочернего процесса;
• процесс добавляет, удаляет или изменяет свои переменные окружения
(это может каждый процесс);
• не все процессы (особенно консольные программы) принимают широ-
ковещательные сообщения, оповещающее работающие процессы об из-
менении конфигурации переменных окружений системы, поэтому не все
процессы вносят эти изменения в свои блоки переменных окружения.
Вкладка Strings
Вкладка Strings (Строки) в окне свойств процесса (рис. 3-32) показывает
все последовательности из трех и более пригодных для печати знаков, най-
денных в образе процесса; подробнее про отображение строк рассказывается
выше в этой главе.
Рис. 3-32. Вкладка Strings в окне свойств процесса
Вкладка Services
Службы Windows работают в процессах (как правило, неинтерактивных),
которые можно настроить так, чтобы они запускались независимо от входа
в систему пользователя, а также для управления через стандартный интер-
фейс SCM (Диспетчера управления службами). Возможен запуск несколь-
ких служб в одном процессе, типичным примером является Svchost.exe, раз-
работанный специально для хостинга нескольких служб, реализованных в
отдельных DLL.
SIN_ch_03.indd 84
27.12.2011 14:14:30

Process Explorer
Глава 3 85
Если выбранный процесс содержит одну или несколько служб, в окно
свойств процесса добавляется вкладка Services (рис. 3-33). Список на этой
вкладке содержит внутренние и отображаемые имена каждой службы, а так-
же служб, содержащихся в процессах Svchost.exe, и пути к их DLL. При вы-
боре службы в списке ниже открывается ее описание.
Рис. 3-33. Вкладка Services в окне свойств процесса
Для отдельных служб можно разрешать либо запрещать остановку, прио-
становку и возобновление работы. Procexp отображает кнопки Stop, Pause и
Resume, если данные операции разрешены для выбранной службы.
Кнопка Permissions отображает окно редактора защиты и позволяет
просматривать и изменять разрешения для службы. Отдельные разреше-
ния для служб включают Start (Пуск), Stop (Остановка), Pause/Resume
(Пауза/Возобновление), Query Status (Запрос состояния), Query Config
(Запроса конфигурирования), Change Config (Изменение конфигура-
ции), Interrogate (Опрос), Enumerate Dependents (Перечисление зависи-
мостей), User-Defined Control (Управление пользователем), а также стан-
дартные Read (Чтение), Change Permissions (Изменение разрешение) и
Change Owner (Смена владельца).
Внимание!
Предоставив разрешение Write (даже без прав администратора) либо от-
дельных разрешений Change Config, Change Permissions или Change Owner какой-либо
службе позволит постороннему без труда получить полный администраторский доступ
к компьютеру.
Вкладки .NET
Если выбранный процесс использует .NET Framework, Procexp добав-
ляет в окно свойств процесса вкладки .NET. Вкладка .NET Performance
(Производительность .NET) (рис. 3-34) отображает домены приложений
SIN_ch_03.indd 85
27.12.2011 14:14:30

86 Часть
II
Работа с утилитами
в процессе и данные девяти наборов счетчиков производительности .NET.
Выберите объект производительности из раскрывающегося списка (напри-
мер, .NET CLR Data, Exceptions, Interop, Memory или Security) — в списке
ниже откроется набор текущих счетчиков объекта.
Рис. 3-34. Вкладка .NET Performance в окна свойств процесса
Когда Procexp работает с правами администратора в Windows Vista и
выше, на вкладке .NET Assemblies (Сборки .NET) (рис. 3-35) отображают-
ся все домены приложений в процессе, включая дерево имен загруженных
в них сборок. Справа от имени Procexp показывает флаги и полный путь к
исполняемому образу сборки. Для получения этой информации Procexp ис-
пользует недокументированные события .NET ETW.
Рис. 3-35. Вкладка .NET Assemblies в окне свойств процесса
SIN_ch_03.indd 86
27.12.2011 14:14:31