Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Silverseal — Framework de post-explotación para Linux con un bootkit UEFI que carga de forma persistente y sigilosa un rootkit de módulo de kernel basado en Rust en sistemas Linux modernos. | Kitploit
Herramientas/GitHubGitHub/idov31/silverseal
Mecanismos de PersistenciaExplotaciónPost-ExplotaciónAnálisis de MalwareRed TeamingDesarrollo de PayloadsExplotación de Binarios
GitHubidov31/silverseal

Silverseal

Framework de post-explotación para Linux con un bootkit UEFI que carga de forma persistente y sigilosa un rootkit de módulo de kernel basado en Rust en sistemas Linux modernos.

Ver Repositorio
11873hace 6 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Silverseal

Silverseal Logo

rust assembly linux

Silverseal es un framework de post-explotación para Linux que demuestra la capacidad de un bootkit UEFI para cargar de forma persistente y sigilosa un rootkit de módulo de kernel basado en Rust en sistemas Linux modernos. El proyecto incluye:

  • silverseal-bootkit: Un bootkit UEFI implementado en Rust que engancha el proceso de arranque temprano del kernel de Linux para cargar el módulo rootkit.
  • silverseal-rootkit: Un módulo de kernel de Linux basado en Rust.

Diseño

Silverseal Design Diagram

Instalación de dependencias

Ubuntu

Instala los paquetes necesarios para las compilaciones de módulos externos de Rust-for-Linux, instala rustup si es necesario, cambia la cadena de herramientas predeterminada a stable, añade rust-src, instala bindgen-cli y advierte si el kernel en ejecución no expone CONFIG_RUST=y.

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

WSL

[!IMPORTANT]
Si estás usando WSL, asegúrate de configurar WSL 2 e instalar Ubuntu. Este script compila un kernel WSL2 personalizado con Rust habilitado, prepara un VHDX de módulos y opcionalmente puede escribir una entrada en el .wslconfig de Windows que apunte WSL al kernel generado.

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

El script instala automáticamente las dependencias de compilación de Ubuntu, clona el código fuente del kernel WSL2 de Microsoft correspondiente, habilita CONFIG_RUST, compila el kernel con LLVM y configura /lib/modules/<release>/build para compilaciones de módulos externos.

Para ver las opciones soportadas:

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

Para compilar el rootkit contra el kernel objetivo deseado, necesitas ejecutar el siguiente script en tu máquina de compilación (ya sea WSL o una máquina Linux nativa):

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

Este flujo instala los paquetes linux-headers-<kernel> y linux-lib-rust-<kernel> correspondientes, instala la cadena de herramientas Rust 1.82 empaquetada por Ubuntu utilizada por el flujo de kernel genérico, repara /usr/src/linux-headers-<kernel>/rust si ese enlace simbólico está roto, e imprime el comando make exacto a usar después.

Compilación

Rootkit

Compila el rootkit con el sistema de compilación del kernel. No uses Cargo para la compilación del módulo real.

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

Los artefactos del módulo se colocan en silverseal-rootkit/target/ después de la compilación.

Compila el rootkit para un kernel objetivo genérico de Ubuntu desde 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

El Makefile del módulo detecta automáticamente los objetivos /usr/src/linux-headers-* y pasa el cfg de compatibilidad de Rust a través de las variables de flags de Rust de Kbuild para que el esquema de metadatos module! más reciente de Ubuntu use authors en lugar de la clave author más antigua.

Después de la compilación, verifica que la versión del kernel objetivo se haya incrustado correctamente:

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

Bootkit

La compilación del bootkit requiere nasm en el PATH. El crate ya está configurado para apuntar a x86_64-unknown-uefi, y el script de compilación ensambla tanto asm/x64/lkm_loader.asm como asm/x64/lkm_stager.asm en blobs binarios planos incrustados en la imagen EFI.

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

El binario EFI resultante se escribe en:

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

Prueba

El script de despliegue actualmente espera un archivo llamado silverseal-bootkit.efi en la raíz del repositorio. Después de compilar el bootkit, copia el artefacto EFI allí y luego ejecuta el script de configuración desde la raíz del repositorio.

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

El script realiza un intercambio directo en la partición EFI:

  • mueve /boot/efi/EFI/ubuntu/grubx64.efi a /boot/efi/EFI/ubuntu/grubx64.efi.original
  • mueve ./silverseal-bootkit.efi a su lugar como /boot/efi/EFI/ubuntu/grubx64.efi

Eliminar Silverseal

Para eliminar Silverseal, restaura el binario GRUB original desde la copia de seguridad .original:

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

Configuración de registro por puerto serie

Linux

  • Identifica el puerto serie:
root@kitploit:~
ls -la /dev/ttyS*

Puertos comunes: /dev/ttyS0 (COM1), /dev/ttyS1 (COM2)

  • Monitorea la salida serie 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

  • Descarga y ejecuta PuTTY
  • Selecciona el tipo de conexión "Serial"
  • Introduce la línea serie que creaste en la VM (por ejemplo, \\.\pipe\com_1)
  • Establece la velocidad a 115200
  • En Connection > Serial, establece "Flow control" en "None" y "Parity" en "None"
  • Haz clic en Open

También puedes usar el script auxiliar, que reconecta continuamente PuTTY a \\.\pipe\com_1 a 115200 baudios:

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

Recursos

  • UEFI Crate
  • Elixir Bootlin
  • memN0p's Bootkit
Descargar herramienta