Neler yeni
Bughane Academy

Bughane Academy, bug bounty, web güvenliği ve sızma testi alanında kendini geliştirmek isteyenler için kurulmuş Türkçe odaklı bir topluluktur.

Burada; gerçek güvenlik açıkları, recon ve exploit teknikleri, payload & bypass yöntemleri, araçlar, scriptler ve write-up’lar topluluk tarafından paylaşılır ve tartışılır.

Birlikte öğren, birlikte üret, birlikte güçlen.

Active Directory Oluşturma ve Penetrasyon Testleri

2u1fuk4r

Üye
Katılım
2 Ocak 2026
Mesajlar
5
Tepkime puanı
14
Puan
3
Herkese merhabalar. Wmware Workstation üzerinden kendi active directory sistemimizi ayaklandırıp penetrasyon testlerini gerçekleştireceğiz.

1-) İlk önce Windows server 2012R ile ana AD(Active Directory) kurulumunu gerçekleştireceğiz.

Domain Controller: Windows-DC

Domain: s1ber.com

Ardından gerekli kullanıcıları, domain admin, enterprise admin ve gerekli diğer bilgisayarları kuracağız.

2-) Windows server 2016 üzerinden alt alan adı(child domain) kuracağız.

Domain controller : Windows2016
Child Domain : fileserver.s1ber.com

3-) Windows-11 bilgisayari da kullanici olarak s1ber.com domainine bağlanılacak.

4-) Yukarıdaki tüm kurulum ve ayarlama işlemleri bittikten sonra kali linux aracımıza dönüp Kullanıcı bilgisayarına veya domain bilgisayarına sızıp ardından ağ içi AD(Active Directory ) testlerini gerçekleştireceğiz.

Senaryo: Bu şirkette çalışan bir siber güvenlik uzmanıyız. Bize verilmiş görev ise active directory ortamında elimizden geldiğince veri toplamaya çalışmak ve güvenlik açıklarını bulmak.

1*11h0TMMpNZwcE0KDALVweA.png

Kurulumlar:

İlk önce Windwos server 2012 R kurulumu gerçekleştirmk için aşağıdaki adımları takip ediyoruz.

Windows server 2012 R için ip adresini statik ip atıyoruz.

1*5S-db4xlqIqLOs1jE0wfGQ.png

Varsayılan Domain controller ismi karışıl olduğundan bilgisayar ismini değiştirelim.

1*qhOT08HGsU0EWVC6KsXT2Q.png

Windows-DC olarak ayarlayalım. İsmi değiştirdiğimizden bilgisayarı yeniden başlatmamız gerekecektir.

1*vK95oDPXVOs4EivX4WLuWA.png

Oturum açtığımızda Bilgisayar ismi değişmiş oldu.

1*1ZOAGSQccLLBmECCtuweCA.png

Active Directory ayaklandırmak için gerekli eklentileri eklememiz gerekecktir. Add Roles and Features diyerek başlıyoruz.

1*HIEu2ngIwxUdSGeZkCeHDQ.png

Next deyip ilerliyoruz.

1*xXQn6pgynmlpEmOw1JzMzA.png

Role-based or feature-based installation seçip next diyoruz.

1*2Q3UwhR2bSrG7W_ZWS53Ww.png

Domain kontroller seçip Next deyip geçiyoruz.

1*SjtC-u8t7x9LSevno1YInA.png

Active Directory Domain server seçip add Feature diyoruz.

1*N_gDhDKRzBPOaAo63OV8QA.png

Dns Server seçip Add features tıklıyoruz.

1*HkQlDwYFMVYEbaYtYMLlzw.png

Listede her iki seçenek de işaretli olması gerekir ekranda görüldüğü gibi.

1*M_LZngGzfGsAiK-vsuTuNQ.png

Next deyip ilerliyoruz.

1*Jhw-YBEMRl8ZFYlbLD2_eg.png

Next

1*1_N6gDl6oDTkHOO4s6M_RQ.png

Next

1*sB6rHz9ecpcvCBsc81WMNw.png

Restart the destination server automatically, if requıred seçeneğini seçip install diyoruz.

