Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Silverseal — Linux-Post-Exploitation-Framework mit einem UEFI-Bootkit, das persistent und stealth ein Rust-basiertes Kernel-Modul-Rootkit auf modernen Linux-Systemen lädt. | Kitploit
Tools/GitHubGitHub/idov31/silverseal
PersistenzmechanismenExploitationPost-ExploitationMalware-AnalyseRed TeamingPayload-EntwicklungBinary-Exploitation
GitHubidov31/silverseal

Silverseal

Linux-Post-Exploitation-Framework mit einem UEFI-Bootkit, das persistent und stealth ein Rust-basiertes Kernel-Modul-Rootkit auf modernen Linux-Systemen lädt.

Repository anzeigen
1661369vor 26 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Silverseal

Silverseal Logo

rust assembly linux

Silverseal ist ein Linux-Post-Exploitation-Framework, das die Fähigkeit eines UEFI-Bootkits demonstriert, persistent und stealth ein Rust-basiertes Kernel-Modul-Rootkit auf modernen Linux-Systemen zu laden. Das Projekt umfasst:

  • silverseal-bootkit: Ein in Rust implementiertes UEFI-Bootkit, das den frühen Boot-Prozess des Linux-Kernels hookt, um das Rootkit-Modul zu laden.
  • silverseal-rootkit: Ein Rust-basiertes Linux-Kernel-Modul.

Design

Silverseal Design Diagram

Abhängigkeiten installieren

Ubuntu

Installiert die für Rust-for-Linux-External-Module-Builds benötigten Pakete, installiert bei Bedarf rustup, wechselt die Standard-Toolchain auf stable, fügt rust-src hinzu, installiert bindgen-cli und warnt, wenn der aktuell laufende Kernel CONFIG_RUST=y nicht bereitstellt.

./scripts/install_dependencies.sh

WSL

[!IMPORTANT]
Wenn Sie WSL verwenden, stellen Sie sicher, dass Sie WSL 2 einrichten und Ubuntu installieren. Dieses Skript baut einen benutzerdefinierten Rust-fähigen WSL2-Kernel, bereitet ein Module-VHDX vor und kann optional einen Windows-.wslconfig-Eintrag schreiben, der WSL auf den generierten Kernel verweist.

./scripts/wsl_setup.sh

Das Skript installiert automatisch die Ubuntu-Build-Abhängigkeiten, klont die passende Microsoft-WSL2-Kernelquelle, aktiviert CONFIG_RUST, baut den Kernel mit LLVM und verdrahtet /lib/modules/<release>/build für External-Module-Builds.

Um die unterstützten Optionen anzuzeigen:

./scripts/wsl_setup.sh --help

Um das Rootkit gegen Ihren gewünschten Ziel-Kernel zu bauen, müssen Sie das folgende Skript auf Ihrer Build-Maschine ausführen (entweder WSL oder eine native Linux-Maschine):

./scripts/ubuntu_target_setup.sh <uname -r of your target kernel>

Dieser Ablauf installiert die passenden linux-headers-<kernel>- und linux-lib-rust-<kernel>-Pakete, installiert die von Ubuntu gepackte Rust-1.82-Toolchain, die vom generic-kernel-Flow verwendet wird, repariert /usr/src/linux-headers-<kernel>/rust, falls dieser Symlink defekt ist, und gibt den exakten make-Befehl aus, der anschließend verwendet werden soll.

Build

Rootkit

Bauen Sie das Rootkit mit dem Kernel-Build-System. Verwenden Sie Cargo nicht für den eigentlichen Modul-Build.

cd Silverseal/silverseal-rootkit
make

Die Modul-Artefakte werden nach dem Build in silverseal-rootkit/target/ abgelegt.

Bauen Sie das Rootkit für einen Ubuntu-generic-Ziel-Kernel aus WSL:

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

Das Modul-Makefile erkennt /usr/src/linux-headers-*-Ziele automatisch und übergibt die Rust-Kompatibilitäts-cfg über Kbuilds Rust-Flag-Variablen, sodass das neuere Ubuntu-module!-Metadatenschema authors anstelle des älteren author-Schlüssels verwendet.

Überprüfen Sie nach dem Build, ob die Ziel-Kernelversion korrekt eingebettet wurde:

modinfo target/silverseal_rootkit.ko | grep vermagic

Bootkit

Der Bootkit-Build erfordert nasm im PATH. Das Crate ist bereits für x86_64-unknown-uefi konfiguriert, und das Build-Skript assembliert sowohl asm/x64/lkm_loader.asm als auch asm/x64/lkm_stager.asm zu flachen Binär-Blobs, die in das EFI-Image eingebettet werden.

cd Silverseal/silverseal-bootkit
cargo build --release

Die resultierende EFI-Binärdatei wird geschrieben nach:

Silverseal/target/x86_64-unknown-uefi/release/silverseal-bootkit.efi

Test

Das Deployment-Skript erwartet derzeit eine Datei namens silverseal-bootkit.efi im Repository-Stammverzeichnis. Kopieren Sie nach dem Build des Bootkits das EFI-Artefakt dorthin und führen Sie dann das Setup-Skript aus dem Repository-Stammverzeichnis aus.

cd Silverseal
cp target/x86_64-unknown-uefi/release/silverseal-bootkit.efi ./silverseal-bootkit.efi
sudo ./scripts/setup_silverseal.sh

Das Skript führt einen direkten Austausch auf der EFI-Partition durch:

  • verschiebt /boot/efi/EFI/ubuntu/grubx64.efi nach /boot/efi/EFI/ubuntu/grubx64.efi.original
  • verschiebt ./silverseal-bootkit.efi an die Stelle /boot/efi/EFI/ubuntu/grubx64.efi

Silverseal entfernen

Um Silverseal zu entfernen, stellen Sie die ursprüngliche GRUB-Binärdatei aus dem .original-Backup wieder her:

cd Silverseal
sudo ./scripts/restore_silverseal.sh

Serielle Protokollierung einrichten

Linux

  • Identifizieren Sie den seriellen Port:
ls -la /dev/ttyS*

Häufige Ports: /dev/ttyS0 (COM1), /dev/ttyS1 (COM2)

  • Überwachen Sie die serielle Ausgabe mit minicom:
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

  • Laden Sie PuTTY herunter und führen Sie es aus
  • Wählen Sie den Verbindungstyp "Serial"
  • Geben Sie die serielle Leitung ein, die Sie in der VM erstellt haben (z. B. \\.\pipe\com_1)
  • Stellen Sie die Geschwindigkeit auf 115200 ein
  • Stellen Sie unter Connection > Serial die "Flow control" auf "None" und "Parity" auf "None" ein
  • Klicken Sie auf Open

Sie können auch das Hilfsskript verwenden, das PuTTY kontinuierlich mit \\.\pipe\com_1 bei 115200 Baud neu verbindet:

powershell -ExecutionPolicy Bypass -File .\scripts\connect-vm.ps1

Ressourcen

  • UEFI Crate
  • Elixir Bootlin
  • memN0p's Bootkit
Tool herunterladen