Introduction
Active Directory (AD) enumeration adalah salah satu tahap paling penting dalam penetration testing pada jaringan Windows. Dalam banyak kasus penetration testing internal, tester hanya diberikan akses ke jaringan melalui VPN tanpa kredensial domain. Oleh karena itu, proses pengumpulan informasi tentang domain menjadi sangat penting.
Dalam artikel ini, saya akan membahas dasar-dasar Active Directory Enumeration menggunakan lab dari TryHackMe, khususnya pada room Active Directory Basics Enumeration.
Tujuan dari enumerasi ini adalah untuk menemukan informasi penting seperti:
- User domain
- Group
- Computer
- Domain policy
- Service yang berjalan
Informasi tersebut dapat digunakan untuk menemukan attack path atau potensi kerentanan pada jaringan.
Network Discovery
Pada tahap pertama dilakukan pencarian host yang aktif di dalam jaringan menggunakan fping.
Perintah yang digunakan:

Penjelasan singkat:
- -a menampilkan host yang aktif
- -g melakukan scanning seluruh range IP dalam subnet
- -q menampilkan hasil secara ringkas
Hasil scanning menunjukkan beberapa host yang aktif:
10.211.11.10
10.211.11.20
10.211.11.250Setelah menjalankan perintah tersebut, kita berhasil mengidentifikasi beberapa host yang aktif di dalam jaringan. Alamat IP 10.211.11.10 dan 10.211.11.20 merupakan mesin yang akan menjadi target utama untuk proses analisis lebih lanjut. Sementara itu, host lain yang berfungsi sebagai perangkat jaringan seperti gateway atau layanan VPN dapat diabaikan karena berada di luar ruang lingkup pengujian.
Untuk mempermudah proses pada tahap berikutnya, kedua alamat IP target tersebut kemudian disimpan ke dalam sebuah file teks bernama hosts.txt. File ini berfungsi sebagai daftar target yang nantinya dapat digunakan kembali dalam proses scanning atau enumerasi selanjutnya menggunakan tools seperti Nmap. Dengan cara ini, proses pengujian menjadi lebih rapi dan efisien karena semua target sudah tersimpan dalam satu file.

