Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
RustHound — Rust로 작성된 BloodHound Legacy용 Active Directory 데이터 수집기. 🦀 | Kitploit
도구/GitHubGitHub/nh-red-team/rusthound
ReconnaissanceInformation GatheringPenetration TestingRed Teaming
GitHubnh-red-team/rusthound

RustHound

Rust로 작성된 BloodHound Legacy용 Active Directory 데이터 수집기. 🦀

저장소 보기
1.2k10761년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

이 버전은 BloodHound Legacy 4.x와만 호환됩니다.

BloodHound Community Edition (CE)과 호환되는 버전은 여기 RustHound-CE에서 찾을 수 있습니다.


Crates.io GitHub Twitter Follow Twitter Follow
Linux supported Windows supported macOS supported

요약

  • 제한사항

  • 설명

  • 컴파일 방법

    • Makefile 사용
    • Dockerfile 사용
    • Cargo 사용
    • Linux x86_64 정적 버전 수동 컴파일
    • Windows 정적 버전 수동 컴파일 (Linux에서)
    • macOS 정적 버전 수동 컴파일 (Linux에서)
    • 바이너리 크기 최적화
  • 문서 빌드 방법

  • 사용법

  • 데모

    • 간단한 사용법
    • FQDN 리졸버 모듈
    • ADCS 수집기 모듈
  • 통계

  • 로드맵

  • 링크

제한사항

모든 SharpHound 기능이 구현되지는 않았습니다. 일부 기능은 RustHound에 있지만 SharpHound나 BloodHound-Python에는 없습니다. 자세한 내용은 로드맵을 참조하세요.

설명

RustHound는 Rust로 작성된 크로스 플랫폼 BloodHound 수집 도구로, Linux, Windows, macOS와 호환됩니다.

AV 탐지가 없으며 크로스 컴파일됩니다.

RustHound는 사용자, 그룹, 컴퓨터, OU, GPO, 컨테이너 및 도메인 JSON 파일을 생성하며, 이는 BloodHound로 분석할 수 있습니다.

💡 SharpHound를 사용할 수 있다면 사용하세요. SharpHound가 AV에 탐지되거나 OS와 호환되지 않는 경우 백업 솔루션으로 RustHound를 사용하세요.

컴파일 방법

Makefile 사용

make 명령어를 사용하여 RustHound를 설치하거나 Linux 또는 Windows용으로 컴파일할 수 있습니다.

make install
rusthound -h

Makefile의 추가 명령어:

Default:
usage: make install
usage: make uninstall
usage: make debug
usage: make release

Static:
usage: make windows
usage: make windows_x64
usage: make windows_x86
usage: make linux_aarch64
usage: make linux_x86_64
usage: make linux_musl
usage: make macos
usage: make arm_musl
usage: make armv7

Without cli argument:
usage: make windows_noargs

Dependencies:
usage: make install_windows_deps
usage: make install_linux_musl_deps
usage: make install_macos_deps

Dockerfile 사용

모든 종속성을 확보하기 위해 Docker로 RustHound를 사용하세요.

docker build --rm -t rusthound .

# Then
docker run --rm -v ./:/usr/src/rusthound rusthound windows
docker run --rm -v ./:/usr/src/rusthound rusthound linux_musl
docker run --rm -v ./:/usr/src/rusthound rusthound macos

Cargo 사용

시스템에 Rust를 설치해야 합니다.

https://www.rust-lang.org/fr/tools/install

RustHound는 Kerberos 및 GSSAPI를 지원합니다. 따라서 Clang 및 해당 개발 라이브러리와 Kerberos 개발 라이브러리가 필요합니다. Debian 및 Ubuntu에서는 clang-N, libclang-N-dev, libkrb5-dev가 필요합니다.

예:

# Debian/Ubuntu
sudo apt-get -y update && sudo apt-get -y install gcc clang libclang-dev libgssapi-krb5-2 libkrb5-dev libsasl2-modules-gssapi-mit musl-tools gcc-mingw-w64-x86-64

다음은 cargo 명령어를 사용하여 'release' 및 'debug' 버전을 컴파일하는 방법입니다.

git clone https://github.com/OPENCYBER-FR/RustHound
cd RustHound
cargo build --release
# or debug version
cargo b

결과는 target/release 또는 target/debug 폴더에서 찾을 수 있습니다.

