Process Monitorвідстежуємо додаток, записуючий незрозумілі файли на диск


Одного разу на форум звернувся чоловік, у якого будь-який додаток записувало в корінь системного диска файли, в яких міститься tmp _out.

Process Monitor

Звичайно, не виключено, що ця система уражена, і потрібно ретельна перевірка всілякими антивірусними засобами. Але далеко не завжди проблема пов'язана з шкідливим кодом, і тоді знадобиться інший підхід. Найпростіше обчислити винуватця появи таких файлів за допомогою утиліти Process Monitor. І через чотири хвилини ви дізнаєтеся, як це зробити.

Відстеження активності

При запуску утиліта відстежує кілька типів системної активності:

  • реєстр
  • файлову систему
  • мережа
  • процеси і потоки

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

Process Monitor

Крім того, переконайтеся, що утиліта відстежує активність. Якщо у вас перекреслена кнопка, яка на малюнку обведена червоним, натисніть сполучення клавіш CTRL E.

На малюнку вище активність відстежується, причому тільки у файловій системі.

Основний фільтр

Тепер потрібно застосувати фільтр, щоб виключити не відноситься до справи активність. Натисніть сполучення клавіш CTRL L, і ви побачите можливості фільтрації. В Process Monitor відразу активні деякі фільтри, що виключають відстеження діяльності самої програми, а також деяких системних компонентів (файлу підкачки, таблиці MFT і т. д.). Це зроблено для того, щоб виключити моніторинг стандартної активності системи. У більшості випадків видаляти ці фільтри не потрібно, досить просто додати свій.

Process Monitor

На малюнку вище показано фільтр, який буде відстежувати створення і зміна всіх файлів, шляхи до яких міститься tmp _out. Давайте розберемо фільтр детальніше зліва направо:

  • Path. Шлях у файловій системі. Також можна вказувати розділи реєстру, коли відстежується активність в ньому.
  • contains. Умова, за якою визначається пошук ключового слова. У перекладі з англійської це слово означає «містить». Залежно від завдання можна конкретизувати умова, вибравши варіант begins with (починається з) або ends with (закінчується).
  • tmp _out. Ключове слово, яке в даному випадку повинно міститися в дорозі. Ім'я файлу та його розширення є частиною повного шляху до файлу.
  • Include. Включення заданого умови в список відслідковуються.

Не забудьте натиснути кнопку Add, щоб додати фільтр в список. Втім, якщо ви забудете, Process Monitor нагадає про це, перш ніж закрити вікно фільтрів.

В даному випадку я використав частину імені файлу в якості ключового слова, оскільки всі незрозумілі файли містять в імені tmp_out. Якщо файли створюються з різними іменами, але зате в певній папці, використовуйте шлях до цієї папки в якості ключового слова.

Оскільки задано жорстку умову фільтрації файлової активності, у вікні програми, швидше за все, тепер не буде відображатися ніяких процесів. Але Process Monitor вже почав їх відслідковувати.

Перевірити роботу фільтра дуже просто. Досить створити в текстовому редакторі файл з потрібним ім'ям або в теці, і Process Monitor моментально відреагує на це.

Process Monitor

Додаткові фільтри

Зверніть увагу, що утиліта зафіксувала не тільки активність блокнота, але також провідника і пошуку Windows. Не відносяться до справи процеси можна виключити з результатів, створивши додаткові фільтри. Досить клацнути по процесу правою кнопкою миші і вибрати з контекстного меню пункт Exclude . Це найпростіший спосіб створення фільтра, але можна зробити це з вікна фільтрації, як показано вище. У цьому випадку умова:

Process Name - Is – – Exclude.

Запис і відкриття лода

Врахуйте, що при тривалому відстеження розмір лода може вимірюватися гігабайтами. За замовчуванням Process Monitor записує в лог файл підкачки. Якщо у вас маленька системний розділ, має сенс зберігати в лог файл на іншому розділі диска.

Для збереження лода у файл, натисніть сполучення клавіш CTRL B і вкажіть ім'я і бажане розташування файлу.

Process Monitor

Зміни набирають чинності після перезапуску захоплення активності. Тепер можна сміливо залишити Process Monitor включеним на тривалий час, не побоюючись за ліміт дискового простору.

Зупинити відстеження активності можна комбінацією клавіш CTRL E.

Згодом ви завжди зможете завантажити утиліту лог із збереженого файлу. Закрийте Process Monitor і двічі клацніть файл лода з розширенням PML. Вміст лода відобразиться у вікні Process Explorer.

Чоловік, який звернувся на форум з проблемою, так і не повернувся повідомити, чи допоміг йому моя порада. Але він був з таким питанням не перший і, напевно, не останній. Якщо питання виникне у вас, ви зможете відповісти на нього з допомогою Process Monitor.

Відео

Читачі блогу висловили підтримку моєї ідеї доповнювати статті відеоматеріалами. Я подумав, що цей випадок дуже добре підходить, і записав ролик довжиною менше 4 хвилин.

Якщо чесно, створення такого відео займає набагато більше часу, ніж написання статті. Тому я в жодному разі не готовий замінити друкований текст відеоматеріалами. Але мені здається, що в даному випадку відео цікавіше і зрозуміліше. А що ви думаєте з цього приводу?

Відео триває близько чотирьох хвилин, і я старався зробити його швидким і ємним. Адже в реальності підготовка до затримання додатки займає буквально одну хвилину. Вас влаштовує швидкість викладу?

Більш докладна розповідь про Process Monitor і інші приклади його практичного використання ви можете подивитися у відео мого колеги Василя Гусєва, якщо у вас є вільні 40 хвилин :)