Hal ini berarti terdapat 3 mesin yang aktif pada jaringan tersebut. Informasi ini penting karena host-host tersebut akan menjadi target untuk proses enumerasi selanjutnya, seperti melakukan port scanning menggunakan Nmap untuk mengetahui service yang berjalan pada masing-masing mesin.
Port Scanning menggunakan Nmap
Setelah mendapatkan daftar target pada file hosts.txt, langkah selanjutnya adalah melakukan port scanning menggunakan Nmap untuk mengetahui service yang berjalan pada setiap host.
Perintah yang digunakan:
abyan㉿abyan)-[~/Downloads]
└─$ nmap -p 88,135,139,389,445 -sV -sC -iL hosts.txt
Starting Nmap 7.95 ( https://nmap.org ) at 2026-03-11 12:31 EDT
Nmap scan report for 10.211.11.10 (10.211.11.10)
Host is up (0.18s latency).nmap -p 88,135,139,389,445 -sV -sC -iL hosts.txtPerintah tersebut melakukan scanning pada beberapa port penting yang sering digunakan dalam lingkungan Active Directory.

Berdasarkan hasil scanning, host 10.211.11.10 memiliki port 88, 135, 139, 389, dan 445 dalam keadaan terbuka. Service yang terdeteksi menunjukkan bahwa mesin ini menjalankan Windows Server 2019 dengan nama komputer DC serta domain tryhackme.loc. Kombinasi service seperti Kerberos, LDAP, dan SMB mengindikasikan bahwa mesin tersebut kemungkinan besar berperan sebagai Domain Controller.
Sementara itu pada host 10.211.11.20, hanya beberapa port yang terbuka seperti 135, 139, dan 445, sedangkan port 88 (Kerberos) dan 389 (LDAP) berada dalam kondisi filtered. Hal ini menunjukkan bahwa mesin tersebut kemungkinan merupakan client atau server lain dalam domain, bukan Domain Controller utama.
Berikut fungsi dari port yang dianalisis dalam proses scanning:

Dari hasil scanning ini dapat disimpulkan bahwa 10.211.11.10 merupakan target utama karena menjalankan banyak service domain yang berkaitan langsung dengan Active Directory, sehingga host ini menjadi fokus pada tahap enumerasi selanjutnya.
Initial Findings / Enumeration Summary

Melalui teknik enumerasi ini, kita berhasil mengidentifikasi dua host aktif dalam jaringan target, yaitu satu Domain Controller dan satu Workstation. Selain itu, kita juga berhasil mengetahui nama domain serta beberapa service penting yang berjalan pada Domain Controller seperti Kerberos, LDAP, dan SMB. Informasi ini sangat penting karena dapat digunakan sebagai dasar untuk melakukan enumeration lebih lanjut terhadap domain pada tahap berikutnya.
SMB Enumeration / Service Enumeration
Pada tahap ini dilakukan scanning terhadap Domain Controller untuk mengidentifikasi service yang berjalan pada port-port yang berkaitan dengan lingkungan Windows dan Active Directory. Proses scanning dilakukan menggunakan Nmap.
Perintah yang digunakan adalah:

Perintah tersebut melakukan scanning terhadap beberapa port penting sekaligus mencoba mendeteksi versi service (-sV) serta menjalankan script default dari Nmap (-sC) untuk mendapatkan informasi tambahan.
Berdasarkan hasil scanning, host 10.211.11.10 memiliki beberapa port penting yang terbuka, yaitu 88, 135, 139, 389, 445, dan 636. Port 88 menunjukkan service Kerberos yang digunakan untuk proses autentikasi pada Active Directory. Port 389 menunjukkan service LDAP yang digunakan untuk mengakses informasi directory seperti user, group, dan kebijakan domain. Selain itu, port 445 menjalankan service SMB yang digunakan untuk file sharing pada sistem Windows.
Dari informasi yang muncul juga diketahui bahwa sistem operasi yang digunakan adalah Windows Server 2019 Datacenter dengan nama komputer DC dan domain tryhackme.loc. Hal ini semakin menguatkan bahwa mesin tersebut berperan sebagai Domain Controller dalam jaringan.
Informasi yang diperoleh dari proses scanning ini sangat penting karena dapat digunakan sebagai dasar untuk melakukan enumeration lebih lanjut, khususnya terhadap layanan SMB dan LDAP untuk mencari share folder, user domain, atau konfigurasi lain yang dapat dimanfaatkan pada tahap pengujian berikutnya.
Listing SMB Shares
Setelah mengetahui bahwa server menjalankan service SMB, langkah selanjutnya adalah mencoba melihat SMB shares yang tersedia. Karena pada tahap ini kita belum memiliki kredensial, kita mencoba melakukan anonymous login atau null session untuk melihat apakah server mengizinkan akses tanpa username dan password.
Untuk melakukan enumerasi SMB shares dari mesin Linux digunakan tool smbclient, yang merupakan bagian dari paket Samba. Tool ini memungkinkan kita berinteraksi dengan server SMB seperti melihat daftar share, mengakses file, maupun mengunduh data dari server.
Perintah yang digunakan adalah:

Parameter -L digunakan untuk menampilkan daftar share yang tersedia pada server, sedangkan -N digunakan untuk melakukan koneksi tanpa password.
Berdasarkan hasil yang diperoleh, server menampilkan beberapa share yang tersedia seperti ADMIN$, C$, NETLOGON, SYSVOL, serta beberapa share lain seperti AnonShare, SharedFiles, dan UserBackups. Beberapa share seperti ADMIN$ dan C$ merupakan default administrative shares pada sistem Windows yang biasanya hanya dapat diakses oleh administrator.
Selain itu terdapat juga share penting seperti NETLOGON dan SYSVOL yang umum ditemukan pada lingkungan Active Directory, yang biasanya digunakan untuk menyimpan script login dan kebijakan domain.
Keberhasilan koneksi anonim ini menunjukkan bahwa server masih mengizinkan anonymous enumeration, sehingga memungkinkan kita untuk mengetahui struktur share yang ada pada server. Informasi ini sangat berguna untuk tahap selanjutnya, yaitu mencoba mengakses share tertentu untuk melihat apakah terdapat file yang dapat dibaca atau diunduh dari server.
*]:pointer-events-auto scroll-mt-( — header-height)" tabindex="-1" dir="auto" data-turn-id="9275ff56–7152–4e46-af86–0809b7466cc5" data-testid="conversation-turn-45" data-scroll-anchor="false" data-turn="user">*]:pointer-events-auto scroll-mt-[calc(var( — header-height)+min(200px,max(70px,20svh)))]" tabindex="-1" dir="auto" data-turn-id="request-69b1946c-991c-8322–8084-b5dc6416a243–5" data-testid="conversation-turn-46" data-scroll-anchor="true" data-turn="assistant">
Enumerasi SMB Shares Menggunakan smbmap
Selain menggunakan smbclient, kita juga dapat melakukan enumerasi SMB menggunakan smbmap. Tool ini sangat berguna untuk menampilkan daftar SMB shares beserta hak akses (permissions) seperti read dan write pada setiap share.
Perintah yang digunakan adalah:

