Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
maldev-for-dummies — Воркшоп по разработке вредоносного ПО | Kitploit
Инструменты/GitHubGitHub/chvancooten/maldev-for-dummies
ЭксплуатацияШелл-кодАнализ вредоносных программОбучение и ОбразованиеRed TeamingРазработка Полезной НагрузкиЛаборатории и Практика
GitHubchvancooten/maldev-for-dummies

maldev-for-dummies

Воркшоп по разработке вредоносного ПО

Репозиторий
1.8k235233 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Разработка вредоносного ПО для чайников

В эпоху EDR операторам красных команд больше не обойтись использованием предварительно скомпилированных полезных нагрузок. В связи с этим разработка вредоносного ПО становится жизненно важным навыком для любого оператора. Начать работу с maldev может показаться пугающим, но на самом деле это очень просто. Этот воркшоп покажет вам всё, что нужно для начала!

Этот репозиторий содержит слайды и сопутствующие упражнения для воркшопа «MalDev для чайников», который проходил/будет проходить на Hack in Paris 2022 и X33fcon 2023. Хотя слайды были разработаны для очного представления, материалы и упражнения останутся здесь, чтобы вы могли выполнять их в своём темпе — процесс обучения никогда не стоит торопить! Приветствуются вопросы и предложения через Issues и Pull requests к этому репозиторию.

⚠ Отказ от ответственности: Разработка вредоносного ПО — это навык, который можно и нужно использовать во благо, для развития сферы (наступательной) безопасности и поддержания нашей защиты в тонусе. Если вы когда-либо используете этот набор навыков для действий, на которые у вас нет разрешения, вы больший «чайник», чем рассчитано на этот воркшоп, и вам следует убираться отсюда.

Описание воркшопа

С каждым днём антивирусные (AV) и корпоративные системы обнаружения и реагирования (EDR) становятся всё более зрелыми, что заставляет красные команды опережать их. Времена execute-assembly и сброса немодифицированных полезных нагрузок на диск прошли — если вы хотите, чтобы ваши операции длились дольше недели, вам придётся повысить уровень создания полезных нагрузок и разработки вредоносного ПО. Однако начать в этой области может быть непросто, и найти подходящие ресурсы не всегда легко.

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

В ходе воркшопа мы рассмотрим теорию, после чего настроим вам лабораторную среду. Будут различные упражнения, которые вы сможете выполнить в зависимости от вашего текущего уровня навыков и комфорта с темой. Однако цель воркшопа — учиться, а явно не выполнить все упражнения. Вы можете свободно выбирать предпочитаемый язык программирования для разработки вредоносного ПО, но поддержка во время воркшопа предоставляется в первую очередь для языков C# и Nim.

На воркшопе мы обсудим ключевые темы, необходимые для начала создания собственного вредоносного ПО. Это включает (но не ограничивается):

  • Windows API
  • Типы файлов и методы выполнения
  • Выполнение и внедрение шеллкода
  • Методы обхода AV и EDR

Начало работы

Чтобы начать разработку вредоносного ПО, вам понадобится машина для разработки, чтобы вас не беспокоили защитные инструменты, работающие на вашем основном компьютере. Я предпочитаю Windows для разработки, но Linux или MacOS тоже подойдут. Установите редактор/IDE по своему выбору (я использую VS Code почти для всего, кроме C#, для которого использую Visual Studio), а затем установите инструментарий для выбранного языка MalDev:

  • C#: Visual Studio предложит включить пакеты .NET, необходимые для разработки на C#. Если вы хотите разрабатывать без Visual Studio, вы можете скачать .NET Framework отдельно.
  • Nim lang: Следуйте инструкциям по установке. Choosenim — удобная утилита для автоматизации процесса установки.
  • Golang (спасибо @nodauf за PR): Следуйте инструкциям по установке.
  • Rust: Rustup можно использовать для установки Rust вместе с необходимыми инструментальными цепочками.

Не забудьте отключить Защитник Windows или добавить соответствующие исключения, чтобы ваша работа не была помещена в карантин! Позже мы сможем протестировать на отдельной машине с включенными защитными средствами, такими как AV.

ℹ Примечание: Часто менеджеры пакетов, такие как apt, или инструменты управления программным обеспечением, такие как Chocolatey или Winget (теперь встроенный!), можно использовать для автоматизации установки и управления зависимостями удобным и повторяемым способом. Однако помните, что версии в менеджерах пакетов могут отставать от реальных на несколько версий! Ниже приведён пример команды для установки всех упомянутых инструментов за один раз.

choco install -y nim choosenim go rust vscode visualstudio2019community dotnetfx

Компиляция программ

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

C#

Код C# (файлы .cs) можно компилировать либо напрямую (с помощью утилиты csc), либо через саму Visual Studio. Большая часть исходного кода в этом репозитории (кроме решения бонусного упражнения 3) может быть скомпилирована следующим образом.

ℹ Примечание: Убедитесь, что вы запускаете приведённую ниже команду в «Командной строке разработчика Visual Studio», чтобы она знала, где найти csc. Рекомендуется использовать «Командную строку x64 Native Tools» для вашей версии Visual Studio. Флаг /unsafe потребуется для большинства скриптов, где мы напрямую обращаемся к низкоуровневым функциям.

csc filename.exe

Вы можете включить оптимизации во время компиляции с помощью флага /optimize. Вы также можете скрыть окно консоли, добавив /target:winexe, или скомпилировать как DLL с помощью /target:library (но убедитесь, что структура вашего кода подходит для этого).

Nim

Код Nim (файлы .nim) компилируется командой nim c. Исходный код в этом репозитории можно скомпилировать следующим образом.

nim c filename.nim

Если вы хотите оптимизировать сборку по размеру и удалить отладочную информацию (что гораздо лучше для OPSEC!), вы можете добавить следующие флаги.

nim c -d:release -d:strip --opt:size filename.nim

При необходимости вы также можете скрыть окно консоли, добавив --app:gui.

Golang

Код Golang (файлы .go) компилируется командой go build. Исходный код в этом репозитории можно скомпилировать следующим образом.

GOOS=windows go build

Если вы хотите оптимизировать сборку по размеру и удалить отладочную информацию (что гораздо лучше для OPSEC!), вы можете добавить следующие флаги.

GOOS=windows go build -ldflags "-s -w"

Rust

Код Rust (файлы .rs) компилируется через команду cargo. Cargo может использоваться для управления зависимостями и сборки проекта. Исходный код в этом репозитории можно скомпилировать, перейдя в папку проекта и выполнив следующую команду.

cargo build

Если вы хотите оптимизировать сборку по размеру и удалить отладочную информацию, вы можете добавить следующие флаги. Также обратитесь к разделу [profile.release] в каждом файле Cargo.toml для некоторых опций OPSEC во время компиляции.

cargo build --release

Зависимости

C#

Большинство решений можно скомпилировать без зависимостей. Если зависимости требуются, предоставляется проект Visual Studio, который ссылается на соответствующие пакеты NuGet.

Nim

Большинство программ на Nim зависят от библиотеки «Winim» для взаимодействия с Windows API. Вы можете установить библиотеку с помощью менеджера пакетов Nimble следующим образом (после установки Nim):

nimble install winim

Golang

Скачать инструмент