Логотип Law OSINT, зображення 1

OLE Tools (olevba, oledump, oleid) — локальний аналіз макросів у Office

OLE Tools (olevba, oledump, oleid) — набір 15+ безкоштовних Python-інструментів від Philippe Lagadec для локального аналізу шкідливих макросів у Microsoft Office і RTF. Розвивається з 2012 року. Головна перевага для адвокатів — локальна обробка: конфіденційні документи НЕ завантажуються в хмару, що зберігає адвокатську таємницю. Виявляє auto-executable macros, обфускацію, IOCs, DDE-атаки, XLM 4.0 macros. Доступ: 🔓 безкоштовно, open-source. GitHub: github.com/decalage2/oletools. Вбудовано у REMnux і Kali Linux.

Швидкий старт

OLE Tools (oletools) — це набір 15+ безкоштовних Python-інструментів від французького дослідника Philippe Lagadec для локального аналізу шкідливих макросів у Microsoft Office і RTF. Розвивається з 2012 року (12+ років). Головна перевага для адвокатівлокальна обробка: конфіденційні документи НЕ завантажуються в хмару (на відміну від VirusTotal, Hybrid Analysis, ANY.RUN), що зберігає адвокатську таємницю (ст. 22 Закону «Про адвокатуру»). Вбудовано у REMnux (Linux-дистрибутив для malware analysis) і Kali Linux.

Доступ

🔓 Повністю безкоштовно, open-source (Custom Free License)
GitHub: github.com/decalage2/oletools
Сайт автора: decalage.info/python/oletools
Автор: Philippe Lagadec (Франція)
Тип: набір Python-інструментів (командний рядок)
Платформи: Linux, macOS, Windows (потрібен Python 3)
Вбудовано у: REMnux, Kali Linux
Встановлення: pip install oletools

Ключові інструменти у наборі

📋 Основні (для адвоката):

  • oleid — швидкий аналіз файлу: тип, метадані, наявність макросів, шифрування, OLE-об’єктів. Перший інструмент для запуску.
  • olevba — витяг і аналіз VBA-макросів з MS Office. Найважливіший інструмент — деобфускує макроси, виявляє IOCs.
  • mraptor — виявлення шкідливих VBA-макросів (швидке рішення «небезпечно/безпечно»)
  • oledump (від Didier Stevens) — дамп streams OLE для глибокого аналізу
  • olemeta — витяг метаданих документа (автор, дата створення, програма)
  • oletimes — дати створення/модифікації окремих streams (важливо для виявлення підробок)

📋 Додаткові:

  • oleobj — витяг embedded objects з OLE
  • rtfobj — для аналізу RTF-файлів
  • olebrowse — графічний інтерфейс для перегляду OLE структури
  • oledir — directory entries OLE
  • olemap — мапа OLE structure
  • msodde — для виявлення DDE-атак
  • pyxswf — аналіз Flash-об’єктів у документах
  • ezhexviewer — hex viewer

Підтримувані формати

  • OLE: DOC, XLS, PPT (старі Office 97-2003)
  • OpenXML: DOCX, XLSX, PPTX (новіші Office)
  • RTF (Rich Text Format)
  • MHT/MHTML (Web Archive)
  • XLSM з Excel 4/XLM-макросами
  • SLK (Symbolic Link)

Що виявляється

📋 Підозрілі ознаки макросів:

  • Auto-executable triggers: Auto_Open, Workbook_Open, Document_Open, AutoExec, AutoOpen — макроси, що запускаються автоматично
  • Suspicious VBA keywords: Shell, CreateObject, WScript.Shell, Run, Exec
  • Anti-sandboxing: перевірка наявності аналітичних інструментів
  • Anti-virtualization: перевірка VM-середовища
  • Template injection — підгрузка зовнішніх шаблонів
  • DDE injection — Dynamic Data Exchange атаки

📋 IOCs (індикатори компрометації):

  • IP-адреси у коді макроса
  • URL для завантаження payload
  • Імена executable файлів (.exe, .dll, .bat)
  • Domain names для C&C-серверів

📋 Декодування обфускації:

  • Hex encoding
  • StrReverse (зворотні рядки)
  • Base64
  • Dridex obfuscation
  • VBA expressions
  • Encrypted strings

Як це працює (5 кроків)

Базовий workflow аналізу документа

  1. Встановити: pip install oletools (або використати REMnux/Kali Linux)
  2. Швидкий аналіз з oleid: oleid suspicious.docx → отримати загальну характеристику файлу
  3. Якщо макроси виявлено — детальний аналіз з olevba: olevba suspicious.docx
  4. Переглянути деобфускований код, auto-triggers, IOCs
  5. Зберегти JSON-звіт: olevba --json suspicious.docx > report.json для долучення до справи

Приклад команд

# Загальна характеристика файлу
oleid document.docx

# Витяг і аналіз VBA-макросів
olevba document.docx

# З JSON-звітом
olevba --json document.docx > report.json

# Швидка перевірка «небезпечно/безпечно»
mraptor document.docx

# Метадані документа (автор, дата)
olemeta document.docx

# Дати створення/модифікації streams
oletimes document.docx

# Дамп OLE streams (через oledump)
oledump.py document.doc

# Список усіх streams
oledump.py -l document.doc

# Витяг конкретного stream
oledump.py -s 8 -v document.doc

Типові кейси для адвоката

🎯 Кейс 1: Локальний аналіз конфіденційного документа без розголошення

У договірному спорі — клієнт пред’явив DOCX від опонента. Не можна завантажувати в хмару (адвокатська таємниця). Через локальний olevba: виявляємо Auto_Open макрос з base64-декодованим JavaScript для крадіжки credentials. Конфіденційність збережена! Підстава для звернення до кіберполіції (ст. 361 КК).

