Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
RustHound — Active Directory डेटा इन्जेस्टर BloodHound Legacy के लिए, Rust में लिखा गया। 🦀 | Kitploit
उपकरण/GitHubGitHub/nh-red-team/rusthound
टोहीजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubnh-red-team/rusthound

RustHound

Active Directory डेटा इन्जेस्टर BloodHound Legacy के लिए, Rust में लिखा गया। 🦀

रिपॉजिटरी देखें
1.2k10721 साल पहले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 स्थैतिक संस्करण
    • Linux से Windows स्थैतिक संस्करण
    • Linux से macOS स्थैतिक संस्करण
    • बाइनरी आकार को अनुकूलित करें
  • दस्तावेज़ीकरण कैसे बनाएं?

  • उपयोग

  • डेमो

    • सरल उपयोग
    • मॉड्यूल FQDN रिज़ॉल्वर
    • मॉड्यूल ADCS कलेक्टर
  • आंकड़े

  • रोडमैप

  • लिंक

सीमाएँ

सभी SharpHound सुविधाएँ लागू नहीं की गई हैं। कुछ RustHound में मौजूद हैं और SharpHound या BloodHound-Python में नहीं। अधिक जानकारी के लिए कृपया रोडमैप देखें।

विवरण

RustHound एक क्रॉस-प्लेटफ़ॉर्म BloodHound कलेक्टर टूल है जो Rust में लिखा गया है, जो इसे Linux, Windows और macOS के साथ संगत बनाता है।

कोई AV डिटेक्शन नहीं और क्रॉस-कंपाइल किया गया।

RustHound उपयोगकर्ताओं, समूहों, कंप्यूटरों, OU, GPO, कंटेनरों और डोमेन JSON फ़ाइलें उत्पन्न करता है जिनका विश्लेषण BloodHound के साथ किया जा सकता है।

💡 यदि आप SharpHound का उपयोग कर सकते हैं, तो इसका उपयोग करें। RustHound का उपयोग बैकअप समाधान के रूप में करें यदि SharpHound का AV द्वारा पता लगाया जाता है या यह आपके OS के साथ संगत नहीं है।

इसे कैसे कंपाइल करें?

Makefile का उपयोग करके

RustHound को स्थापित करने या Linux या Windows के लिए इसे कंपाइल करने के लिए आप make कमांड का उपयोग कर सकते हैं।

root@kitploit:~
make install
rusthound -h

More command in the Makefile:

root@kitploit:~
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 का उपयोग करके

सभी निर्भरताओं को सुनिश्चित करने के लिए RustHound का Docker के साथ उपयोग करें।

root@kitploit:~
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।

For example:

root@kitploit:~
# 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" संस्करणों को कंपाइल करने का तरीका दिया गया है।

root@kitploit:~
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 स्थैतिक संस्करण के लिए मैन्युअल रूप से

root@kitploit:~
# 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 फ़ोल्डर में पाया जा सकता है।

Linux से Windows स्थैतिक संस्करण के लिए मैन्युअल रूप से

root@kitploit:~
# 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 फ़ोल्डर में पाया जा सकता है।

Linux से macOS स्थैतिक संस्करण के लिए मैन्युअल रूप से

अद्भुत दस्तावेज़: https://wapl.es/rust/2019/02/17/rust-cross-compile-linux-to-macos.html

root@kitploit:~
# 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 फ़ाइल के अंत में निम्नलिखित संकलन पैरामीटर जोड़ें।

root@kitploit:~
[profile.release]
opt-level = "z"
lto = true
strip = true
codegen-units = 1
panic = "abort"

बाइनरी का आकार काफी कम हो जाएगा। बुनियादी cargo कंपाइलर कमांड का उपयोग किया जा सकता है।

root@kitploit:~
make windows

अधिक जानकारी यहाँ

दस्तावेज़ीकरण कैसे बनाएं?

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

उपयोग

root@kitploit:~
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

OPTIONAL VALUES:
  -u, --ldapusername <ldapusername>  LDAP username, like: [email protected]
  -p, --ldappassword <ldappassword>  LDAP password
  -f, --ldapfqdn <ldapfqdn>          Domain Controler FQDN like: DC01.DOMAIN.LOCAL or just DC01
  -i, --ldapip <ldapip>              Domain Controller IP address like: 192.168.1.10
  -P, --ldapport <ldapport>          LDAP port [default: 389]
  -n, --name-server <name-server>    Alternative IP address name server to use for DNS queries
  -o, --output <output>              Output directory where you would like to save JSON files [default: ./]

