Опубликован: 20.02.2007 | Уровень: специалист | Доступ: платный
Лекция 7:

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

PsKill и PsSuspend

Получив список процессов, вы можете уничтожить (или подвесить) процесс. Программа PsKill принимает в качестве аргумента или имя процесса или его идентификатор. Если вы точно знаете идентификатор PID, вам может понадобиться использовать PsKill совместно с PsList. С другой стороны, задав процесс по имени, можно удалить больше процессов, чем вы рассчитывали. Оба метода чувствительны к такому типу уязвимости, как "oops" - ошибка в значении PID и случайное удаление ошибочно введенного процесса.

C:\>pslist.exe | findstr /i notepad
notepad 1764    8   1   30  1728    0:00:00.020 0:00:00.020 0:00:07.400
notepad 1044    8   1   30  1724    0:00:00.020 0:00:00.020 0:00:05.077
notepad 1796    8   1   30  1724    0:00:00.010 0:00:00.020 0:00:03.835
C:\>pskill.exe 1764
process #1764 killed
C:\>pskill.exe notepad
2 processes named notepad killed.

Внимание. Будьте бдительны, удаляя процесс по имени. PsKill выбирает все процессы, а не только тот, который встретится первым. Эффект, сходный с использованием регулярного выражения, вроде звездочки (*).

PsSuspend работает аналогично. Задайте имя процесса или ID после имени команды, чтобы приостановить процесс.

C:\>pssuspend.exe 1116
Process 1116 suspended.

Используйте параметр -r для возобновления работы процесса.

C:\>pssuspend.exe -r 1116
Process 1116 resumed.
Примечание. Помните, что эти утилиты работают удаленно, но они требуют пользовательской аутентификации. Открытый порт NetBIOS не открывает всей системы. Однако существует проблема, связанная с открытым NetBIOS-портом и пустым паролем администратора (мы могли это прекрасно видеть). Используйте PsTools для аудита вашей сети.
PsLogList

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

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

C:\>psloglist.exe
System log on \\GOBLYNSWOOD:
[16554] Dhcp
Type:       WARNING
Computer:   GOBLYNSWOOD
Time:       3/11/2002 11:01:28 PM   ID: 1003
Your computer was not able to renew its address from the network
(from the DHCP Server) for the Network Card with network address
00047644DFBF.The following error occurred:
The semaphore timeout period has expired.
Your computer will continue to try and obtain an address on its
own from the network address (DHCP) server.

Вывод в формате с разделителями производится, если воспользоваться параметром -s. Как обычно, пример сокращен для удобства.

C:\>psloglist.exe -s
System log on \\GOBLYNSWOOD:
16554,System,Dhcp,WARNING,GOBLYNSWOOD,Mon Mar 11 23:01:28 2002,1003,None,...
16553,System,Application Popup,INFORMATION,GOBLYNSWOOD,Mon Mar 11...

Можно просмотреть любой из трех журналов (системных событий, приложений или безопасности).

C:\>psloglist.exe -s security
Security log on \\GOBLYNSWOOD:
14308,Security,Security,AUDIT SUCCESS,GOBLYNSWOOD,Tue Mar 12 00:49:35
2002,538,Orc\GOBLYNSWOOD,orcGOBLYNSWOOD(0x0,0x119382)3
14307,Security,Security,AUDIT SUCCESS,GOBLYNSWOOD,Tue Mar 12 00:32:00
2002,538,Administrator\GOBLYNSWOOD,AdministratorGOBLYNSWOOD(0x0,0x119513)3

Параметр -f дает возможность фильтровать сообщения о событиях пятью способами: Warning (w), Information (i), Errors (e), Audit Success и Audit Failure. (Символы в скобках представляют собой сокращения, которые воспринимает PsLogList на входе). Два способа аудита применимы только для анализа журнала безопасности и должны вводиться в кавычках.

C:\>psloglist.exe -s -f "Audit Success" Security Security_successes.log

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

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

C:\>psloglist.exe -c Application
...output truncated...
Application event log on GOBLYNSWOOD cleared.
C:\psloglist.exe Application
Application log on \\GOBLYNSWOOD:
No records in Application event log on GOBLYNSWOOD.
Примечание. Взломщик может использовать параметр -c, чтобы очистить журнал и тем самым скрыть свое присутствие.

Параметры -a и -b позволяют получить информацию о событиях, происшедших после или до заданной даты, введенной в формате мм/дд/гг. Ниже приведен образец того, как запросить информацию о событиях, относящихся к системе безопасности за предыдущую дату (02/09/02 - текущий день).

C:\>psloglist.exe -a 02/08/02 -b 02/09/02 Security

PsLogList читает журнал в двоичном формате из любой системы. Введите перед именем файла параметр -l. PsLogList определит тип системного журнала (события, безопасность, система).

C:\>psloglist.exe -l Security.evt
Сергей Хлюкин
Сергей Хлюкин
Россия, Москва, Московский Государственный Открытый Университет, 2007
Игорь Касаткин
Игорь Касаткин
Россия, Москва