Читлист по анализу вредоносных документов

Dr.Lafa

Red Team
30.12.2016
342
607
#1
Привет, мир! В этой небольшой шпаргалке хочу описать способ ручной проверки документов на наличие вредоносов. Чаще всего оружием тёмной стороны становятся документы MS Office ( doc, rtf, xls, ppt, pptx, etc. ) и PDF

Общий подход к анализу документов
  1. Проверить документ на опасные теги и скрипты
  2. Найти встроенный код, такой как shellcode, VBA-макрос, Javascript, Powershell и другие
  3. Извлечь подозрительный код или объект из файла
  4. Если возможно, деобфуцировать извлечённый код (хотя с очень большой долей вероятности обфуцированный код является вредоностым)
Инструменты для анализа MS Office файлов
Для просмотра контента необходимо: Войти или зарегистрироваться
- многофункциональный набор инструментов на 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 и много чего ещё. Включён по умолчанию в
Для просмотра контента необходимо: Войти или зарегистрироваться
.

Для просмотра контента необходимо: Войти или зарегистрироваться

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 upload_2017-11-28_11-9-38.png

Проверим на VBA скрипты:
Код:
olevba exploit.doc
upload_2017-11-28_11-10-59.png

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

Следующим подопытным выступает PDF файл.
Используем pdfid для просмотра всех объектов в файле upload_2017-11-28_12-11-59.png

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

Надеюсь, этот читлист поможет вам, удачи!
 

Вложения

ghost

penetration testing
Grey Team
12.05.2016
1 105
1 984
#3
Статья понравилась :) спасибо ТС очень полезно
 

Vertigo

Lex mea est Vulgate Linux
Red Team
15.02.2017
612
1 452
#5
Очень хорошо преподнесён подбор материала.Спасибо,точно пригодится (не дай ,высшие силы терминала,самому конечно).
Но при аудите будет актуально во время оказания помощи кому-нибудь.
 
06.11.2017
18
3
#6
Ого, дад тут полный инструментарий. Будем знать от каких инструментов прятать =)
 

Fn3o2z7st

New member
07.11.2017
1
1
#7
Спасибо за статью. Добавлю, что pdfid умеет очищать только от JS и AA пдфки при использовании ключа d.
pdfid -d книжка.pdf​

Чтобы полностью очистить от всего, я использую конвертацию с помощью pdf2ps и после первой конвертации повторно перевожу постскрипт в pdf с помощью ps2pdf. Стоит отметить, что при такой конвертации JS и AA остаются. Поэтому не чистые pdf файлы чистю трёхэтапно.

  1. pdf2ps книжка.pdf
  2. ps2pdf книжка.ps
  3. pdfid -d книжка.pdf
 
Симпатии: Понравилось Dr.Lafa

studentfn

Well-known member
02.02.2018
74
25
#8
Спасибо за информацию!
Кстати, тогда еще интересный момент для обсуждения: как по умолчанию обрабатывают такие скрипты и URL разные читалки под Андроид?