Halo jumpa lagi ya rek, semoga kalian sehat selalu. Nah jadi disini aku akan menjelaskan tentang Active Directory yang dimana akan dibahas secara teori dan untuk prakteknya kemungkinan akan aku buat di artikel selanjutnya tentang pentesting dan teknik serangan serta kerentanan pada Active Directory.

Jadi apasih itu Active Directory ? mungkin banyak dari kalian ada yang udah tau atau ada yang masih asing mendengar istilah Active Directory jadi daripada bingung ayo kita bahas

Active Directory ini bisa dikatakan suatu service berbasis direktori yang digunakan untuk mengelola resource dan infrastruktur dengan cara yang terstruktur. Maka dari itu Active Directory ini banyak di implementasikan pada perusahaan ataupun organisasi yang memiliki banyak komputer dan sumber daya karena menggunakan Active Directory ini memudahkan Administrator melakukan management maupun konfigurasi dengan cara terpusat/centralized.

Dalam Active Directory semua resource/sumber daya direpresentasikan menjadi suatu object dan object ini mencakup server, printer, komputer, domain, group dan user account. semua object ini akan dikelola oleh ADDS(Active Directory Domain Service) yang merupakan inti dari Active Directory itu sendiri. ADDS ini merupakan server yang mengatur semua konfigurasi dan rule/aturan resource pada jaringan didalam AD seperti keamanan, policy, permission dsb.

Lalu ada yang namanya Domain Controller yaitu merupakan server fisik atau computer yang menjalankan service Active Directory, dengan kata lain Domain Controller ini bisa berupa hardware(server fisik) maupun virtual machine.

Dan tidak kalah pentingnya, pada active directory terdapat 2 konsep untuk identifikasi yaitu SPN dan UPN, gampangnya UPN itu merupakan identitas unik pada user dalam active directory yang berguna untuk mengenali dan identifikasi user contohnya <username>@<domain> atau [email protected] sementara itu SPN digunakan untuk mengenali service / layanan pada Active Directory yang menggunakan kerberos(akan kita bahas nanti) dengan contoh <service>/<hostname>:<port> atau MSSQL/bhitech:1433 disini kita mencontohkan dengan DB mssql dengan hostname bhitech di port 1433

Cara Kerja Active Directory

Dalam Active Directory untuk mengatur object object di dalamnya terdapat struktrur hierarki dimana struktur hierarki ini mencakup komponen penting diantarannya:

Domain : Direpresentasikan sama dengan domain name yang ada pada internet dengan menggunakan .(titik) seperti abc.com, bhitech.corp tetapi pengertian lebih luasnya domain ini digunakan untuk mengelompokkan object pada Active Directory, seperti yang kita bahas sebelumnya object itu mencakup user, group, printer, computer dan sumber daya lain

Organizational units(OUs) : OUs ini cukup kompleks karena digunakan untuk mengatur dan mengelola object object pada Active Directory, sebagai contoh sederhana pada sebuah perusahaan pastinya memiliki banyak departement dan kita ambil 2 sebagai contoh yaitu marketing dan IT jadi fungsi OUs ini akan membagi hak akses dimana setiap departement akan diberikan OU misalkan OU marketing hanya diberikan akses untuk mengelola ke service yang menyediakan penjualan dan pembelian sementara OU IT diberikan mengelola akses ke server maupun Domain Controller

Forest : Forest ini merupakan gabungan dari satu atau lebih domain dan domain bisa saling terhubung dan berbagi resource seperti pada gambar diatas yaitu abc.com bisa sharing directory dengan xyz.com begitupun sebaliknya

Tree : Pada gambar diatas tree bisa kita sebut sebagai subdomain yaitu hierarki domain yang menggunakan namespace yang sama seperti abc.com yang memiliki tree asia.abc.com

Group Policy Objects (GPOs) : Merupakan suatu aturan pada active directory yang diberikan kepada user sebagai contoh kita bisa memaksa user mengganti password sebulan sekali atau password user harus lebih dari 8 karakter menggunakan GPOs

Global Catalog : Secara sederhana sebuah database yang menyimpan semua informasi terkait domain pada suatu forest

Trust Relationship : Dimana kita ingin menghubungkan atau berbagi resource lintas domain dari forest yang berbeda

Protokol dan Authentication

