Active Directory — TryHackMe

Aslıhan Kuzucu
8 min readSep 16, 2023

--

LINK: https://tryhackme.com/room/activedirectorybasics

Active Directory (AD), Windows işletim sistemleri tarafından kullanılan ve ağdaki kullanıcılar, bilgisayarlar, gruplar ve diğer kaynaklar için merkezi kimlik doğrulama ve yönetim sağlayan bir dizin hizmetidir. Bu, büyük kuruluşların, kurumsal ağlarındaki kullanıcıları, kaynakları ve izinleri yönetmelerine yardımcı olan önemli bir bileşendir.

Active Directory’nin temel özellikleri ve işlevleri şunlardır:

  • Kimlik Doğrulama ve Yetkilendirme: Active Directory, kullanıcıların kimlik doğrulama bilgilerini (kullanıcı adları ve şifreler) saklar ve yetkilendirmeyi kontrol eder. Kullanıcılar, bu kimlik bilgilerini kullanarak ağa erişebilir ve belirlenen izinlere göre kaynaklara erişim sağlayabilirler.
  • Merkezi Yönetim: Active Directory, ağdaki kullanıcılar, gruplar ve bilgisayarlar gibi nesnelerin merkezi bir veri tabanında saklanmasını sağlar. Bu, yöneticilerin tüm bu nesneleri merkezi bir konumdan kolayca yönetmelerine olanak tanır.
  • Organizasyonel Yapı: Active Directory, ağdaki nesneleri hiyerarşik bir yapıda düzenler. En üst düzeyde “forest” bulunur ve bir veya daha fazla “alan” içerebilir. Her alan içinde de “domain”ler yer alır. Bu yapı, ağdaki kaynakları organize etmek ve erişim izinlerini düzenlemek için kullanılır.
  • Politikalar ve Grup İlkeleri: Active Directory, grup ilkeleri adı verilen yapılandırma ve güvenlik politikalarını tanımlamak için kullanılır. Bu politikalar, kullanıcıların ve bilgisayarların davranışını ve güvenlik ayarlarını belirler.
  • Kullanıcılar ve Gruplar: Active Directory, ağdaki kullanıcı hesaplarını ve bu kullanıcıları gruplar altında düzenler. Bu sayede, yöneticiler kullanıcıları daha kolay bir şekilde yönetebilir ve kaynaklara erişim izinlerini gruplar üzerinden atayabilir.

Active Directory’nin kullanılması, büyük şirketlerde kullanıcıların etkin bir şekilde yönetilmesine ve ağdaki kaynaklara güvenli ve merkezi bir şekilde erişimin sağlanmasına yardımcı olur.

Active Directory ile ilgili temel kavramları aşağıda verdim, yazının devamında her bir kavramı detaylı olarak açıklayacağım.

  • Domain Controllers
  • Forests, Trees, Domains
  • Users + Groups
  • Trusts
  • Policies
  • Domain Services

Fiziksel Active Directory, yerel sunucu ve makinelerden oluşur ve bunlar, domain denetleyicileri ve depolama sunucuları gibi her şeyi içerir; yani yazılım haricinde, Active Directory ortamı için gerekli olan tüm bileşenlerdir.

Domain Controllers

Domain denetleyicisi, Active Directory Domain Hizmetleri (AD DS) yüklü olan ve forest’da bir domain denetleyicisi olarak tanımlanmış olan bir Windows sunucusudur. Domain denetleyicileri, Active Directory’nin merkezidir ve domainin geri kalanını kontrol eder. Aşağıda domain denetleyicisinin görevlerini belirteceğim:

  • AD DS veri deposunu tutar.
  • Kimlik doğrulama ve yetkilendirme hizmetlerini yönetir.
  • Ormandaki diğer domain denetleyicilerinden güncelleştirmeleri alıp eşitleme yapar.
  • Yönetici erişimi sağlayarak domain kaynaklarını yönetmeyi mümkün kılar.

“AD DS” Data Store

Active Directory Veri Deposu, kullanıcılar, gruplar ve hizmetler gibi dizin bilgilerini saklamak ve yönetmek için gereken veritabanını ve süreçleri barındırır. Aşağıda AD DS Veri Deposu’nun içeriği ve özellikleri hakkında bir özet bulunmaktadır:

  • NTDS.dit’yi içerir — bu veritabanı, bir Active Directory domain denetleyicisinin tüm bilgilerini ve domain kullanıcıları için şifre karmalarını içerir.
  • Varsayılan olarak %SystemRoot%\NTDS içinde saklanır.
  • Sadece domain denetleyicisi tarafından erişilebilir.

