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

ВУЗ: Не указан

Категория: Книга

Дисциплина: Операционные системы

Добавлен: 29.10.2018

Просмотров: 33102

Скачиваний: 742

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Autoruns 

Глава 5  167 

Autoruns и вредоносное ПО

Большинство вредоносных программ стремиться бесконечно оставаться на 
пораженной системе. Поэтому такое ПО всегда использовало точки ASEP. 
Сначала это были простые места, такие как раздел Run в ветви HKLM. Со 
временем вредоносные программы усложнялись, их становилось все труд-
нее отследить, и способы использования ASEP тоже становились все более 
изощренными. Эти программы маскировались под поставщиков Winsock и 
мониторы печати. Такие точки ASEP не только сложно найти, но и програм-
мы, использующие их, не появляются в списке процессов, поскольку загру-
жаются как DLL в существующие «нормальные» процессы. С ростом числа 
пользователей, имеющих ограниченный набор стандартных привилегий, 
вредоносное ПО приобретало все больше способностей к инфицированию 
и запуску без администраторских привилегий.

Кроме того, вредоносные программы часто используют руткиты, разру-

шая целостность операционной системы. Руткиты перехватывают и изменя-
ют системные вызовы, сообщая неверную информацию о состоянии системы 
приложениям, использующим документированные системные интерфейсы. 
Руткиты могут скрывать наличие разделов и значений реестра, файлов и па-
пок, процессов, сокетов, учетных записей пользователей и других элементов 
системы, и наоборот, могут заставить приложения верить, что существуют 
элементы, которых нет. Проще говоря, если в системе есть вредоносная про-
грамма с администраторскими привилегиями, отчетам этой системы о ее со-
стоянии нельзя доверять. Поэтому Autoruns не всегда может идентифици-
ровать вредоносные элементы автозапуска.

Однако не все вредоносные программы настолько сложны, и все равно 

остаются некоторые признаки, выдающие его присутствие:
•  элементы, для которых указан известный издатель, такой как Microsoft, 

не проходят проверку подписей (к сожалению, не все ПО от Microsoft 
подписано);

•  элементы, путь которых указывает на DLL- или EXE-файл без описания 

или информации об издателе (кроме случаев, когда целевой файл не най-
ден);

•  обычные компоненты Windows запускаются из необычных мест; напри-

мер, если svchost.exe запускается из C:\Windows или C:\System Volume 
Information, а не из System32;

•  элементы, для которых временная отметка файла запущенной програм-

мы совпадают с временем первого проявления проблем или обнаружения 
атаки;

•  элементы, которые после отключения или удаления и обновления экрана 

восстанавливаются и включаются. Вредоносное ПО часто отслеживает 
свои точки ASEP и восстанавливает их в случае удаления.

SIN_ch_05.indd   167

27.12.2011   14:17:58


background image

168  Часть 

II   

Работа с утилитами

Вредоносные программы и средства для борьбы с ними все время эволю-

ционируют. Сегодняшние рекомендации завтра могут показаться наивными 
и неэффективными.

Есть и элементы, которые могут показаться подозрительными, но на са-

мом деле они безвредны. Вот они:
•  в стандартной установке Windows XP или Windows Server 2003 будет по-

казано несколько элементов File not found (Файл не найден), в частно-
сти, на вкладке Drivers (Драйверы). Это устаревшие элементы, файлы 
которых были удалены из дистрибутива, но элементы реестра по невни-
мательности не очищены;

•  в стандартной установке Windows XP на вкладке Image Hijacks в разделе 

Image File Execution Options (IFEO) будет показан элемент Your Image 
File Name Here without a path (Имя файла образа без пути)
, указываю-
щий на файл Ntsd.exe из папки System32. Этот элемент служит примером 
использования раздела IFEO;

•  в стандартной установке Windows Vista на вкладке Drivers (Драйверы) 

может отображаться несколько элементов File not found для драйверов 
NetWareIPX и для драйвера «IP in IP Tunnel Driver»;

•  в стандартной установке Windows 7 на вкладке Scheduled Tasks (Запла-

нированные задания) в разделе \Microsoft\Windows может иметься не-
сколько элементов, содержащих только имя элемента и ничего больше.

SIN_ch_05.indd   168

27.12.2011   14:17:58


background image

Глава 6

PsTools

PsTools от Sysinternals — набор из 12 утилит для управления Windows с об-
щими характеристиками:
•  все они являются консольными, т.е. предназначены для запуска из ко-

мандной строки или пакетного файла и выводят информацию в стандарт-
ные потоки вывода и сообщений об ошибках (которые могут отображать-
ся в окне консоли или перенаправляться в файлы);

•  работают на локальном или удаленном компьютере. В отличие от боль-

шинства программ для удаленного управления, утилиты PsTools не тре-
буют предварительной установки клиентского ПО на удаленных систе-
мах (разумеется, как и все утилиты Sysinternals, установки на локальном 
компьютере они тоже не требуют);

•  они поддерживают стандартный синтаксис для указания альтернативных 

учетных данных, так что все задачи можно выполнять от имени другого 
пользователя.

1

В пакет PsTools входят следующие утилиты:

•  PsExec — выполняет процессы удаленно и (или) от имени локальной си-

стемы, перенаправляя выходные данные;

•  PsFile — отображает список файлов, открытых удаленно, или закрывает 

их;

•  PsGetSid — отображает идентификатор защиты (SID) компьютера, поль-

зователя или группы;

•  PsInfo — отображает информацию о системе;
•  PsKill — завершает процессы, заданные по имени или по идентификато-

ру процесса (PID);

