← Back to list

Bir Ağın Ele Geçirilme Günlüğü: Active Directory Sızma Testinde Golden Ticket’a Uzanan Yol

Bu yazıda, kendi laboratuvar ortamımda gerçekleştirdiğim bir sızma testinin; bir kullanıcıdan başlayıp tüm domaini kontrol altına alan…

Arda · 2026-01-14 23:30 · 1 claps · 4.8 min read
#active-directory #siber-guvenlik #bilgi-güvenliği #sızma-testi
Open on Medium ↗
Wiki topics: 🎬 · Film & Television 📊 · Economic Policy

Bir Ağın Ele Geçirilme Günlüğü: Active Directory Sızma Testinde Golden Ticket’a Uzanan Yol

Bu yazıda, kendi laboratuvar ortamımda gerçekleştirdiğim bir sızma testinin; bir kullanıcıdan başlayıp tüm domaini kontrol altına alan Golden Ticket saldırısına nasıl dönüştüğünü adım adım paylaşacağım.

1. İlk Temas ve Keşif: CrackMapExec’in Gücü

Saldırıya, Active Directory (AD) ortamlarının “İsviçre Çakısı” olarak bilinen CrackMapExec (CME) ile başladım. CME, ağdaki makineleri taramak ve ele geçirilen kimlik bilgileriyle yanal hareket (lateral movement) yapmak için mükemmel bir araçtır.

İlk adımda elimdeki alituran kullanıcısının şifresiyle sistemi taradım. Amacım sistem hakkında bilgi toplamaktı. Yaptığım tarama sonucunda bu kullanıcının hedef makinede bir yerel kullanıcı olduğunu tespit ettim.

2. Password Spray (Parola Püskürtme)

Siber saldırganların geleneksel “Brute Force” (Kaba Kuvvet) saldırılarının aksine, hesapların kilitlenmesini önlemek için uyguladıkları çok daha sinsi bir yöntemdir.

Yani nedir Bu? Diyelim ki bir oteldesiniz. Bir odanın kapısını zorlamak yerine, elinizde “123456” gibi çok yaygın bir anahtar olduğunu hayal edin ve tüm odalarda bu anahtarı tek tek deniyorsunuz. Elbet birisi bu basit şifreyi kullanıyordur!

Bu protokoller de kullanılabilir:

SMB->445->Windows Domain Kullanıcıları

HTTP(S)->80/443->Office 365, OWA, VPN Panelleri

RDP->3389->Windows Masaüstü ErişimiSSH22Linux Sunucu Erişimi

LDAP->389->Rehber Servisleri (Active Directory)

Password Spray

Password Spray

1. SMB (Server Message Block)

Şirket içi ağa sızan bir saldırgan, tüm domain kullanıcılarını bu protokol üzerinden test eder.

2. HTTP / HTTPS (Web Protokolleri) Çalışanlar genellikle kurumsal web portalları için zayıf şifreler seçer ve bu sayfalar dünyanın her yerinden saldırıya açıktır.

3. RDP (Remote Desktop Protocol)

3389 numaralı port üzerinden kullanıcı adı ve şifre püskürtülerek doğrudan bir bilgisayarın masaüstü yetkisi alınmaya çalışılır.

4. SSH (Secure Shell)

Özellikle Linux sunucuların yönetildiği protokol.22 numaralı port üzerinden root veya yaygın kullanıcı adları (admin, ubuntu, test) için şifreler denenir.

5. SNMP (Simple Network Management Protocol)

SNMP’nin özellikle v1 ve v2 sürümleri bu saldırıya karşı çok savunmasızdır.Burada “kullanıcı adı” yerine “community string” adı verilen parolalar (varsayılan olarak public veya private) püskürtülür.

Not!!

Bu saldırıyı öğrendiğimde aklıma gelen ilk soru “Bu saldırı çok uzun sürmez mi?” sorusu oldu.

Süreyi etkileyen faktörleri ve saldırganların bu süreyi nasıl kısalttığını araştırdım işte sonuçları:

1. Otomasyon ve Paralel Çalışma

Saldırganlar bu işlemi el ile yapmazlar. CrackMapExec, Hydra veya SprayHound gibi araçlar, aynı anda yüzlerce bağlantı açabilir. Araç, saniyede 50–100 farklı kullanıcıya aynı şifreyi “püskürtebilir”. 5.000 kişilik bir şirkette herkesi tek bir şifreyle denemek sadece birkaç dakika sürer. Ayrıca özellikle SMB ve LDAP gibi protokoller, kimlik doğrulama isteklerine milisaniyeler içinde yanıt verir.

2. Akıllı Bekleme Süreleri (Jitter)

Hesap kilitlenme politikasından kaçınmak için örneğin her 30 dakikada bir sadece 1 şifre denerler. Günün sonunda sadece 48 şifre denenmiş olur ama bu 48 şifre, şirketteki tüm çalışanlar için denenmiş olur.

3. Hedef Küçültme (User Enumeration)

Saldırganlar tüm ağa saldırmak yerine önce hedef listesini daraltırlar. Genelde pasif yöntemlerle yapılır. (LinkedIn, web sitesi vb.) Çalışan isimlerini toplarlar.

4. İstatistiksel Olarak “En Muhtemel” Şifreler

Saldırganlar rastgele şifre denemezler. Mevsime, yıla veya şirketin adına göre istatistiksel olarak tutma ihtimali en yüksek 5–10 şifreyi seçerler:

Örneğin:

->ŞirketAdı2026!

->Kış2026*

->Welcome123

Ya da hala en fazla kullanılan

->12345

  • 159357

crackmapexec

crackmapexec

Öncelikle user.lst ve pass.lst oluşturdum ve saldırıyı gerçekleştirdim. saldırıda “— continue-on-success “Parametresini kullandım. bu parametre çok önemli çünkü normalde araç bir şifre bulduğunda durur ben ise bu parametreyi kullanarak durma devam et demiş oldum.

En altta “btklab.local\alituran:P@ssw0rd” eşleşmesini yakaladım. Artık şifreye sahibim ve “golden ticket “saldırısı yapabilrim.

3. Hafızayı Okumak: Mimikatz

İçeri girdikten sonra daha yüksek yetkilere ihtiyacım vardı. Bunun için Mimikatz isimli efsanevi bir aracı kullandım (veya Metasploit içindeki adıyla Kiwi).

Neden Yaptım? Bilgisayarlar siz giriş yaptığınızda şifrenizi veya o şifrenin dijital bir izi olan “hash” bilgisini RAM (bellek) üzerinde tutar. Mimikatz, bilgisayarın bu “kısa süreli hafızasına” sızıp oradaki tüm şifreleri okumamı sağladı.

NOT!

İlk denememde Mimikatz’i normal bir kullanıcı olarak çalıştırdım ve hata aldım. Çünkü bu araç, Windows’un hassas verilerini tutan “lsass.exe” işlemine sızmak zorundadır ve bunun için Yönetici (Administrator) yetkisi şarttır.

İlk Hazırlık: Dosya Transferi

Mimikatz dosyalarını Kali Linux makinemden hedef Windows 10 kurbanıma aktarmak için Python ile hızlı bir HTTP sunucusu kurdum:

# Kali tarafında
python3 -m http.server 80

ardından Mimikatz’i yönetici olarak açtıktan sonra şu komutla tam yetki aldım:

privilege::debug

Bu komutla SeDebugPrivilege ayrıcalığını aktif ettim. Bu adım, aracın bellek süreçlerini okuyabilmesi için zorunludur. Ardından bellekteki tüm kullanıcıları ve hash’lerini döktüm:

sekurlsa::msv

(Alternatif olarak “sekurlsa::logonpasswords” de kullanılabilir). Burada da01 (Domain Admin) kullanıcısının NTLM hash bilgisini yakaladım. Hemen yeni bir .txt dosyası açıp bu hash’i not ettim. Şimdi bu hash’i kullanarak şifresiz giriş yapma vakti:

sekurlsa::pth /user:da01 /domain:btklab.local /ntlm:[BURAYA_HASH_GELECEK]

Komut başarıyla çalıştı ve arka planda bana da01yetkileriyle donatılmış yepyeni bir cmd.exe ekranı açtı! whoami yazdığımda artık bir Domain Admin olduğumu gördüm.

Pass-the-Hash (Hash’i Geçme): Buradaki en büyük numara şu: Bir yöneticinin şifresini bulmanıza gerek yok. O şifrenin dijital izini (hash) bulduğunuz an, bilgisayara “Ben bu şifreyi biliyorum, işte izi!” diyerek şifresiz giriş yapabilirsiniz. Ben de tam olarak bunu yaptım ve Domain Admin (Sistemin en yetkili kişisi) yetkisine ulaştım.

