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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
rustbof — Beacon Object Files(BOF) 작성을 위한 Rust 템플릿 | Kitploit
도구/GitHubGitHub/joaoviictorti/rustbof
Post-ExploitationCommand and ControlRed TeamingPayload Development
GitHubjoaoviictorti/rustbof

rustbof

Beacon Object Files(BOF) 작성을 위한 Rust 템플릿

저장소 보기
1291227개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

rustbof

Rust License

이 프로젝트는 완전한 no_std 지원과 함께 Rust를 사용하여 BOF를 개발할 수 있게 해줍니다. Rust의 안전성 기능과 현대적인 도구를 활용하면서 작고 효율적인 COFF 객체를 생성합니다.

이 프레임워크는 BOF 개발에 필요한 모든 것을 제공합니다. 빌드 프로세스는 코드를 정적 라이브러리로 컴파일하며, boflink가 이를 Beacon의 동적 함수 해석을 위한 올바른 재배치(relocations) 및 임포트(imports)가 포함된 COFF 객체로 링크합니다.

요구 사항

  • Rust nightly
  • boflink
  • cargo-make

빠른 시작

시작하는 가장 쉬운 방법은 cargo-generate로 프로젝트 템플릿을 사용하는 것입니다. 이렇게 하면 필요한 모든 구성이 이미 설정된 새 BOF 프로젝트가 생성됩니다:

root@kitploit:~
cargo generate --git https://github.com/joaoviictorti/rustbof .template
cd <project-name>
cargo make

또는 저장소를 클론하고 다양한 사용 사례를 보여주는 실제 동작하는 BOF 구현이 포함된 examples/ 디렉터리를 살펴볼 수 있습니다. 이 예제들은 자신만의 BOF를 만들기 위한 실용적인 참고 자료가 됩니다.

root@kitploit:~
git clone https://github.com/joaoviictorti/rustbof
cd rustbof/examples/whoami
cargo make

Docker를 사용하면 로컬에 툴체인을 설치하지 않고도 빌드할 수 있습니다:

root@kitploit:~
git clone https://github.com/joaoviictorti/rustbof
cd rustbof
docker build -t rustbof .
docker run -it rustbof

사용법

#[rustbof::main] 속성 매크로는 BOF 로더에 필요한 진입점을 생성합니다. main 함수는 인자 없이 단순하게 작성하거나, 파싱을 위해 원시 인자 데이터를 전달받을 수 있습니다.

메시지를 출력하는 기본적인 BOF:

root@kitploit:~
#![no_std]

use rustbof::println;

#[rustbof::main]
fn main() {
    println!("Hello from Rust BOF!");
}

인자를 받아야 하는 BOF는 DataParser를 사용하여 원시 인자 버퍼에서 타입이 지정된 값을 추출할 수 있습니다:

root@kitploit:~
#![no_std]

use rustbof::println; 
use rustbof::data::DataParser;

#[rustbof::main]
fn main(args: *mut u8, len: usize) {
    let mut parser = DataParser::new(args, len);
    let name = parser.get_str();
    println!("Hello, {name}!");
}

예제

examples 디렉터리에는 실제 동작하는 BOF인 whoami, ipconfig, env가 포함되어 있습니다.

라이선스

rustbof는 다음 중 하나의 라이선스가 적용됩니다.

  • Apache License, Version 2.0, (LICENSE-APACHE 또는 https://www.apache.org/licenses/LICENSE-2.0)
  • MIT 라이선스 (LICENSE-MIT 또는 https://opensource.org/licenses/MIT)

원하는 대로 선택할 수 있습니다.

별도로 명시하지 않는 한, Apache-2.0 라이선스에 정의된 대로 귀하가 rustbof에 포함을 위해 의도적으로 제출한 모든 기여는 추가 약관이나 조건 없이 위와 같이 이중 라이선스가 적용됩니다.

도구 다운로드