Active Directory menggunakan banyak protocol untuk keperluan fungsionalitas, authentication maupun authorization diantara lain ada LDAP, SMB, RPC, kerberos. Dan disini untuk keperluan pentesting kita akan membahas beberapa protokol yang perlu kalian diketahui

LDAP: LDAP(Lightweight Directory Access Protocol) sendiri merupakan suatu protokol yang dipakai untuk mengakses dan mengelola data pada active directory

Jadi saat user atau service akan berkomunikasi dengan Active Directory user tersebut perlu melakukan serangkaian query pada LDAP protocol yang didalam LDAP sendiri terdapat banyak informasi mengenai object yang disimpan oleh Active Directory dan dapat kita akses menggunakan LDAP query. LDAP menggunakan TCP connection dan port defaultnya yaitu 389 dan 636(dengan tambahan SSL/TLS)

SMB : Protocol smb digunakan untuk berbagi data dan file antar server pada jaringan, jadi menggunakan SMB kita bisa sharing directory yang berguna agar server lain dapat mendownload/upload pada server yang menjalankan SMB dan port default SMB ada di 445

RPC : RPC atau Remote Procedure Call yang berfungsi untuk komunikasi antar object di jaringan yang pada Active Directory RPC berguna untuk meminta suatu layanan ke layanan pada server lain dalam domain. Secara konsep hampir mirip dengan REST API tapi dengan arsitektur yang berbeda yakni dalam RPC kita bisa melakukan fungsi pada server lain yang seolah olah bersifat local

NTLM : Windows New Technology LAN Manager merupakan suatu protokol yang digunakan untuk authentikasi pada operating system windows, dan sebenarnya NTLM ini protokol lama yang sekarang sudah digantikan oleh kerberos karena dianggap sudah usang dan memiliki masalah security tapi meskipun itu masih banyak digunakan hingga sekarang

Cara kerjanya cukup sederhana yang disebut Challenge-Response yaitu pertama client meminta authentikasi ke server dan jika authentikasi valid maka server melakukan response “challenge” berupa nonce(angka acak) yang kemudian dikirimkan kembali pada client lalu client me-response dengan hash dari challenge yang diberikan server serta di gabungkan dengan hash password dari client

Kerberos: Kerberos sekarang ini sudah menjadi protocol authentikasi default pada Active Directory dan pada mekanismenya sendiri juga lebih kompleks

Kita perlu mengerti beberapa istilah untuk memahami komunikasi kerberos pada gambar diatas yaitu terkait dengan ticketing yang sangat penting kita pahami sebagai pentester, beberapa istilah terkait:

KDC(Key Distribution Center) : Merupakan komponen penting pada protocol kerberos yaitu bertindak sebagai service pihak ketiga yang terpercaya(trusted)

AS(Authentication service) : Yaitu suatu layanan / service yang memvalidasi authentikasi client pada kerberos

TGT(Ticket Granting Ticket) : Merupakan ticket yang dikeluarkan oleh kerberos jika authentikasi awal berhasil

TGS(Ticket Granting Server) : Merupakan komponen pada authentikasi kerberos yang berfungsi mengeluarkan ticket untuk mengakses layanan tertentu

Setelah kita tau istilah-istilah penting pada kerberos sekarang kita bahas mekanisme protocolnya

  1. Client melakukan authentikasi kerberos dan meminta TGT ke AS
  2. Jika valid maka AS akan menerbitkan TGT dan TGT diberikan pada client
  3. Lalu client kembali melakukan request ST(Service Ticket) pada kerberos TGS dengan membawa TGT
  4. jika TGT valid maka TGS akan memberikan ST pada client
  5. ST(Service Ticket) ini kemudian dipakai untuk akses ke service tertentu pada active directory seperti file server, email dsb

Penutup

Disini kita sudah belajar mengenai konsep Active Directory dan berguna untuk keperluan pentesting yang mungkin akan aku bahas pada artikel selanjutnya, dan yang perlu ditekankan disini yaitu memiliki fundamental tentang system atau arsitektur itu sangat penting sebelum kita melangkah ke sisi security dan keamanan apalagi topik yang kompleks seperti Active Directory ini jadi semoga saja artikel ini dapat mudah dipahami tentunya semoga bermanfaat juga dan happy hacking, sekian.

“Learning never exhausts the mind.” -Leonardo da Vinci

By xpl0dec

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *