Rusthound, Yet Another Bloodhound Ingestor

Rusthound, Yet Another Bloodhound Ingestor. Ketika melakukan internal pentest Active Directory dan berhasil melakukan compromised satu domain user, hal yang harus dilakukan adalah melakukan collecting data menggunakan Bloodhound Ingestor (Sharphound). Hal ini dilakukan agar kita dapat segera melakukan mapping user mana yang akan menjadi target selanjutnya.

Masalahnya dalam real engagement, tentu ada sedikit berbeda dengan kita mengerjakan lab dimana kita bisa serta-merta mengeksekusi tool seperti Sharphound di PC Client. Biasanya PC client sudah terpasang Endpoint Security yang langsung akan memblokir file .exe ataupun .ps1 yang dianggap berbahaya.

Solusinya adalah mengeksekusi tool dengan fungsi serupa namun didalam jaringan. Artinya tool tersebut tetap kita eksekusi dari laptop kita, dengan melakukan query langsung ke server LDAP. Awalnya tool yang terpikirkan adalah Bloodhound.py. Namun ternyata bermasalah di modul python ldapnya, yang tidak mau berjalan ketika dieksekusi melalui proxychains4. Setelah googling untuk mencari solusi lain, ketemulah Rusthound, yang ternyata lancar ketika kita mengeksekusinya melalui proxychains.

Sesuai namanya, tool ini ditulis dengan bahasa Rust. Dan karena repositorynya tidak menyediakan pre-compiled binary, pastikan kalian sudah memasang Rust di leptop kalian untuk melakukan compile tools ini.

Install Rusthound

Oke langsung saja, jika kalian belum menginstall rustup, install menggunakan perintah:

curl https://sh.rustup.rs -sSf | sh

Selanjutnya install dependensi yang dibutuhkan Rusthound:

sudo apt-get install -y libkrb5-dev

Karena saya menggunakan Bloodhound CE, maka clone repo Rusthound dari branch v2.

git clone -b v2 https://github.com/NH-RED-TEAM/RustHound/
cd RustHound/
make install
mv ${HOME}/.cargo/bin/rusthound /usr/local/bin
chmod +x /usr/local/bin

➜  ~ rusthound --help
---------------------------------------------------
Initializing RustHound at 03:12:20 on 03/14/24
Powered by g0h4n from OpenCyber | NH-RED-TEAM
---------------------------------------------------

Active Directory data collector for BloodHound.
g0h4n <https://twitter.com/g0h4n_0>

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

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

REQUIRED VALUES:
  -d, --domain <domain>  Domain name like: DOMAIN.LOCAL

OPTIONAL VALUES:
  -u, --ldapusername <ldapusername>  LDAP username, like: user@domain.local
  -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:
  -c, --collectionmethod [<COLLECTIONMETHOD>]
          Which information to collect. Supported: All (LDAP,SMB,HTTP requests), DCOnly (no computer connections, only LDAP requests). (default: All) [possible values: All, DCOnly]
      --ldaps
          Force LDAPS using for request like: ldaps://DOMAIN.LOCAL/
  -k, --kerberos
          Use Kerberos authentication. Grabs credentials from ccache file (KRB5CCNAME) based on target parameters for Linux.
      --dns-tcp
          Use TCP instead of UDP for DNS queries
  -z, --zip
          Compress the JSON files into a zip archive

OPTIONAL MODULES:
      --fqdn-resolver  Use fqdn-resolver module to get computers IP address
Contoh penggunaannya:
rusthound --domain EVANGELION.lab -u 'misato@evangelion.lab' -p 'IkariShinjiEva01'

Selanjutnya tinggal kita upload file .json nya ke Bloodhound.

Oke mungkin sekian sharing kali ini, jika ada yang ingin ditambahkan silahkan tinggalkan komentar.

Posting Komentar untuk "Rusthound, Yet Another Bloodhound Ingestor"