🎯 Кейс 2: Виявлення підробленої дати документа через oletimes

Опонент стверджує, що DOCX створено 15 січня 2024. Через oletimes: метадані streams показують дати модифікації пізніше офіційної дати створення — невідповідність. Підстава для експертно-технічної експертизи (ст. 242 КПК) і визнання документа підробленим (ст. 358 КК).

🎯 Кейс 3: Виявлення фішинг-кампанії на компанію

У корпоративній справі — масова розсилка XLSM-документів з «бухгалтерською звітністю». Через olevba: виявляємо Excel 4/XLM macros з обфускованим завантаженням Emotet-payload. Документуємо для звернення до СБУ і CERT-UA.

🎯 Кейс 4: Аналіз спадкового документа з прихованим контентом

У спадковій справі — DOCX «оригінальний заповіт». Через olevba + oleobj: виявляємо прихований OLE-об’єкт з вкладеним зображенням, яке не показується у Word при стандартному відкритті. Документуємо приховану інформацію для експертизи (ст. 242 КПК).

Сильні і слабкі сторони

Сильні:

  • 🌟 Локальна обробка — конфіденційність документів збережена!
  • Повністю безкоштовно, open-source
  • 15+ спеціалізованих інструментів в одному пакеті
  • Деобфускація макросів автоматично (Hex, Base64, StrReverse, Dridex)
  • JSON-експорт для інтеграції з іншими інструментами
  • REMnux і Kali Linux — вбудовано
  • Активна розробка з 2012 року (12+ років)
  • Підтримка XLM 4.0 macros (рідкісна функція)
  • DDE injection виявлення
  • mraptor — швидке рішення для нетехнічних користувачів
  • Підтримка Anti-sandboxing detection

⚠️ Слабкі:

  • Потребує командного рядка — складно для нетехнічних користувачів
  • Лише статичний аналіз — не запускає макрос (треба ANY.RUN для динаміки)
  • Не deobfuscate ALL obfuscation — деякі складні техніки потребують ручної роботи
  • Не для документів захищених паролем (без розшифровки)
  • Потребує Python 3 — встановлення може бути складним для нетехнічних
  • Документація переважно англійською
  • Не GUI — лише командний рядок (для GUI — olebrowse, обмежений)

Як використовувати в суді / для адвокатського запиту

📋 Як доказ у суді:

  • JSON-звіт olevba — приймається як технічний доказ аналізу макросів
  • Скриншот командного рядка з результатами — допоміжний доказ
  • Локальне виконання — НЕ створює ризик розголошення (на відміну від хмарних sandbox)
  • Для остаточного підтвердження — обов’язкова технічна експертиза документів (ст. 242 КПК)
  • Особливо корисно для конфіденційних договірних і спадкових справ

📋 Адвокатський запит (ст. 24 Закону «Про адвокатуру»):

  • На основі результату — запит про призначення комп’ютерно-технічної експертизи (ст. 242 КПК)
  • Запит до МВС (НДЦ — Науково-дослідний центр експертизи)
  • Запит до КНДІСЕ (Київський НДІ судових експертиз)
  • Запит до СБУ для серйозних кіберзлочинів

📋 Юридичні підстави:

  • Закон «Про судову експертизу» (Україна)
  • Закон «Про основні засади забезпечення кібербезпеки України»
  • Стаття 242 КПК — призначення експертизи
  • Стаття 102 ЦПК — види доказів
  • Стаття 84 КПК — доказування у кримінальному провадженні
  • Стаття 22 Закону «Про адвокатуру» — адвокатська таємниця (ВАЖЛИВО!)
  • Стаття 358 КК — підробка документів
  • Стаття 361 КК — несанкціоноване втручання в роботу комп’ютерів
  • Стаття 190 КК — шахрайство
  • Стаття 1257 ЦК — заповіт (для спадкових справ)
  • Стаття 215 ЦК — визнання правочину недійсним
  • Стаття 24 Закону «Про адвокатуру»

⚠️ Особливо важливо: OLE Tools — це золотий стандарт локального аналізу макросів. Переваги для адвокатів: збереження адвокатської таємниці (ст. 22 Закону «Про адвокатуру»). Завжди використовуйте локально перед звертанням до VirusTotal або ANY.RUN, особливо для конфіденційних документів клієнтів.

Альтернативи у каталозі

Інші інструменти для Office (поза каталогом):

  • ViperMonkey (від того ж автора Philippe Lagadec) — VBA emulator для динамічного аналізу
  • EvilClippy — для модифікації Office-документів (testing)
  • XLMMacroDeobfuscator — деобфускація XLM-макросів
  • Decalage’s olefile — низькорівнева бібліотека для OLE
  • Microsoft’s OOXML Inspector — для нативного аналізу OpenXML
  • OLEMon — моніторинг OLE-операцій

Корисні посилання

🔗 github.com/decalage2/oletools — GitHub репозиторій
🔗 decalage.info/python/oletools — сайт автора
🔗 github.com/decalage2/oletools/wiki — повна документація
🔗 github.com/decalage2/oletools/wiki/olevba — документація olevba
🔗 remnux.org — REMnux (Linux distro з вбудованими oletools)
🔗 kali.org — Kali Linux (з вбудованими oletools)

← Повернутися до каталогу

Коментарі закриті.

OSINT-експертиза для юристів

Проводимо професійні розслідування, навчаємо сучасним методам OSINT та забезпечуємо юридичні фірми інструментами для роботи з відкритими джерелами інформації

    Маєте запитання?

    Заповніть поля нижче, надішліть дані та наш спеціаліст зв'яжеться з Вами