Parameter -H digunakan untuk menentukan alamat IP dari target yang akan diperiksa.
Berdasarkan hasil scanning, server 10.211.11.10 menampilkan beberapa SMB shares dengan berbagai tingkat akses. Beberapa share seperti ADMIN$, C$, IPC$, NETLOGON, dan SYSVOL tidak dapat diakses karena merupakan administrative shares yang biasanya hanya tersedia untuk administrator sistem.
Namun terdapat beberapa share yang menarik karena memiliki izin READ dan WRITE, yaitu:
- AnonShare
- SharedFiles
- UserBackups
Share dengan permission READ memungkinkan kita untuk melihat dan mengunduh file dari server, sedangkan permission WRITE memungkinkan kita untuk mengunggah file ke dalam share tersebut. Share dengan konfigurasi seperti ini berpotensi menjadi celah keamanan karena dapat dimanfaatkan untuk mengambil informasi sensitif atau bahkan menyimpan file berbahaya pada server.
Informasi ini sangat penting dalam proses enumeration, karena kita dapat melanjutkan tahap berikutnya dengan mencoba mengakses share yang memiliki permission READ atau WRITE untuk melihat apakah terdapat file yang dapat dimanfaatkan.
Mengakses dan Mengunduh File dari SMB Share
Setelah menemukan share yang memiliki izin READ, langkah selanjutnya adalah mencoba mengakses share tersebut dan melihat apakah terdapat file yang dapat diunduh. Untuk melakukan koneksi ke share digunakan tool smbclient.
Perintah yang digunakan untuk terhubung ke share SharedFiles adalah:
smbclient //10.211.11.10/SharedFiles -NParameter -N digunakan untuk melakukan koneksi anonim tanpa menggunakan username dan password. Dari hasil yang diperoleh terlihat bahwa koneksi anonim berhasil dilakukan.
Setelah berhasil terhubung, kita menggunakan perintah ls untuk melihat isi dari share tersebut. Hasilnya menunjukkan terdapat sebuah file bernama Mouse_and_Malware.txt yang tersedia pada folder tersebut.
Untuk mengambil file tersebut dari server, digunakan perintah:
get Mouse_and_Malware.txtPerintah ini akan mengunduh file dari server ke mesin penyerang (AttackBox). Setelah proses download selesai, file tersebut dapat dianalisis lebih lanjut karena kemungkinan berisi informasi penting yang dapat membantu proses enumerasi atau eksploitasi pada tahap berikutnya
Mengakses File dan Mencari Flag
Setelah berhasil mengidentifikasi SMB shares yang memiliki izin READ, langkah berikutnya adalah mendownload file yang tersedia untuk mencari flag. Flag biasanya tersembunyi di dalam file yang dapat diakses melalui share, dan formatnya pada TryHackMe umumnya berupa THM{…}.

Sebagai contoh, kita menemukan file Mouse_and_Malware.txt di share SharedFiles. File ini berisi cerita tentang tikus dan malware, namun dari isi file terlihat bahwa tidak ada flag di dalamnya. Hal ini menunjukkan bahwa file tersebut hanya berfungsi sebagai petunjuk atau decoy, dan flag kemungkinan tersembunyi di share lain yang juga memiliki izin READ.
Menemukan Flag dari SMB Share
Setelah melakukan enumerasi terhadap berbagai SMB share yang tersedia, langkah berikutnya adalah mencoba mengakses share lain yang memiliki izin READ secara anonim. Dari hasil enumerasi sebelumnya menggunakan smbmap, diketahui bahwa share UserBackups juga memberikan akses baca.
Selanjutnya kita mencoba mengakses share tersebut menggunakan smbclient tanpa kredensial dengan opsi -N (anonymous login). Setelah berhasil terhubung, kita menjalankan perintah ls untuk melihat file yang tersedia di dalam share.
smbclient //10.211.11.10/UserBackups -N
lsHasilnya menunjukkan terdapat dua file di dalam direktori tersebut:
flag.txtstory.txt
Karena tujuan utama pada lab ini adalah menemukan flag, maka file flag.txt kemudian diunduh menggunakan perintah:
get flag.txtSetelah file berhasil diunduh ke mesin attacker, kita dapat membaca isinya menggunakan perintah cat di Linux:
Dari hasil tersebut ditemukan flag berikut:

Analisis

Keberhasilan menemukan flag ini menunjukkan bahwa server SMB mengizinkan akses anonim ke share sensitif, dalam hal ini UserBackups. Konfigurasi seperti ini merupakan misconfiguration yang berbahaya, karena memungkinkan pihak yang tidak memiliki kredensial untuk mengakses dan mengunduh file penting dari server.
Dalam skenario nyata, kesalahan konfigurasi SMB seperti ini dapat menyebabkan kebocoran data sensitif, termasuk backup data, dokumen internal, atau bahkan kredensial yang tersimpan di dalam file.
LDAP Enumeration (Anonymous Bind)
Setelah melakukan tahap network discovery dan SMB enumeration, langkah berikutnya dalam proses enumerasi Active Directory adalah mencoba mengumpulkan informasi mengenai struktur direktori menggunakan protokol Lightweight Directory Access Protocol. Protokol ini digunakan oleh Microsoft Active Directory untuk mengelola berbagai objek dalam jaringan seperti pengguna, grup, perangkat, dan kebijakan organisasi.
Dalam beberapa kasus, server LDAP dikonfigurasi untuk mengizinkan anonymous bind, yaitu kondisi di mana seseorang dapat melakukan query ke direktori tanpa harus melakukan autentikasi terlebih dahulu. Jika fitur ini aktif, maka attacker dapat memperoleh informasi penting dari direktori hanya dengan melakukan query sederhana.
Untuk menguji apakah server LDAP mengizinkan anonymous bind, kita menggunakan tool ldapsearch dengan perintah berikut:
ldapsearch -x -H ldap://10.211.11.10 -s baseKeterangan parameter:
- -x : menggunakan simple authentication (anonymous login)
- -H : menentukan alamat server LDAP
- -s base : membatasi pencarian hanya pada objek dasar direktori

Analisis Hasil Query LDAP
Dari hasil query yang diperoleh, server LDAP berhasil merespon permintaan yang kita kirimkan. Hal ini menunjukkan bahwa server memperbolehkan query anonim terhadap direktori.
Beberapa informasi penting yang dapat diidentifikasi dari output tersebut antara lain:
1. Informasi Domain
Pada bagian output terlihat nilai berikut:
rootDomainNamingContext: DC=tryhackme,DC=loc
defaultNamingContext: DC=tryhackme,DC=locInformasi tersebut menunjukkan bahwa domain yang digunakan pada jaringan target adalah:
tryhackme.locMengetahui nama domain sangat penting karena akan digunakan pada berbagai proses enumerasi lanjutan seperti pencarian user, group, maupun objek lain dalam Active Directory.


2. Informasi Domain Controller
Pada output juga ditemukan informasi mengenai Domain Controller yang digunakan:
dnsHostName: DC.tryhackme.locHal ini menunjukkan bahwa:
- Nama server: DC
- FQDN server: DC.tryhackme.loc
Domain Controller merupakan server utama yang bertanggung jawab dalam proses autentikasi pengguna serta pengelolaan objek dalam Active Directory.

3. Struktur Direktori Active Directory
Output LDAP juga menampilkan beberapa naming context yang menunjukkan struktur direktori dalam Active Directory:
namingContexts: DC=tryhackme,DC=loc
namingContexts: CN=Configuration,DC=tryhackme,DC=loc
namingContexts: CN=Schema,CN=Configuration,DC=tryhackme,DC=locStruktur ini menunjukkan bagaimana data dalam Active Directory diorganisasikan, yaitu:
- Domain Context → berisi user, group, dan komputer domain
- Configuration Context → berisi konfigurasi Active Directory
- Schema Context → berisi definisi atribut dan tipe objek dalam direktori
Memahami struktur ini sangat penting untuk melakukan enumerasi objek secara lebih mendalam pada tahap berikutnya.

