Документ PDF — это набор объектов, который описывает способ отображения страниц внутри файла. В сегодняшней статье я покажу, как проверить PDF на вирусы. Мы рассмотрим все шаги анализа подозрительных PDF-документов.
Еще по теме: Как проверить скаченный файл на вирусы онлайн
Чтобы побудить пользователя скачать или открыть документ PDF, такой файл чаще всего рассылают в электронных письмах. В момент открытия документ PDF обычно запускает JavaScript в фоновом режиме. Этот скрипт может воспользоваться уязвимостью в приложении Adobe PDF Reader или незаметно сохранить встроенный исполняемый файл.
Анализ вредоносных PDF-документов
Файл PDF состоит из четырех компонентов. Это заголовок, основная часть (тело), ссылки и трейлер (концевая метка).
- Заголовок содержит информацию о версии документа и другую служебную информацию.
- Тело PDF содержит различные объекты (объекты состоят из потоков, которые используются для хранения данных).
- Таблица перекрестных ссылок указывает на каждый объект.
- Трейлер указывает на таблицу перекрестных ссылок.
Рассмотрим в качестве примера файл Report.pdf.
Инструменты:
Сканирование документа PDF с помощью PDFiD
PDFiD — компонент программного пакета Didier Stevens Suite. Он сканирует документ PDF, используя список строк для обнаружения элементов JavaScript, встроенных файлов, действий при открытии документов и подсчета числа конкретных строк внутри PDF.
Как видно из результатов сканирования, PDFiD выявил в файле Report.pdf несколько объектов, потоков, элементов JS, JavaScript и OpenAction. Наличие таких элементов означает, что документ PDF содержит скрипты JavaScript или Flash.
Элемент /Embedded file указывает на присутствие внутри PDF файлов других форматов. Элементы /OpenAction, AA, /Acroform подсказывают нам, что при открытии или просмотре документа PDF выполняется какое‑то автоматическое действие.
Потоки — это данные внутри объекта.
Просмотр содержимого объектов PDF
Итак, мы выяснили, что внутри файла PDF содержится JavaScript. Это будет отправной точкой анализа. Для поиска косвенного объекта JavaScript запустим инструмент pdf-parser.py.
Согласно результату сканирования, JavaScript запускает файл virus при каждом открытии PDF, поэтому наш следующий шаг — извлечение этого файла.
Извлечение встроенного файла с помощью peepdf
Peepdf — инструмент на языке Python, содержит все необходимые компоненты для проверки и анализа PDF. Чтобы воспользоваться его возможностями, введите команду peepdf --i file_name.pdf. Ключ -i включает интерактивный режим работы скрипта.
Чтобы узнать больше, см. справку (опция help).
Результат анализа с помощью peepdf указывает на то, что в объекте 14 имеется встроенный файл. При более близком рассмотрении этого объекта мы увидим, что он указывает на объект 15; в свою очередь, объект 15 указывает на объект 16. Наконец, мы обнаруживаем признаки наличия файла virus внутри объекта 17.
Судя по содержимому PDF, в нем есть только один поток, который также указывает на объект 17. Таким образом, объект 17 представляет собой поток со встроенным файлом.
Внутри потока 17 содержится сигнатура файла, которая начинается с MZ, и шестнадцатеричное (hex) значение, начинающееся с 4d 5a. Это признаки, указывающие на исполняемый файл PE.
Далее мы сохраним поток как исполняемый файл virus.exe.
Анализ поведения
Теперь запустим этот файл в виртуалке под Windows 7 32-bit.
Как видно в окне Process Explorer, virus.exe создал два подозрительных процесса (zedeogm.exe, cmd.exe), которые были остановлены после запуска.
Согласно данным Process Monitor, в рамках запущенных процессов был сохранен файл zedeogm.exe. Затем он изменил правило брандмауэра Windows. На следующем этапе был запущен файл WinMail.exe. После этого программа запустила cmd.exe для выполнения файла tmpd849fc4d.bat и остановила процесс.
Таким образом, мы собрали достаточно доказательств того, что этот файл PDF вредоносный. Далее можно принять дополнительные профилактические меры — например, выполнить двоичную отладку и исследование памяти извлеченных IOC в целях поиска других угроз.
Заключение
В этой статье мы рассмотрели простые способы анализа подозрительных PDF-файлов. Вредоносные PDF-документы, как правило, распространяются с помощью фишинг-атак. Чтобы не стать жертвой фишинг-атаки следуйте следующим правилам:
- Никогда не доверяйте отправителю электронного письма. Всегда проверяйте основные идентификационные данные, прежде чем ответить на письмо.
- Не переходите по ссылкам и не открывайте вложения, если отправитель письма не тот, кем он представился.
- Хакеры часто используют произвольные имена доменов. По этой причине тщательно проверяйте адрес сайта на наличие «опечаток» — это может быть ресурс, зарегистрированный специально, чтобы ввести вас в заблуждение.
Перепроверяйте происхождение сайта, прежде чем ввести свои персональные данные — имя, адрес, реквизиты доступа, финансовые сведения и прочие.
Если вы поняли, что ввели реквизиты доступа на подозрительном сайте, немедленно смените пароль.
Еще по теме: Как скрывают вирусы в документах Office