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

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

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

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

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

Категории

Все категории
Loading categories
Silverseal — Linux-фреймворк для постэксплуатации с UEFI-буткитом, который постоянно и скрытно загружает руткит на основе модуля ядра, написанный на Rust, на современных Linux-системах. | Kitploit
Инструменты/GitHubGitHub/idov31/silverseal
Механизмы персистентностиЭксплуатацияПост-эксплуатацияАнализ вредоносных программRed TeamingРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubidov31/silverseal

Silverseal

Linux-фреймворк для постэксплуатации с UEFI-буткитом, который постоянно и скрытно загружает руткит на основе модуля ядра, написанный на Rust, на современных Linux-системах.

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

Популярное

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

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

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

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

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

Silverseal

Silverseal Logo

rust assembly linux

Silverseal — это фреймворк постэксплуатации Linux, демонстрирующий способность UEFI-буткита постоянно и скрытно загружать руткит в виде модуля ядра на Rust на современных системах Linux. Проект включает:

  • silverseal-bootkit: UEFI-буткит, реализованный на Rust, который перехватывает ранний процесс загрузки ядра Linux для загрузки модуля руткита.
  • silverseal-rootkit: модуль ядра Linux на Rust.

Архитектура

Silverseal Design Diagram

Установка зависимостей

Ubuntu

Устанавливает пакеты, необходимые для сборки внешних модулей Rust-for-Linux, устанавливает rustup при необходимости, переключает инструментарий по умолчанию на stable, добавляет rust-src, устанавливает bindgen-cli и предупреждает, если текущее работающее ядро не предоставляет CONFIG_RUST=y.

root@kitploit:~
./scripts/install_dependencies.sh

WSL

[!IMPORTANT]
Если вы используете WSL, убедитесь, что настроен WSL 2 и установлен Ubuntu. Этот скрипт собирает кастомное ядро WSL2 с поддержкой Rust, подготавливает VHDX для модулей и может опционально записать запись в Windows .wslconfig, указывающую WSL на сгенерированное ядро.

root@kitploit:~
./scripts/wsl_setup.sh

Скрипт автоматически устанавливает зависимости сборки Ubuntu, клонирует соответствующую версию исходников ядра Microsoft WSL2, включает CONFIG_RUST, собирает ядро с LLVM и настраивает /lib/modules/<release>/build для сборки внешних модулей.

Чтобы увидеть поддерживаемые параметры:

root@kitploit:~
./scripts/wsl_setup.sh --help

Чтобы собрать руткит под нужное целевое ядро, необходимо запустить следующий скрипт на сборочной машине (либо WSL, либо нативной Linux-машине):

root@kitploit:~
./scripts/ubuntu_target_setup.sh <uname -r of your target kernel>

Этот процесс устанавливает соответствующие пакеты linux-headers-<kernel> и linux-lib-rust-<kernel>, устанавливает поставляемый с Ubuntu инструментарий Rust 1.82, используемый в процессе generic-kernel, исправляет /usr/src/linux-headers-<kernel>/rust, если эта символическая ссылка повреждена, и выводит точную команду make для последующего использования.

Сборка

Руткит

Соберите руткит с помощью системы сборки ядра. Не используйте Cargo для реальной сборки модуля.

root@kitploit:~
cd Silverseal/silverseal-rootkit
make

Артефакты модуля размещаются в silverseal-rootkit/target/ после сборки.

Сборка руткита для целевого ядра Ubuntu generic из WSL:

root@kitploit:~
cd Silverseal/silverseal-rootkit
make clean
PATH=/usr/bin:/bin:$PATH \
RUST_LIB_SRC=/usr/src/rustc-1.82.0/library \
make RUST_MIN_TOOLCHAIN= \
KDIR=/usr/src/linux-headers-6.17.0-20-generic \
CC=x86_64-linux-gnu-gcc-13 \
RUSTC=rustc-1.82 \
RUSTDOC=rustdoc-1.82

Makefile модуля автоматически определяет цели /usr/src/linux-headers-* и передаёт cfg совместимости Rust через переменные флагов Rust в Kbuild, чтобы более новая схема метаданных module! в Ubuntu использовала authors вместо старого ключа author.

После сборки проверьте, что версия целевого ядра была встроена корректно:

root@kitploit:~
modinfo target/silverseal_rootkit.ko | grep vermagic

Буткит

Для сборки буткита требуется nasm в PATH. Крейт уже настроен на цель x86_64-unknown-uefi, а сборочный скрипт ассемблирует как asm/x64/lkm_loader.asm, так и asm/x64/lkm_stager.asm в плоские бинарные блобы, встраиваемые в EFI-образ.

root@kitploit:~
cd Silverseal/silverseal-bootkit
cargo build --release

Полученный EFI-бинарник записывается в:

root@kitploit:~
Silverseal/target/x86_64-unknown-uefi/release/silverseal-bootkit.efi

Тестирование

Скрипт развёртывания в настоящее время ожидает файл с именем silverseal-bootkit.efi в корне репозитория. После сборки буткита скопируйте туда EFI-артефакт и затем запустите скрипт настройки из корня репозитория.

root@kitploit:~
cd Silverseal
cp target/x86_64-unknown-uefi/release/silverseal-bootkit.efi ./silverseal-bootkit.efi
sudo ./scripts/setup_silverseal.sh

Скрипт выполняет прямую замену на EFI-разделе:

  • перемещает /boot/efi/EFI/ubuntu/grubx64.efi в /boot/efi/EFI/ubuntu/grubx64.efi.original
  • перемещает ./silverseal-bootkit.efi на место /boot/efi/EFI/ubuntu/grubx64.efi

Удаление Silverseal

Чтобы удалить Silverseal, восстановите оригинальный бинарник GRUB из резервной копии .original:

root@kitploit:~
cd Silverseal
sudo ./scripts/restore_silverseal.sh

Настройка последовательного логирования

Linux

  • Определите последовательный порт:
root@kitploit:~
ls -la /dev/ttyS*

Распространённые порты: /dev/ttyS0 (COM1), /dev/ttyS1 (COM2)

  • Мониторинг последовательного вывода с помощью minicom:
root@kitploit:~
sudo minicom -D /dev/ttyS0 -b 115200

# Or with `screen`:
sudo screen /dev/ttyS0 115200

# Or with `picocom`:
sudo picocom -b 115200 /dev/ttyS0

Windows

  • Скачайте и запустите PuTTY
  • Выберите тип подключения "Serial"
  • Введите последовательную линию, созданную в виртуальной машине (например, \\.\pipe\com_1)
  • Установите скорость 115200
  • В разделе Connection > Serial установите "Flow control" в "None" и "Parity" в "None"
  • Нажмите Open

Вы также можете использовать вспомогательный скрипт, который непрерывно переподключает PuTTY к \\.\pipe\com_1 на скорости 115200 бод:

root@kitploit:~
powershell -ExecutionPolicy Bypass -File .\scripts\connect-vm.ps1

Ресурсы

  • UEFI Crate
  • Elixir Bootlin
  • memN0p's Bootkit
Скачать инструмент