•  PsList — отображает информацию о процессах;
•  PsLoggedOn — перечисляет учетные записи, под которыми пользовате-

ли вошли в систему локально и удаленно;

1

 Есть два исключения: альтернативные учетные данные не принимает PsLoggedOn, а также 

PsPasswd при изменении пароля для доменной учетной записи.

SIN_ch_06.indd   169

27.12.2011   14:19:47


background image

170  Часть 

II   

Работа с утилитами

•  PsLogList — выгружает записи из журнала событий;
•  PsPasswd — изменяет пароли учетных записей пользователей;
•  PsService — отображает список служб Windows и управляет ими;
•  PsShutdown — выключает компьютер, выходит из системы или изменяет 

состояние питания локальной или удаленной системы;

•  PsSuspend — приостанавливает и возобновляет работу процессов.

Кстати, этот набор называется PsTools, а все утилиты имеют префикс Ps 

в названии, потому что первую из этих утилит, PsList, отображающую спи-
сок запущенных процессов, я назвал в честь ps, UNIX-утилиты со сходной 
функциональностью.

Прежде чем мы начнем разбираться с утилитами, хочу прояснить одну 

вещь. Бывает, что антивирусы сообщают о том, что некоторые из утилит 
PsTools являются троянскими программами или вредоносным ПО другого 
типа. Уверяю вас, что никакие из утилит PsTools и Sysinternals вообще не 
являются вредоносными. Однако злоумышленники встраивают различные 
утилиты PsTools, в частности, PsExec, в свои вредоносные программы. Так 
как в PsTools указано мое имя и веб-сайт, а авторы вредоносных программ 
обычно не указывают свои контакты, все письма от рассерженных пользо-
вателей, обвиняющих меня в написании вирусов и заражении их систем, 
приходят мне. Как я уже много раз объяснял, утилиты PsTools созданы с 
благими намерениями, а с тем, что их используют во вред, я ничего не могу 
поделать. Более того, эти утилиты не используют никаких уязвимостей и 
не получают несанкционированного доступа. Они должны запускаться под 
учетной записью, уже имеющей необходимые права доступа, или им необхо-
димо предоставлять имя и пароль соответствующей учетной записи.

Общие функции

Все утилиты PsTools работают во всех поддерживаемых клиентских и сер-
верных версиях Windows, к которым относятся 32- и 64-разрядные редак-
ции Windows XP, Windows Vista и Windows 7, а также редакции x86, x64 и 
IA-64 Windows Server 2003, 2008 и 2008 R2. Для поддержки 64-разрядных 
версий требуется установить компоненты WOW64, обеспечивающие под-
держку 32-разрядных приложений в 64-разрядных версиях Windows (в ре-
дакции Server Core WOW64 можно удалить).

Все утилиты PsTools поддерживают удаленное выполнение операций с 

использованием синтаксиса, общего для всего пакета. Чтобы посмотреть 
синтаксис вызова утилиты, запустите ее из командной строки с параметром 

-?

. Синтаксис командной строки всех утилит PsTools приведен в разделе 

«Синтаксис командной строки PsTools» ближе к концу этой главы.

Удаленные операции

Утилиты PsTools могут выполнять операции на локальном или удаленном 
компьютере. Каждая из этих утилит принимает необязательный параметр 

SIN_ch_06.indd   170

27.12.2011   14:19:49


background image

PsTools 

Глава 6  171 

командной строки вида \\имя_компьютера либо \\IP-адрес_компьютера, 
на котором должны выполняться операции. Например:

psinfo \\srv2008r2
psinfo \\192.168.0.10

Некоторые из утилит для выполнения удаленных операций просто ис-

пользуют интерфейсы Windows API, позволяющие указывать удаленный 
компьютер. Другие извлекают для этого EXE-файл, внедренный в их ис-
полняемый образ, копируют этот файл в общую папку Admin$ удаленного 
компьютера, регистрируют его на той системе как службу и запускают эту 
службу при помощи интерфейсов API Windows Service Control Manager, 
после чего взаимодействуют с ней по именованным каналам. Для создания 
удаленной службы требуется, чтобы на целевом компьютере был включен 
общий доступ к файлам и открыт доступ к папке Admin$. В конце главы 
приведена таблица со списком утилит PsTools, требующих включения этих 
функций для удаленной работы.

Удаленные операции на нескольких компьютерах

Некоторые утилиты можно запускать на нескольких удаленных компьюте-
рах одной командой (в таблице в конце главы указано, какие утилиты под-
держивают такую возможность). Для этих утилит можно указать удаленные 
компьютеры непосредственно в командной строке или во входном файле. 
Синтаксис командной строки следующий: два обратных слеша, за которыми 
идут имена или IP-адреса компьютеров, разделенные запятыми без пробе-
лов. Например:

psinfo \\server1, server2,192.168.0.3,server4

Эта команда выводит информацию о системе server1, затем о систе-

ме server2, затем о системе с IP-адресом 192.168.0.3 и, наконец, о системе 
server4.

Другой способ указать удаленные компьютеры — использовать тексто-

вый файл, содержащий имя или IP-адрес каждого компьютера в отдельной 
строке. Имя файла указывается в командной строке с префиксом @. Если 
предыдущий пример выполнять с использованием файла computers.txt, то 
этот файл должен содержать следующие строки:

server1
server2
192.168.0.3
server4

А команда будет выглядеть так:

psinfo @computers.txt

Если утилите, которую можно выполнять на нескольких удаленных 

компьютерах одновременно, передать параметр командной строки \\*, 

SIN_ch_06.indd   171

27.12.2011   14:19:49