Etki alanı kurumlar için oldukça kritiktir, bu sebeple güvenliğinin korunması için bazı önlemlerin alınması gereklidir. Bu yazıda, Aktif Dizin üzerindeki güvenlik denetimleri için kullanılabilecek hazır araçlar incelenecektir.
Not: Microsoft tarafından PAW, Red Zone gibi yapısal / yönetimsel kontroller veya Etki Alanı Denetleyicileri için sıkılaştırma kontrolleri bulunmaktadır. Bu yazıda ise sadece nesneler üzerindeki güvenlik denetimleri için kullanılabilecek ücretsiz araçlar incelenecektir.
Aktif Dizin üzerindeki denetimler için kullanılabilecek bir çok araç bulunmaktadır. Bu yazıda en önemli görülen ücretsiz araçlar (bir kısmı için de deneme sürümleri) alfabetik olarak listelenecektir. Ekran görüntüleri içerisinde belirtilmemiş olsa da Powershell betikleri için çalıştırma politikasının güncellenmesi gereklidir.
Set-ExecutionPolicy bypass
Uyarı: Betiklerin tamamına yakını Domain Controller üzerinde yetkili kullanıcılar ile çalıştırılması gereklidir. Bu sebeple betiklerinin içerisinin okunması önerilmekte, hatta bu betiklerin (veya çalıştırılabilir dosyaların) izole bir ortama konumlandırılan bir Etki Alanı Denetleyicisi üzerinde çalıştırılması ve raporlar alındıktan sonra da bu sunucunun silinmesi tavsiye edilmektedir. Ayrıca, elde edilen sonuçlar, kurumun Aktif Dizin yöneticileri tarafından incelendikten sonra, ilgili denetçilere verilmesi gerekmektedir. Bu sonuçlar arasında çok kritik veriler (NTDS.dit dosyası gibi) de bulunabilmektedir.
ADACLScanner
Aktif Dizin üzerinde verilen yetkilerin / delegasyonların raporlanması için kullanılabilecek bir Powershell betiğidir.
İndirme bağlantısı;
https://github.com/canix1/ADACLScanner
Betiğin temel özellikleri aşağıdaki gibi sıralanabilir.
- Çıktılar CSV veya HTML formatında dışarıya aktarılabilir.
- SACL ve DACL denetimi için kullanılabilir.
- Varsayılan izinlerin (defaultSecurityDescriptor) raporlanmaması ve sadece özelleştirilmiş izinlerin raporlanması sağlanabilir.
- Üst seviyelerden gelen yetkilendirmelerin (kalıtımların) raporlanmaması sağlanabilir.
- OU veya kullanıcı gibi daha düşük seviyedeki bir nesne bazında denetimler gerçekleştirilebilir.
- Farklı zamanlarda alınan raporlar karşılaştırılarak değişiklikler / farklar listelenebilir.
Betiğin çalışması için temel gereksinimler aşağıdaki gibi sıralanabilir.
- Powershell 2.0 +
- Microsoft .NET Framework 4.0 +
Örnek denetim sonucu;
.\ADACLScanner.ps1
AdAudit
Aktif Dizin üzerindeki kullanıcı, OU, GPO gibi nesnelerin güvenlik denetimleri için kullanılabilecek bir Powershell betiğidir.
İndirme bağlantısı;
https://github.com/phillips321/adaudit
Betiğin temel özellikleri aşağıdaki gibi sıralanabilir.
- Sonuçlar sunucu adıyla oluşturulan bir klasör içerisinde txt uzantı olarak dışarıya aktarılır.
- Etki alanı ve orman fonksiyonellik seviyeleri, mevcut güven ilişkileri gibi bilgileri raporlar.
- SMB sürümü, Null Session gibi güvenlik kontrollerini raporlar.
- Aktif olmayan, devre dışı olan, parolası sonlanmayan, parolasını değiştiremeyecek olan, parolasını değiştirmemiş olan… kullanıcılar listelenir.
- NTDS.dit, SECURITY ve SYSTEM dosyalarını verir.
- Grup ilkelerini HTML ve XML formatında dışarıya aktarır.
- OU izinlerini, LAPS kullanımını, GPO kalıtımlarını, AdminSDHolder nesnesindeki değerleri listeler.
Örnek denetim sonucu;
.\AdAudit.ps1 –all

