Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Silverseal — Linux 后渗透框架,带有 UEFI bootkit,可在现代 Linux 系统上持久且隐蔽地加载基于 Rust 的内核模块 rootkit。 | Kitploit
工具/GitHubGitHub/idov31/silverseal
持久化机制漏洞利用后渗透利用恶意软件分析红队Payload 开发二进制利用
GitHubidov31/silverseal

Silverseal

Linux 后渗透框架,带有 UEFI bootkit,可在现代 Linux 系统上持久且隐蔽地加载基于 Rust 的内核模块 rootkit。

查看仓库
118736天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Silverseal

Silverseal Logo

rust assembly linux

Silverseal 是一个 Linux 后渗透框架,展示了 UEFI bootkit 在现代 Linux 系统上持久且隐蔽地加载基于 Rust 的内核模块 rootkit 的能力。该项目包括:

  • silverseal-bootkit:一个用 Rust 实现的 UEFI bootkit,通过挂钩 Linux 内核的早期启动过程来加载 rootkit 模块。
  • silverseal-rootkit:一个基于 Rust 的 Linux 内核模块。

设计

Silverseal Design Diagram

安装依赖

Ubuntu

安装 Rust-for-Linux 外部模块构建所需的软件包,如有需要则安装 rustup,将默认工具链切换为 stable,添加 rust-src,安装 bindgen-cli,并在当前运行的内核未暴露 CONFIG_RUST=y 时发出警告。

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

WSL

[!IMPORTANT]
如果你使用的是 WSL,请确保设置 WSL 2 并安装 Ubuntu。此脚本会构建一个启用了 Rust 的自定义 WSL2 内核,准备一个模块 VHDX,并可选地写入一条 Windows .wslconfig 条目,将 WSL 指向生成的内核。

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

该脚本会自动安装 Ubuntu 构建依赖,克隆匹配的 Microsoft WSL2 内核源码,启用 CONFIG_RUST,使用 LLVM 构建内核,并为外部模块构建配置 /lib/modules/<release>/build。

查看支持的选项:

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

要针对你所需的目标内核构建 rootkit,你需要在构建机器(WSL 或原生 Linux 机器)上运行以下脚本:

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

此流程会安装匹配的 linux-headers-<kernel> 和 linux-lib-rust-<kernel> 软件包,安装 generic-kernel 流程所使用的 Ubuntu 打包的 Rust 1.82 工具链,修复 /usr/src/linux-headers-<kernel>/rust(如果该符号链接已损坏),并打印之后要使用的确切 make 命令。

构建

Rootkit

使用内核构建系统构建 rootkit。不要使用 Cargo 进行真正的模块构建。

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

构建完成后,模块产物会被暂存到 silverseal-rootkit/target/ 中。

从 WSL 为 Ubuntu generic 目标内核构建 rootkit:

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

模块 Makefile 会自动检测 /usr/src/linux-headers-* 目标,并通过 Kbuild 的 Rust 标志变量传递 Rust 兼容性 cfg,以便较新的 Ubuntu module! 元数据模式使用 authors 而不是较旧的 author 键。

构建完成后,验证目标内核版本已正确嵌入:

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

Bootkit

bootkit 构建需要 PATH 中有 nasm。该 crate 已配置为以 x86_64-unknown-uefi 为目标,构建脚本会将 asm/x64/lkm_loader.asm 和 asm/x64/lkm_stager.asm 汇编为嵌入 EFI 镜像的扁平二进制 blob。

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

生成的 EFI 二进制文件写入到:

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

测试

部署脚本目前期望仓库根目录下有一个名为 silverseal-bootkit.efi 的文件。构建 bootkit 后,将 EFI 产物复制到那里,然后从仓库根目录运行安装脚本。

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

该脚本会对 EFI 分区执行直接替换:

  • 将 /boot/efi/EFI/ubuntu/grubx64.efi 移动到 /boot/efi/EFI/ubuntu/grubx64.efi.original
  • 将 ./silverseal-bootkit.efi 移动到 /boot/efi/EFI/ubuntu/grubx64.efi

移除 Silverseal

要移除 Silverseal,请从 .original 备份恢复原始 GRUB 二进制文件:

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

串口日志设置

Linux

  • 识别串口:
root@kitploit:~
ls -la /dev/ttyS*

常见端口:/dev/ttyS0 (COM1)、/dev/ttyS1 (COM2)

  • 使用 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

  • 下载并运行 PuTTY
  • 选择 "Serial" 连接类型
  • 输入你在虚拟机中创建的串口线(例如 \\.\pipe\com_1)
  • 将速度设置为 115200
  • 在 Connection > Serial 下,将 "Flow control" 设置为 "None",将 "Parity" 设置为 "None"
  • 点击 Open

你也可以使用辅助脚本,它会以 115200 波特率持续将 PuTTY 重新连接到 \\.\pipe\com_1:

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

资源

  • UEFI Crate
  • Elixir Bootlin
  • memN0p's Bootkit
下载工具