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
90f441c838
commit
4f0c2e0e49
@ -1,24 +1,24 @@
|
||||
# Active Directory Methodology
|
||||
# Active Directory Methodolojisi
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Temel genel bakış
|
||||
|
||||
**Active Directory**, **ağ yöneticileri** için bir temel teknoloji olarak hizmet eder ve bir ağ içinde **alanlar**, **kullanıcılar** ve **nesneler** oluşturup yönetmelerini sağlar. Ölçeklenebilir şekilde tasarlanmıştır, çok sayıda kullanıcıyı yönetilebilir **gruplara** ve **alt gruplara** organize etmeyi kolaylaştırırken, çeşitli seviyelerde **erişim haklarını** kontrol eder.
|
||||
**Active Directory**, **ağ yöneticileri**'nin bir ağ içinde **alanlar**, **kullanıcılar** ve **nesneler** oluşturup yönetmelerini sağlayan temel bir teknoloji olarak hizmet eder. Ölçeklenebilir şekilde tasarlanmıştır, böylece çok sayıda kullanıcıyı yönetilebilir **gruplara** ve **alt gruplara** organize ederken, çeşitli seviyelerde **erişim haklarını** kontrol eder.
|
||||
|
||||
**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 ve 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** 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, 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:
|
||||
|
||||
1. **Dizin** – Active Directory nesneleri ile ilgili tüm bilgileri barındırır.
|
||||
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.
|
||||
2. **Nesne** – Dizin içindeki varlıkları, **kullanıcılar**, **gruplar** veya **paylaşılan klasörler** gibi, belirtir.
|
||||
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, aralarında **güven ilişkileri** bulunan birkaç ağaçtan oluşur.
|
||||
|
||||
**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:
|
||||
**Active Directory Alan Hizmetleri (AD DS)**, bir ağ içinde merkezi yönetim ve iletişim için kritik 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.
|
||||
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şlevselliklerini içerir.
|
||||
2. **Sertifika Hizmetleri** – Güvenli **dijital sertifikaların** oluşturulması, dağıtımı ve yönetimini denetler.
|
||||
3. **Hafif Dizin Hizmetleri** – **LDAP protokolü** aracılığıyla dizin destekli uygulamaları destekler.
|
||||
4. **Dizin Federasyon Hizmetleri** – Bir oturumda birden fazla web uygulaması arasında kullanıcıları kimlik doğrulamak için **tek oturum açma** yetenekleri sağlar.
|
||||
@ -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ı
|
||||
@ -65,11 +65,11 @@ Eğer sadece bir AD ortamına erişiminiz varsa ama hiçbir kimlik bilgisi/oturu
|
||||
|
||||
- **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 ana makineye erişin.
|
||||
- **sahte UPnP hizmetlerini kötü niyetli-S ile** [**açığa çıkararak**](../../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 kimlik bilgilerini 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 ana bilgisayara erişin.
|
||||
- Kimlik bilgilerini **açığa çıkararak** [**kötü amaçlı UPnP hizmetleri 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) 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) 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 şunlardır: _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).
|
||||
- İç belgelerden, sosyal medyadan, hizmetlerden (özellikle web) alan ortamları içinde ve ayrıca kamuya açık kaynaklardan kullanıcı adları/isimler çıkarın.
|
||||
- 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 şunlardır: _AdSoyad_, _Ad.Soyad_, _AdSoy_ (her birinin 3 harfi), _Ad.Soy_, _NSoyad_, _N.Soyad_, _SoyadAd_, _Soyad.Ad_, _SoyadN_, _Soyad.N_, 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)
|
||||
@ -77,7 +77,8 @@ Eğer sadece bir AD ortamına erişiminiz varsa ama hiçbir kimlik bilgisi/oturu
|
||||
### Kullanıcı listeleme
|
||||
|
||||
- **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.
|
||||
- **Kerbrute listeleme**: Bir **geçersiz kullanıcı adı istendiğinde**, sunucu **Kerberos hatası** kodu _KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN_ kullanarak yanıt verecek, 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.
|
||||
```bash
|
||||
./kerbrute_linux_amd64 userenum -d lab.ropnop.com --dc 10.10.10.10 usernames.txt #From https://github.com/ropnop/kerbrute/releases
|
||||
|
||||
@ -87,6 +88,7 @@ Nmap -p 88 --script=krb5-enum-users --script-args krb5-enum-users.realm='<domain
|
||||
msf> use auxiliary/gather/kerberos_enumusers
|
||||
|
||||
crackmapexec smb dominio.es -u '' -p '' --users | awk '{print $4}' | uniq
|
||||
python3 nauth.py -t target -u users_file.txt #From https://github.com/sud0Ru/NauthNRPC
|
||||
```
|
||||
- **OWA (Outlook Web Access) Sunucusu**
|
||||
|
||||
@ -103,15 +105,15 @@ 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)) 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ımdan ö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.
|
||||
> 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.
|
||||
|
||||
### Bir veya birkaç kullanıcı adını bilmek
|
||||
|
||||
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ürevine göre şifrelenmiş bazı veriler içerecektir.
|
||||
- [**ASREPRoast**](asreproast.md): Eğer bir kullanıcının _DONT_REQ_PREAUTH_ niteliği **yoksa**, o kullanıcı için **AS_REP mesajı talep edebilirsiniz**; bu mesaj, kullanıcının şifresinin bir türevi ile şifrelenmiş bazı verileri 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**.
|
||||
|
||||
@ -121,27 +123,27 @@ password-spraying.md
|
||||
|
||||
### LLMNR/NBT-NS Zehirleme
|
||||
|
||||
Bazı zorluk **hash'lerini** elde edebilmeniz mümkün olabilir, **ağ** protokollerini **zehirleyerek**:
|
||||
Bazı zorluk **hash'lerini** elde edebilmeniz mümkün olabilir, bu da **ağ** protokollerini **zehirleyerek** yapılabilir:
|
||||
|
||||
{{#ref}}
|
||||
../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
|
||||
{{#endref}}
|
||||
|
||||
### NTML Relay
|
||||
### NTLM İletimi
|
||||
|
||||
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**. NTML [**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ğlayabilirsiniz.
|
||||
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 [**iletim 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**, **dosyalar yerleştirebilirsiniz** (örneğin bir SCF dosyası) ve bu dosyaya bir şekilde erişildiğinde **sizinle NTML kimlik doğrulaması tetiklenecektir**, 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
|
||||
{{#endref}}
|
||||
|
||||
## Kimlik Bilgileri/oturum ile Aktif Dizin Listeleme
|
||||
## Kimlik bilgileri/oturum ile Aktif Dizin Listeleme
|
||||
|
||||
Bu aşama için **geçerli bir alan hesabının kimlik bilgilerini veya oturumunu ele geçirmiş olmanız gerekir.** Eğer geçerli kimlik bilgilerine veya bir alan kullanıcısı olarak bir shell'e sahipseniz, **önceki seçeneklerin hala diğer kullanıcıları ele geçirmek için seçenekler olduğunu unutmamalısınız**.
|
||||
Bu aşama için **geçerli bir alan hesabının kimlik bilgilerini veya oturumunu ele geçirmiş olmanız gerekir.** Eğer geçerli kimlik bilgilerine veya bir alan kullanıcısı olarak bir shell'e sahipseniz, **önceki seçeneklerin hala diğer kullanıcıları ele geçirmek için seçenekler olduğunu hatırlamalısınız.**
|
||||
|
||||
Kimlik doğrulamalı listelemeye başlamadan önce **Kerberos çift atlama sorununu** bilmelisiniz.
|
||||
|
||||
@ -158,12 +160,12 @@ Bir hesabı ele geçirmek, **tüm alanı ele geçirmeye başlamak için büyük
|
||||
- [**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.
|
||||
- Aktif dizinde keşif için başka harika bir 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'ye sahip bir araç** **AdExplorer.exe**'dir, **SysInternal** Suite'ten.
|
||||
- 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 _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ı listeleyebilirsiniz.
|
||||
- Ayrıca otomatik araçlar denemek isteyebilirsiniz:
|
||||
- [**tomcarver16/ADSearch**](https://github.com/tomcarver16/ADSearch)
|
||||
- [**61106960/adPEAS**](https://github.com/61106960/adPEAS)
|
||||
@ -171,13 +173,13 @@ Bir hesabı ele geçirmek, **tüm alanı ele geçirmeye başlamak için büyük
|
||||
|
||||
Windows'tan tüm alan kullanıcı adlarını elde etmek çok kolaydır (`net user /domain`, `Get-DomainUser` veya `wmic useraccount get name,sid`). Linux'ta, `GetADUsers.py -all -dc-ip 10.10.10.110 domain.com/username` veya `enum4linux -a -u "user" -p "password" <DC IP>` kullanabilirsiniz.
|
||||
|
||||
> Bu Listeleme bölümü küçük görünse de, bu tümünün en önemli kısmıdır. Bağlantılara erişin (özellikle cmd, powershell, powerview ve BloodHound olanlara), bir alanı nasıl listeleyeceğinizi öğrenin ve rahat hissettiğinizdeye kadar pratik yapın. Bir değerlendirme sırasında, bu DA'ya ulaşmak veya hiçbir şey yapılamayacağına karar vermek için ana an olacaktır.
|
||||
> Bu Listeleme bölümü küçük görünse de, bu tüm sürecin en önemli kısmıdır. Bağlantılara erişin (özellikle cmd, powershell, powerview ve BloodHound olanlara), bir alanı nasıl listeleyeceğinizi öğrenin ve rahat hissettiğinizdeye kadar pratik yapın. Bir değerlendirme sırasında, bu DA'ya ulaşmak veya hiçbir şey yapılamayacağına karar vermek için ana an olacaktır.
|
||||
|
||||
### Kerberoast
|
||||
|
||||
Kerberoasting, kullanıcı hesaplarına bağlı hizmetler tarafından kullanılan **TGS biletlerini** elde etmeyi ve bunların şifrelemesini—kullanıcı şifrelerine dayalı olarak—**çözmeyi** içerir.
|
||||
|
||||
Bunun hakkında daha fazla bilgi:
|
||||
Bununla ilgili daha fazla bilgi:
|
||||
|
||||
{{#ref}}
|
||||
kerberoast.md
|
||||
@ -189,13 +191,13 @@ Bazı kimlik bilgilerini elde ettikten sonra, herhangi bir **makineye** erişimi
|
||||
|
||||
### 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ökebilirsiniz.
|
||||
Eğer ele geçirilmiş kimlik bilgilerine veya bir oturumda normal bir alan kullanıcısı olarak erişiminiz varsa ve bu kullanıcı ile **alan içindeki herhangi bir makineye erişiminiz** varsa, **yerel olarak yetki yükseltme ve kimlik bilgilerini çalma** yolunu bulmaya çalışmalısınız. Çünkü yalnızca yerel yönetici ayrıcalıkları ile diğer kullanıcıların **hash'lerini bellekten (LSASS) ve yerel olarak (SAM) dökebilirsiniz.**
|
||||
|
||||
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.
|
||||
|
||||
### Mevcut Oturum Biletleri
|
||||
|
||||
Beklenmedik kaynaklara erişim izni veren **biletler** bulmanız çok **olasılık dışıdır**, ancak kontrol edebilirsiniz:
|
||||
Mevcut kullanıcıda **beklenmedik kaynaklara erişim izni veren** **biletler** bulmanız çok **olasılık dışıdır**, ancak kontrol edebilirsiniz:
|
||||
```bash
|
||||
## List all tickets (if not admin, only current user tickets)
|
||||
.\Rubeus.exe triage
|
||||
@ -203,19 +205,19 @@ Beklenmedik kaynaklara erişim izni veren **biletler** bulmanız çok **olasıl
|
||||
.\Rubeus.exe dump /service:krbtgt /luid:<luid> /nowrap
|
||||
[IO.File]::WriteAllBytes("ticket.kirbi", [Convert]::FromBase64String("<BASE64_TICKET>"))
|
||||
```
|
||||
### NTML Relay
|
||||
### NTLM Relay
|
||||
|
||||
Eğer aktif dizini sıralamayı başardıysanız, **daha fazla e-posta ve ağ hakkında daha iyi bir anlayışa sahip olacaksınız**. NTML [**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)** gerçekleştirebilirsiniz.**
|
||||
|
||||
### **Bilgisayar Paylaşımlarında Kimlik Bilgilerini Arayın**
|
||||
|
||||
Artık bazı temel kimlik bilgilerine sahip olduğunuz için, **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 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).
|
||||
|
||||
[**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)
|
||||
[**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)
|
||||
|
||||
### 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 NTML kimlik doğrulaması tetikleyecektir**, böylece **NTLM zorluğunu çalabilir** ve onu kırabilirsiniz:
|
||||
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**:
|
||||
|
||||
{{#ref}}
|
||||
../ntlm/places-to-steal-ntlm-creds.md
|
||||
@ -229,25 +231,25 @@ Bu güvenlik açığı, herhangi bir kimlik doğrulaması yapılmış kullanıc
|
||||
printnightmare.md
|
||||
{{#endref}}
|
||||
|
||||
## Aktif Dizin'de Yetki Yükseltme Özel Yetkiler/Kullanıcı Oturumu ile
|
||||
## Aktif Dizin'de Yetki Yükseltme Özel Yetkiler/Kimlik Bilgileri 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/kullanıcılara 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 yetkilere/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 relaying, [EvilSSDP](../../generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md), [yerel olarak yetki yükseltme](../windows-local-privilege-escalation/index.html) kullanarak **bazı yerel yönetici** hesaplarını **tehlikeye atmayı** başardınız.\
|
||||
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ı **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).\
|
||||
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, **ya da** yeni bir **sessionlogon** oluşturup **o 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ı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.\
|
||||
[**Daha fazla bilgi için bu sayfayı okuyun.**](../ntlm/index.html#pass-the-hash)
|
||||
|
||||
### Hash'i Aşma/Key'i Geç
|
||||
### Hash'i Aş/ Anahtarı Geç
|
||||
|
||||
Bu saldırı, **kullanıcı NTLM hash'ini Kerberos biletleri talep etmek için kullanmayı** amaçlar; bu, NTLM protokolü üzerinden yaygın Pass The Hash'e alternatif olarak. Bu nedenle, bu özellikle **NTLM protokolünün devre dışı bırakıldığı** ve yalnızca **Kerberos'un** kimlik doğrulama protokolü olarak **izin verildiği** ağlarda **yararlı olabilir**.
|
||||
Bu saldırı, **kullanıcı NTLM hash'ini Kerberos biletleri talep etmek için kullanmayı** amaçlar; bu, yaygın Pass The Hash NTLM protokolüne alternatif olarak. Bu nedenle, bu özellikle **NTLM protokolünün devre dışı bırakıldığı** ve yalnızca **Kerberos'un** kimlik doğrulama protokolü olarak **izin verildiği** ağlarda **yararlı olabilir**.
|
||||
|
||||
{{#ref}}
|
||||
over-pass-the-hash-pass-the-key.md
|
||||
@ -261,9 +263,9 @@ over-pass-the-hash-pass-the-key.md
|
||||
pass-the-ticket.md
|
||||
{{#endref}}
|
||||
|
||||
### Kimlik Bilgilerini Yeniden Kullanma
|
||||
### Kimlik Bilgileri Yeniden Kullanımı
|
||||
|
||||
Eğer bir **yerel yönetici**'nin **hash** veya **şifresine** sahipseniz, bunu kullanarak diğer **PC'lere** **yerel olarak giriş yapmayı** denemelisiniz.
|
||||
Eğer bir **yerel yönetici**'nin **hash'ine** veya **şifresine** sahipseniz, bunu kullanarak diğer **PC'lere** **yerel olarak giriş yapmayı** denemelisiniz.
|
||||
```bash
|
||||
# Local Auth Spray (once you found some local admin pass or hash)
|
||||
## --local-auth flag indicate to only try 1 time per machine
|
||||
@ -275,8 +277,8 @@ crackmapexec smb --local-auth 10.10.10.10/23 -u administrator -H 10298e182387f9c
|
||||
### MSSQL Kötüye Kullanımı & Güvenilir Bağlantılar
|
||||
|
||||
Bir kullanıcının **MSSQL örneklerine erişim** yetkisi varsa, MSSQL ana bilgisayarında **komutlar çalıştırmak**, NetNTLM **hash**'ini **çalmak** veya hatta bir **relay** **saldırısı** gerçekleştirmek için bunu kullanabilir.\
|
||||
Ayrıca, bir MSSQL örneği başka bir MSSQL örneği tarafından güvenilir (veritabanı bağlantısı) olarak işaretlenmişse ve kullanıcı güvenilir veritabanı üzerinde yetkilere sahipse, **güven ilişkisini kullanarak diğer örnekte de sorgular çalıştırabilecektir**. Bu güven ilişkileri zincirlenebilir ve bir noktada kullanıcı, komutları çalıştırabileceği yanlış yapılandırılmış bir veritabanı bulabilir.\
|
||||
**Veritabanları arasındaki bağlantılar, orman güvenleri arasında bile çalışır.**
|
||||
Ayrıca, bir MSSQL örneği başka bir MSSQL örneği tarafından güvenilir (veritabanı bağlantısı) olarak işaretlenmişse, eğer kullanıcı güvenilir veritabanı üzerinde yetkilere sahipse, **güven ilişkisini kullanarak diğer örnekte de sorgular çalıştırabilecektir**. Bu güven ilişkileri zincirlenebilir ve bir noktada kullanıcı, komutları çalıştırabileceği yanlış yapılandırılmış bir veritabanı bulabilir.\
|
||||
**Veritabanları arasındaki bağlantılar, orman güven ilişkileri boyunca bile çalışır.**
|
||||
|
||||
{{#ref}}
|
||||
abusing-ad-mssql.md
|
||||
@ -286,7 +288,7 @@ abusing-ad-mssql.md
|
||||
|
||||
[ADS_UF_TRUSTED_FOR_DELEGATION](<https://msdn.microsoft.com/en-us/library/aa772300(v=vs.85).aspx>) niteliğine sahip herhangi bir Bilgisayar nesnesi bulursanız ve bilgisayarda alan yetkileriniz varsa, bilgisayara giriş yapan her kullanıcının bellekten TGT'lerini dökme yeteneğine sahip olursunuz.\
|
||||
Yani, eğer bir **Domain Admin bilgisayara giriş yaparsa**, onun TGT'sini dökebilir ve [Pass the Ticket](pass-the-ticket.md) kullanarak onu taklit edebilirsiniz.\
|
||||
Sınırlı delegasyon sayesinde, bir Yazıcı Sunucusunu **otomatik olarak ele geçirebilirsiniz** (umarım bu bir DC olacaktır).
|
||||
Sınırlı delegasyon sayesinde, bir **Yazıcı Sunucusunu otomatik olarak ele geçirebilirsiniz** (umarım bu bir DC olacaktır).
|
||||
|
||||
{{#ref}}
|
||||
unconstrained-delegation.md
|
||||
@ -294,8 +296,8 @@ unconstrained-delegation.md
|
||||
|
||||
### Sınırlı Delegasyon
|
||||
|
||||
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.\
|
||||
Daha sonra, 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.
|
||||
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.\
|
||||
Daha sonra, 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
|
||||
@ -311,15 +313,15 @@ resource-based-constrained-delegation.md
|
||||
|
||||
### ACL'lerin Kötüye Kullanımı
|
||||
|
||||
Kompromize olmuş bir kullanıcının, bazı alan nesneleri üzerinde bazı **ilginç yetkilere** sahip olması, kullanıcının **yanal hareket etmesine**/**yetkileri yükseltmesine** olanak tanıyabilir.
|
||||
Ele geçirilmiş bir kullanıcının, bazı alan nesneleri üzerinde bazı **ilginç yetkilere** sahip olması, kullanıcının **yanal hareket etmesine**/**yetkileri yükseltmesine** olanak tanıyabilir.
|
||||
|
||||
{{#ref}}
|
||||
acl-persistence-abuse/
|
||||
{{#endref}}
|
||||
|
||||
### Yazıcı Spooler Servisi Kötüye Kullanımı
|
||||
### Yazıcı Spooler Hizmeti Kötüye Kullanımı
|
||||
|
||||
Alan içinde bir **Spool servisi dinliyorsa**, bu durum **yeni kimlik bilgileri edinmek** ve **yetkileri yükseltmek** için **kötüye kullanılabilir**.
|
||||
Alan içinde bir **Spool hizmetinin dinlendiğini** keşfetmek, **yeni kimlik bilgileri edinmek** ve **yetkileri yükseltmek** için **kötüye kullanılabilir**.
|
||||
|
||||
{{#ref}}
|
||||
printers-spooler-service-abuse.md
|
||||
@ -327,7 +329,7 @@ printers-spooler-service-abuse.md
|
||||
|
||||
### Üçüncü Taraf Oturumlarının Kötüye Kullanımı
|
||||
|
||||
Eğer **diğer kullanıcılar** **kompromize** olmuş makineye **erişirse**, bellekten **kimlik bilgilerini toplamak** ve hatta **onların süreçlerine beacon enjekte etmek** mümkündür.\
|
||||
Eğer **diğer kullanıcılar** **ele geçirilmiş** makineye **erişirse**, bellekten **kimlik bilgilerini toplamak** ve hatta **onların süreçlerine işaretçiler enjekte etmek** mümkündür.\
|
||||
Genellikle kullanıcılar sisteme RDP aracılığıyla erişir, bu nedenle burada üçüncü taraf RDP oturumları üzerinde birkaç saldırı gerçekleştirme yöntemini bulabilirsiniz:
|
||||
|
||||
{{#ref}}
|
||||
@ -344,7 +346,7 @@ laps.md
|
||||
|
||||
### Sertifika Hırsızlığı
|
||||
|
||||
Kompromize olmuş makineden **sertifikaları toplamak**, ortam içinde yetkileri yükseltmenin bir yolu olabilir:
|
||||
Ele geçirilmiş bir makineden **sertifikaları toplamak**, ortam içinde yetkileri yükseltmenin bir yolu olabilir:
|
||||
|
||||
{{#ref}}
|
||||
ad-certificates/certificate-theft.md
|
||||
@ -358,17 +360,17 @@ Eğer **savunmasız şablonlar** yapılandırılmışsa, bunları yetkileri yük
|
||||
ad-certificates/domain-escalation.md
|
||||
{{#endref}}
|
||||
|
||||
## Yüksek Yetkili Hesap ile Post-Exploitation
|
||||
## Yüksek Yetkili Hesap ile Sonrası Sömürü
|
||||
|
||||
### Alan Kimlik Bilgilerini Dökme
|
||||
|
||||
Bir kez **Domain Admin** veya daha iyi bir **Enterprise Admin** yetkisi elde ettiğinizde, **alan veritabanını** dökebilirsiniz: _ntds.dit_.
|
||||
**Domain Admin** veya daha iyi bir **Enterprise Admin** yetkisi elde ettiğinizde, **alan veritabanını** dökebilirsiniz: _ntds.dit_.
|
||||
|
||||
[**DCSync saldırısı hakkında daha fazla bilgi burada bulunabilir**](dcsync.md).
|
||||
|
||||
[**NTDS.dit'i çalma hakkında daha fazla bilgi burada bulunabilir**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/active-directory-methodology/broken-reference/README.md)
|
||||
|
||||
### Privesc olarak Süreklilik
|
||||
### Yetki Yükseltme Olarak Süreklilik
|
||||
|
||||
Daha önce tartışılan bazı teknikler süreklilik için kullanılabilir.\
|
||||
Örneğin, şunları yapabilirsiniz:
|
||||
@ -391,27 +393,27 @@ Set-DomainObject -Identity <username> -XOR @{UserAccountControl=4194304}
|
||||
Add-DomainObjectAcl -TargetIdentity "DC=SUB,DC=DOMAIN,DC=LOCAL" -PrincipalIdentity bfarmer -Rights DCSync
|
||||
```
|
||||
|
||||
### Silver Ticket
|
||||
### Gümüş Bilet
|
||||
|
||||
**Silver Ticket saldırısı**, belirli bir hizmet için **geçerli bir Ticket Granting Service (TGS) bileti** oluşturur ve **NTLM hash**'ini kullanır (ö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 **NTLM hash**'ini kullanır (örneğin, **PC hesabının hash'i**). Bu yöntem, **hizmet yetkilerine erişmek** için kullanılır.
|
||||
|
||||
{{#ref}}
|
||||
silver-ticket.md
|
||||
{{#endref}}
|
||||
|
||||
### Golden Ticket
|
||||
### Altın Bilet
|
||||
|
||||
**Golden Ticket saldırısı**, bir saldırganın Active Directory (AD) ortamında **krbtgt hesabının NTLM hash'ine** erişim sağlamasıdır. Bu hesap, AD ağında kimlik doğrulama için gerekli olan tüm **Ticket Granting Tickets (TGT'ler)**'i imzalamak için kullanıldığı için özeldir.
|
||||
**Altın Bilet saldırısı**, bir saldırganın Active Directory (AD) ortamında **krbtgt hesabının NTLM hash'ine** erişim sağlamasıdır. Bu hesap, AD ağında kimlik doğrulama için gerekli olan tüm **Ticket Granting Tickets (TGT'ler)**'i imzalamak için kullanıldığı için özeldir.
|
||||
|
||||
Saldırgan bu hash'i elde ettiğinde, istedikleri herhangi bir hesap için **TGT'ler** oluşturabilir (Silver ticket saldırısı).
|
||||
Saldırgan bu hash'i elde ettiğinde, seçtiği herhangi bir hesap için **TGT'ler** oluşturabilir (Gümüş bilet saldırısı).
|
||||
|
||||
{{#ref}}
|
||||
golden-ticket.md
|
||||
{{#endref}}
|
||||
|
||||
### Diamond Ticket
|
||||
### Elmas Bilet
|
||||
|
||||
Bunlar, **yaygın golden ticket tespit mekanizmalarını atlayacak şekilde** sahte olarak oluşturulmuş golden ticket'lardır.
|
||||
Bunlar, **yaygın altın bilet tespit mekanizmalarını atlayacak şekilde** sahte olarak oluşturulmuş altın biletler gibidir.
|
||||
|
||||
{{#ref}}
|
||||
diamond-ticket.md
|
||||
@ -419,7 +421,7 @@ diamond-ticket.md
|
||||
|
||||
### **Sertifikalar Hesap Sürekliliği**
|
||||
|
||||
**Bir hesabın sertifikalarına sahip olmak veya bunları talep edebilmek**, kullanıcı hesabında sürekliliği sağlamak için çok iyi bir yoldur (kullanıcı parolasını değiştirse bile):
|
||||
**Bir hesabın sertifikalarına sahip olmak veya bunları talep edebilmek**, kullanıcı hesabında sürekliliği sağlamak için çok iyi bir yoldur (kullanıcı parolayı değiştirse bile):
|
||||
|
||||
{{#ref}}
|
||||
ad-certificates/account-persistence.md
|
||||
@ -427,7 +429,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
|
||||
@ -449,7 +451,7 @@ dsrm-credentials.md
|
||||
|
||||
### ACL Sürekliliği
|
||||
|
||||
Belirli alan nesneleri üzerinde bir **kullanıcıya** bazı **özel izinler** verebilir ve bu, kullanıcının gelecekte **yetkileri yükseltmesine** olanak tanır.
|
||||
Belirli alan nesneleri üzerinde bir **kullanıcıya** bazı **özel izinler** verebilir ve bu, kullanıcının gelecekte **yetkileri yükseltmesine** olanak tanıyabilir.
|
||||
|
||||
{{#ref}}
|
||||
acl-persistence-abuse/
|
||||
@ -457,13 +459,13 @@ 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 **yetkilere** sahip olduğu **nesneyi** **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
|
||||
{{#endref}}
|
||||
|
||||
### Skeleton Key
|
||||
### İskelet Anahtar
|
||||
|
||||
**LSASS**'ı bellekte değiştirerek, tüm alan hesaplarına erişim sağlayan **evrensel bir parola** oluşturun.
|
||||
|
||||
@ -482,7 +484,7 @@ custom-ssp.md
|
||||
|
||||
### DCShadow
|
||||
|
||||
AD'de **yeni bir Domain Controller** kaydeder ve belirli nesnelerde **özellikleri** (SIDHistory, SPNs...) **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 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.\
|
||||
Yanlış veri kullanırsanız, oldukça kötü loglar ortaya çıkacaktır.
|
||||
|
||||
{{#ref}}
|
||||
@ -491,52 +493,52 @@ dcshadow.md
|
||||
|
||||
### LAPS Sürekliliği
|
||||
|
||||
Daha önce, **LAPS parolalarını okuma iznine sahip olduğunuzda** yetkileri nasıl 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** yetkileri nasıl yükseltebileceğimizi tartıştık. Ancak, bu parolalar **sürekliliği sağlamak** için de kullanılabilir.\
|
||||
Kontrol edin:
|
||||
|
||||
{{#ref}}
|
||||
laps.md
|
||||
{{#endref}}
|
||||
|
||||
## Orman Yetki Yükseltme - Alan Güvenleri
|
||||
## Orman Yetki Yükseltme - Alan Güven İlişkileri
|
||||
|
||||
Microsoft, **Ormanı** güvenlik sınırı olarak görmektedir. Bu, **tek bir alanın ele geçirilmesinin, tüm Ormanın ele geçirilmesine yol açabileceği** anlamına gelir.
|
||||
|
||||
### 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ş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 saklarlar.
|
||||
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ş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 istiyorsa, önce kendi alanının DC'sinden **inter-realm TGT** olarak bilinen özel bir bilet talep etmelidir. Bu TGT, her iki alanın üzerinde anlaştığı bir **anahtar** ile şifrelenmiştir. Kullanıcı daha sonra 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ıktan sonra, kullanıcıya hizmete erişim izni veren bir TGS verir.
|
||||
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ığı paylaşılan bir **anahtar** ile şifrelenmiştir. Kullanıcı daha sonra 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. DC1, istemci başarılı bir şekilde kimlik doğrulandıysa yeni bir TGT verir.
|
||||
3. İstemci daha sonra **Domain 2**'deki kaynaklara erişmek için gereken **inter-realm TGT**'yi DC1'den talep eder.
|
||||
4. Inter-realm TGT, DC1 ve DC2 arasında iki yönlü alan güveni olarak paylaşılan bir **güven anahtarı** ile şifrelenmiştir.
|
||||
3. İstemci daha sonra **Domain 2**'deki kaynaklara erişmek için DC1'den bir **inter-realm TGT** talep eder.
|
||||
4. Inter-realm TGT, iki yönlü alan güveni çerçevesinde DC1 ve DC2 arası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.
|
||||
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 alandan güvenen alana yalnızca güvenen alan içindeki 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**; **Alan B**'de ise 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şkiler**
|
||||
**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, 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ı, ilişkisi olmayan alanlar arasında kurulur ve 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. Genellikle 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.
|
||||
- **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.
|
||||
- **Çapraz Bağlantı Güvenleri**: "Kısa yol güvenleri" olarak adlandırılan bu güvenler, çocuk alanları arasında referans süreçlerini hızlandırmak için 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 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. Genellikle 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üvendir ve 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.
|
||||
|
||||
#### **Güvenen ilişkilerdeki diğer farklılıklar**
|
||||
|
||||
- Bir güven ilişkisi **geçişli** (A güveniyor B, B güveniyor C, o zaman A güveniyor C) veya **geçişli olmayan** olabilir.
|
||||
- Bir güven ilişkisi **iki yönlü güven** (her ikisi de birbirine güvenir) veya **bir yönlü güven** (sadece biri diğerine güvenir) olarak kurulabilir.
|
||||
- Bir güven ilişkisi **geçişli** (A güveniyor B'ye, B güveniyor C'ye, o zaman A güveniyor C'ye) veya **geçişli olmayan** olabilir.
|
||||
- Bir güven ilişkisi **iki yönlü güven** (her ikisi de birbirine güvenir) veya **bir yönlü güven** (sadece birisi diğerine güvenir) olarak kurulabilir.
|
||||
|
||||
### Saldırı Yolu
|
||||
|
||||
@ -547,9 +549,9 @@ 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öneticiler” grubu, o makine üzerinde önemli kontrol sağlar.
|
||||
- **Yabancı Alan Grup Üyeliği**: İlkeler, yabancı alandaki grupların üyeleri de 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 belirtilmiş olabilir; özellikle bir **DACL** içindeki **ACE'ler** olarak. 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.
|
||||
- **Yerel Grup Üyeliği**: İlkeler, makinelerdeki yerel gruplara eklenebilir; örneğin, bir sunucudaki “Yöneticiler” grubu, o makine üzerinde önemli bir 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.
|
||||
|
||||
### Çocuktan Ana Orman Yetki Yükseltmesi
|
||||
```
|
||||
@ -564,7 +566,7 @@ WhenCreated : 2/19/2021 1:28:00 PM
|
||||
WhenChanged : 2/19/2021 1:28:00 PM
|
||||
```
|
||||
> [!WARNING]
|
||||
> **2 güvenilir anahtar** vardır, biri _Child --> Parent_ ve diğeri _Parent_ --> _Child_ için.\
|
||||
> **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:
|
||||
>
|
||||
> ```bash
|
||||
@ -572,43 +574,43 @@ WhenChanged : 2/19/2021 1:28:00 PM
|
||||
> Invoke-Mimikatz -Command '"lsadump::dcsync /user:dcorp\mcorp$"'
|
||||
> ```
|
||||
|
||||
#### SID-History Injection
|
||||
#### SID-History Enjeksiyonu
|
||||
|
||||
SID-History enjeksiyonunu kullanarak çocuk/ebeveyn alanına Enterprise admin olarak yükseltin:
|
||||
SID-History enjeksiyonunu kullanarak çocuk/ebeveyn alanına Enterprise admin olarak yükselme:
|
||||
|
||||
{{#ref}}
|
||||
sid-history-injection.md
|
||||
{{#endref}}
|
||||
|
||||
#### Yazılabilir Configuration NC'yi istismar etme
|
||||
#### Yazılabilir Konfigürasyon NC'yi Sömürme
|
||||
|
||||
Configuration Naming Context (NC)'nin nasıl istismar edilebileceğini anlamak çok önemlidir. Configuration NC, Active Directory (AD) ortamlarında bir orman genelinde yapılandırma verileri için merkezi bir depo görevi görür. Bu veriler, ormandaki her Domain Controller (DC) ile çoğaltılır ve yazılabilir DC'ler, Configuration NC'nin yazılabilir bir kopyasını tutar. Bunu istismar etmek için, bir DC üzerinde **SYSTEM ayrıcalıklarına** sahip olmak gerekir, tercihen bir çocuk DC.
|
||||
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 görevi 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.
|
||||
|
||||
**GPO'yu kök DC alanına bağlayın**
|
||||
**GPO'yu kök DC alanına bağlama**
|
||||
|
||||
Configuration NC'nin Sites konteyneri, AD ormanındaki tüm alan bağlı bilgisayarların alanları 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.
|
||||
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.
|
||||
|
||||
Derinlemesine bilgi için, [SID Filtering'i 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 yapılan 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ı, Configuration 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 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 için şifreleri hesaplamak mümkündür.
|
||||
|
||||
Detaylı analiz, [Golden gMSA Trust Attacks](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.
|
||||
Detaylı analiz, [Altın gMSA Güven 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.
|
||||
|
||||
**Ş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, yetkisiz erişim ve yeni oluşturulan AD nesneleri üzerinde kontrol sağlama ile sonuçlanabilir.
|
||||
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.
|
||||
|
||||
Daha fazla okuma için [Schema Change Trust Attacks](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.
|
||||
Daha fazla okuma için [Şema Değişikliği Güven 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 bakılabilir.
|
||||
|
||||
**DA'dan EA'ya ADCS ESC5 ile**
|
||||
|
||||
ADCS ESC5 açığı, ormandaki herhangi bir kullanıcı olarak kimlik doğrulamasını sağlayan bir sertifika şablonu oluşturmak için Kamu Anahtar Altyapısı (PKI) nesneleri üzerindeki kontrolü hedef alır. PKI nesneleri Configuration NC içinde bulunduğundan, yazılabilir bir çocuk DC'yi tehlikeye atmak, ESC5 saldırılarının gerçekleştirilmesini sağlar.
|
||||
ADCS ESC5 açığı, ormandaki herhangi bir kullanıcı olarak kimlik doğrulamasını 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'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) başlıklı yazıda 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ıklı yazıda tartışılmıştır.
|
||||
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.
|
||||
|
||||
### Dış Orman Alanı - Tek Yönlü (Giriş) veya iki yönlü
|
||||
### Harici Orman Alanı - Tek Yönlü (Giriş) veya iki yönlü
|
||||
```powershell
|
||||
Get-DomainTrust
|
||||
SourceName : a.domain.local --> Current domain
|
||||
@ -637,18 +639,18 @@ TrustDirection : Outbound --> Outbound trust
|
||||
WhenCreated : 2/19/2021 10:15:24 PM
|
||||
WhenChanged : 2/19/2021 10:15:24 PM
|
||||
```
|
||||
Bu senaryoda **domaininiz**, **farklı domainlerden** bir **prensipe** bazı **ayrımcı haklar** vermektedir.
|
||||
Bu senaryoda **domaininiz**, **farklı domainlerden** bir **prensipe** bazı **ayrımcı yetkiler** vermektedir.
|
||||
|
||||
Ancak, bir **domain güvenilir** olduğunda, güvenilir domain **tahmin edilebilir bir isimle** bir **kullanıcı oluşturur** ve bu kullanıcı **güvenilir şifreyi** **şifre** olarak kullanır. Bu, **güvenilir domain içindeki bir kullanıcıya erişim sağlamak için güvenen domainin bir kullanıcısının erişim sağlamasının mümkün olduğu** anlamına gelir ve bu kullanıcıyı listeleyip daha fazla yetki artırmaya çalışabilir:
|
||||
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 kullanıcılarından birine erişmenin mümkün olduğu** anlamına gelir ve 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üvenilir 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 ç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 çok yaygın değildir).
|
||||
|
||||
Güvenilir domaini tehlikeye atmanın bir başka yolu, **güvenilir domainin bir kullanıcısının erişebileceği** bir makinede beklemektir ve **RDP** üzerinden giriş yapmaktır. Ardından, saldırgan RDP oturum sürecine kod enjekte edebilir ve buradan **kurbanın orijinal domainine erişebilir**.\
|
||||
Ayrıca, eğer **kurban sabit diskini bağladıysa**, RDP oturum sürecinden saldırgan **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 ve bu sayede **RDP** üzerinden giriş yapmaktır. Ardından, saldırgan RDP oturum sürecine 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
|
||||
@ -658,15 +660,15 @@ 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.
|
||||
- Orman güvenleri boyunca 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ç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.
|
||||
- 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 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 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'e bakın.**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/child-domain-da-to-ea-in-parent-domain)
|
||||
[**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)
|
||||
|
||||
## AD -> Azure & Azure -> AD
|
||||
|
||||
@ -680,27 +682,27 @@ 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 hostlarda kullanılmamalıdır.
|
||||
- **Hizmet Hesabı Ayrıcalıkları**: Hizmetler, güvenliği sağlamak için Domain Yöneticisi (DA) ayrıcalıkları ile çalıştırılmamalıdır.
|
||||
- **Geçici Ayrıcalık Sınırlaması**: DA ayrıcalıkları 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.
|
||||
- **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 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 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 ayrıcalıklı gruplara eklemeyi içerir.
|
||||
- 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.
|
||||
- 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.
|
||||
|
||||
### **Aldatmayı Tanımlama**
|
||||
|
||||
- **Kullanıcı Nesneleri için**: Şüpheli göstergeler arasında alışılmadık ObjectSID, nadir oturum açma, oluşturulma tarihleri ve düşük kötü şifre sayıları bulunur.
|
||||
- **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.
|
||||
- **Kullanıcı Nesneleri için**: Şüpheli göstergeler arasında alışılmadık ObjectSID, nadir oturum açma, oluşturma 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ımlamaya yardımcı olabilir.
|
||||
|
||||
### **Algılama Sistemlerini Aşma**
|
||||
|
||||
- **Microsoft ATA Algılama Aşma**:
|
||||
- **Kullanıcı Sayımı**: Domain Denetleyicilerinde oturum sayımını önleyerek ATA algılamasını engellemek.
|
||||
- **Kullanıcı Sayımı**: ATA algılamasını önlemek için Domain Denetleyicilerinde oturum sayımından kaçınmak.
|
||||
- **Bilet Taklidi**: Bilet oluşturmak için **aes** anahtarlarını kullanmak, NTLM'ye düşmeden algılamadan kaçınmaya yardımcı olur.
|
||||
- **DCSync Saldırıları**: ATA algılamasından kaçınmak için bir Domain Denetleyicisinden değil, başka bir yerden yürütülmesi önerilir; çünkü bir Domain Denetleyicisinden doğrudan yürütme uyarıları tetikler.
|
||||
- **DCSync Saldırıları**: ATA algılamasından kaçınmak için bir Domain Denetleyicisinden değil, başka bir yerden yürütülmesi önerilir; çünkü doğrudan bir Domain Denetleyicisinden yürütme, uyarıları tetikler.
|
||||
|
||||
## Referanslar
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user