Привет, друг! В этой небольшой шпаргалке хочу описать способ ручной проверки документов на наличие вредоносов. Чаще всего оружием тёмной стороны становятся документы MS Office ( doc, rtf, xls, ppt, pptx, etc. ) и PDF
Общий подход к анализу документов
oletools - многофункциональный набор инструментов на Python для анализа Microsoft OLE2 файлов, таких как документы Microsoft Office (MS Word, Excel, Powerpoint, etc.)
Установка на Linux:
Установка на Windows:
инструменты в пакете:
Спойлер: tools
У oletools есть свой довольно неплохой читлист, так что разобраться не составит труда.
pcodedmp - дизассемблер Пи-кода (по сути шелл кода) из документов. Для запуска требуется oletools. https://github.com/bontchev/pcodedmp
Инструменты для анализа PDF файлов:
PDF Stream Dumper - утилита с графическим интерфейсом под Windows для анализа PDF. http://sandsprite.com/blogs/index.php?uid=7&pid=57
pdf-parser - позволяет извлекать отдельные элементы PDF-файла, такие как заголовки, ссылки и прочее. https://didierstevens.com/files/software/pdf-parser_V0_6_8.zip
pdfid - перечисляет все объекты PDF-файла. https://didierstevens.com/files/software/pdfid_v0_2_2.zip
peepdf - довольно мощный инструмент для анализа. Включает в себя поиск shellcode, Javascript и много чего ещё. Включён по умолчанию в Kali Linux.
https://github.com/jesparza/peepdf
pdfxray - имеет большую часть нужных утилит в виде отдельных python скриптов, но требует много зависимостей.https://github.com/9b/pdfxray_public
На что стоит обратить внимание при анализе PDF
В первую очередь на названия объектов, присутствующих в PDF:
В вредоносных PDF редко можно встретить чистый необфуцированный код. Самый простые виды обфускации - HEX-кодирование, такое как /J#61vaScript вместо /Javascript и перенос строк:
Тестируем
Под микроскопом у меня документ с сюрпризом в виде CVE-2017-11882
Проверим на VBA скрипты:
Нам сразу выкидавыет тонны строк VBA скрипта, а в конце ещё и показывают, что он делает.
Следующим подопытным выступает PDF файл.
Используем pdfid для просмотра всех объектов в файле
Общий подход к анализу документов
- Проверить документ на опасные теги и скрипты
- Найти встроенный код, такой как shellcode, VBA-макрос, Javascript, Powershell и другие
- Извлечь подозрительный код или объект из файла
- Если возможно, деобфуцировать извлечённый код (хотя с очень большой долей вероятности обфуцированный код является вредоносным)
oletools - многофункциональный набор инструментов на Python для анализа Microsoft OLE2 файлов, таких как документы Microsoft Office (MS Word, Excel, Powerpoint, etc.)
Установка на Linux:
Код:
sudo -H pip install -U oletools
Установка на Windows:
Код:
pip install -U oletools
инструменты в пакете:
Спойлер: tools
У oletools есть свой довольно неплохой читлист, так что разобраться не составит труда.
pcodedmp - дизассемблер Пи-кода (по сути шелл кода) из документов. Для запуска требуется oletools. https://github.com/bontchev/pcodedmp
Инструменты для анализа PDF файлов:
PDF Stream Dumper - утилита с графическим интерфейсом под Windows для анализа PDF. http://sandsprite.com/blogs/index.php?uid=7&pid=57
pdf-parser - позволяет извлекать отдельные элементы PDF-файла, такие как заголовки, ссылки и прочее. https://didierstevens.com/files/software/pdf-parser_V0_6_8.zip
pdfid - перечисляет все объекты PDF-файла. https://didierstevens.com/files/software/pdfid_v0_2_2.zip
peepdf - довольно мощный инструмент для анализа. Включает в себя поиск shellcode, Javascript и много чего ещё. Включён по умолчанию в Kali Linux.
https://github.com/jesparza/peepdf
pdfxray - имеет большую часть нужных утилит в виде отдельных python скриптов, но требует много зависимостей.https://github.com/9b/pdfxray_public
На что стоит обратить внимание при анализе PDF
В первую очередь на названия объектов, присутствующих в PDF:
- /OpenAction и /AA могут автоматически выполнять скрипты
- /JavaScript
- /GoTo изменяет видимую страницу файла, может автоматически открывать перебрасывать на другие PDF файлы
- /Launch запускает программу или открывает документ
- /SubmitForm и /GoToR может отправлять данные по URL
- /RichMedia может использоваться для встраивания flash
- /ObjStm может скрывать объекты
В вредоносных PDF редко можно встретить чистый необфуцированный код. Самый простые виды обфускации - HEX-кодирование, такое как /J#61vaScript вместо /Javascript и перенос строк:
Код:
/Ja\[/SIZE][/SIZE][/SIZE][/SIZE]
[SIZE=6][SIZE=4][SIZE=6][SIZE=4] vascr\
ipt
Тестируем
Под микроскопом у меня документ с сюрпризом в виде CVE-2017-11882

Проверим на VBA скрипты:
Код:
olevba exploit.doc

Нам сразу выкидавыет тонны строк VBA скрипта, а в конце ещё и показывают, что он делает.
Следующим подопытным выступает PDF файл.

Используем pdfid для просмотра всех объектов в файле

Как видим, здесь есть /ObjStm объекты. Что бы убедиться, что они не делают ничего вредоносного, извлечём их из файла и рассмотрим отдельно с помощью утилиты pdf-parser.
В моём случае нет ничего страшного.
Всем спасибо за внимание!