Использование Process Explorer для устранения неполадок и диагностики

Серия уроков по пакету утилит SysInternals

1. Что такое инструменты SysInternals и как их использовать?

2. Знакомство с Process Explorer

3. Использование Process Explorer для устранения неполадок и диагностики

4. Понимание Process Monitor

5. Как пользоваться Process Monitor для устранения неполадок и нахождения скрытых ключей реестра

6. Использование Autoruns для работы с автоматически запускаемыми процессами и вредоносным ПО


Понимание того, как работают диалоговые окна и параметры Process Explorer, - это прекрасно, но как насчёт их использования для реального устранения неполадок или диагностики проблемы? Сегодняшний урок попытается помочь вам узнать, как это сделать.

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

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

Поэтому, естественно, мы хотели провести небольшое расследование того, как некоторые из них работают. Данная статья написана на примере одной из них.

Мы начнём с этого, а затем покажем вам, как использовать Process Explorer для устранения ошибок, связанных с заблокированными файлами и папками, которые используются.

А затем мы завершим это ещё одним взглядом на то, как некоторые рекламные программы в наши дни прячутся за процессами Microsoft, чтобы они выглядели легитимными в Process Explorer или диспетчере задач, хотя на самом деле таковыми не являются.

Исследование вредоносного ПО

Примером рекламного и нежелательного ПО является Conduit — раздражающая и стойкая к удалению программа, поразившая многие компьютеры. Она пряталась в установщиках с бесплатными программами, причём даже если отказаться, эта программа всё равно иногда устанавливалась.

Conduit устанавливает то, что они называют «Search Protect», которая, по их утверждению, предотвращает внесение вредоносными программами изменений в ваш браузер. О чем они не упоминают, так это о том, что это также не позволяет вам вносить какие-либо изменения в браузер, если вы не используете их панель Search Protect для внесения этих изменений, о которой большинство людей не узнает, поскольку она скрыта в панели задач.

Conduit не только перенаправит все ваши поисковые запросы на свою собственную страницу Bing, но и установит её в качестве вашей домашней страницы. Можно было бы предположить, что Microsoft платит им за весь этот трафик в Bing, поскольку они также передают в строке запроса некоторые аргументы типа?pc=conduit.

Забавный факт: компания, стоящая за этим куском мусора, стоит 1,5 миллиарда долларов, и JP Morgan вложил в неё 100 миллионов долларов. Быть злом выгодно.

Conduit захватывает страницу новой вкладки… Но как?

Взлом вашей поисковой и домашней страницы тривиален для любого вредоносного ПО — именно здесь Conduit вступает в бой и каким-то образом переписывает страницу новой вкладки, чтобы заставить её отображать Conduit, даже если вы измените все настройки.

Вы можете удалить все свои браузеры или даже установить браузер, который у вас не был установлен раньше, например Firefox или Chrome, и Conduit все равно сможет захватить страницу быстрого доступа.

Кто-то должен сидеть в тюрьме, но он наверняка на яхте.

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

Но как именно он это делает? Ни в один из браузеров не установлены надстройки или расширения. Нет никаких плагинов. Реестр чистый. Как они это делают?

Здесь мы обращаемся к Process Explorer, чтобы провести некоторое расследование. Во-первых, мы найдём в списке процесс Search Protect, который достаточно прост, потому что он правильно назван, но если вы не уверены, вы всегда можете открыть окно и использовать маленький значок в виде яблочка рядом с биноклем, чтобы выяснить, какой процесс принадлежит окну.

Теперь вы можете просто выбрать соответствующий процесс, который в данном случае был одним из трёх, автоматически запускаемых службой Windows, устанавливаемой Conduit. Как я узнал, что этот процесс перезапускается как служба Windows? По цвету — как мы узнали в предыдущем уроке, розовый цвет имеют службы. Вооружившись этими знаниями, я всегда мог остановить или удалить службу (хотя в этом конкретном случае вы можете просто удалить её в окне «Удаление программ» в Панели управления).

Теперь, когда вы выбрали процесс, вы можете использовать сочетания клавиш CTRL+H или CTRL+D, чтобы открыть представление Handles или представление DLLs, или вы можете использовать для этого меню View → Lower Pane View.

Примечание: в мире Windows Handle — это целочисленное значение, которое используется для уникальной идентификации ресурса в памяти, такого как окно, открытый файл, процесс или многие другие вещи. Каждое открытое окно приложения на вашем компьютере имеет, например, уникальный «дескриптор окна», который можно использовать для ссылки на него.

DLL или библиотеки динамической компоновки — это общие части скомпилированного кода, которые хранятся в отдельном файле для совместного использования несколькими приложениями. Например, вместо того, чтобы каждое приложение создавало свои собственные диалоговые окна открытия/сохранения файла, все приложения могут просто использовать общий код диалогового окна, предоставленный Windows в файле comdlg32.dll.

Просмотр списка дескрипторов в течение нескольких минут немного приблизил нас к тому, что происходит, потому что мы нашли дескрипторы для Internet Explorer и Chrome, которые в настоящее время открыты в тестовой системе. Мы определённо подтвердили, что Search Protect что-то делает с открытыми окнами браузера, но нам нужно провести дополнительное исследование, чтобы точно выяснить, что именно.

Следующее, что нужно сделать, это дважды щёлкнуть процесс в списке, чтобы открыть подробный вид, а затем перейти на вкладку Image, которая предоставит вам информацию о полном пути к исполняемому файлу, строке команды и даже рабочей папке. Мы нажмём кнопку Explore, чтобы взглянуть на папку установки и увидеть, что ещё там скрывается.

