Обратная разработка вредоносного ПО, часть 3: Введение в IDA Pro

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
153
Депозит
-8.95$
Добро пожаловать на мой курс по реверс-инжинирингу вредоносных программ!

Этот курс предназначен для тех из вас, кто хочет достичь вершин в области цифровой криминалистики и кибербезопасности.

6a4a49_76094687779646fcb48f8863e9119f47~mv2.png


Существует множество инструментов для реверс-инжиниринга, но один дизассемблер стоит особняком. Практически все в этой отрасли в той или иной степени используют IDA Pro . IDA Pro — это дизассемблер, способный обрабатывать двоичные программы, исходный код которых отсутствует, и создавать карты и различные режимы анализа двоичных файлов. Он берёт исходный код и представляет его в виде ассемблерного кода, что позволяет лучше понять, как работает исходный код. IDA Pro также имеет отладчик, но в этом курсе мы сосредоточимся в основном на его возможностях дизассемблирования.

IDA (Interactive Disassembly) Pro была разработана Ильфаком Гильфановым и теперь продаётся его компанией Hex-Rays из г. Лейж, Бельгия. IDA Pro доступна в версии для Windows (которую мы будем использовать здесь), а также для Linux и MacOS.

Давайте начнем с IDA!

Шаг №1 Загрузка и установка

IDA Pro — коммерческое программное обеспечение, но вы можете скачать бесплатную версию или демо-версию/ознакомительную версию для этого курса. Эти версии имеют некоторые ограничения, такие как:

(1) они будут работать только на платформах x86 и ARM

(2) они будут работать только с форматами PE/ELF/Macho-0

(3) вы не сможете сохранить свои результаты, и они могут быть просрочены

(4) несколько других ограничений.

После загрузки IDA Pro, принятия лицензионного соглашения, установки Python 2.7 и Microsoft Visual C++, IDA Pro будет установлена в вашей системе. Теперь она должна быть в списке программ в меню «Пуск» Windows. Найдите её и нажмите на значок. После этого IDA запустится с экраном, как показано ниже. Нажмите «Создать».

6a4a49_60978f56307b43489898c260f626d8cf~mv2.png


Шаг №2 Загрузка PE-файла

Поскольку мы работаем с демо-версией, мы можем использовать только файлы Portable Executable (PE). Теперь мы можем просто перетащить файл в окно рабочего центра или нажать Файл -> Открыть .

6a4a49_2496709edbe5464587c0678df5c6a063~mv2.png


После выбора файла для дизассемблирования и анализа откроется окно, показанное ниже. Как видите, IDA автоматически определила тип файла (переносимый исполняемый файл) и тип процессора (x86). Нажмите «ОК».

6a4a49_83aaf59c89494b549b19885635ec01ef~mv2.png


Когда IDA начинает разборку и анализ, она анализирует весь файл и помещает информацию в базу данных. Эта база данных состоит из четырёх файлов:

  1. .id0 – содержит содержимое базы данных в стиле B-дерева
  2. .id1 – содержит флаги, описывающие каждый байт программы
  3. .nam – содержит индексную информацию, относящуюся к именованным расположениям программ
  4. .til – содержит информацию о локальных определениях типов
При закрытии IDA вам будет предложено сохранить эти файлы базы данных. Если вы это сделаете, эти четыре файла будут архивированы в один файл IDB. Когда пользователи ссылаются на базу данных IDA, они имеют в виду именно её. Эти файлы будут сохранены и доступны вам в любое время. Вы увидите их сохранёнными в том же каталоге, что и анализируемый вами файл.

Шаг №3. Начало разборки

В этой лабораторной работе я буду использовать небольшой .exe-файл, входящий в состав сканера веб-уязвимостей Acunetix. Он не является вредоносным ПО, но может стать хорошей демонстрацией для начинающих. Вы можете использовать любой портативный .exe-файл (PE) 32-битной версии, чтобы демо-версия IDA Pro могла его дизассемблировать. После открытия IDA Pro начинает процесс дизассемблирования и отображает информацию, как на скриншоте ниже.