Pass-the-Hash

Pass-the-Hash

Küçük Bir Not: Aslında bu mantığa çok yabancı değildim. Siber güvenliğe ilk başladığım zamanlarda, Bandit (OverTheWire) laboratuvarlarının özellikle Bandit Level 14 gibi bölümlerinde, bir sonraki seviyeye geçmek için şifre yerine özel anahtarları veya verileri kullanmamız gerekiyordu. Orada “şifrenin kendisi yerine ona erişim sağlayan veriyi kullanma” mantığını ilk kez görmüştüm. Eğer merak ediyorsanız aşşağıda ki adresten ulaşabilirsiniz.

[embed]OverTheWire: Level Goal The password for the next level is stored in /etc/bandit_pass/bandit14 and can only be read by user bandit14. For this…overthewire.org

4. Büyük Final: Golden Ticket (Altın Bilet)

Artık sistemin en tepesindeyim ama şifreler değişirse dışarıda kalabilirim. İşte burada devreye Golden Ticket giriyor. Yani amacım sadece içeri girmek değil, içeride kalıcı (persistence) olmaktı. KRBTGT hesabının hash’ini ele geçirmek, kalenin anahtarını kopyalamak değil; kalenin bizzat anahtar basan makinesini ele geçirmektir. Bu hash elimde olduğu sürece, domaindeki tüm şifreler değişse bile ben kendime 10 yıl geçerli biletler üretebilirim.

Mantığı Nedir? Bu bilet, domain ortamındaki “Kraliyet Mührü” gibidir. Kerberos adı verilen güvenlik sisteminin kalbindeki gizli bir hesabın izini ele geçirdim. Bu izle kendime "SA" adında, sınırsız yetkiye sahip ve 10 yıl boyunca asla bitmeyecek bir bilet oluşturdum.

Golden Ticket Adımlarım:

Önce gizli krbtgt hesabının hash'ini çektim:

lsadump::lsa /inject /name:krbtgt

Ardından elimdeki tüm bilgileri (Domain SID, KRBTGT Hash vb.) birleştirerek “Altın Biletimi” dövdüm:

kerberos::golden /domain:btklab.local /sid:[SID_BILGISI] /rc4:[KRBTGT_HASH] /id:500 /user:SA /ptt

NOT: “/id 500" parametresiyle biletin en yetkili "Administrator" grubuna ait olduğunu belirttim. Kullanıcı adını "SA" yaptım (Siz daha az dikkat çekici bir isim seçebilirsiniz =) ).

Bilet belleğe yüklendikten sonra “kerberos::list” ile biletin orada olduğunu doğruladım. Artık parola sormadan her yere erişebilirim!

4. Yolun Sonu: NTDS.dit

Artık erişebileceğim en uç noktaya ulaştım. Domain Controller’ın kalbi olan veritabanı dizinine sızdım:

dir \\DC01\C$
pushd \\10.10.30.10\C$\Windows\NTDS

Buradaki NTDS.dit dosyası her şeyin bittiği yerdir. Bu dosya domaindeki her bir kullanıcının hash’ini, bilgisini ve sırrını barındırır. Günümüzde en değerli yapı veridir ve buraya eriştiğiniz an organizasyonun tüm dijital hafızası elinizdedir. Unutmayın ki günümüzde en değerli kaynağımız verilerimizdir. Onları başkaları ele geçirdiği anda Şah ve mat oluruz.


메타데이터
post_id
5ca51cf4b6dc
slug
bir-ağın-ele-geçirilme-günlüğü-active-directory-sızma-testinde-golden-ticketa-uzanan-yol-5ca51cf4b6dc
url
https://medium.com/@arda29604/bir-a%C4%9F%C4%B1n-ele-ge%C3%A7irilme-g%C3%BCnl%C3%BC%C4%9F%C3%BC-active-directory-s%C4%B1zma-testinde-golden-ticketa-uzanan-yol-5ca51cf4b6dc
canonical_url
https://medium.com/@arda29604/bir-a%C4%9F%C4%B1n-ele-ge%C3%A7irilme-g%C3%BCnl%C3%BC%C4%9F%C3%BC-active-directory-s%C4%B1zma-testinde-golden-ticketa-uzanan-yol-5ca51cf4b6dc
author_url
https://medium.com/@arda29604
status
ok
fetched_at
2026-06-26 21:52:29