Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Silverseal — Framework di post-exploitation per Linux con un bootkit UEFI che carica in modo persistente e stealth un rootkit come modulo kernel basato su Rust sui moderni sistemi Linux. | Kitploit
Strumenti/GitHubGitHub/idov31/silverseal
Meccanismi di PersistenzaExploitPost-ExploitAnalisi MalwareRed TeamingSviluppo PayloadBinary Exploitation
GitHubidov31/silverseal

Silverseal

Framework di post-exploitation per Linux con un bootkit UEFI che carica in modo persistente e stealth un rootkit come modulo kernel basato su Rust sui moderni sistemi Linux.

Vedi Repository
118736 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Silverseal

Silverseal Logo

rust assembly linux

Silverseal è un framework di post-exploitation per Linux che dimostra la capacità di un bootkit UEFI di caricare in modo persistente e stealth un rootkit kernel basato su Rust sui moderni sistemi Linux. Il progetto include:

  • silverseal-bootkit: Un bootkit UEFI implementato in Rust che intercetta il processo di avvio iniziale del kernel Linux per caricare il modulo rootkit.
  • silverseal-rootkit: Un modulo kernel Linux basato su Rust.

Design

Silverseal Design Diagram

Installazione delle dipendenze

Ubuntu

Installa i pacchetti necessari per la compilazione di moduli esterni Rust-for-Linux, installa rustup se necessario, imposta la toolchain predefinita su stable, aggiunge rust-src, installa bindgen-cli e avvisa se il kernel attualmente in esecuzione non espone CONFIG_RUST=y.

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

WSL

[!IMPORTANT]
Se stai usando WSL, assicurati di configurare WSL 2 e installare Ubuntu. Questo script compila un kernel WSL2 personalizzato abilitato per Rust, prepara un VHDX per i moduli e può opzionalmente scrivere una voce in .wslconfig di Windows che punta WSL al kernel generato.

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

Lo script installa automaticamente le dipendenze di compilazione di Ubuntu, clona il codice sorgente del kernel WSL2 di Microsoft corrispondente, abilita CONFIG_RUST, compila il kernel con LLVM e collega /lib/modules/<release>/build per la compilazione di moduli esterni.

Per vedere le opzioni supportate:

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

Per compilare il rootkit per il kernel di destinazione desiderato, è necessario eseguire il seguente script sulla macchina di compilazione (WSL o una macchina Linux nativa):

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

Questo flusso installa i pacchetti corrispondenti linux-headers-<kernel> e linux-lib-rust-<kernel>, installa la toolchain Rust 1.82 fornita da Ubuntu utilizzata dal flusso generic-kernel, ripara /usr/src/linux-headers-<kernel>/rust se quel symlink è rotto e stampa il comando make esatto da usare successivamente.

Compilazione

Rootkit

Compila il rootkit con il sistema di compilazione del kernel. Non usare Cargo per la compilazione del modulo reale.

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

Gli artefatti del modulo vengono posizionati in silverseal-rootkit/target/ dopo la compilazione.

Compila il rootkit per un kernel di destinazione Ubuntu generic da 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

Il Makefile del modulo rileva automaticamente i target /usr/src/linux-headers-* e passa il cfg di compatibilità Rust attraverso le variabili flag Rust di Kbuild, in modo che lo schema dei metadati module! più recente di Ubuntu usi authors invece della chiave più vecchia author.

Dopo la compilazione, verifica che la versione del kernel di destinazione sia stata incorporata correttamente:

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

Bootkit

La compilazione del bootkit richiede nasm nel PATH. Il crate è già configurato per il target x86_64-unknown-uefi, e lo script di compilazione assembla sia asm/x64/lkm_loader.asm che asm/x64/lkm_stager.asm in blob binari flat incorporati nell'immagine EFI.

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

Il binario EFI risultante viene scritto in:

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

Test

Lo script di deployment attualmente si aspetta un file chiamato silverseal-bootkit.efi nella root del repository. Dopo aver compilato il bootkit, copia l'artefatto EFI lì e poi esegui lo script di setup dalla root del repository.

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

Lo script esegue uno scambio diretto sulla partizione EFI:

  • sposta /boot/efi/EFI/ubuntu/grubx64.efi in /boot/efi/EFI/ubuntu/grubx64.efi.original
  • sposta ./silverseal-bootkit.efi al suo posto come /boot/efi/EFI/ubuntu/grubx64.efi

Rimuovere Silverseal

Per rimuovere Silverseal, ripristina il binario GRUB originale dal backup .original:

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

Configurazione del logging seriale

Linux

  • Identifica la porta seriale:
root@kitploit:~
ls -la /dev/ttyS*

Porte comuni: /dev/ttyS0 (COM1), /dev/ttyS1 (COM2)

  • Monitora l'output seriale con 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

  • Scarica ed esegui PuTTY
  • Seleziona il tipo di connessione "Serial"
  • Inserisci la linea seriale che hai creato nella VM (ad es., \\.\pipe\com_1)
  • Imposta la velocità a 115200
  • In Connection > Serial, imposta "Flow control" su "None" e "Parity" su "None"
  • Clicca Open

Puoi anche usare lo script di supporto, che riconnette continuamente PuTTY a \\.\pipe\com_1 a 115200 baud:

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

Risorse

  • UEFI Crate
  • Elixir Bootlin
  • memN0p's Bootkit
Scarica lo strumento