Интересно! Мы обнаружили здесь несколько DLL-файлов, но по какой-то странной причине ни один из этих DLL-файлов не был указан в представлении DLL для процесса Search Protect, когда мы просматривали его ранее. Может быть они и являются причиной проблемы.

Каждый раз, когда вы хотите узнать, используется ли файл DLL в настоящее время каким-либо приложением в вашей системе воспользуйтесь поиском. Чтобы открыть панель поиска, перейдите в меню Find («Поиск»), нажав CTR+F или просто кликните значок бинокля на панели инструментов. Теперь введите часть имени DLL или даже полное имя, если хотите.

Мы выбрали для поиска только начало, «SPVC», поскольку это общая часть строки для всех найденных файлов, и, конечно же, похоже, что эти библиотеки DLL загружаются непосредственно в каждый из процессов браузера, запущенных на нашем компьютере.

Щелчок по одному из элементов в списке и переход на страницу Threads («Потоки») подтвердили наши опасения. И Chrome, и Internet Explorer запускали потоки с использованием файлов SPVC32.dll или SPVC64.dll из вредоносного ПО Search Protect, и именно так они захватывали нашу новую вкладку — не путём изменения настроек, а путём перехвата браузера изнутри.

Примечание. В Windows thread (поток) — это то, для чего операционная система выделяет процессорное время. Обычно мы думаем о процессах, но технически в Windows работают только потоки, а не процессы. У некоторых процессов может быть только один поток выполнения, но у других может быть много потоков, которые все работают отдельно друг от друга, обычно управлясь с каким-либо механизмом межпроцессного взаимодействия.

Вы также можете дважды щёлкнуть любой из потоков, чтобы увидеть полный стек выполнения, что может быть полезно, чтобы увидеть, какие функции вызываются, и попытаться выяснить, в чем проблема.

Вам может быть интересно, как приложению Search Protect удалось заставить Google Chrome загрузить эту DLL, и ответ заключается в том, что Windows предоставляет функцию под названием DLL Injection. Процесс может внедрить DLL в другой процесс, а затем перехватить определённые функции API. Таким образом некоторые приложения переопределяют функции Windows или функции других приложений. Это очень сложный предмет, который мы определённо не сможем раскрыть на этом уроке, но если вы действительно хотите узнать больше, вы можете ознакомиться с этим руководством.

Также стоит отметить, что вы можете увидеть использование ЦП на поток, углубившись в детали этого уровня, что может быть очень полезно при устранении неполадок в приложении, в котором есть плагины. Вы можете использовать это, чтобы выяснить, какой конкретный файл DLL занимает слишком много времени процессора, а затем провести некоторое исследование того, к чему этот компонент принадлежит.

Работа с заблокированными файлами или папками

Поскольку маловероятно, что вы будете постоянно анализировать вредоносные программы, также полезно использовать Process Explorer для других задач. К примеру, вы можете определить, какая программа открыла файл, в результате чего вы не можете удалить, переместить или переименовать файл или папку.

Когда вы получаете ошибку «уже используется», просто перейдите в Process Explorer, откройте поиск с помощью CTRL+F или значка, а затем введите имя проблемной папки или файла (или полный путь, если имя очень расплывчатое).

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

В первую очередь на ум приходит просто закрыть этот процесс, но делать это не обязательно. Вы также можете щёлкнуть правой кнопкой мыши файл или папку в списке дескрипторов (используйте сочетание клавиш CTRL+H, чтобы открыть список дескрипторов) и выбрать опцию «Закрыть дескриптор». Этот ресурс теперь разблокирован!

Примечание. Если вы что-то удаляете, это отличный вариант, но если вы просто пытаетесь отредактировать или переместить этот элемент, вам, вероятно, следует открыть проблемное приложение и разобраться с ним там, чтобы не потерять никаких данных.

Изучение процессов, которые выглядят безопасными, но такими не являются

В ходе нашего исследования вредоносного ПО мы обнаружили ещё одну проблему, которая становится все более распространённой, поэтому разумно следить за ней в будущем. Что это за проблема? Вредоносное ПО скрывается за легитимными процессами Windows и хорошо справляется с этой задачей.

Проблема заключается в утилите Windows rundll32.exe, которую можно использовать для произвольного запуска функций из файлов DLL. Поскольку эта утилита подписана Microsoft, она отображается в списке как полностью законный процесс, но на самом деле они просто перемещают весь свой вредоносный/рекламный код в файл .DLL вместо файла .EXE, а затем вместо этого загружается вредоносное ПО с помощью rundll32.exe. Фактически, если вы видите, что rundll32.exe запущен как «собственный процесс» и обозначен голубым цветом, показанным ниже, это почти всегда что-то, что не должно выполняться.

В приведённом ниже примере вы можете видеть, что, хотя мы использовали функцию Verified Signer для проверки этого элемента, когда мы наводим на него курсор и смотрим на полный путь, на самом деле загружается DLL, которая оказывается частью adware (рекламного ПО).

Примечание: прежде чем вы начнёте кричать о запуске антивирусной проверки, отметим, что мы это сделали, и она ни чего не нашла. Большая часть этого нежелательного, рекламного и шпионского ПО игнорируется антивирусными утилитами.

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

Внутри этого каталога мы обнаружили ряд файлов, которые постоянно обновлялись в фоновом режиме.

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

Важным моментом здесь является то, что вредоносное ПО способно прятаться за законными исполняемыми файлами Windows, поэтому обязательно следите за чем-либо подобным.

В следующей части

Следите на ZaWindows.ru, чтобы узнать больше о SysInternals, поскольку мы покажем вам, как использовать утилиту Process Monitor для отслеживания того, что приложения на самом деле делают за кулисами. Это на многое откроет глаза.

Другие инструкции, в которых показано использование Process Explorer:


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo