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

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

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

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

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

Категории

Все категории
Loading categories
OpenPetya — A Proof-of-Concept загрузочный набор и UEFI-загрузочное приложение, вдохновлённое программой-вымогателем Petya, написанное на Assembly, C и C++ | Kitploit
Инструменты/GitHubGitHub/iss4cf0ng/openpetya
Инструменты шифрования/дешифрованияОбратная инженерияФорензикаАнализ вредоносных программКриптографияОбучение и ОбразованиеЭксплуатация Бинарных Файлов
GitHubiss4cf0ng/openpetya

OpenPetya

A Proof-of-Concept загрузочный набор и UEFI-загрузочное приложение, вдохновлённое программой-вымогателем Petya, написанное на Assembly, C и C++

Репозиторий
2604359 ч 56 мин назадПроверено Kitploit

Популярное

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

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

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

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

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

OpenPetya

Proof-of-Concept буткит и UEFI загрузочное приложение, вдохновлённое вымогателем Petya, написанное на Assembly, C и C++

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

Обзор

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

Проект фокусируется на:

  • кастомной загрузке через MBR
  • многоэтапном процессе загрузки
  • переходе в Protected Mode
  • шифровании Master File Table (MFT) NTFS
  • криптографии на основе Salsa20
  • проверке пароля и процессе восстановления
  • программировании UEFI

OpenPetya НЕ является точной реimplementation ни Petya, ни NotPetya. Вместо этого это упрощённый Proof-of-Concept, созданный для целей обучения и исследований.

Стоит отметить, что OpenPetya не включает функциональность Command-and-Control (C2). Кроме того, OpenPetya хранит резервную копию MFT в открытом виде внутри скрытых секторов после шифрования. Такое поведение намеренно реализовано в образовательных целях, поскольку эти функции относительно тривиальны по сравнению с основными механизмами загрузчика и криптографии, реализованными в этом проекте. Однако при необходимости вы можете изменить или удалить эти функции.

Примечание: В версии 2.0.0 я решил не реализовывать это для UEFI из опасения, что это может быть использовано для нанесения ущерба современным операционным системам Windows.


Мотивация проекта

v1.0.0

За последние несколько месяцев я изучал:

  • анализ вредоносного ПО
  • загрузчики
  • руткиты и буткиты
  • внутреннее устройство Windows
  • основы операционных систем
  • низкоуровневое программирование на Assembly

Исследуя Petya и NotPetya, я заметил, что многие онлайн-ресурсы лишь кратко объясняют общий процесс работы, не демонстрируя, как на самом деле работает лежащий в основе процесс загрузки.

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

Поэтому я решил разработать OpenPetya как практический проект для понимания:

  • как работают кастомные MBR-буткиты
  • как работают загрузчики второго этапа
  • как работают процессы шифрования диска
  • как реализованы механизмы проверки пароля и восстановления

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

Связанные статьи:

  • Analyzing Petya
  • Analyzing NotPetya
  • Simple MBR And Bootloader
  • OpenBootloader
  • Rootkits and Bootkits Notes
  • PC Assembly Language Notes
  • Serious Cryptography Notes

v2.0.0

В версии 2.0.0 мне стало интересно, как работают современные буткиты (как описано в последних нескольких главах книги "Rootkits and Bootkits" Алекса Матросова, Евгения Родионова и Сергея Братуса). Поэтому я решил изучить программирование EFI-приложений с нуля. Затем я обнаружил, что это оказалось гораздо сложнее, чем я ожидал (особенно в плане отладки).

В любом случае, после написания нескольких простых EFI-приложений я опубликовал OpenPetya v2.0.0!


Возможности

v1.0.0

  • Кастомный MBR

    OpenPetya использует кастомную главную загрузочную запись (MBR) для загрузки полезной нагрузки второго этапа.

  • Кастомный загрузчик второго этапа

    Загрузчик второго этапа содержит основную функциональность проекта, включая:

    • шифрование/дешифрование Salsa20
    • проверку пароля
    • логику восстановления
    • пользовательский интерфейс
  • Переход в Protected Mode

    Загрузчик переключается из 16-битного Real Mode в 32-битный Protected Mode перед выполнением логики более высокого уровня.

  • Шифрование MFT

    Как и оригинальный Petya, OpenPetya шифрует критические части Master File Table (MFT) NTFS с помощью Salsa20.

  • Проверка пароля

    OpenPetya проверяет введённый пароль перед дешифрованием, чтобы предотвратить необратимое повреждение, вызванное неверными ключами.

  • Автоматическое восстановление

    После ввода правильного пароля:

    • зашифрованные данные восстанавливаются
    • исходная цепочка загрузки восстанавливается
    • OpenPetya удаляет себя автоматически

