Есть ли способ проверить PDF на наличие эксплойтов? Я использую Linux в большинстве случаев, но иногда мне приходится читать PDF-файлы и в Windows, поэтому я должен быть уверен, что PDF-файл чистый. Я использую Acrobat Reader для Windows и Evince для Linux.
2 ответа
4
Ниже приведен пост модератора (Lupine) форумов по удаленной эксплуатации, который я считаю очень полезным.
Вот метод, который я использую при анализе вредоносных PDF-файлов:
Я использую инструменты
pdfid
иpdf-parser
отсюда. В прошлом я также использовалpdftk
, но в последнее время я считаю это менее полезным.Процесс:
- Используйте
pdfid
для анализа документа pdf.pdfid
может сказать вам, если в pdf включен Javascript, а также есть функция автозапуска и сколько у него страниц. Одностраничный документ с функциями Javascript и автозапуска является подозрительным.- Если Javascript присутствует, извлеките его из документа, чтобы определить его назначение. Иногда Javascript включается в простой текст, и в этом случае вы можете просто использовать утилиту strings для его извлечения. В противном случае вы можете использовать pdf-анализатор для извлечения определенных типов закодированного Javascript.
- Вредоносный Javascript часто содержит запутывание, чтобы скрыть его истинное предназначение. Чтобы удалить это запутывание, я немного модифицирую скрипт, чтобы упростить отладку (например, вместо этого назначить код из операторов eval переменной), и использую отладчик Javascript Rhino, чтобы показать мне, как код преобразуется во время работы.
- Многие из основанных на Javascript PDF-эксплойтов часто связаны с переполнением буфера, а шелл-код часто имеет формат Unicode. У меня есть скрипт на Perl, который я написал для преобразования этого типа шелл-кода в программу на C (на самом деле это просто шелл-код в стиле C с некоторым кодом оболочки), который затем можно скомпилировать для дальнейшего анализа с использованием стандартных методов двоичного анализа.
Я отмечу, что эксплойты в PDF возможны без Javascript, но на практике большинство из них в дикой природе, похоже, используют его. Конечно, те, которые я видел, имеют это.
1
Вы можете установить и использовать ClamAV.