0% found this document useful (0 votes)
41 views10 pages

SamAccountName Spoofing

Rapor

Uploaded by

vabiran174
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views10 pages

SamAccountName Spoofing

Rapor

Uploaded by

vabiran174
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

samAccountName Spoofing:

SamAccountName Spoofing (CVE-2021–42278) & Domain Controller


Impersonation (CVE-2021–42287)

Özet

CVE-2021-42278 (sAMAccountName Spoofing) ve CVE-2021-42287 (Domain Controller Impersonation), Microsoft Active


Directory'de bulunan ve saldırganlara yüksek seviyede erişim izni sağlayabilen ciddi güvenlik açıklarıdır. Bu rapor, bu zafiyetlerin
teknik detaylarını, etkilerini, sömürü yöntemlerini ve güvenlik önlemlerini detaylı bir şekilde ele alacaktır.

SAMAccountName Spoofing, iki kritik zafiyet olan CVE-2021-42278 ve CVE-2021-42287'nin birleşimidir. Bu zafiyetler, bir
saldırganın etki alanı (domain) denetleyicisinde (Domain Controller) yönetici yetkilerini ele geçirmesine ve sahte
SAMAccountName'ler oluşturmasına olanak tanır. Bu zafiyetlerin etkin bir şekilde kullanılabilmesi, domain güvenliğini ciddi
şekilde tehdit eder.

Bu zafiyet, SAMAccountName özniteliğinde bulunan bir doğrulama eksikliğinden kaynaklanır ve saldırganın kullanıcı ve servis
hesaplarını rastgele adlandırmasına izin verir. Normalde, bu hesaplar belirli bir adlandırma kuralına uymak zorundadır. Örneğin,
adlarının sonuna bir dolar işareti ($) eklenir. Ancak bu zafiyet, saldırganın bu kuralları aşmasına olanak tanır.

Bu doğrulama eksikliği ise şu şekilde özetlenebilir: Active Directory, SAMAccountName özniteliği için yeterli düzeyde doğrulama
yapmamaktadır. Bu, bir bilgisayar hesabı oluşturulurken veya değiştirirken adlandırma kurallarının yeterince kontrol edilmediği
anlamına gelir.

Saldırganlar, bu zafiyeti kullanarak; Domain katmanında istediği kullanıcı adında hesaplar oluşturabilir, oluşturulan hesaplarla
domain kaynaklarına yetkisiz erişim sağlayabilir ve ağda daha fazla sisteme yayılabilir.
Zafiyetin Detayları

SAMAccountName

SAMAccountName, Active Directory ortamlarında her kullanıcı, grup, bilgisayar ve diğer nesnelere verilen benzersiz bir
adlandırma özniteliğidir. Bu öznitelik, Windows NT 4.0 ve öncesi sistemlerde kullanılan Security Account Manager (SAM)
veritabanındaki hesap adlarını temsil eder. Bu öznitelik, Active Directory'de her nesne için benzersiz bir oturum açma adı sağlar

SAMAccountName, AD ortamlarında kimlik doğrulama ve yetkilendirme süreçlerinde kritik bir rol oynar. Bu öznitelik,
kullanıcıların ve bilgisayarların kimliklerinin doğrulanmasında ve izinlerinin belirlenmesinde kullanılır.

SAMAccountName özniteliğinde zafiyetler, saldırganların kimlik doğrulama süreçlerini atlatmasına ve yetkisiz erişim elde
etmesine neden olabilir. Örneğin bu zafiyetler, SAMAccountName'i manipüle ederek saldırganların Domain Controller’ları taklit
etmesine ve etki alanı üzerinde tam kontrol elde etmesine olanak tanır.

Saldırı Vektörleri

Bilgisayar Hesaplarının Rastgele Adlandırılması

Saldırganlar, CVE-2021-42278 zafiyetini kullanarak bilgisayar hesaplarını rastgele adlandırabilir. Bu, güvenlik kontrollerini ve
izleme mekanizmalarını atlatmak için kullanılabilir.