OPTIONAL FLAGS:
      --ldaps           Force LDAPS using for request like: ldaps://DOMAIN.LOCAL/
      --dns-tcp         Use TCP instead of UDP for DNS queries
      --dc-only         Collects data only from the domain controller. Will not try to retrieve CA security/configuration or check for Web Enrollment
      --old-bloodhound  For ADCS only. Output result as BloodHound data for the original BloodHound version from @BloodHoundAD without PKI support
  -z, --zip             Compress the JSON files into a zip archive

OPTIONAL MODULES:
      --fqdn-resolver  Use fqdn-resolver module to get computers IP address
      --adcs           Use ADCS module to enumerate Certificate Templates, Certificate Authorities and other configurations.
                       (For the custom-built BloodHound version from @ly4k with PKI support)

डेमो

उदाहरण mayfly द्वारा कार्यान्वित GOADv2 पर किए गए हैं:

सरल उपयोग

root@kitploit:~
# Linux with username:password
rusthound -d north.sevenkingdoms.local -u '[email protected]' -p '_L0ngCl@w_' -o /tmp/demo -z

# Linux with username:password and ldapip
rusthound -d north.sevenkingdoms.local -i 192.168.56.11 -u '[email protected]' -p '_L0ngCl@w_' -o /tmp/demo -z

# Linux with username:password and ldaps
rusthound -d north.sevenkingdoms.local --ldaps -u '[email protected]' -p '_L0ngCl@w_' -o /tmp/demo -z 
# Linux with username:password and ldaps and custom port
rusthound -d north.sevenkingdoms.local --ldaps -P 3636 -u '[email protected]' -p '_L0ngCl@w_' -o /tmp/demo -z 

# Tips to redirect and append both standard output and standard error to a file > /tmp/rh_output 2>&1
rusthound -d north.sevenkingdoms.local --ldaps -u '[email protected]' -p '_L0ngCl@w_' -o /tmp/demo --fqdn-resolver > /tmp/rh_output 2>&1

# Windows with GSSAPI session
rusthound.exe -d sevenkingdoms.local --ldapfqdn kingslanding
# Windows simple bind connection username:password (do not use single or double quotes with cmd.exe)
rusthound.exe -d sevenkingdoms.local -u [email protected] -p _L0ngCl@w_ -o output -z

# Kerberos authentication (Linux)
export KRB5CCNAME="/tmp/jeor.mormont.ccache"
rusthound -d sevenkingdoms.local -f kingslanding -k -z
# Kerberos authentication (Windows)
rusthound.exe -d sevenkingdoms.local -f kingslanding -k -z

मॉड्यूल FQDN रिज़ॉल्वर

root@kitploit:~
# Linux with username:password and FQDN resolver module
rusthound -d essos.local -u '[email protected]' -p 'BurnThemAll!' -o /tmp/demo --fqdn-resolver -z
# Linux with username:password and ldaps and FQDN resolver module and TCP DNS request and custom name server
rusthound -d essos.local --ldaps -u '[email protected]' -p 'BurnThemAll!' -o /tmp/demo --fqdn-resolver --tcp-dns --name-server 192.168.56.12 -z

# Windows with GSSAPI session and FQDN resolver module
rusthound.exe -d essos.local -f meereen -o output --fqdn-resolver -z
# Windows simple bind connection username:password and FQDN resolver module and TCP DNS request and custom name server (do not use single or double quotes with cmd.exe)
rusthound.exe -d essos.local -u [email protected] -p BurnThemAll! -o output -z --fqdn-resolver --tcp-dns --name-server 192.168.56.12 

मॉड्यूल ADCS कलेक्टर

@ly4k BloodHound version का उपयोग करते हुए उदाहरण।

root@kitploit:~
# Linux with username:password and ADCS module for @ly4k BloodHound version
rusthound -d essos.local -u '[email protected]' -p 'BurnThemAll!' -o /tmp/adcs --adcs -z
# Linux with username:password and ADCS module and dconly flag (will don't check webenrollment)
rusthound -d essos.local -u '[email protected]' -p 'BurnThemAll!' -o /tmp/adcs --adcs --dc-only -z

# Linux with username:password and ADCS module using "--old-bloodhound" argument for official @BloodHoundAd version
rusthound -d essos.local -u '[email protected]' -p 'BurnThemAll!' -o /tmp/adcs --adcs --old-bloodhound -z