1*E6E2v7Q1nv9SYh--XGs_fg.png

Kurulum işlemi başlıyor…

1*Kw9azXtF6s1d7zigW5X6tw.png

Close deyip pencereyi kapatıyoruz.

1*UQx79D4aGEOjQNQydzfQrg.png

Kurulum işlemi bittikten hemen sonra sağ üstte ünlem işareti oluşacaktır. Promote this server to a domain controller deyip gerekli işlemleri yapacağız.

1*CsUtAq9IUeSAypt2s3BUuw.png

İlk defa kuracağımız için herhangi bir alan adına sahip değiliz. Bundan dolayı sıfırdan bir forest oluşturmamız gerekiyor. Add a new forest deyip alan adımızı yazıyoruz.

1*QQYNzTY_f_R38Q6I53NaDg.png

Şifre belirleyip next diyoruz.

1*pbi1H-p8GS2d6fVmzj-AWw.png

Next

1*QNdy01GVO_VVCvUJpYIumQ.png

Next

1*Quc3gwREBthLNOvAtUVi9g.png

Gerekli dosyaların nereye kaydedileğini belirtiyor. Next deyip ilerliyoruz.

1*Q9PilZAJBzw8I8svvYJfDQ.png

Next

1*QWMVgjYOXhk1qCEuOWkVrg.png

İnstall deyip active directory domain kurulum işlemini başlatmış olacağız.

1*7Twgq9lMtVRgwdb1xAOLJQ.png

Kurulum bittikten sonra bigisayarı yeniden başlatmamız gerekecektir.

1*Ye7Iz5VJv1XOBGoZw-OBTA.png

Ve evet artık açılışta s1ber Domainine bağlı bir şekilde oturumumuzu açacağız.

1*eOCem-zibSpMYptpWtQc0Q.png

Domainimiz s1ber.com

1*THD9wyqTO8-NsTxkgMFswQ.png

Gerekli tüm üyelik grup ve Domain kullanıcı işlemleri hepsi “Active Directory users and copmputers” alanında yer alır.

1*RatgywGYaiU4N8cryQ6yOg.png

Örnek olarak yeni bir kullanıcı ekleyelim

1*J9AQRkIhx6kOokkeKBf4AQ.png

Oturum açma esnasında User logon name kısmında yer alan kullanıcı adınız ile oturum açacaksınız.

1*Dlo3BvCMBTv4W8Pfx-5tzA.png

Buradaki ayarları kasıtlı olarak zaafiyetli yapıyorum. Amaç güvenlik testlerinde nelere maal olacağını görmek. Şifre belirleyip next diyoruz.

1*jUxdtyezdDYgYCJq3a6ldw.png

Kullanıcımızı oluşturduk. Bundan sonra Windows 11 olan bilgisayarımızı domaine bağlayacağız. Çünkü oluşturduğumuz herhangi bir domain kullanıcı hesabı domaine bağlı bir bilgisayar ile oturum açabilir.

1*oIie-KLPJPodcwJFrfsoow.png

İp adresi atayıp dns kısmına Windows-DC yai server 2012 R ip adresini atıyoruz.

1*hicpDuh1qlfNUWIyvZCP1Q.png

Kafa karışıklığını önlemek için genellikle bilgisayar isimleri değiştirilir. Windows-11 deyip bilgisayarı yeniden başlatıyoruz.

1*A5MrhLHYVfesYcOF71PMjg.png

Gelişmiş ayarlardan Bilgisayarı s1ber.com domainine bağlıyoruz.

1*Ss0yfG_jiFkYlHtX0M4LfQ.png

Evet Bilgisayarımız artık bir domaine bağlı.

1*WAobhr19FcAI6KG7bOdx0A.png

Bilgisayarı yeniden başlatıyoruz.

1*mOvGsAxwxn1InuxO1s0l3A.png

Oluşturduğumuz kullanici1 hesabı domaine bağladığımız Windows-11 bilgisayarı üzerinden oturum açabilecektir.

1*mh6Dja_swNEDVdS8kKokNw.png

S1ber\kullanici1

1*UFCjWaXdekQK1LcYLEQ4Lg.png

Oturum açtıktan sonra cmd üzerinden domaine ait olduğumuzu teyit edebilirsiniz.

1*yrREkQ3lsYuNZfFluTAaeQ.png

Tekrar sağ üst kısımda bulunan tools sekmesinden Active Directory users and computers açıyoruz.

1*oId1mj_uRrSgufIyCiNV4A.png

Computers alanına baktığımızda domain havuzuna bağladığımız Windows-11 bilgisayarımız görünecektir.

1*b-G_MbKPisTnDssisNiC_Q.png

S1ber.com sağ tıkalyıp yeni bir muhasebe alanı oluşturuyoruz. Bunu yapmak için;
new > Organization unit
tıklıyoruz

1*WqK5oNBb5lIFAG19ED4CgA.png

Employee adında bir OU oluşturalım. Burada Tüm Departmanlara ait çalışan hesapları yer alacak. Her birine sağ tıklayıp new > user deyip kullanıcı ekleyebilirsiniz.

1*MHtFlXCM1qWrx3hqlrVqSQ.png

IT > New > User deyip yeni kullanıcı ekliyoruz.

1*y8cJwB584a861uXSQg38Tw.png

Oturum açmak için mehmet.can olarak yazılması gerekecek.

1*YOzaK51oh5gx5EvrO103tQ.png

Şimdi aynı şeklide diğer OU grupları için de kullanıcı ekleyelim.

Accouınting

1*jCXDFUw-LQrE4VZ74L0qzQ.png

Finance

1*F-1-YHRymfsDc_JA18IUGQ.png

HR

1*VRJFZ6CvuXWp1HSykenT7g.png

Security

1*I93mWPoHhKZNt-i4RDoWTQ.png

Her departmana kullanıcı ekledik. Şimdi Domain kontroller şuan hangi bilgisayara bağlı bunu görmek için, s1ber.com’a sağ tıklayıp Operations Masters tıklıyoruz.

1*PdH5875fZZxQ4ZNYfDLR1A.png

Primary Domain Controller: Windows-DC

1*IKEaz6NacRpRPbZrIU9f0g.png

Şu ana kadar her şey tamam. İsteğe bağlı Domain admin, enterprise admin vb diğer gruplara da kullanıcı ekleyebilirsiniz.

Şimdi fileserver.s1ber.com için windows server 2016 ayaklandırıp Add a new forest yerine Add a new domain to an exist forest yani s1ber.com a child domain ekleyeceğiz. Yapılması gereken tüm adımlar aynıdır.

1*rQp7DJR2v4OR7b0C-yEgEA.png

Şu an tüm kurulumlar ve makineler hazır ve açılmış durumda. Geriye kalan tek şey network taraması yapıp yavaş yavaş bilgi toplamak.

1*FE0YPQV-Qm8opoUGMqAcVg.png

Network Taraması

Get Zulfukar karabulut’s stories in your inbox​

Join Medium for free to get updates from this writer.

Subscribe

Ağ geçidi ip adresi bulma

1*PJlU3XC3IHxGZO7TEdTyPQ.png

Tüm sabneti tarama

1*FIYnlT4W5Sqz7rLKGXFkYg.png

3 adet hedefımız mevcut

-Windows-DC

-Windows2016

-Windows-11

Hedefleri kaydedip nmap’e liste olarak taratıyoruz.

1*tyS9wq6oajTwEvF1tteDZw.png

Windows-dc (192.168.108.134)(s1ber.com)

1*xUjlbzCASvpsmiXpDbiCVQ.png

Windows2016(192.168.108.136)(fileserver.s1ber.com)

1*BXdCKx6zEX5oT2o2nKafOA.png

Windows server 2016 da Yüksek derecede(ms17–010) bir güvenlik açığı mevcut. Buradan ilerleyebiliriz. Eğer Shell alırsak bundan sonrası active directory Recon işlemlerine başlayabiliriz demektir.

Windows-11(Domaine bağlı bilgisayar.)

1*KOsSDZRLgLmYhhmwW6B74A.png

msfconsole başlatıp bulunan güvenlik açığı üzerine arama yapıyoruz.

1*iWX0AX777uK8kKdSDjB4VQ.png

Bırkaç defa test yaptıktan sonra hatta diğer payloadları da denedikten sonra yine Shell alamadık. Peki şimdi neler yapılabilir. Hedef sistemlerde eğer aktive direktory varsa smb saldırısı yapılabılır. Burada crackmapexec kullanarak işe başlayabilirz.

1*ngFU_HAN9fXq9ekg8e0cZQ.png

Crackmapexec

1*pUkN8m5Mz1sx77ctc1M3tQ.png

İlk domain kullanıcı adı ve şifresini bulduk.
k.adı : zulfukar

Parola: K2348msn

Şimdi psexec aracı ile Shell alabiliriz.

1*c__QTKjDQKgBQj9FLCOONQ.png

Şimdi diğer makineye bakalım

1*U3hObqZtfN7Go0WgsG2aHg.png

Buarada ise zulfukar.karabulut adlı domain kullanıcısının hesabını ele geçirmiş olduk. Burada Shell açmayı deneyelim.

1*QIg8ndfnQM8ZB6iwsyuXjA.png

Shell almayı başardık. Şimdi bu shelli meterpreter olarak açalim.

Msfconsole üzerinden smbexec aratarak bulabiliriz.

1*Z0gN960iltUnwGOPWvkzkQ.png

System bilgisi alma

1*eMgFuQsBQT36OknAdJyYCQ.png

Yetkililik durumu görme

1*1QaUjlYeb1GYgCrPge4ZiA.png

Not: normal şartlarda local de en yüksek yetkiye sahip hesaptır. Ama domain ortamında en yüksek hesap forest düzeyinde hesaplardır. Domain admin gibi. Peki eğer getuid yazdiğimizda system yetkilerine sahip olmasaydık nasıl yetki yükseltme yapabilirdik ona bakalım. Meterpreter üzerinde getsystem yazabiliriz. Eğer işe yararsa direk system olarak sizi atar. Ya olmazsa elternatif metasploit exploitleri deneyebilirsiniz. İşte bazı exploitler:

Search UAC bypass diyerek aratabilirsiniz.
En sık kullandığım bazıları şunlardır:

· exploit/windows/local/bypassuac

· exploit/windows/local/bypassuac_dotnet_profiler

· exploit/windows/local/bypassuac_fodhelper

· exploit/windows/local/bypassuac_injection

Tüm hesap şifrelerini dump edebildik. Bu işimizi biraz daha kolaylaştıracaktır.

1*Y15lC8dsDYtycmdQULX77A.png

Veya meterpreter üzerinden load kiwi diyerek mimikatz programının alternatifi olan kiwi ile AD ile ilgili önemli bilgiler edinebilirsiniz.

1*GPe93hGCEdDtgNSIt3iLkQ.png

lsa_dump_secrets diyerek tün kullanıcı şifrelerini de yine bu şekilde alabilirsiniz.

1*fKtL4svVj58TjNrOKV_Y_w.png

Hashcat, john, medusa vb araçlar ile ntlm,md5…. vb hashleri kırabilirsiniz. Veya en kısa yoldan online web sitelerini de kullanabilirsiniz. İşte alternatif site:
https://hashes.com/en/tools/hash_identifier

1*1CA0u5siyKfjDCZUk4KmKw.png

Veya

Tüm hash’leri kaydedip hashcat ile kırabilirsiniz.

└─# hashcat -m 1000 -a 0 ntlm-hashler.txt AD-passwords.txt

1*P3oJ_3iI7hx4j3pMPY67gw.png

Peki ya diğer çok önemli hesapların hashleri kırılmazsa ne yapacağız. Burada Pas-the-hash(PtH) tekniği devreye girer.

crackmapexec kullanarak

1*jEsvjPedyd58Z_L0gF-E0w.png

psexec kullanarak hash ile Shell almak.

1*LXceaNfHwR6EfpL4yxT7fQ.png

Set rhost

Set smbuser

Set smbpass 00000000000000000000000000000000:18d3a768b90cd786e107a10b5faeba9a

Exploit

NOT: psexec ile ntlm hash kullanıyorsanız önüne 32 adet 0 kullanılması gerekir

1*3aqRslPTfODzyE0a_-0IgQ.png

Bazen session oturumu aldığımız halde oturum açılmadı hatası alabiliriz. Ama sessions yazdığınızda oturum açılmış olacaktır.

1*wrROnTuCjqqj1hauwaz1MQ.png

Session 1 deyip meterpreter oturumuna geçiş yapalım.

1*Q_4qWsELcYxiRWNeE51w0A.png

Bundan sonrası AD işlemleri. Shell diyerek cmd geçiş yapıyoruz. Powershell ile ps oturumuna geçiyoruz. Powershell -ep bypass diyerek scriptleri engelleyen mekanizmayı geçici olarak devredışı bırakıyoruz.

1*JUaGaugaHObSOF5B9YOuLw.png

Şimdi Bize gereken scripti hedef sisteme indirelim.

1*SkP3Sio9eH3TtXYe-aavIw.png

PowerSploit/Recon/PowerView.ps1 at master · PowerShellMafia/PowerSploit​

PowerSploit - A PowerShell Post-Exploitation Framework - PowerSploit/Recon/PowerView.ps1 at master ·…​

github.com

1*QKlN6m8Ljbk1082BfzFjIA.png

whoami /all komutu, Windows işletim sistemlerinde ve Active Directory (AD) ortamlarında kullanıcının kimliğini, oturum bilgilerini ve kullanıcıya atanan güvenlik tanımlayıcılarını (SID), grupları, ayrıcalıkları ve yetkileri detaylı olarak gösterir.

1*KNHDS5tVtqbAhFLzc0Ysyg.png

Kullanıcıları hesaplarını gösterme

1*doz8jdI5XqqN_e9S_vx5Ew.png

OU gruplarını gösterme

1*pqsCrUosZXnEbsxb0-c3Vw.png

Security alanında hangi hesaplar var, görmek için:

1*RHBWj3MCHCacwDdjWq8D4w.png

Get-DomainUser -SearchBase “OU=Security,OU=Employee,DC=s1ber,DC=com” | select cn

Sonuna | select cn yazarsak sadece kullanıcı hesap adı çıkacaktır.

1*So2cjb2mIw5Z2TZ2If3ZVw.png

Enterprise Grubuna ait hesapları görmek için:

1*lIw-RGFtofpEQrnqa7LHfQ.png

Domain Controller keşfi:

1*jgb811c24dB0oRP_oOe-IQ.png

Domaine bağlı bilgisayarları görme:

1*6V9ETJiuOc18okgYKAO3Tg.png

Domain Admins Hesaplarını görme

1*8HKcLSNakWHboF-1qgnR-A.png

Bir bilgisayardaki paylaşımları görmek için:

1*dW4fZiNd0uScSRPnsRwNvQ.png

Geçerli etki alanındaki GPO’ların listesi:

1*-AVI7OP-5wuM4Csl2u0vCA.png

Geçerli etki alanı için tüm TrustDomainleri listelemek için :

1*s7xoP081kVI9L6FqBkMPug.png

Mevcut Forest aytılarını göstermek için:
1*hnYU2GjHET1dqP58VlZAKA.png

AS-REP Roasting saldırısı

Yanlış yapılandırılmış kullanıcı hesaplarına yönelik As-Rep Roasting salrısı nasıl yapılır onu görelim.
Bunu yapmadan önce kasıtlı olarak bazı hesapları yanlış yapılandıralım.

“Do not Require Kerberos preauthntication” ayarını aktif ediyoruz.

1*MbT7P1uDs1SX0ym1kzCqCg.png

Get-DomainUser | Where-Object { $_.UserAccountControl -like “*DONT_REQ_PREAUTH*” } | select cn

1*YLr10TsbtajOX5X7eVUebQ.png

2 kullanıcı hesabı bu saldırıya maruz kalabilir. Şimdi herhangi biri için hash değerini kaydedip sonra test edelim. İhtiyacımız olan araç Rubeus.exe