Rastgele adlandırılmış bilgisayar hesapları, CVE-2021-42287 ile birleştirildiğinde, saldırganların sistemde yetki yükseltme
saldırıları gerçekleştirmesine olanak tanır. Bilgisayar hesaplarının manipüle edilmesi ve yüksek yetkili hesapların oluşturulması,
saldırganın sistemde tam kontrol sağlamasına izin verir.
Teknik Ayrıntılar
S4U2Self sırasında, KDC (Key Distribution Center) belirtilen bilgisayar adı bulunamazsa, TGT'de belirtilen bilgisayar adına bir '$' eklemeye çalışır. Bir
saldırgan, sAMAccountName'i bir domain denetleyicisinin sAMAccountName'ine - '$' işareti olmadan - ayarlayarak yeni bir makine hesabı
oluşturabilir. Örneğin, sAMAccountName'i 'DC$' olarak ayarlanmış bir domain denetleyicisi olduğunu varsayalım. Bir saldırgan, sAMAccountName'i
'DC' olarak ayarlayarak bir makine hesabı oluşturur. Saldırgan daha sonra yeni oluşturulan makine hesabı için bir TGT isteyebilir. TGT, KDC
tarafından verildikten sonra, saldırgan yeni oluşturulan makine hesabının adını başka bir şeye, örneğin JOHNS-PC olarak değiştirebilir. Saldırgan
daha sonra S4U2Self gerçekleştirebilir ve herhangi bir kullanıcı olarak kendisine bir ST isteyebilir. sAMAccountName'i 'DC' olarak ayarlanan makine
hesabının adı değiştirildiğinden, KDC makine hesabını '$' ekleyerek bulmaya çalışır ve bu da domain denetleyicisi ile eşleşir. KDC daha sonra
domain denetleyicisi için geçerli bir ST (Service Ticket) verir.

Zafiyetlerin Keşfi ve İstismarı

CVE-2021-42278 İstismarı

Bilgisayar Hesabı Oluşturma: Saldırgan, yeni bir bilgisayar hesabı oluşturur veya mevcut bir bilgisayar hesabını değiştirir.

SAMAccountName Manipülasyonu: Bu hesap için SAMAccountName özniteliği, normal adlandırma kurallarını ihlal edecek şekilde
değiştirilir.

Adlandırma Kurallarının İhlali: Normalde, bir bilgisayar hesabı adının sonunda dolar işareti ($) bulunur, ancak bu zafiyet
nedeniyle bu kural atlanabilir.

Yetkisiz Erişim ve Manipülasyon: Rastgele adlandırılmış bilgisayar hesapları, Active Directory'deki diğer kaynaklara veya
nesnelere erişim sağlamak için kullanılabilir.
CVE-2021-42287 İstismarı

Bilgisayar Hesabının Manipülasyonu: Saldırgan, rastgele adlandırılmış bir bilgisayar hesabı kullanarak kendisini bu hesap olarak
gösterir.

Yüksek Yetkili Hesap Oluşturma: Manipüle edilmiş bilgisayar hesabını kullanarak yüksek yetkili bir kullanıcı hesabı oluşturur.

Yetkisiz Erişim: Yüksek yetkili kullanıcı hesabı ile saldırgan, sistemde tam yetkili erişim elde eder.

Yetki Yükseltme: Bu erişim ile saldırgan, sistemde tam kontrol sağlayabilir.

Terminoloji ve Arka Plan

KDC (Key Distribution Center): Kerberos protokolünün merkezi bileşenidir. Kimlik doğrulama ve bilet (ticket) verme işlevlerini
gerçekleştirir.

TGT (Ticket Granting Ticket): KDC tarafından verilen ve kullanıcıların hizmet bileti (Service Ticket, ST) almasını sağlayan bir
bilettir.

S4U2Self: Bir hizmetin (service) kendisi için bir bilet (ticket) almasını sağlayan bir Kerberos uzantısıdır.

sAMAccountName: Active Directory'deki bir hesabın benzersiz oturum açma adıdır.


Adım Adım Süreç

Bilgisayar Hesabının Oluşturulması ve TGT Talebi

1. Yeni Makine Hesabı Oluşturma:

Saldırgan, Active Directory'de yeni bir makine hesabı oluşturur. Bu hesabın sAMAccountName'i 'DC' olarak ayarlanır (domain
denetleyicisinin adı 'DC$' iken)

2. TGT Talebi:

Saldırgan, KDC'den bu yeni 'DC' adlı makine hesabı için bir TGT talep eder.