아래에서 Linux에서 각 OS에 대한 컴파일 방법을 확인할 수 있습니다. 다른 컴파일 시스템이 필요한 경우 이 링크의 목록을 참조하세요: https://doc.rust-lang.org/nightly/rustc/platform-support.html

Linux x86_64 정적 버전 수동 컴파일

# Install rustup and Cargo for Linux
curl https://sh.rustup.rs -sSf | sh

# Add Linux deps
rustup install stable-x86_64-unknown-linux-gnu
rustup target add x86_64-unknown-linux-gnu

# Static compilation for Linux
git clone https://github.com/OPENCYBER-FR/RustHound
cd RustHound
CFLAGS="-lrt";LDFLAGS="-lrt";RUSTFLAGS='-C target-feature=+crt-static';cargo build --release --target x86_64-unknown-linux-gnu

결과는 target/x86_64-unknown-linux-gnu/release 폴더에서 찾을 수 있습니다.

Windows 정적 버전 수동 컴파일 (Linux에서)

# Install rustup and Cargo in Linux
curl https://sh.rustup.rs -sSf | sh

# Add Windows deps
rustup install stable-x86_64-pc-windows-gnu
rustup target add x86_64-pc-windows-gnu

# Static compilation for Windows
git clone https://github.com/OPENCYBER-FR/RustHound
cd RustHound
RUSTFLAGS="-C target-feature=+crt-static" cargo build --release --target x86_64-pc-windows-gnu

결과는 target/x86_64-pc-windows-gnu/release 폴더에서 찾을 수 있습니다.

macOS 정적 버전 수동 컴파일 (Linux에서)

훌륭한 문서: https://wapl.es/rust/2019/02/17/rust-cross-compile-linux-to-macos.html

# Install rustup and Cargo in Linux
curl https://sh.rustup.rs -sSf | sh

# Add macOS tool chain
sudo git clone https://github.com/tpoechtrager/osxcross /usr/local/bin/osxcross
sudo wget -P /usr/local/bin/osxcross/ -nc https://s3.dockerproject.org/darwin/v2/MacOSX10.10.sdk.tar.xz && sudo mv /usr/local/bin/osxcross/MacOSX10.10.sdk.tar.xz /usr/local/bin/osxcross/tarballs/
sudo UNATTENDED=yes OSX_VERSION_MIN=10.7 /usr/local/bin/osxcross/build.sh
sudo chmod 775 /usr/local/bin/osxcross/ -R
export PATH="/usr/local/bin/osxcross/target/bin:$PATH"

# Cargo needs to be told to use the correct linker for the x86_64-apple-darwin target, so add the following to your project’s .cargo/config file:
grep 'target.x86_64-apple-darwin' ~/.cargo/config || echo "[target.x86_64-apple-darwin]" >> ~/.cargo/config
grep 'linker = "x86_64-apple-darwin14-clang"' ~/.cargo/config || echo 'linker = "x86_64-apple-darwin14-clang"' >> ~/.cargo/config
grep 'ar = "x86_64-apple-darwin14-clang"' ~/.cargo/config || echo 'ar = "x86_64-apple-darwin14-clang"' >> ~/.cargo/config

# Static compilation for macOS
git clone https://github.com/OPENCYBER-FR/RustHound
cd RustHound
RUSTFLAGS="-C target-feature=+crt-static" cargo build --release --target x86_64-apple-darwin --features nogssapi

결과는 target/x86_64-apple-darwin/release 폴더에서 찾을 수 있습니다.

바이너리 크기 최적화

💡 RustHound의 최적화된 컴파일을 얻으려면 Cargo.toml 파일 끝에 다음 컴파일 매개변수를 추가하세요.

[profile.release]
opt-level = "z"
lto = true
strip = true
codegen-units = 1
panic = "abort"

바이너리 크기가 상당히 최소화됩니다. 기본 cargo 컴파일러 명령어를 사용할 수 있습니다.

make windows

자세한 정보는 여기를 참조하세요.

문서 빌드 방법

git clone https://github.com/OPENCYBER-FR/RustHound
cd RustHound
cargo doc --open --no-deps

사용법

Usage: rusthound [OPTIONS] --domain <domain>

Options:
  -v...          Set the level of verbosity
  -h, --help     Print help information
  -V, --version  Print version information

REQUIRED VALUES:
  -d, --domain <domain>  Domain name like: DOMAIN.LOCAL
도구 다운로드