Kesimpulan
Hasil dari LDAP enumeration menggunakan anonymous bind menunjukkan bahwa server LDAP pada domain tryhackme.loc mengizinkan query anonim terhadap informasi dasar direktori. Walaupun informasi yang diperoleh masih terbatas, data tersebut tetap sangat berguna untuk memahami struktur domain target, termasuk nama domain, Domain Controller, serta organisasi direktori Active Directory.
Informasi ini dapat digunakan sebagai landasan untuk melakukan enumerasi lanjutan, seperti pencarian daftar pengguna, grup, maupun objek lain dalam domain. Dalam konteks penetration testing, misconfiguration seperti ini dapat memberikan keuntungan bagi attacker dalam mengumpulkan informasi penting sebelum melanjutkan ke tahap eksploitasi.
Hasil LDAP User Enumeration
Setelah menjalankan query LDAP untuk mencari objek dengan filter (objectClass=person), kita berhasil memperoleh informasi mengenai salah satu akun pengguna yang terdapat dalam domain Microsoft Active Directory. Proses enumerasi ini dilakukan menggunakan tool ldapsearch melalui protokol Lightweight Directory Access Protocol.

Informasi User yang Ditemukan
Dari hasil query LDAP, ditemukan sebuah akun pengguna dengan informasi berikut:
- Nama lengkap (CN) : Raoul Duke
- First Name (givenName) : Raoul
- Last Name (sn) : Duke
- Username (sAMAccountName) :
rduke - User Principal Name (UPN) :
rduke@tryhackme.loc
Selain itu, terdapat juga informasi mengenai lokasi objek dalam direktori:
CN=Raoul Duke,CN=Users,DC=tryhackme,DC=locHal ini menunjukkan bahwa akun tersebut berada pada container Users dalam domain tryhackme.loc.
Informasi Teknis Tambahan
Output LDAP juga menampilkan berbagai atribut lain yang berkaitan dengan akun pengguna tersebut, antara lain:
- whenCreated → waktu pembuatan akun
- lastLogon → waktu terakhir pengguna melakukan login
- pwdLastSet → waktu terakhir password diubah
- logonCount → jumlah login yang telah dilakukan
- objectSID → Security Identifier unik milik akun pengguna
- primaryGroupID → menunjukkan grup utama pengguna (biasanya Domain Users)
Informasi seperti lastLogon, pwdLastSet, dan logonCount dapat memberikan gambaran mengenai aktivitas akun tersebut di dalam domain.
Pentingnya Informasi Ini dalam Penetration Testing
Menemukan username domain merupakan salah satu tujuan utama dalam tahap Active Directory enumeration. Username seperti rduke dapat digunakan pada berbagai teknik serangan lanjutan, misalnya:
- Password Spraying
- Kerberos Attacks (Kerberoasting / AS-REP Roasting)
- Brute Force Authentication
- SMB atau LDAP Login Attempts
Dengan kata lain, informasi user yang diperoleh dari LDAP enumeration dapat menjadi titik awal untuk eksploitasi lebih lanjut terhadap lingkungan Active Directory.
Enumerasi User Menggunakan RPC
Selain menggunakan LDAP, enumerasi pengguna dalam lingkungan Microsoft Active Directory juga dapat dilakukan melalui protokol Remote Procedure Call yang berjalan di atas layanan Server Message Block. Teknik ini memungkinkan kita untuk mengambil daftar akun pengguna dari domain tanpa harus memiliki kredensial, apabila server dikonfigurasi secara tidak aman dan mengizinkan null session.
Untuk melakukan enumerasi ini, digunakan tool rpcclient dengan perintah berikut:
rpcclient -U "" 10.211.11.10 -NPenjelasan parameter:
- -U "" Menunjukkan bahwa kita mencoba login tanpa username (anonymous).
- -N Menginstruksikan tool untuk tidak meminta password.
Jika koneksi berhasil, kita akan masuk ke dalam shell interaktif rpcclient. Dari dalam shell tersebut kita dapat menjalankan perintah:
enumdomusersPerintah ini digunakan untuk menampilkan seluruh daftar pengguna yang terdapat dalam domain.

