Аналіз результатів Hayabusa за допомогою Timesketch¶
Про інструмент¶
"Timesketch — це інструмент з відкритим вихідним кодом для спільного криміналістичного аналізу часових ліній. За допомогою скетчів ви та ваші співробітники можете легко організовувати свої часові лінії та аналізувати їх одночасно. Додавайте сенс до своїх необроблених даних за допомогою насичених анотацій, коментарів, тегів та зірочок."
Для невеликих розслідувань, коли ви аналізуєте CSV-файл розміром лише кілька сотень МБ і працюєте поодинці, Timeline Explorer цілком підходить, проте, коли ви працюєте з більшими обсягами даних або в команді, інструмент на кшталт Timesketch є набагато кращим.
Timesketch пропонує такі переваги:
- Він дуже швидкий і може обробляти великі обсяги даних
- Це інструмент для спільної роботи, де декілька користувачів можуть користуватися ним одночасно
- Він надає розширений аналіз даних, гістограми та візуалізації
- Він не обмежений лише Windows
- Він підтримує розширені запити
Існує багато інших переваг, таких як підтримка CTI, різноманітні аналізатори, інтерактивні нотатники тощо... Перегляньте посібник користувача та канал YouTube для отримання додаткової інформації.
Єдиний недолік полягає в тому, що вам доведеться налаштувати сервер Timesketch у вашому лабораторному середовищі, але, на щастя, зробити це дуже просто.
Встановлення¶
Docker¶
Дотримуйтесь офіційних інструкцій тут.
Ubuntu¶
Примітка: Перед продовженням необхідно встановити Docker. Будь ласка, дотримуйтесь інструкцій зі встановлення Docker вище, якщо ви ще не встановили Docker.
Ми рекомендуємо використовувати найновішу версію Ubuntu LTS Server edition з принаймні 8 ГБ пам'яті.
Ви можете завантажити її тут.
Під час налаштування виберіть мінімальну інсталяцію.
Не встановлюйте docker під час налаштування ОС.
У вас не буде доступного ifconfig, тому встановіть його за допомогою sudo apt install net-tools.
Після цього запустіть ifconfig, щоб знайти IP-адресу віртуальної машини та, за бажанням, підключитися до неї через ssh.
Виконайте такі команди:
curl -s -O https://raw.githubusercontent.com/google/timesketch/master/contrib/deploy_timesketch.sh
chmod 755 deploy_timesketch.sh
cd /opt
sudo ~/deploy_timesketch.sh
cd timesketch
sudo docker compose up -d
# Create a user named user. Set the password here.
sudo docker compose exec timesketch-web tsctl create-user user
macOS¶
Примітка: Перед продовженням переконайтеся, що у вашій системі встановлено та запущено Docker Desktop for Mac. Клонуйте репозиторій Timesketch і перейдіть до каталогу.
Запустіть контейнер Docker, виконавши наведені нижче кроки.- https://github.com/google/timesketch/tree/master/docker/e2e#build-and-start-containers
Вхід у систему¶
Дізнайтеся IP-адресу сервера Timesketch за допомогою ifconfig та відкрийте її у веб-браузері.
Вас буде перенаправлено на сторінку входу.
Увійдіть, використовуючи облікові дані користувача, які ви використовували під час додавання користувача.
Створення нового скетчу¶
У розділі Start a new investigation натисніть BLANK SKETCH.
Назвіть скетч так, щоб це відповідало вашому розслідуванню.
Завантаження вашої часової лінії¶
Після того як ви натиснете + ADD TIMELINE, ви побачите діалогове вікно з проханням завантажити файл Plaso, JSONL або CSV.
На жаль, Timesketch наразі не може імпортувати формат JSONL від Hayabusa, тому створіть і завантажте CSV-часову лінію за допомогою такої команди:
hayabusa-x.x.x-win-x64.exe csv-timeline -d <DIR> -o timesketch-import.csv -p timesketch-verbose --ISO-8601
Примітка: Необхідно вибрати профіль
timesketch*і вказати позначку часу як--ISO-8601для UTC або--RFC-3339для локального часу. Ви можете додати інші параметри Hayabusa за бажанням, проте не додавайте параметр-M, --multiline, оскільки символи нового рядка пошкодять імпорт.
У діалоговому вікні "Select file to upload" назвіть свою часову лінію якось на кшталт hayabusa, виберіть роздільник CSV Comma (,) і натисніть SUBMIT.
Якщо ваш CSV-файл занадто великий для завантаження, ви можете розділити файл на декілька CSV-файлів за допомогою команди split-csv-timeline інструмента Takajo.
Поки файл імпортується, ви побачите обертове коло, тому, будь ласка, зачекайте, доки воно завершиться і ви побачите, що з'явиться hayabusa.
Поради щодо аналізу¶
Відображення часової лінії¶
Примітка: Навіть після успішного завершення імпорту відобразиться Your search did not match any events, і в часовій лінії hayabusa буде 0 подій.
Виконайте пошук за *, і події відобразяться, як показано нижче:
Деталі сповіщення¶
Якщо ви клацнете на заголовок правила сповіщення в стовпці message, ви отримаєте детальну інформацію про сповіщення:
Якщо ви хочете зрозуміти логіку правила sigma, переглянути опис, посилання тощо... будь ласка, знайдіть правило в репозиторії hayabusa-rules.
Фільтрація полів¶
Після відкриття деталей події шляхом клацання на її заголовку правила ви можете навести курсор на будь-яке поле, щоб легко відфільтрувати значення (включити або виключити):
Агрегаційна аналітика¶
Під час наведення курсора, якщо ви клацнете на крайню ліву піктограму Aggregation dialog, ви отримаєте справді чудову аналітику даних подій щодо цього поля:
Коментарі користувачів¶
Коли ви клацнете на сповіщення, щоб отримати детальну інформацію, з правого боку відобразиться нова піктограма діалогового вікна коментарів, як показано нижче:
Тут користувачі можуть розпочати чат і писати коментарі щодо розслідування.
Якщо ви працюєте в команді, вам, ймовірно, слід створити окремий обліковий запис користувача для кожного учасника, щоб ви знали, хто що написав.
Якщо ви наведете курсор на коментар, ви зможете легко редагувати та видаляти повідомлення.
Зміна стовпців¶
За замовчуванням відображатимуться лише позначка часу та заголовок правила сповіщення, тому клацніть піктограму Modify columns, щоб налаштувати поля:
Це відкриє таке діалогове вікно:
Ми рекомендуємо додати принаймні такі стовпці по порядку:
LevelComputerChannelEventIDRecordID
Порядок стовпців змінюватиметься залежно від порядку, в якому ви їх додаєте, тому додавайте важливіші поля першими.
Якщо на вашому екрані ще є місце, ми рекомендуємо також додати Details, як показано тут:
Якщо на вашому екрані ще є місце, ми рекомендуємо також додати ExtraFieldInfo, проте, як ви бачите тут, якщо ви додасте занадто багато стовпців, то поле message стане занадто вузьким, і ви більше не зможете прочитати заголовки сповіщень:
Верхні піктограми¶
Піктограма з трьома крапками¶
Якщо ви клацнете на піктограму ···, ви можете зробити рядки компактнішими та видалити Timeline name, щоб створити більше місця для результатів:
Гістограма подій¶
Ви можете увімкнути гістограму подій, щоб візуалізувати часову лінію:
Якщо ви клацнете на один зі стовпців, буде створено фільтр часу, щоб відобразити лише результати за цей період часу.
Збереження поточного пошуку¶
Якщо ви клацнете на піктограму Save current search прямо над позначками часу та ліворуч від піктограми Toggle Event Histogram, ви можете зберегти свій поточний пошуковий запит, а також конфігурацію стовпців у Saved Searches.
Пізніше з лівої бічної панелі ви можете легко отримати доступ до своїх улюблених пошуків.
Рядок пошуку¶
Ось декілька зручних запитів для початку, які відображають лише сповіщення певних рівнів серйозності:
Level:crit, щоб відобразити лише критичні сповіщення.Level:crit OR Level:high, щоб відобразити сповіщення високого та критичного рівняNOT Level:info, щоб приховати інформаційні сповіщення
Ви можете легко фільтрувати, ввівши назву поля плюс : плюс значення.
Ви можете комбінувати фільтри за допомогою AND, OR та NOT.
Підтримуються підстановочні символи та регулярні вирази.
Зверніться до посібника користувача тут для отримання інформації про розширеніші запити.
Історія пошуку¶
Якщо ви клацнете на піктограму годинника ліворуч від рядка пошуку, ви можете відобразити раніше введені запити. Ви також можете клацати на піктограми лівої та правої стрілок, щоб запускати попередні та наступні запити.
Вертикальні три крапки¶
Якщо ви клацнете на вертикальні три крапки ліворуч від позначки часу і натиснете Context search, ви можете побачити сповіщення, які сталися до та після певної події:
Це викличе таке:
У наведеному вище прикладі відображаються події до та після 60 секунд (60S), але ви можете налаштувати це від +- 1 секунди (1S) до +- 60 хвилин (60M).
Якщо ви хочете глибше заглибитися у відображувані події, натисніть Replace Search, щоб відобразити події у стандартній часовій лінії.
Зірочки та теги¶
Ви можете клацнути на піктограму зірочки ліворуч від позначки часу, щоб позначити її зірочкою та зазначити як важливу подію.
Ви також можете додавати теги до подій.
Це корисно, щоб вказати іншим, що ви підтвердили, що подія є підозрілою, шкідливою, хибнопозитивною тощо...
Якщо ви працюєте в команді, ви можете створювати теги на кшталт under investigation by xxx, щоб вказати, що хтось наразі розслідує сповіщення.













