tüm yazılar

Active Directory Güvenlik Denetiminde İki Güçlü Araç: ADPulse ve PingCastle

Active Directory ortamlarındaki zafiyetleri, yapılandırma hatalarını ve risk skorlarını analiz etmek için kullanılan ADPulse (Python) ve PingCastle (C#) araçlarının teknik incelemesi ve karşılaştırması.

Active Directory Güvenlik Denetiminde İki Güçlü Araç: ADPulse ve PingCastle

Active Directory (AD) yapıları, kurumların tüm kimlik, yetkilendirme ve erişim yönetiminin kalbini oluşturur. Ancak zamanla büyüyen, miras (legacy) yapılandırmalarla karmaşıklaşan ve binlerce objeden oluşan bir AD domain ortamında güvenlik zafiyetlerini ve yanlış yapılandırmaları (misconfigurations) manuel olarak tespit etmek neredeyse imkansızdır.

Hem Red Team sızma testlerinde hem de Blue Team / SOC iç denetim süreçlerinde domain yapısının güvenlik durumunu (security posture) analiz etmek için otomatize güvenlik tarayıcılarına ihtiyaç duyarız.

Bu yazıda, Active Directory güvenlik denetiminde öne çıkan ve farklı kullanım senaryolarına hitap eden iki popüler açık kaynaklı aracı detaylarıyla inceleyeceğiz: ADPulse ve PingCastle.


1. PingCastle — Kurumsal AD Denetiminin Endüstri Standardı

PingCastle (Vincent LE TOUX / Netwrix tarafından geliştirilen), Active Directory güvenlik risk değerlendirmesi denildiğinde dünyada en çok tercih edilen endüstri standardı araçtır.

Temel Özellikleri ve Çalışma Mantığı

  • Agentless ve Taşınabilir: Domain Controller üzerine herhangi bir ajan (agent) kurulmasını gerektirmez. Windows üzerinde doğrudan çalıştırılabilen tek bir C# binary (PingCastle.exe) halindedir.
  • Risk Skoru ve Olgunluk Modeli (0 - 100): Domain ortamına 0 ile 100 arasında bir risk skoru verir (Skor ne kadar yüksekse risk o kadar büyüktür).
  • 4 Ana Güvenlik Sütunu (Pillars):
    1. User Rights (Kullanıcı Yetkileri): Aşırı yetkili hesaplar, AdminSDHolder, varsayılan admin grupları.
    2. Stale Objects (Eski/Atıl Objeler): Uzun süredir parola değiştirmeyen hesaplar, pasif bilgisayarlar.
    3. Trust Relationships (Güven İlişkileri): Dış domain ve forest güven yapıları, SID History zafiyetleri.
    4. Security Controls (Güvenlik Kontrolleri): LAPS kullanımı, KRBTGT parola yaşı, GPO izinleri, SMB/LDAP Signing durumları.

PingCastle Çalışma Modları

  • Healthcheck: Genel AD risk haritasını ve yönetici özeti HTML raporunu oluşturur.
  • Cartography: Forest ve Domain'ler arası güven ilişkilerini görsel bir harita olarak çıkarır.
  • Scanner: Zerologon, PetitPotam, Spooler gibi spesifik zafiyetleri domain genelinde tarar.
  • Consolidation: Birden fazla domain/forest raporunu tek bir raporda birleştirir.

Örnek Kullanım:

# Standart sağlık kontrolü ve HTML rapor üretimi
PingCastle.exe --healthcheck --domain corp.local

# Zafiyet taraması modu
PingCastle.exe --scanner zerologon

2. ADPulse — Python Tabanlı Modern ve Hızlı AD Zafiyet Tarayıcısı

ADPulse (dievus/ADPulse), Python ekosistemi üzerinde geliştirilmiş, Agentless çalışan son derece modüler ve hızlı bir Active Directory güvenlik tarayıcısıdır.

Özellikle Linux / Kali Linux kullanan Red Team operatörleri ve penetrasyon test uzmanları için Windows makineye ihtiyaç duymadan uzaktan AD taraması yapabilme imkanı sunar.

Temel Özellikleri ve Taramalar (35+ Güvenlik Kontrolü)

ADPulse, Active Directory ortamında en sık istismar edilen 35 farklı kritik güvenlik kontrolünü otomatik olarak gerçekleştirir:

  1. Kimlik Bilgisi ve Kimlik Doğrulama Zafiyetleri:
    • AS-REP Roasting (DONT_REQ_PREAUTH biti açık hesaplar)
    • Kerberoasting (SPN tanımlı kullanıcı hesapları)
    • Parola gerektirmeyen (PASSWD_NOTREQD) veya süresi dolmayan hesaplar
  2. Delegasyon Zafiyetleri:
    • Unconstrained Delegation (Kısıtlamasız delegasyon tanımlı makineler/hesaplar)
    • Constrained Delegation & Protocol Transition
    • RBCD (Resource-Based Constrained Delegation)
  3. Altyapı ve Etki Alanı Ayarları:
    • ms-DS-MachineAccountQuota (Varsayılan 10 makine ekleme hakkı kontrolü)
    • KRBTGT Parola Yaşı (Son 180 günde değiştirilip değiştirilmediği)
    • LAPS Yapılandırması (Local Administrator Password Solution varlığı)
    • AdminSDHolder ve SDProp korumasındaki objeler
    • SMB Signing ve LDAP Signing / Channel Binding zorunluluğu

Örnek Kullanım:

# Bağımlılıkların yüklenmesi
pip install -r requirements.txt

# Temel tarama ve HTML rapor üretimi
python adpulse.py -u john.doe -p 'Password123!' -d corp.local -dc 172.31.101.5 -f html

# Hash ile kimlik doğrulama (Pass-the-Hash) üzerinden tarama
python adpulse.py -u john.doe --hashes :b963c57010f218edc2cc3c229b5e4d0f -d corp.local -dc 172.31.101.5

ADPulse tarama sonucunda zafiyetleri kritiklik seviyesine göre gruplayıp iyileştirme (remediation) önerileri içeren detaylı bir HTML veya JSON rapor sunar.


ADPulse ve PingCastle Karşılaştırması

Özellik / Kriter PingCastle ADPulse
Geliştirme Dili C# (.NET Framework) Python 3 (impacket, ldap3)
Çalıştırma Platformu Windows (Executables) Linux / macOS / Windows (Cross-Platform)
Ana Kullanım Amacı Kurumsal Olgunluk Raporlama & Blue Team Audit Hızlı Zafiyet Taraması & Red Team Assessment
Raporlama Formatı Detaylı Grafikli HTML & XML Modern HTML, JSON & Text
Pass-the-Hash Desteği Kısıtlı (Windows token değişimi) Yerleşik (--hashes desteği)
Görsel Haritalama Var (Trust Cartography & Heatmap) Yok (Skorlama & Liste)
Lisans Türü Proprietary / Commercial (Netwrix) Açık Kaynak (MIT License)

Hangi Araç Ne Zaman Tercih Edilmeli?

  • PingCastle Tercih Edilmelidir:

    • Şirketinizin iç siber güvenlik denetimini yapıyorsanız,
    • Yönetim kuruluna veya C-Level yöneticilere anlaşılır risk skorları (0-100) ve grafiksel raporlar sunmanız gerekiyorsa,
    • Windows ortamında etki alanına dahil veya dahil olmayan bir sistem yöneticisi makinesinden tek tıkla tarama yapacaksanız.
  • ADPulse Tercih Edilmelidir:

    • Red Team operasyonu sırasında Linux / Kali Linux makinesinden hızlı bir şekilde AD zafiyetlerini haritalamak istiyorsanız,
    • Elinizde sadece parola hash'i (Pass-the-Hash) varsa ve dışarıdan tarama yapmanız gerekiyorsa,
    • Otomasyon sistemlerinize (CI/CD veya DevSecOps pipeline) JSON formatında AD güvenlik taraması entegre edecekseniz.

Sonuç

Active Directory güvenliğini sağlamak sürekli bir süreçtir. Hem PingCastle'ın sunduğu kapsamlı kurumsal bakış açısı hem de ADPulse'un sunduğu esnek ve hızlı tarama yetenekleri, AD ortamlarındaki kritik zafiyetler (Kerberoasting, Delegasyon hataları, LAPS eksiklikleri vb.) siber saldırganlar tarafından istismar edilmeden önce tespit edilip kapatılması için vazgeçilmez iki yardımcıdır.