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

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

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

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

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

Категории

Все категории
Loading categories
SmmBackdoor — Первый бэкдор в System Management Mode с открытым исходным кодом, публично доступный для платформ на основе UEFI. Отлично подходит в качестве универсального полигона для различных SMM-экспериментов. | Kitploit
Инструменты/GitHubGitHub/cr4sh/smmbackdoor
Повышение привилегийМеханизмы персистентностиЭксплуатацияПост-эксплуатацияАппаратный ХакингРазработка Полезной НагрузкиАнализ Прошивок
GitHubcr4sh/smmbackdoor

SmmBackdoor

Первый бэкдор в System Management Mode с открытым исходным кодом, публично доступный для платформ на основе UEFI. Отлично подходит в качестве универсального полигона для различных SMM-экспериментов.

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

Популярное

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

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

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

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

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

SMM-бэкдор для платформ на основе UEFI


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Это устаревший заброшенный проект, за актуальной версией бэкдора обратитесь к странице проекта SMM Backdoor Next Gen и его документации:

https://github.com/Cr4sh/SmmBackdoorNg

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Для получения дополнительной информации об этом проекте, пожалуйста, прочитайте следующую статью:

http://blog.cr4.sh/2015/07/building-reliable-smm-backdoor-for-uefi.html

Содержимое репозитория:

  • SmmBackdoor.py -- программа на Python, которая позволяет внедрять код бэкдора в PE-образ UEFI DXE-драйвера, взаимодействовать с установленным бэкдором для чтения SMRAM и выполнять некоторые другие полезные действия.

  • SmmBackdoor/ -- исходный код части UEFI, которая выполняется в режиме системного управления (System Management Mode).

  • SmmBackdoor.efi, SmmBackdoor.pdb -- бинарный файл части UEFI и его отладочные символы.

  • smm_call/ -- Linux-программа, подтверждающая концепцию (proof of concept), которая взаимодействует с установленным бэкдором для получения root-привилегий для своего процесса.

Для сборки проекта SmmBackdoor необходима машина с Windows, Visual Studio 2008 и исходным кодом EDK2 (https://github.com/tianocore/edk2).

Пошаговая инструкция:

  1. Скопируйте подкаталог SmmBackdoor в каталог исходного кода EDK2.

  2. Отредактируйте файл Conf/target.txt и установите значение свойства ACTIVE_PLATFORM равным OvmfPkg/OvmfPkgX64.dsc.

  3. Отредактируйте OvmfPkg/OvmfPkgX64.dsc и добавьте следующие строки в конец файла:

root@kitploit:~
#
root@kitploit:~
# 3-rd party drivers
#
SmmBackdoor/SmmBackdoor.inf {
  <LibraryClasses>
    DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
}

4. Запустите командную строку Visual Studio 2008 и выполните cd в каталог EDK2.

  1. Выполните Edk2Setup.bat --pull для настройки среды сборки и загрузки необходимых бинарных файлов.

  2. cd SmmBackdoor && build

  3. После компиляции результирующий PE-образ будет создан в Build/OvmfX64/DEBUG_VS2008x86/X64/SmmBackdoor/SmmBackdoor/OUTPUT/SmmBackdoor.efi

Чтобы запустить SmmBackdoor.efi в качестве полезной нагрузки инфектора на примере материнской платы Intel DQ77KB:

  1. Сделайте дамп прошивки материнской платы с помощью аппаратного программатора SPI.

  2. Откройте сохранённый образ прошивки в UEFITool.

  3. Извлеките PE-образ FFS-файла с GUID = 26A2481E-4424-46A2-9943-CC4039EAD8F8 и сохраните его в файл extracted.bin.

  4. Внедрите в извлечённый образ SmmBackdoor.efi с помощью SmmBackdoor.py:

root@kitploit:~
$ python SmmBackdoor.py --infect extracted.bin --output infected.bin --payload SmmBackdoor.efi
  1. В UEFITool замените исходный PE-образ на infected.bin.

  2. Сохраните изменённый образ прошивки в файл и запишите его в ПЗУ материнской платы с помощью программатора.

Бэкдор также имеет возможности вывода отладочной информации, которые позволяют видеть отладочные сообщения фазы DXE на экране и получать отладочные сообщения фазы runtime через COM-порт.

Для использования SmmBackdoor.py необходимо установить библиотеку pefile для Python (https://pypi.python.org/pypi/pefile) и фреймворк CHIPSEC (https://github.com/chipsec/chipsec), включая привязки к Python.

Поддерживаемые команды:

  • SmmBackdoor.py --infect <source_path> --output <dest_path> --payload <payload_path> - внедрить указанный код бэкдора в PE-образ DXE-драйвера.

  • SmmBackdoor.py --test - проверить наличие бэкдора и вывести информацию о состоянии из структуры BACKDOOR_INFO.

  • SmmBackdoor.py --dump-smram - сохранить все доступные области SMRAM в файлы.

  • SmmBackdoor.py --read-phys

    - вывести шестнадцатеричный дамп страницы физической памяти по указанному адресу.

  • SmmBackdoor.py --read-virt

    - вывести шестнадцатеричный дамп страницы виртуальной памяти по указанному адресу.

  • SmmBackdoor.py --timer-enable - включить периодический таймер SMI, который требуется для smm_call (по умолчанию он включён).

  • SmmBackdoor.py --timer-disable - выключить периодический таймер SMI.

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

  • smm_call [<arg_1> [<arg_2>]] - отправить указанный управляющий код и аргументы SMM-бэкдору.

  • smm_call --privesc - попросить бэкдор предоставить root-привилегии вызывающему процессу и запустить командную оболочку.

Обратите внимание, что этот код был протестирован только на материнской плате Intel DQ77KB. Вы можете попробовать запустить его на любом другом совместимом с UEFI оборудовании, но некоторые функции бэкдора могут не работать.

Автор: Dmytro Oleksiuk (aka Cr4sh)

[email protected] http://blog.cr4.sh

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