Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Silverseal — Framework de post-exploitation Linux avec un bootkit UEFI qui charge de manière persistante et furtive un rootkit de module noyau basé sur Rust sur les systèmes Linux modernes. | Kitploit
Outils/GitHubGitHub/idov31/silverseal
Mécanismes de PersistanceExploitationPost-ExploitationAnalyse de MalwareRed TeamingDéveloppement de Charges UtilesExploitation de Binaires
GitHubidov31/silverseal

Silverseal

Framework de post-exploitation Linux avec un bootkit UEFI qui charge de manière persistante et furtive un rootkit de module noyau basé sur Rust sur les systèmes Linux modernes.

Voir le dépôt
11873il y a 6 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Silverseal

Silverseal Logo

rust assembly linux

Silverseal est un framework de post-exploitation Linux qui démontre la capacité d'un bootkit UEFI à charger de manière persistante et furtive un rootkit sous forme de module noyau basé sur Rust sur les systèmes Linux modernes. Le projet comprend :

  • silverseal-bootkit : Un bootkit UEFI implémenté en Rust qui détourne le processus de démarrage précoce du noyau Linux pour charger le module rootkit.
  • silverseal-rootkit : Un module noyau Linux basé sur Rust.

Conception

Silverseal Design Diagram

Installation des dépendances

Ubuntu

Installe les paquets nécessaires à la compilation de modules externes Rust-for-Linux, installe rustup si nécessaire, bascule la toolchain par défaut sur stable, ajoute rust-src, installe bindgen-cli, et avertit si le noyau en cours d'exécution n'expose pas CONFIG_RUST=y.

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

WSL

[!IMPORTANT]
Si vous utilisez WSL, assurez-vous de configurer WSL 2 et d'installer Ubuntu. Ce script compile un noyau WSL2 personnalisé compatible Rust, prépare un VHDX de modules, et peut éventuellement écrire une entrée Windows .wslconfig qui pointe WSL vers le noyau généré.

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

Le script installe automatiquement les dépendances de compilation Ubuntu, clone les sources du noyau WSL2 Microsoft correspondant, active CONFIG_RUST, compile le noyau avec LLVM, et configure /lib/modules/<release>/build pour la compilation de modules externes.

Pour voir les options prises en charge :

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

Pour compiler le rootkit contre le noyau cible souhaité, vous devez exécuter le script suivant sur votre machine de compilation (soit WSL, soit une machine Linux native) :

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

Ce flux installe les paquets correspondants linux-headers-<kernel> et linux-lib-rust-<kernel>, installe la toolchain Rust 1.82 fournie par Ubuntu utilisée par le flux generic-kernel, répare /usr/src/linux-headers-<kernel>/rust si ce lien symbolique est cassé, et affiche la commande make exacte à utiliser ensuite.

Compilation

Rootkit

Compilez le rootkit avec le système de compilation du noyau. N'utilisez pas Cargo pour la compilation réelle du module.

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

Les artefacts du module sont placés dans silverseal-rootkit/target/ après la compilation.

Compilez le rootkit pour un noyau cible Ubuntu generic depuis 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

Le Makefile du module détecte automatiquement les cibles /usr/src/linux-headers-* et transmet le cfg de compatibilité Rust via les variables de flags Rust de Kbuild afin que le schéma de métadonnées module! plus récent d'Ubuntu utilise authors au lieu de l'ancienne clé author.

Après la compilation, vérifiez que la version du noyau cible a été correctement intégrée :

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

Bootkit

La compilation du bootkit nécessite nasm dans le PATH. Le crate est déjà configuré pour cibler x86_64-unknown-uefi, et le script de compilation assemble à la fois asm/x64/lkm_loader.asm et asm/x64/lkm_stager.asm en blobs binaires plats intégrés dans l'image EFI.

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

Le binaire EFI résultant est écrit dans :

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

Test

Le script de déploiement attend actuellement un fichier nommé silverseal-bootkit.efi à la racine du dépôt. Après avoir compilé le bootkit, copiez l'artefact EFI à cet emplacement, puis exécutez le script d'installation depuis la racine du dépôt.

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

Le script effectue un échange direct sur la partition EFI :

  • déplace /boot/efi/EFI/ubuntu/grubx64.efi vers /boot/efi/EFI/ubuntu/grubx64.efi.original
  • déplace ./silverseal-bootkit.efi en place sous /boot/efi/EFI/ubuntu/grubx64.efi

Supprimer Silverseal

Pour supprimer Silverseal, restaurez le binaire GRUB d'origine depuis la sauvegarde .original :

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

Configuration de la journalisation série

Linux

  • Identifier le port série :
root@kitploit:~
ls -la /dev/ttyS*

Ports courants : /dev/ttyS0 (COM1), /dev/ttyS1 (COM2)

  • Surveiller la sortie série avec 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

  • Téléchargez et exécutez PuTTY
  • Sélectionnez le type de connexion « Serial »
  • Entrez la ligne série que vous avez créée dans la VM (par exemple, \\.\pipe\com_1)
  • Réglez la vitesse sur 115200
  • Sous Connection > Serial, réglez « Flow control » sur « None » et « Parity » sur « None »
  • Cliquez sur Open

Vous pouvez également utiliser le script d'assistance, qui reconnecte en continu PuTTY à \\.\pipe\com_1 à 115200 bauds :

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

Ressources

  • UEFI Crate
  • Elixir Bootlin
  • memN0p's Bootkit
Télécharger l’outil