• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

Dr.Lafa

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

Общий подход к анализу документов
  1. Проверить документ на опасные теги и скрипты
  2. Найти встроенный код, такой как shellcode, VBA-макрос, Javascript, Powershell и другие
  3. Извлечь подозрительный код или объект из файла
  4. Если возможно, деобфуцировать извлечённый код (хотя с очень большой долей вероятности обфуцированный код является вредоностым)
Инструменты для анализа MS Office файлов
oletools - многофункциональный набор инструментов на Python для анализа файлов, таких как документы Microsoft Office (MS Word, Excel, Powerpoint, etc.)
Установка на Linux:
Код:
sudo -H pip install -U oletools
Установка на Windows:
Код:
pip install -U oletools
инструменты в пакете:
У oletools есть свой довольно неплохой читлист, так что разобраться не составит труда.

pcodedmp - дизассемблер (по сути шелл кода) из документов. Для запуска требуется oletools. https://github.com/bontchev/pcodedmp
Инструменты для анализа PDF файлов


PDF Stream Dumper - утилита с графическим интерфейсом под Windows для анализа PDF.
pdf-parser - позволяет извлекать отдельные элементы PDF-файла, такие как заголовки, ссылки и прочее.
pdfid - перечисляет все объекты PDF-файла.
peepdf - довольно мощный инструмент для анализа. Включает в себя поиск shellcode, Javascript и много чего ещё. Включён по умолчанию в .
https://github.com/jesparza/peepdf
pdfxray - имеет большую часть нужных утилит в виде отдельных python скриптов, но требует много зависимостей.https://github.com/9b/pdfxray_public
На что стоит обратить внимание при анализе 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

В моём случае нет ничего страшного.

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

Вложения

  • upload_2017-11-28_10-31-30.png
    upload_2017-11-28_10-31-30.png
    24,4 КБ · Просмотры: 356
  • upload_2017-11-28_10-50-31.png
    upload_2017-11-28_10-50-31.png
    20,4 КБ · Просмотры: 211
  • upload_2017-11-28_10-50-37.png
    upload_2017-11-28_10-50-37.png
    20,4 КБ · Просмотры: 204
  • upload_2017-11-28_10-55-39.png
    upload_2017-11-28_10-55-39.png
    10,8 КБ · Просмотры: 201
  • upload_2017-11-28_10-56-52.png
    upload_2017-11-28_10-56-52.png
    36,3 КБ · Просмотры: 199
  • upload_2017-11-28_12-31-34.png
    upload_2017-11-28_12-31-34.png
    6,3 КБ · Просмотры: 224

ghost

Grey Team
12.05.2016
1 636
3 286
BIT
0
Статья понравилась :) спасибо ТС очень полезно
 

Vertigo

Lex mea est Vulgate Linux
Gold Team
15.02.2017
1 318
3 997
BIT
1
Очень хорошо преподнесён подбор материала.Спасибо,точно пригодится (не дай ,высшие силы терминала,самому конечно).
Но при аудите будет актуально во время оказания помощи кому-нибудь.
 
  • Нравится
Реакции: valerian38 и ghost

Shihskauskas

Green Team
06.11.2017
41
14
BIT
0
Ого, дад тут полный инструментарий. Будем знать от каких инструментов прятать =)
 
F

Fn3o2z7st

Спасибо за статью. Добавлю, что 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

Green Team
02.02.2018
107
40
BIT
0
Спасибо за информацию!
Кстати, тогда еще интересный момент для обсуждения: как по умолчанию обрабатывают такие скрипты и URL разные читалки под Андроид?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!