Adaxes (Deneme Sürümü)
Kullanıcı, bilgisayar, grup, OU gibi nesnelerin güvenlik denetimleri için kullanılabilecek ücretli (30 günlük deneme sürümü kullanılabilen) çalıştırılabilir bir dosyadır.
İndirme bağlantısı;
https://www.adaxes.com/download.htm
Not: Bu aracın asıl işlevi Aktif Dizin, Microsoft Exchange ve Office 365 yönetimini kolaylaştırmaktır. Bunun yanında oluşturulan raporlar Aktif Dizin güvenlik denetimleri için de kullanılabilir.

Uygulamanın temel özellikleri aşağıdaki gibi sıralanabilir.
- Devre dışı olan, yönetilmeyen, mail atabilen, mail kutusu olmayan… kullanıcılar listelenebilir.
- Aktif olmayan, devre dışı olan, yeni oluşturulan,… bilgisayarlar listelenebilir.
- Boş, silmeye karşı korunmayan,… gruplar listelenebilir.
- OU izinleri, OU yönetim bilgileri,… listelenebilir.
- Örnek denetim sonucu aşağıdaki gibidir.

ADPasswordHealth
NTDS.dit dosyasını alarak etki alanındaki kullanıcıların parola özetlerini bir sözlük yardımı ile kırmak ve parolaların güçlülüğü hakkında yorum yapmak amacı ile kullanılabilecek Python betiğidir. İndirme bağlantısı aşağıdadır.
https://github.com/Ne0nd0g/ADPasswordHealth
Örnek denetim sonucu aşağıdaki gibidir.

AD-Reporting
Aktif Dizin üzerindeki kullanıcı, grup, OU, GPO gibi nesnelerin güvenlik denetimleri için kullanılabilecek bir Powershell betiğidir.
İndirme bağlantısı aşağıdadır.
https://gallery.technet.microsoft.com/scriptcenter/Get-Active-Directory-6a1e5468
Uygulamanın temel özellikleri aşağıdaki gibi sıralanabilir.
- Sonuçlar “AD_Reports_TARIH” adıyla oluşturulan bir klasör içerisinde CSV uzantı olarak dışarıya aktarılır.
- Devre dışı olan, parolası sonlanmayan… kullanıcılar listelenebilir.
- Boş, yetkili,… gruplar listelenebilir.
- Boş OU’lar listelenebilir.
- GPO detayları listelenebilir.
Örnek denetim sonucu;
.\AD-Reporting.ps1

ADTidy
Aktif olmayan kullanıcı ve bilgisayar nesnelerinin tespiti ve yönetilmesi için kullanılabilecek EXE formatında ücretli bir araçtır. İndirme bağlantısı;
http://www.cjwdev.co.uk/Software/ADTidy/Info.html
Örnek denetim sonucu;

Get-GroupReport
Aktif Dizin içerisindeki gruplar ile ilgili detaylı raporlama amacı ile kullanılabilecek Powershell betiğidir. İndirme bağlantısı;
http://www.jhouseconsulting.com/2015/01/02/script-to-create-an-overview-and-full-report-of-all-group-objects-in-a-domain-1455
Örnek denetim sonucu;
powershell -ExecutionPolicy bypass .\Get-GroupReport.ps1

Get-VulnerableGPO
NT AUTHORITY\Authenticated Users kullanıcısına geniş yetkilendirme (permGPOApply, permGPORead gibi) yapılmış Aktif Dizin grup ilkelerinin raporlanması için kullanılabilecek bir Powershell betiğidir. Kullanımı için GPMC & SDM PowerShell modülüne ihtiyaç duyar.
İndirme bağlantısı;
https://github.com/gpoguy/GetVulnerableGPO
Örnek denetim sonucu;
.\Get-VulnerableGPO.ps1