Analisis Hasil Enumerasi
Dari hasil output yang diperoleh, terlihat bahwa server berhasil mengembalikan daftar akun pengguna yang terdapat dalam domain. Beberapa akun sistem yang umum ditemukan dalam Active Directory juga muncul, seperti:
- Administrator → akun administrator utama domain
- Guest → akun tamu default
- krbtgt → akun layanan yang digunakan oleh sistem Kerberos authentication
Selain akun sistem, terlihat juga banyak akun pengguna domain seperti:
- gerald.burgess
- nigel.parsons
- guy.smith
- barbara.jones
- daniel.turner
- michelle.palmer
- dan lainnya
Selain itu terdapat juga beberapa akun yang menarik untuk diperhatikan seperti:
- asrepuser1
- strategos
- drgonz0
- empanadal0v3r
Nama-nama akun tersebut dapat menjadi target potensial untuk teknik serangan lanjutan seperti password spraying atau Kerberos-based attacks.
Output juga menampilkan RID (Relative Identifier) untuk setiap akun, yang merupakan bagian dari Security Identifier (SID) dalam Windows. RID digunakan untuk mengidentifikasi objek seperti user atau group dalam domain.
Contohnya:
user:[Administrator] rid:[0x1f4]RID 0x1f4 (500) merupakan RID standar untuk akun Administrator dalam Windows.
Membuat Daftar User dari Hasil RPC Enumeration
Setelah berhasil melakukan enumerasi pengguna menggunakan rpcclient, langkah berikutnya adalah menyimpan hasil enumerasi tersebut ke dalam sebuah file. Hal ini bertujuan agar daftar username dapat digunakan pada tahap serangan berikutnya, seperti password spraying atau Kerberos enumeration pada lingkungan Microsoft Active Directory.
Perintah yang digunakan untuk menyimpan hasil enumerasi adalah sebagai berikut:
rpcclient -U "" 10.211.11.10 -N -c enumdomusers > users.txtPerintah tersebut menjalankan fungsi enumdomusers secara langsung tanpa masuk ke shell interaktif, kemudian hasilnya dialihkan (redirect) ke dalam file bernama users.txt.

Setelah file berhasil dibuat, kita dapat melihat isi file tersebut menggunakan perintah:
cat users.txtFile tersebut berisi daftar akun pengguna yang terdapat pada domain, lengkap dengan Relative Identifier (RID) masing-masing. Contohnya:
user:[Administrator] rid:[0x1f4]
user:[Guest] rid:[0x1f5]
user:[krbtgt] rid:[0x1f6]
user:[gerald.burgess] rid:[0x650]
user:[nigel.parsons] rid:[0x651]
...RID merupakan bagian dari Security Identifier (SID) dalam sistem Windows yang digunakan untuk mengidentifikasi setiap objek dalam domain, seperti pengguna maupun grup.

Analisis Hasil Enumerasi
Dari hasil enumerasi tersebut, terlihat beberapa jenis akun yang ditemukan dalam domain:
Akun sistem default
- Administrator
- Guest
- krbtgt
Akun krbtgt merupakan akun layanan yang digunakan oleh sistem Kerberos authentication dalam Active Directory.
Akun pengguna domain
- gerald.burgess
- nigel.parsons
- jeremy.booth
- barbara.jones
- daniel.turner
- michelle.palmer
- dan banyak lainnya
Selain itu terdapat beberapa akun menarik seperti:
- asrepuser1
- strategos
- drgonz0
- empanadal0v3r
Akun-akun tersebut dapat menjadi target potensial untuk teknik serangan lanjutan seperti AS-REP Roasting, password spraying, atau Kerberos attacks.
Kesimpulan
Dengan memanfaatkan null session pada layanan RPC, kita berhasil memperoleh daftar username yang terdapat dalam domain target. Daftar pengguna ini kemudian disimpan dalam file users.txt, sehingga dapat digunakan pada tahap serangan berikutnya dalam proses Active Directory penetration testing. Informasi username yang valid merupakan aset penting karena dapat digunakan sebagai dasar untuk melakukan berbagai teknik autentikasi attack pada domain target.
Enumerasi Username Menggunakan Kerbrute
Setelah berhasil mendapatkan daftar username dari proses enumerasi sebelumnya, langkah berikutnya adalah memverifikasi apakah username tersebut benar-benar valid di dalam domain Microsoft Active Directory. Untuk melakukan proses ini, digunakan tool Kerbrute, yang bekerja dengan memanfaatkan mekanisme autentikasi Kerberos.
Kerbrute dapat melakukan username enumeration tanpa membutuhkan kredensial, dengan cara mengirimkan request autentikasi ke Key Distribution Center (KDC) pada domain controller. Jika username yang dikirim valid, server akan memberikan respon berbeda dibandingkan username yang tidak ada.
Perintah yang digunakan adalah sebagai berikut:
./kerbrute userenum --dc 10.211.11.10 -d tryhackme.loc usernames.txtPenjelasan parameter:
- userenum → mode untuk melakukan enumerasi username
- — dc → alamat IP Domain Controller
- -d → nama domain target
- usernames.txt → file yang berisi daftar username yang akan diuji

