Obsidian OSINT Templates — Практичні Завдання
Проєкт: Obsidian OSINT Templates
Перед початком
- Клонуйте або завантажте репозиторій: https://github.com/resistec/obsidian-osint-templates
- Відкрийте як Obsidian vault
- Встановіть мінімум 3 обов’язкові плагіни: Templater, Update Time on Edit, Omnisearch
- Налаштуйте Template folder →
/Templates - Всі дослідження проводьте тільки по публічних і реально існуючих суб’єктах — компанії, публічні особи, відкриті домени
Завдання 1: Перший домен — ланцюжок піветингу
Рівень: Початковий
Час: 45-60 хв
Шаблони: Domain → Organization або Person
Завдання:
Оберіть публічно відомий домен будь-якої крупної компанії у вашій країні (або міжнародна компанія з присутністю в Україні). Мета — побудувати базовий граф з мінімум 3 сутностями через реальні інструменти.
Крок 1: Domain
1. Новий файл → назва = домен без протоколу (напр. ukrposhta.ua)
2. Alt+E → Insert Template → Domain
3. Заповніть розділи:
- Host: поточний IP, хостинг (використайте Shodan або Censys)
- DNS Records: A, NS, MX (використайте dnsdumpster.com або viewdns.info)
- Ownership: власник за WHOIS (who.is)
- Files: перевірте наявність /robots.txt, /security.txt
Крок 2: Піветинг
З даних домену оберіть один з векторів:
а) WHOIS email → → → Person або Organization
б) Analytics ID (UA- або pub-) → → → інші домени
в) IP → → → інші домени на тому ж хості (Censys: ip=X)
Для кожного знайденого зв'язку:
→ Новий файл → відповідний шаблон → [[посилання]] в нотатці домену
Крок 3: Граф
Ctrl+G → Graph View
Фільтр: path:[назва вашої папки кейсу]
Увімкніть: Arrows, Orphans
Налаштуйте: кольори за тегами (#domain, #company, #person)
Що здати:
- Скриншот графа (мінімум 3 сутності)
- Нотатка
Domain.mdз заповненими розділами Host і DNS - Коментар: який вектор піветингу виявився найбільш інформативним і чому?
Завдання 2: Публічна особа — повний Person + соціальна мережа
Рівень: Середній
Час: 90-120 хв
Шаблони: Person + Account × 2-3 + Organization × 1
Завдання:
Оберіть публічну особу (журналіст, підприємець, посадовець) і побудуйте граф їх цифрової присутності через шаблони. Мета — показати, як акаунти, організація і особа утворюють зв’язану мережу.
Що зробити:
Крок 1: Person.md
- Заповніть Summary callout (4 питання)
- Assets / Digital: посилання на знайдені акаунти
- Employment: поточна і 1-2 попередніх компанії
Крок 2: Account.md × кожен знайдений акаунт
- Naming convention: username_Platform
- Analytic Judgement:
- Owner: [[Person_Name]]
- Confidence: [1-10]
- Archived at: [Wayback Machine URL]
- Relations: Follows, Followed_by (якщо публічні)
- Content: задокументуйте 2-3 знакових пости
Крок 3: Organization.md × 1 (поточне місце роботи)
- Registry Details (якщо можна знайти)
- Leadership → директор/CEO → посилання на [[Person]]
Крок 4: Налаштуйте Graph
- Увімкніть Hierarchical Outgoing Links
- Перегляньте з позиції Person: скільки листів (orphans)?
Що здати:
- Граф з мінімум 6 сутностями
- Нотатка Person з заповненим Summary і мінімум двома посиланнями
- Одна нотатка Account з заповненим Analytic Judgement (впевненість + архів)
- Рефлексія: які поля шаблону Person виявились незаповнюваними через відсутність публічних даних? Що це говорить про privacy особи?
Завдання 3: Мінімальний CTI-кейс з TTP та Indicator
Рівень: Просунутий
Час: 2-3 год
Шаблони: Event + TTP + Indicator + Domain або Account
Завдання:
Візьміть публічно задокументований кіберінцидент або інформаційну операцію — наприклад, з баз MITRE ATT&CK, звітів CERT-UA, або публічних CTI-звітів. Побудуйте структуру кейсу в Obsidian.
Що зробити:
Крок 1: Event.md
- Назва за конвенцією: [yyyy.mm]-[місце]-[подія]
- Заповніть 5W+H
- What → Related Indicators → залиште поки порожнім (повернетесь)
- Confidence для кожного факту
Крок 2: TTP.md × 1-2 (з MITRE ATT&CK)
- Заповніть General Info → Campaign
- Specification → Summary + SOPs + IOCs
- History → таблиця: хоча б 1-2 рядки з публічних звітів
Крок 3: Indicator.md × 2-3
- Type: IP / domain / hash / email / URL
- Observable + Kill Chain Phase
- Sightings → посилання на [[Event]]
- indicates → посилання на [[TTP]]
Крок 4: Поверніться до Event.md
- Тепер заповніть "Related Indicators" посиланнями [[]]
- "Leveraged TTPs" → посилання [[]]
Крок 5: Graph View
- Знайдіть центральний вузол (hub) — це і є ключова точка кейсу
- Спробуйте Graph Analysis → Coreness
Що здати:
- Граф з Event, мінімум 2 TTP, мінімум 3 Indicator
- Нотатка TTP з заповненими SOPs та таблицею History
- Скриншот Graph Analysis Coreness
- Відповідь на питання: яка сутність виявилась hub-вузлом і що це означає для розслідування?
Бонус: Порівняйте підходи
Після виконання завдань 1-3 відповідайте на питання:
- В якому завданні граф виявився найбільш інформативним і чому?
- Які поля шаблонів залишились порожніми — це відсутність даних або відсутність публічної інформації? Яка різниця?
- Як би ви поєднали цей vault з проєктом TSUKUYOMI (розділ Проєкти)? Де б TSUKUYOMI доповнив роботу, яку ви зробили вручну?
Корисні ресурси
- Репозиторій: https://github.com/resistec/obsidian-osint-templates
- Додаткові шаблони (WebBreacher): https://github.com/WebBreacher/obsidian-osint-templates
- SOC-аналітика в Obsidian: https://github.com/malleVF/Threat-Research-with-Obsidian-for-SOC-Analysts
- MITRE ATT&CK Navigator: https://mitre-attack.github.io/attack-navigator/
- CERT-UA публічні звіти: https://cert.gov.ua/
Відео для самостійного навчання (від автора README):
- https://www.youtube.com/live/sKF37Ng4gaI — Obsidian для OSINT (live)
- https://youtu.be/eLqQo38wC2Q — базовий огляд
- https://medium.com/@farallon/uncommon-osint-obsidian-semantic-meaning-and-nlp-3339e1e51d70 — NLP в Obsidian
Запитання та обговорення — у чаті курсу або на наступному занятті.