
ParanoiDF - набор для анализа PDF-файлов на основе PeePDF от Jose Miguel Esparza (http://peepdf.eternal-todo.com/). Добавленные инструменты: взлом паролей, восстановление содержимого, скрытого редактированием, снятие DRM, извлечение вредоносного JavaScript и многое другое.
Швейцарский нож среди инструментов анализа PDF. Основан на peepdf - http://peepdf.eternal-todo.com. Этот README основан на README peepdf.
Этот инструмент был разработан в рамках моей магистерской диссертации/проекта для Школы компьютерных наук (Университет Кента, Кентербери, Великобритания). Идея этого инструмента принадлежит Julio Hernandez-Castro (www.azhala.com).
См. https://github.com/patrickdw123/ParanoiDF/wiki.
Установка не требуется, кроме перечисленных зависимостей; просто выполните:
python paranoiDF.py
При запуске ParanoidF есть два важных параметра:
-f: Игнорирует ошибки разбора. Анализ вредоносных файлов, вероятно, приводит к ошибкам разбора, поэтому этот параметр следует устанавливать. -l: Устанавливает свободный режим (loose mode), поэтому не ищет тег endobj, поскольку он не обязателен. Полезен для повреждённых файлов.
Показывает статистику файла после декодирования/расшифровки и анализа:
python paranoiDF.py [options] pdf_file
Запускает интерактивную консоль, предоставляя широкий набор инструментов для работы.
python paranoiDF.py -i
Можно использовать файл команд, чтобы указать команды, выполняемые в пакетном режиме. Такой тип запуска хорошо подходит для автоматизации анализа нескольких файлов:
python paranoiDF.py [options] -s script_file
Если информации, отображаемой при разборе PDF-файла, недостаточно, чтобы понять, вредоносный ли он, следующие команды могут помочь:
Показывает древовидный граф файла или указанной версии. Здесь можно увидеть подозрительные элементы.
Показывает физическую карту файла или указанной версии документа. Это помогает заметить необычно большие объекты или большие промежутки между объектами.
Ищет указанную строку или шестнадцатеричную строку в объектах (включая декодированные и зашифрованные потоки).
Показывает (необработанное) содержимое объекта.
Показывает (необработанное) содержимое потока.
V2.0:
Не стесняйтесь отправлять ошибки/критику/похвалу/комментарии на patrickdw123(at)gmail(dot)com.