Средства ревизии 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
Параметры -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