6a4a49_d48aac7f6bae40baaeb03cfe0925f749~mv2.png


Как видите выше, IDA предоставляет нам базовую информацию на вкладке «Вид IDA». Если прокрутить страницу вниз, можно увидеть каждую строку кода . Именно здесь мы будем выполнять большую часть работы, когда начнём дизассемблирование и анализ вредоносного ПО.

Если щелкнуть правой кнопкой мыши, откроется окно, показанное ниже. Обратите внимание, что в представлении IDA можно выбрать «Текстовый вид» или любой другой вариант. Позже, когда мы начнём анализ в этом курсе, мы установим точки останова в коде (F2).

6a4a49_01cd4e8eaf574e709853a6f11abb85a0~mv2.png


Цветная полоса над этим представлением IDA отображает объём памяти, занимаемый файлом. Она кодирует цветом различные части программы, хранящиеся в каждой области памяти. Щёлкнув правой кнопкой мыши по любой части полосы памяти, можно увеличить масштаб фрагмента кода, хранящегося в памяти. Масштаб можно увеличить вплоть до
уровня отдельных байтов.

6a4a49_eeec2264eae545868b7d825bc7c3f8e1~mv2.png


Мы можем просматривать файл с различных ракурсов, выбрав любой из доступных видов. К ним относятся вид IDA (как показано здесь), Hex View, Structures, Enums, Imports и, наконец, Exports. Нажав на любую из этих вкладок, мы получим соответствующее представление кода (см. раздел «Импорт» в шаге 5 ниже).

6a4a49_a033103de4d74b1dbc6a6fa3c77270d0~mv2.png


Одно из самых интересных и познавательных представлений, которые может предоставить IDA, — это блок-схема. Она графически отображает ход выполнения файла, упрощая его понимание. Её можно открыть, перейдя в верхнюю панель меню и выбрав « Вид» -> «Графики» -> «Блок-схема» . Откроется блок-схема кода, аналогичная представленной ниже.

6a4a49_0912168c13fb4ca8a0ffc2212bb07e3b~mv2.png


Чтобы получить более подробную информацию, можно увеличить масштаб, перейдя в меню «Вид» в верхней части блок-схемы. Таким образом, мы можем увидеть ход выполнения программы из каждого регистра, подпрограммы и функции.

6a4a49_0fd2d4957965473c9b6825ba6e60dfd8~mv2.png


Шаг 5: Показать импорт

При выборе представления «Импорт» IDA покажет все импортированные .exe-файлом модули. Эти импортированные модули могут дать нам подсказки о происхождении вредоносного ПО.

6a4a49_24fea7dbc2344e218005e804a6b3a93d~mv2.png


Шаг 6: Настройте анализ

Наконец, мы можем начать настраивать, что и как IDA будет отображать в коде, перейдя в раздел «Параметры» -> «Общие» . Окно, подобное показанному на снимке экрана ниже, позволит нам настроить наш анализ.

6a4a49_57dcf7ddb4bc4657a00c6593060ca121~mv2.png


Хотя это далеко не полное и исчерпывающее введение в IDA Pro, мы готовы использовать IDA Pro для анализа вредоносных программ! Я буду знакомить вас с дополнительными концепциями и методами по мере необходимости в ходе курса.

Прежде чем продолжить, я думаю, будет полезно познакомить вас с несколькими ключевыми командами и сочетаниями клавиш в IDA Pro.

6a4a49_373c2c9f4ff347faa677dfa551bacfda~mv2.png


Кроме того, вы можете найти полный краткий справочник по IDA Pro, любезно предоставленный хорошими людьми с сайта www.datarescue.com (фирма, изначально занимавшаяся продажами и маркетингом IDA Pro).

6a4a49_6cb44719ca64419481ec16c9826eebe1~mv2.png
 
Назад
Сверху Снизу