Читлист по анализу вредоносных документов
MagadminПривет, мир! В этой небольшой шпаргалке хочу описать способ ручной проверки документов на наличие вредоносов. Чаще всего оружием тёмной стороны становятся документы MS Office ( doc, rtf, xls, ppt, pptx, etc. ) и PDF
Общий подход к анализу документов
- Проверить документ на опасные теги и скрипты
- Найти встроенный код, такой как shellcode, VBA-макрос, Javascript, Powershell и другие
- Извлечь подозрительный код или объект из файла
- Если возможно, деобфуцировать извлечённый код (хотя с очень большой долей вероятности обфуцированный код является вредоностым)
Инструменты для анализа MS Office файлов
oletools - многофункциональный набор инструментов на Python для анализа Microsoft OLE2 файлов, таких как документы Microsoft Office (MS Word, Excel, Powerpoint, etc.)
Установка на Linux:
sudo -H pip install -U oletools
Установка на Windows:
pip install -U oletools
инструменты в пакете:
У oletools есть свой довольно неплохой читлист, так что разобраться не составит труда.
pcodedmp - дизассемблер Пи-кода (по сути шелл кода) из документов. Для запуска требуется oletools.
Инструменты для анализа PDF файлов
PDF Stream Dumper - утилита с графическим интерфейсом под Windows для анализа PDF.
pdf-parser - позволяет извлекать отдельные элементы PDF-файла, такие как заголовки, ссылки и прочее.
pdfid - перечисляет все объекты PDF-файла.
peepdf - довольно мощный инструмент для анализа. Включает в себя поиск shellcode, Javascript и много чего ещё. Включён по умолчанию в Kali Linux.
pdfxray - имеет большую часть нужных утилит в виде отдельных python скриптов, но требует много зависимостей.
На что стоит обратить внимание при анализе PDF
В первую очередь на названия объектов, присутствующих в PDF:
- /OpenAction и /AA могут автоматически выполнять скрипты
- /JavaScript и /JS соответственно запускают js
- /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.
В моём случае нет ничего страшного.
Надеюсь, этот читлист поможет вам, удачи! Источник