Analisis Hasil Enumerasi
Dari hasil eksekusi Kerbrute, terlihat bahwa beberapa username dinyatakan VALID USERNAME, yang berarti akun tersebut benar-benar ada di dalam domain tryhackme.loc.
Beberapa contoh akun yang berhasil ditemukan antara lain:
- nigel.parsons
- barbara.jones
- marion.kay
- jeremy.booth
- guy.smith
- gerald.burgess
- Administrator
- daniel.turner
- debra.yates
- jeffrey.thompson
- kathryn.williams
Selain akun pengguna biasa, ditemukan juga beberapa akun sistem seperti:
- Administrator → akun administrator domain
- krbtgtsvc → akun yang berhubungan dengan layanan Kerberos
- sshd → kemungkinan akun service untuk SSH
Secara keseluruhan, tool Kerbrute berhasil menguji 32 username dan menemukan 27 username yang valid dalam domain tersebut.

Kesimpulan
Melalui proses enumerasi menggunakan Kerbrute, berhasil diperoleh sejumlah username valid yang terdapat pada domain tryhackme.loc. Informasi ini sangat penting dalam tahap Active Directory penetration testing, karena daftar username yang valid dapat digunakan dalam berbagai teknik serangan lanjutan, seperti:
- Password Spraying
- AS-REP Roasting
- Kerberos Attacks
- Credential Brute Force
Dengan demikian, tahap enumerasi ini memberikan fondasi penting untuk melanjutkan proses eksploitasi terhadap lingkungan Active Directory target.
Enumerasi Password Policy pada Active Directory
Setelah berhasil melakukan enumerasi user pada domain target, langkah berikutnya adalah mengidentifikasi password policy yang diterapkan pada domain. Informasi ini sangat penting dalam proses Active Directory penetration testing, karena dapat membantu menentukan strategi serangan seperti password spraying atau brute force tanpa menyebabkan akun terkunci.
Pada tahap ini, enumerasi dilakukan menggunakan dua tools yang berbeda yaitu rpcclient dan CrackMapExec untuk mendapatkan informasi kebijakan password dari domain Microsoft Active Directory.
Enumerasi Password Policy Menggunakan rpcclient
Tool pertama yang digunakan adalah rpcclient, yang memungkinkan kita berinteraksi dengan layanan RPC pada sistem Windows melalui protokol SMB.
Perintah yang digunakan untuk mengakses RPC secara anonymous adalah:
rpcclient -U "" 10.211.11.10 -NPenjelasan parameter:
- -U "" → login tanpa username (anonymous)
- -N → tidak menggunakan password
- 10.211.11.10 → IP address Domain Controller
Setelah berhasil masuk ke dalam shell rpcclient, perintah berikut dijalankan untuk melihat kebijakan password domain:
getdompwinfo
Output yang dihasilkan menampilkan beberapa informasi penting terkait kebijakan password, seperti:
min_password_length: 7
password_properties: 0x00000001
DOMAIN_PASSWORD_COMPLEXDari hasil tersebut dapat disimpulkan bahwa:
- Minimum password length adalah 7 karakter
- Domain menerapkan password complexity policy
Password complexity berarti password harus memiliki kombinasi seperti:
- huruf besar (A-Z)
- huruf kecil (a-z)
- angka (0–9)
- karakter khusus
Kebijakan ini diterapkan untuk meningkatkan keamanan akun pengguna di dalam domain Active Directory.
Enumerasi Password Policy Menggunakan CrackMapExec
Selain menggunakan rpcclient, enumerasi password policy juga dapat dilakukan menggunakan CrackMapExec, yang merupakan tool populer dalam penetration testing untuk melakukan enumerasi layanan jaringan pada sistem Windows.
Perintah yang digunakan adalah:
crackmapexec smb 10.211.11.10 --pass-polPerintah --pass-pol akan menampilkan password policy yang diterapkan pada domain melalui layanan SMB.

