Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Silverseal — UEFI 부트킷을 갖춘 Linux 포스트 익스플로잇 프레임워크로, 최신 Linux 시스템에서 Rust 기반 커널 모듈 루트킷을 지속적이고 은밀하게 로드합니다. | Kitploit
도구/GitHubGitHub/idov31/silverseal
Persistence MechanismsExploitationPost-ExploitationMalware AnalysisRed TeamingPayload DevelopmentBinary Exploitation
GitHubidov31/silverseal

Silverseal

UEFI 부트킷을 갖춘 Linux 포스트 익스플로잇 프레임워크로, 최신 Linux 시스템에서 Rust 기반 커널 모듈 루트킷을 지속적이고 은밀하게 로드합니다.

저장소 보기
118736일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Silverseal

Silverseal Logo

rust assembly linux

Silverseal은 최신 Linux 시스템에서 UEFI 부트킷이 Rust 기반 커널 모듈 루트킷을 지속적이고 은밀하게 로드할 수 있는 능력을 보여주는 Linux 포스트 익스플로잇 프레임워크입니다. 이 프로젝트에는 다음이 포함됩니다:

  • silverseal-bootkit: Linux 커널의 초기 부팅 과정을 후킹하여 루트킷 모듈을 로드하는 Rust로 구현된 UEFI 부트킷입니다.
  • 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 항목을 작성할 수 있습니다.

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

이 스크립트는 Ubuntu 빌드 의존성을 자동으로 설치하고, 일치하는 Microsoft WSL2 커널 소스를 클론하고, CONFIG_RUST를 활성화하고, LLVM으로 커널을 빌드하며, 외부 모듈 빌드를 위해 /lib/modules/<release>/build를 연결합니다.

지원되는 옵션을 확인하려면:

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

원하는 대상 커널에 대해 루트킷을 빌드하려면 빌드 머신(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 명령을 출력합니다.

빌드

루트킷

커널 빌드 시스템을 사용하여 루트킷을 빌드합니다. 실제 모듈 빌드에는 Cargo를 사용하지 마세요.

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

모듈 아티팩트는 빌드 후 silverseal-rootkit/target/에 배치됩니다.

WSL에서 Ubuntu generic 대상 커널용 루트킷을 빌드하려면:

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! 메타데이터 스키마가 이전 author 키 대신 authors를 사용하도록 합니다.

빌드 후 대상 커널 버전이 올바르게 포함되었는지 확인하세요:

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

부트킷

부트킷 빌드에는 PATH에 nasm이 필요합니다. 크레이트는 이미 x86_64-unknown-uefi를 대상으로 구성되어 있으며, 빌드 스크립트는 asm/x64/lkm_loader.asm과 asm/x64/lkm_stager.asm을 모두 EFI 이미지에 포함되는 플랫 바이너리 블롭으로 어셈블합니다.

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라는 파일이 있을 것으로 예상합니다. 부트킷을 빌드한 후 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" 연결 유형을 선택합니다
  • VM에서 생성한 시리얼 라인(예: \\.\pipe\com_1)을 입력합니다
  • 속도를 115200으로 설정합니다
  • Connection > Serial에서 "Flow control"을 "None"으로, "Parity"를 "None"으로 설정합니다
  • Open을 클릭합니다

115200 보드레이트로 \\.\pipe\com_1에 PuTTY를 지속적으로 재연결하는 헬퍼 스크립트를 사용할 수도 있습니다:

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

리소스

  • UEFI Crate
  • Elixir Bootlin
  • memN0p's Bootkit
도구 다운로드