KDC, bu talebi işler ve saldırgana 'DC' hesabı için bir TGT verir.

Bu TGT'nin içeriğinde sAMAccountName olarak 'DC' yazmaktadır.

2. Makine Hesabının Yeniden Adlandırılması

1. Makine Hesabının Adının Değiştirilmesi:

Saldırgan, 'DC' adlı makine hesabının adını 'JOHNS-PC' olarak değiştirir.

Ancak, KDC tarafından verilen TGT hala eski sAMAccountName'i ('DC') içerir.

3. S4U2Self ve ST Talebi

1. S4U2Self İşlemi ve ST Talebi:

Saldırgan, S4U2Self işlemini kullanarak kendisi için bir ST (Service Ticket) talep eder. Bu işlem sırasında saldırgan, TGT'yi
kullanarak 'DC' olarak kimlik doğrulaması yapar.

Saldırgan, ST'yi sAMAccountName'i 'JOHNS-PC' olan hesap adına talep eder.


2. KDC'nin sAMAccountName'i Kontrol Etmesi:

KDC, TGT'de belirtilen sAMAccountName'i (yani 'DC') kontrol eder ve bu adın sonuna '$' ekler.

KDC, 'JOHNS-PC' adlı makine hesabını bulamayınca, TGT'deki sAMAccountName'i ('DC') sonuna '$' ekleyerek
'DC$' adını arar.

3. Doğru Hesabın Bulunması ve ST'nin Verilmesi:

KDC, 'DC$' adını bulduğunda, bu ad domain denetleyicisine ait olduğu için doğru hesabı bulur.

KDC, saldırganın talebine dayanarak, domain denetleyicisi için geçerli bir ST verir.
Özet

● Saldırgan, Active Directory'de sAMAccountName'i 'DC' olarak ayarladığı bir makine hesabı oluşturur ve bu hesap
için TGT alır.
● Daha sonra bu makine hesabının adını 'JOHNS-PC' olarak değiştirir, ancak TGT hala eski sAMAccountName'i
('DC') içerir.
● Saldırgan, S4U2Self işlemi kullanarak kendisine bir ST talep ederken, KDC TGT'deki sAMAccountName'i (yani
'DC') kullanarak bu hesabı bulmaya çalışır.
● KDC, 'JOHNS-PC' hesabını bulamayınca, 'DC' adının sonuna '$' ekler ve 'DC$' adını arar.
● 'DC$' domain denetleyicisine ait olduğu için, KDC saldırgana domain denetleyicisi adına geçerli bir ST verir.
Zafiyeti Sömürme Aşaması Örnekleri

sam_the_admin.py aracı ile “python sam_the_admin.py ‘domain/kullanıcıadı:şifre’ -dc-ip 10.10.10.10 -shell”


komutu kullanılarak domain controller makinesi impersonate edilir ve shell alınır.
noPac.py aracı ile “python noPac.py domain/kullanıcıadı:’şifre’ -dc-ip 10.10.10.10 -shell” komutu ile domain
controller kullanıcısı impersonate edilir ve shell alınır.
Zafiyetin Giderilmesi İçin Öneriler

1. Güncellemeleri Yükleyin

Sistemlerinizi en son güvenlik yamalarıyla güncel tutmak, SAMAccount spoofing gibi güvenlik açıklarını kapatmanın en etkili
yollarından biridir:

● Microsoft Security Advisory: SAMAccount spoofing ile ilgili yayınlanan güvenlik danışmanlıklarını ve yamalarını kontrol
edin ve uygulayın.

Microsoft Security Advisory CVE-2020-42278

2. Güçlü Kimlik Doğrulama Mekanizmaları Kullanma

● Multi-Factor Authentication (MFA): Kullanıcıların kimlik doğrulama işlemlerinde ek bir doğrulama yöntemi kullanmasını
sağlayın. Bu, sahte kimlik doğrulama girişimlerini zorlaştırır.
● Kerberos Authentication: Kerberos kimlik doğrulama protokolünü kullanarak daha güvenli bir kimlik doğrulama sağlayın.
Kerberos, güvenli biletler kullanarak kimlik doğrulama yapar ve sahteciliği zorlaştırır.

You might also like