v2.0.0

OpenPetya v2.0.0 НЕ включает шифрование MFT в кастомном EFI-приложении (petya.efi). Оно предлагает простую панель входа и выполняет chainloading после ввода правильного пароля.

Я решил не реализовывать шифрование MFT в EFI-приложении, поскольку оно могло бы быть использовано для нанесения ущерба современным операционным системам Windows, тогда как в v1.0.0 я реализовал его, поскольку злоумышленники уже продемонстрировали это в 2016 году.


Компоненты

OpenPetya.exe

Пользовательское приложение-установщик и контроллер в режиме пользователя.

Функции:

  • выбор диска
  • установка
  • запуск перезагрузки
  • интерфейс утилит

mbr.bin

Кастомный код главной загрузочной записи (MBR), отвечающий за:

  • загрузку второго этапа
  • раннее выполнение при загрузке

stage2.bin

Основная полезная нагрузка OpenPetya.

Обязанности:

  • переход в Protected Mode
  • криптографические операции Salsa20
  • шифрование/дешифрование MFT
  • проверка пароля
  • восстановление
  • интерфейс во время загрузки

petya.efi

Основная полезная нагрузка OpenPetya.

Функции:

  • проверка пароля
  • chainloading

Процесс работы

BIOS

Процесс работы OpenPetya (MBR + Bootloader) описан ниже.

  1. Пользователи устанавливают OpenPetya с помощью OpenPetya.exe и выбирают пароль.
  2. Машина перезагружается вручную или через механизм BSOD (с помощью NtRaiseHardError), предоставляемый установщиком.
  3. Во время загрузки кастомный MBR загружает полезную нагрузку второго этапа.
  4. Полезная нагрузка второго этапа переключает CPU в Protected Mode.
  5. OpenPetya шифрует выбранные части Master File Table (MFT) NTFS.
  6. После шифрования машина перезагружается снова.
  7. Интерфейс во время загрузки запрашивает у пользователя пароль.
  8. Если пароль правильный:
    • зашифрованные данные дешифруются
    • исходная цепочка загрузки восстанавливается
    • OpenPetya удаляет себя автоматически
  9. Windows загружается в обычном режиме.

В отличие от оригинального вымогателя Petya, OpenPetya не пытается обманывать пользователей поддельными экранами CHKDSK или методами социальной инженерии. Проект предназначен исключительно для образовательных и исследовательских целей.

UEFI

Процесс работы OpenPetya (UEFI) описан ниже:

  1. Интерфейс во время загрузки запрашивает у пользователя пароль.
  2. Если пароль правильный:
    • система выполняет chainloading
  3. Пользователи удаляют кастомную EFI-программу вручную

Сборка

Вы можете собрать проект с помощью приведённых ниже команд.

root@kitploit:~
make            # Сборка mbr.bin и stage2.bin
./build.sh     # Сборка OpenPetya.exe

Использование

Предупреждение: Пожалуйста, запускайте его в вашей виртуальной машине!

Приведённые ниже команды показывают, как установить кастомный MBR и загрузчик второго этапа (требуются права администратора):

Legacy BIOS:

root@kitploit:~
OpenPetya.exe --list
OpenPetya.exe --drive 0 --install mbr.bin stage2.bin

UEFI:

root@kitploit:~
OpenPetya.exe --is-admin
OpenPetya.exe --firmware
OpenPetya.exe --uefi-secure
OpenPetya.exe --drive 0 --uefi-install petya.efi
OpenPetya.exe --drive 0 --uefi-restore

Технические заметки

Подробные объяснения о:

  • процессе загрузки MBR
  • Real Mode и Protected Mode
  • реализации Salsa20
  • процессе шифрования MFT
  • дизайне буткитов
  • дополнительных обсуждениях Petya и NotPetya
  • использовании недокументированных API (таких как NtRaiseHardError)

документированы в этой статье.

Отказ от ответственности

Этот проект был разработан исключительно в образовательных и исследовательских целях.

Цель OpenPetya — изучение:

  • буткитов
  • внутреннего устройства операционных систем
  • низкоуровневых методов вредоносного ПО
  • архитектуры загрузчиков

НЕ используйте этот проект для незаконной деятельности или против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.

Автор НЕ несёт ответственности за любое неправомерное использование этого программного обеспечения.

Демонстрация (Windows 7)

Скриншоты

Демонстрация работы

Планы на будущее

  • Улучшенный процесс восстановления
  • Более качественный парсинг NTFS
  • Более точная симуляция поведения Petya
  • Дополнительные исследования буткитов
  • Полноэкранный Graphics Mode
  • Поддержка Linux

Благодарности

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

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