Dari hasil enumerasi tersebut diperoleh informasi sebagai berikut:
Informasi sistem target
- Sistem operasi: Windows Server 2019 Datacenter
- Domain: tryhackme.loc
- Host: Domain Controller
Password policy
- Minimum password length: 7
- Password history length: 24
- Maximum password age: 41 days
Artinya sistem menyimpan 24 password terakhir, sehingga pengguna tidak dapat menggunakan kembali password lama.
Account Lockout Policy
Selain aturan password, terdapat juga kebijakan terkait account lockout:
Account Lockout Threshold: 10
Locked Account Duration: 2 minutes
Reset Account Lockout Counter: 2 minutesArtinya:
- Akun akan terkunci setelah 10 kali percobaan login gagal
- Akun akan terkunci selama 2 menit
- Counter percobaan login akan direset setelah 2 menit
Informasi ini sangat penting bagi seorang penetration tester karena dapat membantu menentukan strategi password spraying yang aman tanpa memicu penguncian akun secara massal.
Kesimpulan
Melalui proses enumerasi menggunakan rpcclient dan CrackMapExec, berhasil diperoleh informasi mengenai kebijakan password yang diterapkan pada domain tryhackme.loc. Domain tersebut menerapkan panjang password minimum 7 karakter dengan kompleksitas password aktif serta kebijakan account lockout setelah 10 kali percobaan login gagal.
Informasi ini memberikan gambaran penting mengenai tingkat keamanan autentikasi pada lingkungan Active Directory dan dapat digunakan sebagai dasar dalam tahap serangan berikutnya seperti password spraying, credential attacks, atau teknik eksploitasi lainnya.
Performing Password Spraying Attack in Active Directory

Setelah berhasil melakukan user enumeration dan mendapatkan daftar akun yang valid dalam domain, langkah selanjutnya adalah melakukan teknik Password Spraying untuk mencoba menemukan kredensial yang valid.
Password spraying adalah teknik serangan yang mencoba satu password umum terhadap banyak akun secara bergantian. Metode ini digunakan untuk menghindari mekanisme account lockout yang biasanya terjadi jika satu akun dicoba berkali-kali dengan password yang salah.
Pada tahap sebelumnya, dilakukan enumerasi kebijakan password menggunakan rpcclient. Hasilnya menunjukkan bahwa kompleksitas password bernilai 1, yang berarti password harus memenuhi minimal tiga dari empat syarat berikut:
- Huruf besar (uppercase)
- Huruf kecil (lowercase)
- Angka (digits)
- Karakter spesial (special characters)
Berdasarkan kebijakan tersebut, dibuat daftar password umum yang kemungkinan digunakan oleh pengguna domain. Contohnya:
Password!
Password1
Password1!
P@ssword
Pa55word1Password tersebut kemudian disimpan dalam file passwords.txt.
Melakukan Password Spraying
Serangan password spraying dilakukan menggunakan tool NetExec terhadap layanan SMB pada target 10.211.11.20.
Command yang digunakan:
nxc smb 10.211.11.20 -u clean_users.txt -p passwords.txtPenjelasan parameter:
10.211.11.20→ host target-u clean_users.txt→ daftar username hasil enumerasi-p passwords.txt→ daftar password yang akan diuji
Tool NetExec kemudian mencoba setiap kombinasi username dengan password yang tersedia.
Hasil Serangan
Sebagian besar percobaan login gagal dan menghasilkan status berikut:
STATUS_LOGON_FAILURENamun, salah satu akun berhasil melakukan autentikasi dengan password yang diuji.
[+] tryhackme.loc\rduke:Password1!Hasil tersebut menunjukkan bahwa kredensial berikut valid pada domain:
Username : rduke
Password : Password1!
Domain : tryhackme.loAnalisis Keamanan
Keberhasilan serangan ini menunjukkan bahwa pengguna domain menggunakan password yang mudah ditebak dan termasuk dalam daftar password umum.
Hal ini menjadi risiko keamanan yang serius karena:
- Penyerang dapat memperoleh initial access ke jaringan domain
- Kredensial tersebut dapat digunakan untuk enumeration lanjutan
- Berpotensi digunakan untuk privilege escalation atau lateral movement
Kesimpulan
Password spraying merupakan teknik yang sangat efektif dalam pengujian keamanan Active Directory. Dengan mencoba satu password umum terhadap banyak akun, penyerang dapat menemukan kredensial valid tanpa memicu mekanisme penguncian akun.
Dalam pengujian ini, serangan berhasil menemukan akun yang menggunakan password lemah (Password1!), sehingga memberikan akses awal ke sistem domain. Oleh karena itu, organisasi seharusnya menerapkan kebijakan password yang lebih kuat serta menggunakan mekanisme perlindungan tambahan seperti multi-factor authentication (MFA).