Forest -> Active Directory domainlerinden mantıksal yapıdaki en dış katmandır. İçerisinde bir ya da birden fazla domain yapısı barındıran yapıya forest denir. Forest içerisinde kurulan ilk domaine Forest root domain adı verilir.

Schema ->Bütün active directory nesnelerinin bilgilerini tutan yapıdır.

Domain ->Domain kullanıcıların ve ağa dahil olan cihazların yönetimini merkezileştiren yapıdır. Active Directory de bu yapı üzerinde çalışan bir servistir.

Site ->Active Directory domainleri içerisindeki, DCler arası replikasyon trafiğini sağlamak ve kontrol altına almak için oluşturulmuş yapılardır.

Subnet -> Alt ağ dır, IP yönetimini daha verimli yapabilmek için kullanılır.

Organizational unit ->Domain içerisindeki nesneleri organize etmeyi sağlayan birimleridir. Organizational Unitler kullanıcı hesapları, grup hesapları, bilgisayar hesapları, yazıcılar, paylaşılmış klasörler gibi nesneleri içerirler.

Kullanıcılar Genel Bakış:

Kullanıcılar, Active Directory için temel taşıyıcılardır; çünkü kullanıcılar olmadan neden Active Directory kullanalım ki? Active Directory ağı içinde, dört ana kullanıcı türü bulunur; ama gerektiği durumlarda daha fazla kullanıcı türü de olabilir.

Dört ana kullanıcı türü şunlardır:

  • Domain Admins (Alan Yöneticileri) — Bu, büyük patron gibidir: domainleri kontrol eder ve domain denetleyicisine erişimi olan tek kişidir.
  • Hizmet Hesapları (Domain Admins olabilir) — Bu tür hesaplar genellikle hizmet bakımı için kullanılır ve SQL gibi hizmetler için bir hizmet hesabıyla eşleştirme yapmak için Windows tarafından gereklidir.
  • Yerel Yöneticiler (Local Administrators) — Bu kullanıcılar, bir yönetici olarak yerel makinelere değişiklik yapabilir ve hatta diğer normal kullanıcıları kontrol edebilirler, ancak domain denetleyicisine erişemezler.
  • Domain Users (Alan Kullanıcıları) — Bunlar, günlük kullanıcılarınızdır. Yetkilendikleri makinelere giriş yapabilir ve organizasyona bağlı olarak yerel yönetici haklarına sahip olabilirler.

Gruplar:

Gruplar, kullanıcılara ve nesnelere belirli izinleri atamak için onları gruplara ayırarak kolaylaştırır.

Active Directory’de iki ana türde grup bulunur:

  • Güvenlik Grupları (Security Groups) — Bu gruplar, birçok kullanıcı için izinleri belirtmek için kullanılır.
  • Dağıtım Grupları (Distribution Groups) — Bu gruplar, e-posta dağıtım listelerini belirtmek için kullanılır. Saldırgan olarak bu gruplar bize daha az faydalı olabilir, ancak yine de taramada faydalı olabilirler.

Varsayılan Güvenlik Grupları:

  • Domain Controllers (Alan Denetleyicileri) — Alan içindeki tüm domain denetleyicileri.
  • Domain Guests (Alan Konukları) — Alan içindeki tüm domain konukları.
  • Domain Users (Alan Kullanıcıları) — Alan içindeki tüm domain kullanıcıları.
  • Domain Computers (Alan Bilgisayarları) — Alan tarafından desteklenen tüm iş istasyonları ve sunucular.
  • Domain Admins (Alan Yöneticileri) — Alanın belirlenen yöneticileri.
  • Enterprise Admins (Kurumsal Yöneticiler) — Kurumsalın belirlenen yöneticileri.
  • Schema Admins (Şema Yöneticileri) — Şemanın belirlenen yöneticileri.
  • DNS Admins (DNS Yöneticileri Grubu)
  • DNS Update Proxy
  • Allowed RODC Password Replication Group (RODC Parola Eşitleme İzni Verilen Grup)
  • Group Policy Creator Owners (Grup İlkesi Oluşturan Sahipleri)
  • Denied RODC Password Replication Group (RODC Parola Eşitlemeyi Reddedilen Grup)
  • Protected Users (Korunan Kullanıcılar)
  • Cert Publishers (Sertifika Yayıncıları)
  • Read-Only Domain Controllers (Salt Okunur Domain Denetleyicileri)
  • Enterprise Read-Only Domain Controllers (Kurumsal Salt Okunur Domain Denetleyicileri)
  • Key Admins (Anahtar Yöneticileri)
  • Enterprise Key Admins (Kurumsal Anahtar Yöneticileri)
  • Cloneable Domain Controllers (Klonlanabilir Domain Denetleyicileri)
  • RAS and IAS Servers (Uzak Erişim ve IAS Sunucuları)

