PDA

Просмотр полной версии : Обзор PPEE, Инструмент для детального изучения файлов


ROP
09.10.2020, 17:30
Привет всем!

Решил я тут сделать краткий обзор инструментаPPEE(Puppy). Этот инструмент предназначен для детального исследования файлов. В конце статьи будут полезные ссылки

Начнём с теории, а дальше исследуем 1 exe файл. Все параметры PE файла я описывать не буду. Только часто используемые. Они будут выделены жёлтым цветом. Их можно посмотреть перейдя ссылкам в конце обзора.

Описание с сайта разработчика

Puppy - это легкий, но мощный инструмент для статического исследования интересующих нас файлов. Также предоставляются два сопутствующих плагина.

FileInfo - чтобы запросить файл в известных хранилищах вредоносных программ и взять в один клик техническую информацию о файле, такую как его размер, энтропия, атрибуты, хэши, информация о версии и так далее.

YaraPlugin - чтобы проверить правила Yara (помогают нам идентифицировать и классифицировать образцы вредоносных программ) против открытого файла.

Рассмотрим exe файл


Dos Header - Заголовок MS DOS.

https://forum.antichat.xyz/attachments/4892594/img_000cc8337e.png

Rich Header - Структура, генерируемая компилятором. Содержит информацию о компиляторе. Если вам интересно почитать про этот заголовок, вотобсуждение на antichat.

https://forum.antichat.xyz/attachments/4892594/img_5bf232f6d7.png

NT Header - Содержит заголовок PE файла.

https://forum.antichat.xyz/attachments/4892594/img_9e0b3fcce1.png

File Header - заголовок исследуемого файла.

https://forum.antichat.xyz/attachments/4892594/img_2e980947f3.png



PointerToSymbolTable - смещение до таблицы с символами.

NumberOfSymbols - количество символов в таблице символов.

Characteristic - характеристика файла.

NumberOfSections - количество секций в файле.

Optional Header - опциональный заголовок. Такие заголовки находятся в форматах .exe, .dll, но не в объектных файлах .obj.

https://forum.antichat.xyz/attachments/4892594/img_bd78cc02b3.png

Magic - по этому полю можно определить для какой архитектуры PE программа. PE32 (x86) PE32+ (x64). Особенность PE32+: все поля, содержащие виртуальный адрес имеют размер qword = 64 bit.

SizeOfCode - размер секции кода.

SizeOfInitialezedData и SizeOfUninitialezedData - размер инициализированных и не инициализированных данных.

ImageBase - базовый адрес загрузки PE файла.

AdressOfEntryPoint - адрес точки входа. Точка входа показывает откуда начать выполнение программы, когда она запускается. Адрес не абсолюный, а относительный RVA.

BaseOfCode - RVA по которому размещена секция кода.

BaseOfData - RVA по которому размещена секция с данными.

Data Directories - Перечисляет все таблицы в файле.


https://forum.antichat.xyz/attachments/4892594/img_297f496ed4.png

Section Headers - Секции файла.

https://forum.antichat.xyz/attachments/4892594/img_973084a1a8.png

DIRECTORY_ENTRY_IMPORT - Показывает все dll и их функции которые были импортированы в программу разработчиком.


https://forum.antichat.xyz/attachments/4892594/img_a69125641c.png

DIRECTORY_ENTRY_DEBUG - Отладочная информация о файле. Эта таблица присутствует, если к программе подключают dll файлы.


https://forum.antichat.xyz/attachments/4892594/img_23554473d5.png

DIRECTORY_ENTRY_LOAD - Таблица с конфигурациями загрузок.

https://forum.antichat.xyz/attachments/4892594/img_5b532767f3.png

DIRECTORY_ENTRY_IAT - таблица с адресами импортируемых функций и dll.

https://forum.antichat.xyz/attachments/4892594/img_0220ab201e.png

Strings in file - Строки в исследуемом файле. Возможна сортировка по ASCII, Unicode и другим типам строк.

https://forum.antichat.xyz/attachments/4892594/img_b8482789b4.png

Если после прочтения этого краткого обзора у вас появился интерес к изучению PE файла, перейдите и почитайте информацию из ссылок ниже.

Цикл статей @PingVinich (https://forum.antichat.xyz/members/573770/)

Видео на канале The античат

Официальная документация Microsoft про PE файл

Статья на Habr

Спасибо за внимание. Не болейте.