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

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

Пример из жизни. Одомашнивание IDS

PsTools кажется настолько элементарным, что вы можете усомниться в его полезности. Спросите себя, что вы хотите сделать. Способность дистанционно взаимодействовать со службами, файлами протоколов (logfiles) и командной строкой - это не то, над чем можно посмеяться. Фактически, немного гениальности в комбинации с несколькими короткими batch-файлами и запланированными задачами может создать систему вторжения/обнаружения (IDS) среднего уровня. Рассмотрите следующие сценарии.

Управляющие процессы. В 2001 г. прогон взломов IIS отправлял программные оболочки cmd.exe обратно к взломщику. Иногда cmd.exe переименовывали в root.exe.

Чтобы справиться с таким типом взлома, вы сначала настраиваете усиленную систему Windows на работу в качестве главного административного сервера. Затем запускаете следующий сценарий, чтобы просмотреть на предмет нестандартных процессов (вам понадобятся команды sleep и tee из Resource Kit или Cygwin).

rem ProcWatch.bat|
rem usage: procwatch.bat IP address username password
:loop
    pslist \\%1 -u %2 -p%3 cmd | tee procwatch.txt
    sleep 60
goto :loop

Обратите внимание, что batch-файл принимает IP-адрес, имя пользователя и пароль из командной строки. Это гарантирует, что мы никогда не пишем пароль, который делает файл универсально применимым. Заметьте, что файл истории DOS на главном сервере запомнит пароль. Следующее диалоговое окно свойства (Properties) показывает, как установить размер буфера в ноль, используя свойства (Properties) cmd.exe.


Вы можете наблюдать отчет на командном экране, или запустить другие средства, чтобы просмотреть файл procwatch.txt автоматически на присутствие cmd.exe.

Сбор файлов протоколов (Log Files). Другое преимущество использования PsExec и PsLogList состоит в консолидации файлов протоколов (logfile). Мы уже продемонстрировали, насколько полезен PsLogList для сбора и чистки удаленных протоколов событий. Файлы протоколов Web-сервера требуют более сложного подхода. Вы можете запускать сценарии на каждом отдельном Web-сервере, которые копируют протоколы, или запустить один сценарий со своего главного административного сервера, который собирает файлы протоколов со всех Web-серверов. В дополнение к следующим двум batch-файлам, вам необходимо задать следующее.

  • C:\shares\dropoff\. Директория, размещенная на главном сервере, в которой пользователь Guest записывает привилегии.
  • C:\logs\. Директория для хранения файлов протоколов (logfiles). Создайте вложенные директории по имени каждого Web-сервера.
  • batch-файл сбора. Это файл, чтобы запускать процесс сбора.
rem CollectLogs.bat
rem usage: CollectLogs.bat username password

for /F %%h in (webservers.txt) do rotate.bat %%h %1 %2

Это вспомогательный batch-файл, который выполняет фактическую работу.

rem rotate.bat
rem usage: rotate.bat IP address username password

rem Stop the Web Service
psservice \\%1 -u %2 -p %3 stop w3svc
rem Mount the master's file share for dropping off files
psexec \\%1 -u %2 -p %3 net use L: \\master\dropoff plainpass /u:guest
rem Copy the files from the web server to the master
psexec \\%1 -u %2 -p %3 cmd copy C:\Winnt\System32\LogFiles\W3SVC1\*.log L:\
rem Move the files from the master's dropoff folder to the log folder
rem for the web server
move C:\shares\dropoff\*.log C:\logs\%1\
rem Disconnect the share
psexec \\%1 -u %2 -p %3 net use L: /del
rem Restart the Web Service
psservice \\%1 -u %2 -p %3 start w3svc
7.4.

Вы можете запускать его каждый день, неделю, месяц. Он оставляет файлы протоколов (logfiles) на Web-сервере, но создает копии на вашем главном сервере. Затем вы можете запускать другие сценарии, чтобы производить автоматизированный обзор протоколов.

Сергей Хлюкин
Сергей Хлюкин
Россия, Москва, Московский Государственный Открытый Университет, 2007
Игорь Касаткин
Игорь Касаткин
Россия, Москва