Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Silverseal — Framework de pós-exploração para Linux com um bootkit UEFI que carrega de forma persistente e furtiva um rootkit de módulo de kernel baseado em Rust em sistemas Linux modernos. | Kitploit
Ferramentas/GitHubGitHub/idov31/silverseal
Mecanismos de PersistênciaExploraçãoPós-ExploraçãoAnálise de MalwareRed TeamingDesenvolvimento de PayloadsExploração de Binários
GitHubidov31/silverseal

Silverseal

Framework de pós-exploração para Linux com um bootkit UEFI que carrega de forma persistente e furtiva um rootkit de módulo de kernel baseado em Rust em sistemas Linux modernos.

Ver Repositório
11873há 6 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Silverseal

Silverseal Logo

rust assembly linux

Silverseal é um framework de pós-exploração para Linux que demonstra a capacidade de um bootkit UEFI de carregar de forma persistente e furtiva um rootkit de módulo de kernel baseado em Rust em sistemas Linux modernos. O projeto inclui:

  • silverseal-bootkit: Um bootkit UEFI implementado em Rust que intercepta o processo de inicialização inicial do kernel Linux para carregar o módulo rootkit.
  • silverseal-rootkit: Um módulo de kernel Linux baseado em Rust.

Design

Silverseal Design Diagram

Instalando Dependências

Ubuntu

Instala os pacotes necessários para compilações de módulos externos do Rust-for-Linux, instala o rustup se necessário, muda o toolchain padrão para stable, adiciona rust-src, instala bindgen-cli e avisa se o kernel em execução no momento não expõe CONFIG_RUST=y.

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

WSL

[!IMPORTANT]
Se você estiver usando WSL, certifique-se de configurar o WSL 2 e instalar o Ubuntu. Este script compila um kernel WSL2 personalizado com suporte a Rust, prepara um VHDX de módulos e pode opcionalmente escrever uma entrada no .wslconfig do Windows que aponta o WSL para o kernel gerado.

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

O script instala automaticamente as dependências de compilação do Ubuntu, clona o código-fonte do kernel WSL2 correspondente da Microsoft, habilita CONFIG_RUST, compila o kernel com LLVM e configura /lib/modules/<release>/build para compilações de módulos externos.

Para ver as opções suportadas:

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

Para compilar o rootkit para o kernel de destino desejado, você precisa executar o seguinte script na sua máquina de compilação (seja WSL ou uma máquina Linux nativa):

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

Este fluxo instala os pacotes correspondentes linux-headers-<kernel> e linux-lib-rust-<kernel>, instala o toolchain Rust 1.82 empacotado pelo Ubuntu usado pelo fluxo generic-kernel, repara /usr/src/linux-headers-<kernel>/rust se esse symlink estiver quebrado e imprime o comando make exato a ser usado depois.

Compilação

Rootkit

Compile o rootkit com o sistema de compilação do kernel. Não use Cargo para a compilação real do módulo.

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

Os artefatos do módulo são preparados em silverseal-rootkit/target/ após a compilação.

Compile o rootkit para um kernel de destino genérico do Ubuntu a partir do 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

O Makefile do módulo detecta automaticamente os alvos /usr/src/linux-headers-* e passa o cfg de compatibilidade do Rust através das variáveis de flag Rust do Kbuild, para que o esquema de metadados module! mais recente do Ubuntu use authors em vez da chave mais antiga author.

Após a compilação, verifique se a versão do kernel de destino foi incorporada corretamente:

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

Bootkit

A compilação do bootkit requer nasm no PATH. O crate já está configurado para ter como alvo x86_64-unknown-uefi, e o script de compilação monta tanto asm/x64/lkm_loader.asm quanto asm/x64/lkm_stager.asm em blobs binários flat incorporados na imagem EFI.

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

O binário EFI resultante é gravado em:

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

Teste

O script de implantação atualmente espera um arquivo chamado silverseal-bootkit.efi na raiz do repositório. Após compilar o bootkit, copie o artefato EFI para lá e então execute o script de configuração a partir da raiz do repositório.

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

O script realiza uma troca direta na partição EFI:

  • move /boot/efi/EFI/ubuntu/grubx64.efi para /boot/efi/EFI/ubuntu/grubx64.efi.original
  • move ./silverseal-bootkit.efi para o lugar como /boot/efi/EFI/ubuntu/grubx64.efi

Remover o Silverseal

Para remover o Silverseal, restaure o binário GRUB original a partir do backup .original:

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

Configuração de Log Serial

Linux

  • Identifique a porta serial:
root@kitploit:~
ls -la /dev/ttyS*

Portas comuns: /dev/ttyS0 (COM1), /dev/ttyS1 (COM2)

  • Monitore a saída serial com 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

  • Baixe e execute o PuTTY
  • Selecione o tipo de conexão "Serial"
  • Insira a linha serial que você criou na VM (por exemplo, \\.\pipe\com_1)
  • Defina a velocidade para 115200
  • Em Connection > Serial, defina "Flow control" como "None" e "Parity" como "None"
  • Clique em Open

Você também pode usar o script auxiliar, que reconecta continuamente o PuTTY a \\.\pipe\com_1 a 115200 baud:

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

Recursos

  • UEFI Crate
  • Elixir Bootlin
  • memN0p's Bootkit
Baixar ferramenta