Domain Trusts (Alan Güvenlik İlişkileri), Active Directory ağı içindeki domainler arasındaki erişim ve iletişimi sağlamak için kullanılan bir mekanizmadır. Bir domain, başka bir domaindeki kaynaklara erişmek veya güvenli bir şekilde iletişim kurmak istediğinde, iki domain arasında bir güvenlik ilişkisi (trust) oluşturulur. Bu sayede kullanıcılar ve kaynaklar, farklı domainlerdeki kaynaklara erişebilirler.

Domain Trusts iki ana çeşide ayrılır:

  • Yönlü Güvenlik İlişkileri (Directional Trusts): Bu tür güvenlik ilişkileri, bir domainin başka bir domaini güvendiği durumlarda kullanılır. Yani, güvenlik ilişkisi akışı güvenen domainden güvenilen domaine doğrudur. Güvenen domain, güvenilen domaindeki kullanıcılara ve kaynaklara erişebilir.
  • Aktarılabilir Güvenlik İlişkileri (Transitive Trusts): Bu tür güvenlik ilişkileri, sadece iki domain arasında kalmaz, aynı zamanda diğer güvenilen domainleri de içine alır. Yani, eğer Domain A Domain B’ye güveniyorsa ve Domain B de Domain C’ye güveniyorsa, bu durumda Domain A, Domain C’ye de güvenecektir. Bu sayede, güvenlik ilişkileri geniş bir ağ yapısında otomatik olarak genişletilir ve kullanıcılar farklı domainlerdeki kaynaklara erişebilir.

Bu güvenlik ilişkileri, ağda kaynakların ve kullanıcıların daha kolay ve etkin bir şekilde paylaşılmasını sağlar. Ayrıca, farklı domainlerdeki sistemlerin etkileşimini ve güvenliğini düzenlemek için kullanıcı ve kaynak yetkilendirmeleri konusunda önemli bir rol oynar.

Domain Servisleri (Domain Services):

Domain Servisleri, Active Directory ortamında önemli rol oynayan ve domain denetleyicileri tarafından sağlanan hizmetleri ifade eder. Aşağıda, temel domain servisleri hakkında kısa bir açıklama bulunmaktadır:

  • LDAP (Lightweight Directory Access Protocol): Uygulamalar ve dizin hizmetleri arasında iletişimi sağlayan bir protokoldür. Active Directory, LDAP üzerinden kullanıcı, grup ve diğer nesnelerin verilerini yönetir.
  • Certificate Services (Sertifika Hizmetleri): Public key sertifikalarını oluşturmak, doğrulamak ve iptal etmek için kullanılan bir hizmettir. Active Directory, sertifika hizmetleriyle güvenli kimlik doğrulamayı sağlar.
  • DNS, LLMNR, NBT-NS (Domain Name Services): IP adreslerini ana bilgisayar adlarına çeviren hizmetlerdir. Active Directory’nin düzgün çalışması için DNS hizmetinin düzgün yapılandırılması önemlidir.

Domain Kimlik Doğrulama (Authentication) Çeşitleri:

Active Directory’de iki temel kimlik doğrulama protokolü vardır:

  • Kerberos: Active Directory’nin varsayılan kimlik doğrulama servisidir. Kerberos, kullanıcıları kimlik doğrulama bileti (TGT) ve hizmet bileti (Service Ticket) kullanarak doğrular. TGT ve hizmet bileti, kullanıcıların domain içinde diğer kaynaklara erişim sağlamasını sağlar.
  • NTLM (NT LAN Manager): Windows’un varsayılan kimlik doğrulama protokolüdür. NTLM, şifreli bir meydan okuma/yanıt (challenge/response) protokolü kullanır. Kerberos’a göre daha eski bir protokoldür ve bazı güvenlik zayıflıklarına sahip olabilir.

