Опубликован: 20.02.2007 | Доступ: свободный | Студентов: 3481 / 786 | Оценка: 4.42 / 4.03 | Длительность: 40:03:00
Лекция 7:

Средства ревизии Windows

PsService

Это сильное средство для обеспечения удаленного просмотра и манипуляции службами. Команды Windows net start и net stop трепещут в присутствии PsService. Без параметров командной строки PsService возвращает список служб, установленных в системе. Следующий урезанный для краткости вывод содержит полную информацию о двух службах.

C:\>psservice.exe
SERVICE_NAME: inetd
DISPLAY_NAME: CYGWIN inetd
(null)
TYPE                : 10 WIN32_OWN_PROCESS
STATE           : 1 STOPPED
                    (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 1077 (0x435)
SERVICE_EXIT_CODE   : 0 (0x0)
CHECKPOINT      : 0x0
WAIT_HINT           : 0x0
SERVICE_NAME: SharedAccess
DISPLAY_NAME: Internet Connection Firewall (ICF) / Internet Connection
Sharing (ICS)
Provides network address translation, addressing, name resolution
and/or intrusion prevention services for a home or small office network.
TYPE                : 20 WIN32_SHARE_PROCESS
STATE           : 4 RUNNING
                    (STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE   : 0 (0x0)
CHECKPOINT      : 0x0
WAIT_HINT           : 0x0

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

C:\>psservice.exe /?
PsService v1.01 - local and remote services viewer/controller
Copyright (C) 2001 Mark Russinovich
Sysinternals - www.sysinternals.com
PsService lists or controls services on a local or remote Win2K/NT system.
Usage: psservice.exe [\\Computer [-u Username [-p Password]]] cmd optns
Cmd is one of the following:
    query       Queries the status of a service
    config      Queries the configuration
    start       Starts a service
    stop        Stops a service
    restart     Stops and then restarts a service
    pause       Pauses a service
    cont        Continues a paused service
    depend      Enumerates the services that depend on the one specified
    find        Searches for an instance of a service on the network

После команды задайте имя службы, для которой следует получить результат. Например, здесь представлено, как запустить IIS на удаленном компьютере (предполагая, что вы вошли в домен как администратор).

C:\>psservice.exe \\192.168.0.39 start w3svc

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

C:\>psservice.exe config inetd
SERVICE_NAME: inetd
(null)
        TYPE                : 10 WIN32_OWN_PROCESS
        START_TYPE      : 3 DEMAND_START
        ERROR_CONTROL       : 1 NORMAL
        BINARY_PATH_NAME    : d:\cygwin\usr\sbin\inetd.exe
        LOAD_ORDER_GROUP    :
        TAG             : 0
        DISPLAY_NAME        : CYGWIN inetd
        DEPENDENCIES        :
        SERVICE_START_NAME  : LocalSystem

И, наконец, команда find может быть использована для поиска службы, работающей в сети. Она работает подобно сканеру сети. Например, для поиска хостов в домене, на которых выполняется служба Terminal Services, следует искать службу termservice.

C:\>psservice.exe find termservice
Found termservice on:
\\ZIGGURAT
\\GOBLYNSWOOD

Используйте это совпадение со сканером портов для определения "кривых" установок IIS в вашей сети.

PsList

PsList отображает список процессов на локальной или удаленной машине. Параметры -d, -m и -x отображают информацию о нитях, памяти и соответственно, комбинацию этих двух параметров. Однако можно использовать просто pslist.

C:\>pslist.exe
Process information for GOBLYNSWOOD:
Name        Pid Pri Thd Hnd  Mem  User Time    Kernel Time  Elapsed Time
Idle          0   0   1   0   16  0:00:00.000  3:57:29.219  0:00:00.000
System        8   8  39 319  216  0:00:00.000  0:00:11.536  0:00:00.000
SMSS        152  11   6  33  560  0:00:00.210  0:00:00.741  4:27:11.031
CSRSS       180  13  10 494 3560  0:00:00.650  0:01:30.890  4:26:59.084
WINLOGON    200  13  17 364 3256  0:00:00.230  0:00:01.081  4:26:55.879
SERVICES    228   9  30 561 5640  0:00:01.542  0:00:03.535  4:26:48.058
LSASS       240   9  14 307  520  0:00:00.260  0:00:00.230  4:26:48.028
svchost     420   8   9 333 3748  0:00:00.150  0:00:00.150  4:26:41.839
spoolsv     452   8  12 166 3920  0:00:00.070  0:00:00.160  4:26:41.088

Вы также можете получить информацию о конкретном процессе по имени или идентификатору ID, обратившись к нему в командной строке. Например, чтобы увидеть, сколько ресурсов пожирает Internet Explorer, попытайтесь выполнить следующее.

C:\pslist.exe iexplore
Process information for GOBLYNSWOOD:
Name        Pid Pri Thd  Hnd   Mem  User Time    Kernel Time  Elapsed Time
IEXPLORE    636   8  17  805 26884  0:00:14.711  0:00:17.154  4:38:27.694
IEXPLORE   1100   8  28 1054 27980  0:00:24.375  0:00:40.888  4:36:25.388
Совет. Некоторые утилиты захвата паролей требуют знания идентификатора процесса ID (PID) программы LSASS. PsList - великолепный способ узнать его.

Параметры -s и -r могут пригодиться для мониторинга важных серверов или отладки. Параметр -s переводит PsList в режим диспетчера задач. Другими словами, он обеспечивает непрерывное обновление до тех пор, пока вы не нажмете Esc - практически, как для команды top в Unix. Параметр -r устанавливает время обновления в секундах. Например, вы можете осуществлять мониторинг процесса IIS на Web-сервере каждые 10 секунд.

C:\>pslist.exe -s -r 10 inetinfo.exe

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

C:\>pslist.exe -t
Process information for GOBLYNSWOOD:
Name                        Pid Pri  Thd  Hnd     VM    WS  Priv
Idle                          0   0    1    0      0    16     0 
  System                      8   8   39  323   1668   216    24
     SMSS                   152  11    6   33   5248   560  1072
       CSRSS                180  13   10  502  22700  3576  1512
       WINLOGON             200  13   17  364  35812  3252  5596
          SERVICES          228   9   31  563  33748  5652  2772
             svchost        420   8    9  333  22624  3748  1528
                 MDM       1420   8    3   96  25996  2640   924 
            Avsynmgr        556   8    4  139  28024  2708  1460
                VSStat      896   8    2  112  26376  2664  1376
                vshwin32    956   8    7  219  54220  6468  3908
               WebScanX    1036   8    3  194  40020  6052  4628
            Avconsol        976   8    2  112  28500  2640  1484
        svchost             592   8   33  449  43592  8084  3364
     LSASS                  240   9   14  307  28080   864  2344
explorer                   1200   8   17  468  99580  4460 11912