GitHub - r3motecontrol/Ghostpack-CompiledBinaries: Compiled Binaries for Ghostpack (.NET v4.0)​

Compiled Binaries for Ghostpack (.NET v4.0). Contribute to r3motecontrol/Ghostpack-CompiledBinaries development by…​

github.com

Hash değeri bu şekilde kaydedilmiş durumda.

1*s93J64OJ68slgzG0EH6KLQ.png

Bu hash değerini john aracı ile kırabiliriz.

1*H8-YrMlNh-E7XMJN2IHQNA.png

Bu şekilde As-rep roasting saldırısı ile yanlış konfigüre edilmiş hesaplara yönelik saldırılar gerçekleştirilebilir.

Kerberoasting Saldırısı


1*yLj9_hdZlfUdLTSD5r_pxw.png

klist diyerek kerberos hesaplarını görebiliriz


1*kyJpgMFdgbPfp9SAJRUXqA.png

Bundan sonrası ıhtıyacımız olan araç mimikatz : https://github.com/ParrotSec/mimikatz

Tüm ticketları export etmek için:

1*WMp48HRLPaGmD0JnwiAQOw.png

.kirbi dosyalarını kırmak için ihtiyacımız olan araç:

https://github.com/chroblert/domain...inAccountCheck-v1.0/kerberoast/tgsrepcrack.py

.\python.exe .\tgsrepcrack.py .\AD-passwords.txt .\2–40250000-Administrator@host~windows-dc.s1ber.com-S1BER.COM.kirbi
bu şekilde kerberosting saldırısını gerçekleştirebilirsiniz. Ayırca silver ticket veya golden ticket saldırıalrını da araştırabilirsiniz.
Buraya kadar okuduysanız tebrik ederim. Umarım faydalı olmuştur.

Zulfukar Karabulut
Penetration Tester
 
Merhabalar Öncelikle çok güzel bir içerik hazırlamışsın.Elerine sağlık ; Güvenlik tarafında genelde kurumsal firmaların %99'u bu gibi saldırı
düzeylerini daraltmak için GPO ile domain kullanıcılarının wscript.exe,rundll32.exe,cmd.exe powershell.exe lolbins araçlarının calıştırılması
policeler ile kısıtlandırılıyor.

ScriptBlok login ,bunlar aktif edilmeli yerel admin hakları LAPS ile yönetmek gerekli . Domain adminleri workstation da yasaklamak gerekiyor.
SMb,ntlm signing ,smbv1 kapatmak gerekir.

Endüstriyel üretim bandında 2 kullanıcı hesabı kullanıyorum mesala . Kullanıcılar ve kullanıcı oluşturmak için ayrı bir hesap, Saha içerisinde yetki
gerektirdiği zaman ayrı bir hesap :)
 
Merhabalar Öncelikle çok güzel bir içerik hazırlamışsın.Elerine sağlık ; Güvenlik tarafında genelde kurumsal firmaların %99'u bu gibi saldırı
düzeylerini daraltmak için GPO ile domain kullanıcılarının wscript.exe,rundll32.exe,cmd.exe powershell.exe lolbins araçlarının calıştırılması
policeler ile kısıtlandırılıyor.

ScriptBlok login ,bunlar aktif edilmeli yerel admin hakları LAPS ile yönetmek gerekli . Domain adminleri workstation da yasaklamak gerekiyor.
SMb,ntlm signing ,smbv1 kapatmak gerekir.

Endüstriyel üretim bandında 2 kullanıcı hesabı kullanıyorum mesala . Kullanıcılar ve kullanıcı oluşturmak için ayrı bir hesap, Saha içerisinde yetki
gerektirdiği zaman ayrı bir hesap :)
Kessinlikle öyle... Buradaki konu saldırı düzeyini göstermek. Diğer bypass yöntemleri vb ileri seviye teknikler içerir. APT gruplari zaten çok güvenli sanılan, herşeyi sıkılaştırılmış sanılan sistemlere sızıp paketliyorlar.
 
Geri
Üst