Günümüzde birçok şirket, kimlik yönetimi ve kullanıcı erişimi için Azure AD gibi bulut tabanlı hizmetleri kullanmayı tercih etmektedir. Azure AD, şirketlerin kullanıcıların güvenli ve kolay bir şekilde bulut tabanlı uygulamalara ve hizmetlere erişmelerini sağlar. Şirketler aynı zamanda, şirket içi Active Directory ile Azure AD arasında entegrasyon ve senkronizasyon sağlayarak, kullanıcı hesaplarını ve kimlik doğrulamalarını daha etkin bir şekilde yönetebilirler.

Bulut tabanlı bir çözüm olan Azure AD, fiziksel sunuculara dayalı geleneksel Active Directory’den farklı özelliklere sahiptir. Bazı temel farklılıklar şunlardır:

  • Veri Depolama ve Erişim: Azure AD, kullanıcı ve kimlik bilgilerini bulut tabanlı bir veri deposunda saklar ve yönetir. Bu sayede, fiziksel sunuculara ihtiyaç duyulmaz ve şirketlerin bulut tabanlı çözümlere kolayca erişmesi sağlanır.
  • İdari Kontrol: Azure AD, bulut tabanlı bir hizmet olduğu için, idari kontrole uzaktan erişim sağlar. Yöneticiler, buluttaki bir yönetim konsolu üzerinden kullanıcı hesaplarını ve kimlik doğrulamalarını yönetebilirler.
  • Ölçeklenebilirlik: Azure AD, ihtiyaç duyulan kullanıcı sayısına göre ölçeklenebilir. Şirketler, artan kullanıcı sayısıyla birlikte kolayca hizmet kapasitesini artırabilirler.
  • Uzaktan Erişim: Bulut tabanlı olması sayesinde, kullanıcılar herhangi bir cihazdan ve herhangi bir yerden bulut tabanlı uygulamalara ve hizmetlere erişebilirler.

Powershell’de kullanılan bazı komutlar:

  • cd Downloads: Bu komut, “Downloads” klasörüne giderek çalışma dizinini değiştirir. Yani, dosyaları “Downloads” klasöründe arayacağız.
  • powershell -ep bypass: Bu komut, PowerShell’ı başlatırken güvenlik kurallarını atlayarak çalıştırır. Yani, PowerShell betiklerini ve komut dosyalarını çalıştırmak için gereken bazı güvenlik kontrollerini geçer. Bu sayede, betikler ve komut dosyaları çalıştırılmadan önce normalde uygulanan güvenlik kısıtlamaları etkisiz hale getirilir.
  • .\PowerView.ps1: Bu komut, “PowerView.ps1” adlı bir PowerShell betiğini çalıştırır. PowerView, Active Directory’yi analiz etmek ve bilgi toplamak için kullanılan bir araçtır. Bu komutla PowerView betiği çalıştırılır ve Active Directory ile ilgili bilgiler alınabilir.

Bypass etmek, güvenlik önlemlerini atlama anlamına gelir. Özellikle PowerShell’de kullanıldığında, PowerShell betiklerinin ve komut dosyalarının normalde uygulanan güvenlik kısıtlamalarını geçerek çalışmasına izin verir.

Get-NetGroup -GroupName *: Bu komut, Active Directory’deki tüm grupları listeler. “Get-NetGroup” komutu, PowerView modülünün bir parçasıdır ve Active Directory üzerinde grupları sorgulamak için kullanılır. -GroupName * parametresi, tüm grupların listelenmesini sağlar.

Get-NetUser -SPN: Bu komut, SPN (Service Principal Name) özelliğine sahip tüm kullanıcıları listeler. SPN, belirli bir hizmetin kimlik doğrulamasını temsil eden bir tanımlayıcıdır. “Get-NetUser” komutu da PowerView modülünün bir parçasıdır ve Active Directory’deki kullanıcıları sorgulamak için kullanılır.

?{$_.memberof -match ‘Domain Admins’}: Bu kısım, önceki “Get-NetUser -SPN” komutunun çıktısındaki kullanıcıları filtreler. -match operatörü, belirli bir deseni içeren sonuçları filtrelemek için kullanılır. Burada, “Domain Admins” adlı bir gruba üye olan kullanıcıları filtrelemek için kullanılır. Yani, bu komut, “Domain Admins” grubuna üye olan kullanıcıları görüntüler.

Okuduğunuz için teşekkürler.

--

--

Aslıhan Kuzucu

Curious computer engineer interested in cyber security👩‍💻