AD Attack Path Mapping Menggunakan BloodHound CE

Install BloodHound CE Menggunakan Docker. Ini adalah tutorial singkat bagaimana menginstall dan menggunakan BloodHound CE. BloodHound CE sendiri merupakan suksesor dari Bloodhound, yang menjanjikan berbagai kelebihan seperti fitur yang lebih banyak, aplikasi yang lebih stabil, serta peningkatan dari sisi performa.

Saya sendiri akhirnya memutuskan untuk "migrasi" ke Blodhound CE setelah ada notifikasi bahwa pengembangkan Bloodhound akan segera digentikan. Mungkin agar tidak rancu, ketika saya menyebut Bloodhound maka yang saya maksud adalah Bloodhound versi lama, yang repositorynya berada di BloodHoundAD/BloodHound. Sementara ketika saya menyebut Bloodhound CE, saya merujuk ke versi terbaru Bloodhound Community Edition yang repositorynya berada di SpecterOps/BloodHound.

Install Bloodhound CE

Cara paling mudah untuk menginstall Bloodhound CE adalah menggunakan Docker. Pastikan kalian sudah memasang Docker dan Docker Compose di sistem operasi yang kalian gunakan.

Setelah terpasang, kalian bisa memasang Bloodhound CE menggunakan perintah:

curl -L https://ghst.ly/getbhce | docker compose -f - up

Namun, karena kita akan melakukan beberapa perubahan pada file docker-compose, kita tidak akan menggunakan cara diatas. Pertama, kita akan membuat direktori bernama Bloodhound-CE, lalu mengunduh dua file utama yakni bloodhound.config.json dan docker-compose.yml.

mkdir Bloodhound-CE && cd Bloodhound-CE

wget https://raw.githubusercontent.com/SpecterOps/bloodhound/main/examples/docker-compose/docker-compose.yml

wget https://raw.githubusercontent.com/SpecterOps/BloodHound/main/examples/docker-compose/bloodhound.config.json

 Pada file bloodhound.config.json, kalian dapat mengubah data dari default admin.

Selanjutnya pada file docker-compose.yml sendiri ada beberapa perubahan dari file defaultnya. Saya sendiri lebih memilih untuk me-mapping volume ke current directory daripada ke direktori container dari docker. Sehingga pada baris volumes, saya menambahkan ./ (dot slash) agar direktori tercipta di direktori yang kita gunakan saat ini yakni Bloodhound-CE. Pada service app-db, ubah volume nya menjadi:

- ./postgres-data:/var/lib/postgresql/data

Sementara pada service graph-db, ubah volume nya menjadi:

- ./neo4j-data:/data

Masih seputar volumes, karena sebelumnya kita melakukan perubahan pada bloodhound.config.json, kita juga akan melakukan mounting file tersebut kedalam container. Pada service bloodhound, uncomment atau tambahkan baris:

- ./bloodhound.config.json:/bloodhound.config.json:ro
- ./BloodHound/:/opt/bloodhound/:rw

Sementara untuk ports, secara default Bloodhound akan berjalan di port 8080. Namun karena port tersebut digunakan oleh Burp Proxy (dan daripada kita mengganti port di Burp), kita ganti saja port di Bloodhound menjadi 8085.

- ${BLOODHOUND_HOST:-127.0.0.1}:${BLOODHOUND_PORT:-8085}:8080

Setelah beberapa perubahan diatas, kalian bisa hapus atau tambahkan comment pada section volumes di paling bawah.

Oke setelah persiapannya selesai, kita jalankan perintah:

docker compose up

Note: Jika kalian mendapati error "unpigz: abort: zlib version less than 1.2.3", seperti gambar dibawah ini,

Solusinya cukup mudah. Update package pigz dengan perintah:

sudo apt update && sudo apt install pigz

Lalu ulangi perintah docker compose up. Password untuk login ke dashboard sendiri akan dimunculkan pada saat proses instalasi.

Tunggu proses instalasinya selesai, lalu kita bisa mengakses Dasboard Blodhound CE.

Oh iya, ini yang saya sebut sebelumnya mengenai perubahan mapping volumes di container. Dengan docker-compose yang sudah kita modifikasi, seluruh data dari Bloodhound akan disimpan di direktori dimana docker-compose.yml berada.

Dashboard Access

Karena kita sudah mengubah port menjadi 8085, maka akses loginnya berada di:

  • http://localhost:8085/ui/login

Login menggunakan username admin atau email yang kalian atur di bloodhound.config.json, lalu gunakan password yang muncul saat proses instalasi.

Selanjutnya kalian akan diminta untuk membuat password baru sebelum diarahkan ke Dashboard.

Belum ada data yang ditampilkan. Kita bisa gunakan SharpHound untuk meng-koleksi data dari komputer yang terhubung ke AD.

Data Collection

Untuk mengunduh SharpHound, kalian bisa melalui menu Download Collectors di Bloodhound CE.

Atau bisa juga melalui GitHub di link berikut:

Untuk collecting data cukup simple, jalankan SharpHound.exe ataupun SharpHound.ps1. Di tutorial ini saya contohkan untuk penggunaan yang versi powershell.

Import-Module .\Sharphound.ps1
Invoke-BloodHound -collectionMethod All

Jika kalian menggunakan versi powershell, data sharphound akan tersimpan di home direktori dari user yang menjalankannya. Disini saya menjalankan script tersebut menggunakan user Administrator, maka filenya akan berlokasi di C:\Users\Administrator.

Oke, unduh file tersebut, ekstrak, lalu unggah ke Bloodhound CE melalui menu File Ingest.

  • http://localhost:8085/ui/administration/file-ingest


Setelah proses upload selesai, kalian bisa klik menu Explore untuk melihat attack path atau miskonfigurasi dari AD yang bisa di eksploitasi.

Atau, saya sendiri lebih memilih untuk menggunakan tools Bloodhound.py, sebuah utilitas yang menggunakan modul Impacket dan cara kerjanya mirip SharpHound, namun dapat melakukan collecting data secara remote. Yang dibutuhkan hanya kredensial domain user.

git clone --branch bloodhound-ce https://github.com/dirkjanm/BloodHound.py.git

cd BloodHound.py

python3 bloodhound.py -c All -dc evangelion.lab -d evangelion.lab -u 'asuka' -p 'P@ssw0rd2033' -ns 172.16.8.139

Selanjutnya tinggal kita unggah file json nya ke Bloodhound CE seperti langkah sebelumnya.

Atau, cara lain adalah memanfaatkan fitur dari NetExec.

netexec ldap 172.16.8.139 -u 'asuka' -p 'P@ssw0rd2033' -ns 172.16.8.139 --bloodhound --collection All

Selanjutnya tinggal upload saja file json nya seperti cara diatas.

Attack Path Mapping Menggunakan BloodHound CE

Disini menggunakan Pre-built Searches query, kita bisa melihat akun mana saja yang rentan terhadap serangan AS-REP Roasting.

Atau bagaimana kita me-listing domain users dari target.

Oke mungkin sekian tutorial kali ini, mungkin di next article kita akan membahas lebih dalam mengenai fitur-fitur dari Bloodhound CE.

Posting Komentar untuk "AD Attack Path Mapping Menggunakan BloodHound CE"