Аналіз результатів Hayabusa за допомогою Timeline Explorer¶
Про застосунок¶
Timeline Explorer — це безкоштовний інструмент із закритим вихідним кодом, призначений для заміни Excel під час аналізу CSV-файлів для цілей DFIR. Це GUI-інструмент лише для Windows, написаний мовою C#. Цей інструмент чудово підходить для невеликих розслідувань одним аналітиком та для людей, які лише вперше вивчають DFIR-аналіз, проте інтерфейс може бути спершу складним для розуміння, тому скористайтеся цим посібником, щоб розібратися в різних функціях.
Встановлення та запуск¶
Встановлювати застосунок не потрібно.
Просто завантажте останню версію з https://ericzimmerman.github.io/#!index.md, розпакуйте її та запустіть TimelineExplorer.exe.
Якщо у вас немає відповідного середовища виконання .NET, з'явиться повідомлення, яке повідомить, що його потрібно встановити.
На момент написання (2025/2/14) останньою версією є 2.1.0, яка працює на .NET версії 9.
Завантаження CSV-файлу¶
Просто натисніть File -> Open у меню, щоб завантажити CSV-файл.
Ви побачите щось подібне:
У самому низу ви можете побачити ім'я файлу, Total lines та Visible lines.
Окрім стовпців, що містяться у CSV-файлі, ліворуч є два стовпці, додані Timeline Explorer: Line та Tag.
Line показує номер рядка, але зазвичай не корисний для розслідувань, тому ви можете приховати цей стовпець.
Tag дозволяє поставити позначку для подій, на які ви хочете звернути увагу для подальшого аналізу тощо.
На жаль, немає способу додати власні теги до подій або записати коментарі щодо подій, оскільки CSV-файл відкривається в режимі лише для читання, щоб запобігти перезапису даних.
Фільтрація даних¶
Якщо ви наведете мишу на верхню праву частину заголовка, ви побачите чорний значок фільтра.
Ви можете поставити позначки на рівні серйозності, щоб спершу провести тріаж сповіщень high та crit (critical).
Ця фільтрація також дуже корисна для відсіювання шумних сповіщень шляхом позначення всього під Rule Title, а потім зняття позначок із шумних правил.
Як показано нижче, якщо ви натиснете на Text Filters, ви можете створити більш складні фільтри:
Однак замість створення фільтрів тут зазвичай простіше натиснути на значок ABC під заголовком та застосувати фільтри тут:
На жаль, ці два місця надають дещо відмінні параметри фільтрації, тому вам слід знати про обидва місця для фільтрації даних.
Наприклад, якщо у вас занадто багато подій Proc Exec, які ви хотіли б відсіяти, ви можете обрати Does not contain та ввести Proc Exec, щоб ігнорувати ці події:
Якщо ви подивитеся вниз, ви побачите правило для фільтра різними кольорами.
Якщо ви хочете тимчасово вимкнути фільтр, просто зніміть із нього позначку.
Якщо ви хочете очистити всі фільтри, натисніть кнопку X.
Якщо ви хочете ігнорувати ще одне шумне правило, вам слід відкрити Filter Editor, натиснувши Edit Filter у нижньому правому куті:
Скопіюйте текст Not Contains([Rule Title], 'Proc Exec'), додайте and, вставте той самий фільтр і змініть Proc Exec на Possible LOLBIN, і тепер ви можете ігнорувати ці два правила:
Найпростіший спосіб поєднати кілька фільтрів — спочатку створити синтаксис фільтра за допомогою значка ABC, потім скопіювати, вставити та відредагувати цей текст і поєднати фільтри за допомогою and, or та not.
Ви також можете натиснути на будь-який кольоровий текст, щоб отримати розкривний список можливих параметрів для редагування ваших фільтрів:
Параметри заголовка¶
Якщо ви клацнете правою кнопкою миші на будь-якому із заголовків, ви отримаєте наступні параметри:
Більшість із цих параметрів зрозумілі самі собою.
- Після приховування стовпця ви можете знову показати його, відкривши
Column Chooser, клацнувши правою кнопкою миші на назві стовпця та натиснувшиShow Column. Group By This Columnмає той самий ефект, що й перетягування заголовка стовпця вгору для групування. (Детальніше пояснено пізніше.)Hide Group By Boxпросто приховає текстDrag a column header here to group by that columnта перемістить рядок пошуку.
Умовне форматування¶
Ви можете відформатувати текст кольором, жирним шрифтом тощо, натиснувши Conditional Formatting -> Highlight Cell Rules -> Equal To...:
Наприклад, якщо ви хочете показати сповіщення critical із Red Fill, то просто введіть crit, оберіть Red Fill з параметрів, позначте Apply formatting to an entire row та натисніть OK.
Тепер сповіщення critical відображатимуться червоним кольором, як показано нижче:
Ви можете продовжувати робити це, додаючи кольори також для сповіщень low, medium та high.
Пошук¶
За замовчуванням, коли ви вводите якийсь текст у рядок пошуку, він виконуватиме фільтрацію та показуватиме лише результати, які містять цей текст десь у рядку.
Ви можете побачити, скільки збігів у вас є, перевіривши поле Visible lines внизу.
Ви можете змінити цю поведінку, натиснувши Search options у самому нижньому правому куті.
Це покаже наступне:
Якщо ви зміните Behavior з Filter на Search, ви зможете шукати текст звичайним способом.
Примітка: зазвичай перемикання поведінки займає час, і Timeline Explorer на деякий час зависне, тому будьте терплячими після натискання.
Match criteria за замовчуванням — Mixed, але його можна змінити на Or, And або Exact.
Якщо ви зміните його на щось, окрім Mixed, ви зможете встановити Condition з Contains на Starts with, Like або Equals.
Match criteria зі значенням Mixed складний, оскільки він іноді використовує логіку AND, а іноді OR, але може бути дуже гнучким, як тільки його опанувати.
Він працює так:
- Якщо ви розділяєте слова пробілами, це трактуватиметься як логіка
OR. - Якщо ви хочете включити пробіли у свій пошук, тоді вам потрібно додати лапки.
- Передуйте умові символом
+для логікиAND. - Передуйте умові символом
-, щоб виключити результати. - Фільтруйте за конкретним стовпцем у форматі
ColumnName:FilterString. - Якщо ви фільтруєте за конкретним стовпцем і також включаєте окреме ключове слово, це буде логіка
AND.
Приклади:
| Критерії пошуку | Опис |
|---|---|
| mimikatz | Вибирає записи, що містять рядок mimikatz у будь-якому стовпці пошуку. |
| one two three | Вибирає записи, що містять one АБО two АБО three у будь-якому стовпці пошуку. |
| "hoge hoge" | Вибирає записи, що містять hoge hoge у будь-якому стовпці пошуку. |
| mimikatz +"Bad Guy" | Вибирає записи, що містять одночасно mimikatz ТА Bad Guy у будь-якому стовпці пошуку. |
| EventID:4624 kali | Вибирає записи, що містять 4624 у стовпці, який починається з EventID, ТА містять kali у будь-якому стовпці пошуку. |
| data +entry -mark | Вибирає записи, що містять одночасно data ТА entry у будь-якому стовпці пошуку, виключаючи записи, що містять mark. |
| manu mask -file | Вибирає записи, що містять menu АБО mask, виключаючи записи, що містять file. |
| From:Roller Subj:"currency mask" | Вибирає записи, що містять Roller у стовпці, який починається з From, ТА містять currency mask у стовпці, який починається з Subj. |
| import -From:Steve | Вибирає записи, що містять import у будь-якому стовпці пошуку, виключаючи записи, що містять Steve у стовпці, який починається з From. |
Закріплення стовпців¶
Хоча це й не параметр пошуку, ви можете налаштувати First scrollable column у меню Search options.
Більшість аналітиків встановлять це на Timestamp, щоб вони завжди могли бачити, у який час відбувалися певні події.
Перетягування заголовків стовпців для групування¶
Якщо ви перетягнете заголовок стовпця в область Drag a column header here to group by that column, Timeline Explorer згрупує за цим стовпцем.
Зазвичай групують за Level, щоб ви могли пріоритезувати сповіщення за серйозністю:
Якщо у ваших результатах є кілька комп'ютерів, ви можете додатково згрупувати за Computer, щоб провести тріаж на основі різних рівнів серйозності для кожного комп'ютера.
Перевірка полів¶
За замовчуванням Hayabusa розділятиме дані полів символом розірваної вертикальної риски: ¦.
Коли дані полів розташовані на горизонтальній лінії, це робить дуже легким розрізнення кількох полів, оскільки цей символ нечасто зустрічається в журналах:
Однак іноді в журналі буде занадто багато інформації про поля, і все не може поміститися на одному екрані. У цьому випадку ви можете двічі клацнути на комірці, щоб отримати спливаюче вікно, яке показує всю інформацію про поля:
Проблема в тому, що Timeline Explorer дозволяє форматувати дані полів лише за символами нового рядка (CRLF, CR, LF), комами та табуляціями.
Якщо ви використаєте параметр -M, --multiline, ви можете розділити поля символом нового рядка, і коли ви двічі клацнете, щоб відкрити вміст комірки, він буде належним чином відформатований:
Проблема в тому, що тепер у часовій шкалі буде показано лише перше поле, тому вам доведеться двічі клацати та відкривати нове вікно щоразу, коли ви хочете перевірити дані інших полів:
На жаль, Timeline Explorer не підтримує кілька рядків у поданні часової шкали.
Щоб обійти це, починаючи з Hayabusa v3.1.0, ви можете розділяти поля табуляціями:
Трохи важче розрізнити, де закінчується одне поле і починається наступне. Крім того, коли ви двічі клацаєте та відкриваєте вміст комірки, поля не форматуються автоматично:
Однак, якщо ви натиснете Tab внизу, а потім Format, ви можете відформатувати поля у зручне для читання подання:
Теми оформлення¶
Ви можете змінити колірну тему через Tools -> Skins, якщо ви віддаєте перевагу темному режиму тощо.
Сесії¶
Якщо ви налаштовуєте стовпці, зовнішній вигляд, додаєте фільтри тощо і хочете зберегти ці налаштування на потім, обов'язково збережіть свою сесію через File -> Session -> Save.




