# Windows with GSSAPI session and ADCS module
rusthound.exe -d essos.local -f meereen -o output -z --adcs
# Windows with GSSAPI session and ADCS module and TCP DNS request and custom name server
rusthound.exe -d essos.local --ldapfqdn meereen -o output -z --adcs --tcp-dns --name-server 192.168.56.12
# Windows simple bind connection username:password (do not use single or double quotes with cmd.exe)
rusthound.exe -d essos.local -u [email protected] -p BurnThemAll! -o output -z --adcs --dc-only

आप डेमो में उपयोग किए गए कस्टम क्वेरीज़ को resource फ़ोल्डर में पा सकते हैं।

इसे स्थापित करने के लिए निम्नलिखित कमांड का उपयोग करें:

root@kitploit:~
cp resources/customqueries.json ~/.config/bloodhound/customqueries.json

🚀 आंकड़े

अधिक LDAP ऑब्जेक्ट वाले DC पर आंकड़े बनाने के लिए, GOAD से डोमेन कंट्रोलर ESSOS.local पर BadBlood चलाएं। DC के पास अब लगभग 3500 ऑब्जेक्ट होने चाहिए। नीचे निम्नलिखित टूल्स को चलाने में लगने वाला औसत समय दिया गया है:

🚥 रोडमैप

प्रमाणीकरण

  • LDAP (389)
  • LDAPS (636)
  • BIND
  • NTLM
  • Kerberos
  • पासवर्ड के लिए संकेत दें

आउटपुट

  • users.json
  • groups.json
  • computers.json
  • ous.json
  • gpos.json
  • containers.json
  • domains.json
  • cas.json
  • templates.json
  • JSON फ़ाइलों को ज़िप करने के लिए args और फ़ंक्शन --zip

मॉड्यूल

  • यदि आपका उपयोगकर्ता उन्हें पढ़ सकता है तो LAPS पासवर्ड प्राप्त करें स्वचालित
  • पाए गए FQDN कंप्यूटरों को IP पते पर हल करें --fqdn-resolver
  • Certipy के साथ ESC शोषण के लिए प्रमाणपत्र प्राप्त करें --adcs
  • Kerberos हमला मॉड्यूल (ASREPROASTING और KERBEROASTING) --attack-kerberos
  • विश्वसनीय डोमेन से डेटा पुनर्प्राप्त करें --follow-trust (वर्तमान में इस पर काम कर रहे हैं, इस मॉड्यूल का बीटा संस्करण प्राप्त हुआ है)

BloodHound v4.2

  • पार्सिंग सुविधाएँ

    • उपयोगकर्ता और कंप्यूटर
      • HasSIDHistory
    • उपयोगकर्ता
      • Properties : sfupassword
  • DCERPC (निर्भरताएँ)

    • कंप्यूटर
      • Sessions
    • OU और डोमेन
      • LocalAdmins
      • RemoteDesktopUsers
      • DcomUsers
      • PSRemoteUsers

🔗 लिंक

  • ब्लॉग पोस्ट: https://www.opencyber.com/rusthound-data-collector-for-bloodhound-written-in-rust/
  • BloodHound.py: https://github.com/fox-it/BloodHound.py
  • SharpHound: https://github.com/BloodHoundAD/SharpHound
  • BloodHound: https://github.com/BloodHoundAD/BloodHound
  • BloodHound दस्तावेज़: https://bloodhound.readthedocs.io/en/latest/index.html
  • GOAD: https://github.com/Orange-Cyberdefense/GOAD
  • ly4k का BloodHound संस्करण: https://github.com/ly4k/BloodHound
  • Certipy: https://github.com/ly4k/Certipy
टूल डाउनलोड करें
उपकरणवातावरणवस्तुएँसमयकमांड
SharpHound.exeWindows ~3500~51.605sMeasure-Command { sharphound.exe -d essos.local --ldapusername 'khal.drogo' --ldappassword 'horse' --domaincontroller '192.168.56.12' -c All }
BloodHound.pyLinux ~3500~9.657stime python3 bloodhound.py -u khal.drogo -p horse -d essos.local -ns 192.168.56.12 --zip -c all
RustHound.exeWindows ~3500~5.315sMeasure-Command { rusthound.exe -d essos.local -u [email protected] -p horse -z }
RustHoundLinux ~3500~3.166stime rusthound -d essos.local -u [email protected] -p horse -z
  • CA
    • User Specified SAN
    • Request Disposition