Goddi
Aktif Dizin üzerindeki kullanıcı, grup, OU, GPO gibi nesnelerin güvenlik denetimleri için kullanılabilecek bir Go paketidir.
İndirme bağlantısı;
https://github.com/NetSPI/goddi/releases
Aracın temel özellikleri aşağıdaki gibi sıralanabilir.
- Sonuçlar sunucu adıyla oluşturulan bir klasör içerisinde txt uzantı olarak dışarıya aktarılır.
- DC’ler, Etki alanı ve orman fonksiyonellik seviyeleri, mevcut güven ilişkileri, subnet ve site gibi bilgileri raporlar.
- Aktif olmayan, devre dışı olan, kilitli olan, parolası sonlanmayan… kullanıcılar listelenir.
- Parola politikası, LAPS kullanımını, grup ilkeleri, GPP bilgisi, SPN’ler listelenir.
Örnek denetim sonucu;
goddi-windows-amd64.exe -dc=”192.168.245.149″ -domain=”sirket.local” -username=”Yonetici” -password=”Yy123456″ -unsafe

Gold Finger
Aktif Dizin üzerindeki kullanıcı, grup, bilgisayar, OU, GPO, contact, yazıcı, konteynır gibi nesnelerin güvenlik denetimleri için kullanılabilecek ücretli (ücretsiz sürümü çok sınırlı özelliklere sahip olan) bir MSI paketidir.
İndirme bağlantısı;
https://www.paramountdefenses.com/goldfinger.html
Örnek denetim sonucu;
Liza
Aktif Dizin üzerindeki nesnelerin yetkilendirmeleri için kullanılabilecek bir çalıştırılabilir dosyadır.
İndirme bağlantısı;
http://www.ldapexplorer.com/en/liza.htm
Örnek denetim sonucu;

New-ADAssetReportGUI
Aktif Dizin üzerindeki kullanıcı, grup, bilgisayar, GPO gibi nesnelerin güvenlik denetimleri için kullanılabilecek bir PowerShell betiğidir.
İndirme bağlantısı;
https://gallery.technet.microsoft.com/office/Active-Directory-Audit-7754a877
Aracın temel özellikleri aşağıdaki gibi sıralanabilir.
- Sonuçlar çeşitli formatlarda (CSV, HTML, txt) dışarıya aktarılır.
- DC’ler, Etki alanı ve orman fonksiyonellik seviyeleri, mevcut güven ilişkileri, subnet ve site gibi bilgileri raporlar.
- Aktif olmayan, devre dışı olan, kilitli olan, parolası sonlanmayan… kullanıcılar listelenir.
- Kritik grupların üyeleri, Exchange ve Lync sunucuları listelenir.
Örnek denetim sonucu;


NTFSSecurity
Etki alanı denetleyicisi (Domain Controller) üzerindeki dizinlerin NTFS erişimlerini denetlemek için kullanılabilecek bir PowerShell modülüdür.
İndirme bağlantısı;
https://gallery.technet.microsoft.com/scriptcenter/1abd77a5-9c0b-4a2b-acef-90dbb2b84e85
Örnek denetim sonucu;
dir C:\Users\<KullaniciAdi>\Documents\WindowsPowerShell\Modules
Import-Module NTFSSecurity
Get-ChildItem -Path C:\,K:\ | Get-NTFSAccess -ExcludeInherited | Export-Csv Izinler.cxv

OU_permissions
Aktif Dizin üzerindeki OU’ların yetkilendirmeleri için kullanılabilecek bir PowerShell betiğidir.
İndirme bağlantısı;
https://gallery.technet.microsoft.com/Active-Directory-OU-1d09f989
Örnek denetim sonucu;
.\OU_permissions.ps1

Ping Castle
Aktif Dizin üzerindeki kullanıcılar, gruplar, bilgisayarlar gibi nesnelerin risk skorlaması için kullanılabilecek bir C# projesidir.
İndirme bağlantısı;
https://www.pingcastle.com/download/
Örnek denetim sonucu;


