Yerel Hesap Ayrıcalıklarını Yükseltmek için PowerShell'i Kullanma

Yerel Hesap Ayrıcalıklarını Yükseltmek için PowerShell'i Kullanma

Ayrıcalık yükseltme, saldırganın mevcut hesap haklarını sisteme ek, genellikle daha yüksek düzeyde erişim elde etmek için kullanmasıdır. Ayrıcalık artışı, sıfır gün açıklarından yararlanmaların, usta bilgisayar korsanlarının hedefli bir saldırı başlatmasının veya akıllıca gizlenmiş kötü amaçlı yazılımların sonucu olabilir; ancak çoğunlukla bilgisayar veya hesabın yanlış yapılandırılmasından kaynaklanır. Saldırıyı daha da geliştiren saldırganlar, bir dizi bireysel güvenlik açığından yararlanır ve bunlar birlikte felaket boyutunda bir veri sızıntısına yol açabilir.

Kullanıcılar neden yerel yönetici haklarına sahip olmamalıdır?

Bir güvenlik uzmanıysanız, kullanıcıların yerel yönetici haklarına sahip olmaması gerektiği açık görünebilir, çünkü:

  • Hesaplarını çeşitli saldırılara karşı daha savunmasız hale getirir
  • Aynı saldırıları çok daha ciddi hale getiriyor

Ne yazık ki, birçok kuruluş için bu hala çok tartışmalı bir konudur ve bazen hararetli tartışmalar da buna eşlik etmektedir (örneğin bkz. yöneticim tüm kullanıcıların yerel yönetici olması gerektiğini söylüyor). Bu tartışmanın ayrıntılarına girmeden, saldırganın, bir güvenlik açığından yararlanarak veya makinelerin güvenliğinin düzgün şekilde sağlanmaması nedeniyle, incelenen sistemde yerel yönetici haklarını elde ettiğine inanıyoruz.

Adım 1: PowerShell Kullanarak DNS Adı Çözümlemesini Tersine Çevirme

Varsayılan olarak PowerShell birçok yerel iş istasyonuna ve çoğu Windows sunucusuna yüklenir. İnanılmaz derecede kullanışlı bir otomasyon ve kontrol aracı olarak görülmesi abartısız olmasa da, neredeyse görünmez bir şeye dönüşme konusunda da aynı derecede yeteneklidir. dosyasız kötü amaçlı yazılım (saldırı izi bırakmayan bir bilgisayar korsanlığı programı).

Bizim durumumuzda, saldırgan bir PowerShell betiği kullanarak ağ keşfi gerçekleştirmeye başlar, ağın IP adres alanını sırayla yineler, belirli bir IP'nin bir ana bilgisayara çözümlenip çözümlenmediğini ve eğer öyleyse o ana bilgisayarın ağ adının ne olduğunu belirlemeye çalışır.
Bu görevi gerçekleştirmenin birçok yolu vardır ancak cmdlet'i kullanmak Almak-ADComputer güvenilir bir seçenektir çünkü her düğüm hakkında gerçekten zengin bir veri kümesi döndürür:

 import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq ‘10.10.10.10’}

Büyük ağlarda hız sorun teşkil ediyorsa ters DNS sistem çağrısı kullanılabilir:

[System.Net.Dns]::GetHostEntry(‘10.10.10.10’).HostName

Yerel Hesap Ayrıcalıklarını Yükseltmek için PowerShell'i Kullanma

Bir ağdaki ana bilgisayarları numaralandırmanın bu yöntemi çok popülerdir çünkü çoğu ağ sıfır güven güvenlik modelini kullanmaz ve dahili DNS sorgularını şüpheli etkinlik patlamalarına karşı izlemez.

2. Adım: Bir hedef seçin

Bu adımın nihai sonucu, saldırıyı sürdürmek için kullanılabilecek sunucu ve iş istasyonu ana bilgisayar adlarının bir listesini elde etmektir.

Yerel Hesap Ayrıcalıklarını Yükseltmek için PowerShell'i Kullanma

Adına bakılırsa 'HUB-FILER' sunucusu değerli bir hedef gibi görünüyor çünkü... Zamanla, dosya sunucuları çok sayıda ağ klasörü biriktirme ve bunlara çok fazla kişinin aşırı erişim sağlama eğilimi gösterir.

Windows Gezgini ile göz atmak, açık bir paylaşılan klasör olduğunu belirlememize olanak tanır, ancak mevcut hesabımız bu klasöre erişemez (muhtemelen yalnızca listeleme haklarına sahibiz).

3. Adım: ACL'yi öğrenmek

Artık HUB-FILER ana bilgisayar ve hedef paylaşımımızda ACL'yi almak için PowerShell betiğini çalıştırabiliriz. Zaten yerel yönetici haklarına sahip olduğumuz için bunu yerel makineden yapabiliriz:

(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –auto

Yürütme sonucu:

Yerel Hesap Ayrıcalıklarını Yükseltmek için PowerShell'i Kullanma

Buradan, Etki Alanı Kullanıcıları grubunun yalnızca listelemeye erişimi olduğunu, ancak Yardım Masası grubunun da düzenleme haklarına sahip olduğunu görüyoruz.

Adım 4: Hesap Tanımlama

Koşarak Get-ADGroupMember, bu grubun tüm üyelerini alabiliriz:

Get-ADGroupMember -identity Helpdesk

Yerel Hesap Ayrıcalıklarını Yükseltmek için PowerShell'i Kullanma

Bu listede daha önce tanımladığımız ve zaten eriştiğimiz bilgisayar hesabını görüyoruz:

Yerel Hesap Ayrıcalıklarını Yükseltmek için PowerShell'i Kullanma

Adım 5: Bir bilgisayar hesabı altında çalışmak için PSExec'i kullanın

PsExec Microsoft Sysinternals, Yardım Masası hedef grubunun bir üyesi olduğunu bildiğimiz SYSTEM@HUB-SHAREPOINT sistem hesabı bağlamında komutları yürütmenize olanak tanır. Yani, sadece şunları yapmamız gerekiyor:

PsExec.exe -s -i cmd.exe

O zaman HUB-SHAREPOINT bilgisayar hesabı bağlamında çalıştığınız için HUB-FILERshareHR hedef klasörüne tam erişiminiz var. Ve bu erişim sayesinde veriler taşınabilir bir depolama cihazına kopyalanabilir veya ağ üzerinden başka şekilde alınıp aktarılabilir.

Adım 6: Bu saldırıyı tespit etmek

Bu özel hesap izinleri yapılandırma güvenlik açığı (kullanıcı hesapları veya hizmet hesapları yerine ağ paylaşımlarına erişen bilgisayar hesapları) keşfedilebilir. Ancak doğru araçlar olmadan bunu yapmak çok zordur.

Bu saldırı kategorisini tespit etmek ve önlemek için şunu kullanabiliriz: Veri Avantajı bilgisayar hesapları olan grupları belirlemek ve ardından bunlara erişimi reddetmek için. Veri Uyarısı daha da ileri giderek bu tür senaryolar için özel olarak bir bildirim oluşturmanıza olanak tanır.

Aşağıdaki ekran görüntüsü, bir bilgisayar hesabı izlenen sunucudaki verilere eriştiğinde tetiklenecek özel bir bildirimi göstermektedir.

Yerel Hesap Ayrıcalıklarını Yükseltmek için PowerShell'i Kullanma

PowerShell'i kullanmanın sonraki adımları

Daha fazlasını mı öğrenmek istiyorsunuz? Tamamına ücretsiz erişim için "blog" kilit açma kodunu kullanın PowerShell ve Active Directory Temelleri video kursu.

Kaynak: habr.com

Yorum ekle