Siber Güvenlik

Blue Team Bakış Açısıyla Windows Sistem Processleri 7 Vssadmin.exe

Bilgisayarımızda beklenmedik yavaşlık, donma veya ısınma sorunları oluştuğunda hepimizin ilk baktığı yer olan görev yöneticisi çeşitli işlemlere ev sahipliği yapmaktadır. Görev yöneticisi; bizlere yürütülen işlemler, kullanılan işlemci ve hafıza oranları gibi çeşitli bilgiler vermektedir.

Mehmet Selim Kartal |

11.02.2022

Bu işlemler kim tarafından yapılıyor?

 

Bilgisayarımda virüs, madencilik zararlısı var mı ?

 

Hangi işlemler, servisler paket aktarımı gerçekleştiriyor?

 

Görev yöneticisinde bulunan işlemler, işletim sistemi kullanıcıları olan bizler tarafından başlatılabildiği gibi Windows işletim sisteminin kendi görevlerini yapabilmesi, işletim sisteminin ayakta durabilmesi veya kullanıcının yapmak istediği işlemleri yerine getirebilmesi için Windows’un kendisi tarafından farklı farklı işlemler ve servisler de başlatılmaktadır. Peki biz görev yöneticisi ekranında bulunan aktif işlemler hakkında ne kadar bilgi sahibiyiz?

 

Bu yazımızda, Microsoft tarafından imzalı, Windows’un resmi işlemlerinden biri olan “vssadmin.exe” dosyasının ne için kullanıldığı ve saldırganlar tarafından kullanılıp kullanılmadığını anlayabilmemiz için ne yapmamız gerektiğini ele alacağız.

 

Servisle ilgili bilgi vermeden önce gölge servisi’nin  ne olduğu ve Windows sistemlerinde gölge kopyanın ne amaçla kullanıldığını konuşacağız.

 

Gölge Servisi

 

Volume Shadow Service ( VSS ), birim gölge servisi olarak türkçeleştirebileceğimiz bu servis, bilgisayar dosyalarının veya birimlerinin, manuel veya otomatik yedek kopyalarının ya da anlık görüntülerinin alınması için kullanılmaktadır. Üçüncü parti yedekleme yardımcı programları da Windows’un gölge kopya hizmetinden faydalanarak, gölge kopya sağlayıcısı olarak işlev sağlamaktadır. VSS, bu hizmeti sağlamak için yazıcı, sağlayıcı ve istemci olmak üzere birbirleriyle uyum içinde çalışan bileşenlere sahiptir.

 

VSS İstemci

 

VSS istemcisi (Requestor) Hyper-V için SnapManager veya NTBackup gibi bir uygulamadır. VSS yedekleme ve geri yükleme işlemlerini başlatarak, yedeklemeler için “anlık görüntü” kopyasının özelliklerini belirler.

 

VSS Yazıcı

 

VSS yazıcısı (Writers), anlık görüntü kopyasında yakalanacak verileri bulundurarak söz konusu verileri yönetir.

 

İşletim sisteminde bulunan yazıcıları listelemek için komut satırında “vssadmin list writers” komutu çalıştırılarak listelenebilir.

 

vss yazıcı

 

VSS Sağlayıcı

 

VSS sağlayıcısı (System Provider) anlık görüntü kopyasının oluşturulması ve yönetilmesinden sorumludur. Donanım sağlayıcısı, sistem sağlayıcısı veya yazılım sağlayıcısı olarak üç çeşidi bulunmaktadır.

 

Aşağıdaki görsel sistemde bulunan bir birimin gölge kopyası alınırken VSS servisinde bulunan bileşenlerin çalışma prensibini göstermektedir.

 

vss

 

Gölge Kopyanın oluşturulma süreci

 

Gölge kopyanın oluşturulması sırasında istemci, yazıcı ve sağlayıcı aşağıda belirtilen aksiyonları gerçekleştirir.

 

  1. İstemci VSS’ten yazıcıları numaralandırmasını ve yazıcılardan meta verileri toplamasını isteyerek gölge kopya oluşturma akışını başlatır.
  2. Sistemde bulunan bir yazıcı, yedeklenmesi gereken bileşenlerin ve veri depolarının XML tanımını oluşturur. Aynı zamanda tüm bileşenler için kullanılabilecek bir geri yükleme noktası oluşturur.
  3. VSS yazıcılara kopyalama işlemine hazırlanmalarını bildirir.
  4. Yazıcılar kopyalama işleminin başlatılabileceği bilgisini VSS’e gönderir.
  5. VSS yazıcılara kopyalama bitimine kadar gelecek olan I/O (Girdi / Çıktı) işlemlerini, 60 saniyeyi geçmeyecek şekilde durdurmasını söyler (Bu sırada gelen istekler sıraya alınır). Durdurma öncesinde sistem arabellekleri temizlenmesiyle verilerin doğru şekilde kaydedilmesini ve kopyalanacak verilerin doğru sırada yazılması sağlanır.
  6. VSS, sağlayıcılara gölge kopya oluşturulmasını söyler,
  7. VSS, sistem yazma I/O isteklerini serbest bırakır.
  8. VSS, yazıcılara I/O isteklerini başlatmasını söyler ve bu noktadan sonra diske yazım işlemi kaldığı yerden devam eder.

 

Gölge servisi çalışmalarının sonucunda oluşan gölge kopyanın “klon”, “yazma üzerine kopya” ve “yönlendirerek yazma” olmak üzere üç çeşidi oluşmaktadır.

 

Klon kopyalar tam olarak göründükleri gibidir - bir sanal makineyi klonlamaya benzer şekilde orijinal verilerin bir kopyası olarak oluşturulmaktadır.

 

Yazma üzerine kopyalanan gölge kopyalar, canlı bir sistemde değişiklikler yapılırken, değiştirilen verilerin izlenerek kopyalanması sonucu oluşur. Bir hata durumunda geri dönebilmek için dönüm noktası olarak kullanılır.  Aşağıdaki tabloda T0, T1, T2 zamanında disk üzerinde yapılan değişiklikler ve gölge kopyanın oluşumu gösterilmiştir.

 

tablo

 

Yönlendirerek yazma sonucu oluşan gölge kopyalar ise söz konusu diskin kopyası alınırken belirlenen noktadan sonra oluşan değişikliklerin kaydedilmesiyle oluşur. Kopyası alınan diskte herhangi bir değişiklik yapılmaz.

 

tablo2

 

Birim gölgeleri, aslında,  Windows XP ve sonrası Windows işletim sistemlerinde kullanıcıların sıkça kullandığı popüler servislerden biridir. Profesyonel olmayan kullanıcılar, gündelik kullanıcılar, “Birim gölgesi” ibaresi içeren iletişim penceresini büyük ihtimalle hiç görmemişlerdir. Söz konusu bu kullanıcılar aynı işleve sahip olan “Sistem Geri Yükleme” penceresiyle karşılaşmışlardır. VSS’in tek özelliği bu olmasa da bir örnek olması amacıyla bu örnek üzerinde biraz daha durabiliriz.

 

Sistem Geri Yükleme Noktası ( VSS Yazma üzerine kopya )

 

Sistem geri yükleme noktası, Windows işletim sistemlerinde, genellikle sistemsel bir hata ile karşılaşıldığında, sıkça kullanılan bir özelliktir. Sistemde değişiklikler yapılmadan önce alınan gölge kopyası ile ileride oluşacak arızaları geri döndürmek amacıyla kullanılmaktadır. Yukarıdaki resim,  Windows 10 sistem geri yükleme penceresidir. İşletim sistemine yapacağım yükleme öncesinde VSS ile alınan gölge kopyam bulunuyor. Söz konusu gölge kopyayı yükleme isteğinde bulunduğumda sistemimde yapılacak değişiklikler ise sağdaki resimde gösterilmektedir.

 

Sistem Geri Yükleme Noktası ( VSS Yazma üzerine kopya )

 

Yazınızın ilk bölümünde VSS’in ne amaçla kullanıldığını konuştuğumuza göre görev yöneticisinde gördüğümüz vssadmin.exe’nin genolojisi, kullanımını ve önemini konuşabiliriz.

 

Windows genolojisine baktığımızda aşağıdaki gibi bir yapı karşımıza çıkmaktadır. Bu sebeple, “vssadmin.exe” servisinin üst servisleri incelendiğinde cmd.exe, powershell.exe veya explorer.exe olarak gözükmüyorsa söz konusu olan “vssadmin.exe” dosyası saldırganlar tarafından bilgisayarınıza yerleştirilmiş zararlı bir dosyadır.

 

I__ explorer.exe

               I__cmd.exe veya I __ powershell.exe

                                 I__vssadmin.exe

 

Windows

 

VSS Admin (Volume Shadow Service Admin),Birim gölge servis admini olarak Türkçeleştirebileceğimiz bu servis Microsoft tarafından imzalıdır ve varsayılan dosya %SystemRoot%vssadmin.exe (Not: %SystemRoot% = C:\Windows\System32) olarak belirlenmiştir.

 

Yazının ilk başlarında belirtilen özelliklerin kullanılabilmesi için bir arayüz özelliği taşıyan vssadmin.exe ile aşağıdaki komutlar kullanılarak gerekli işlemler yapılabilmektedir.

 

 

Komut Açıklaması
Add ShadowStorage Gölge kopya depolama alanı ekle
Create Shadow Gölge kopyası oluştur
Delete Shadows Gölge kopyaları sil
Delete ShadowStorage Gölge kopya depolama alanı sil
List Providers Kayıtlı gölge kopya sağlayıcılarını listele
List Shadows Var olan gölge kopyaları listele
List ShadowStorage Gölge kopya depolama alanlarını listele
List Volumes Gölge kopya alınabilecek birimleri listele
List Writers Gölge kopya yazıcılarını listele
Resize ShadowStorage Gölge kopya depolama alanı boyut değişikliğini sağla
Revert Shadow Seçilen diski, gölge kopyaya çevir
Query Reverts Devam etmekte olan gölge kopyalama işlemlerini sorgula

 

 

Yukarıdaki komutların sistem adminleri tarafından kullanılması olağan bir durum olacağını hepimiz biliyoruz. Peki saldırganlar bahsettiğimiz servisi ne amaçla kullanabilir? Saldırganlar, özellikle fidyeleme saldırıları sırasında, ele geçirdiği makinelerin geri yükleme noktalarını silerek dosyaların kurtarılmasını önleyebilir veya Active Directory’de saklanan kullanıcı parolalarının hashlerini ele geçirebilmek için bahsettiğimiz bu aracı sömürebilir. Bu yazıda saldırganın active directory hashlerini ele geçirmeyi amaçladığını düşünerek devam ediyoruz. Söz konusu hashler ntds.dit (%SystemRoot%\ntds\NTDS.DIT) dosyasında tutulmaktadır.

 

Hash’lerin Ntds.dit dosyasından çıkarılabilmesi için öncelikle bu dosyanın bir kopyasını elde etmemiz gerekiyor ancak bu dosyanın kopyasını almak kolay bir işlem değil. Çünkü AD tarafından sürekli kullanıldığı için kopyalanması kilitlenmektedir. Eğer bu dosyayı kopyalamak isterseniz aşağıdaki gibi bir hata ile karşılaşacaksınız.

 

file

 

Ntds dosyasını kopyalayabilmek için gölge kopyalama ile diskin orijinal halini kopyalayarak Active Directory bilgilerini içeren ntds.dit (%SystemRoot%\ntds\NTDS.DIT) dosyasını da kopyalayabiliyoruz.

 

Komutlar

 

Gölge kopyalama işlemi bitmesiyle birlikte oluşturduğumuz gölge kopya içerisinde bulunan ntds dosyasını istediğimiz bir alana kopyalıyoruz.

 

Komutlar

 

Registry’den veya Gölge kopyada bulunan, Boot anahtarını içeren SYSTEM dosyasını çıkartıyoruz. Çıkardığımız bu dosya Ntds.dit dosyasını çözebilmek için gerekli olan anahtardır.

 

Komutlar

 

İzimizi silmek için aşağıdaki işlemi yaparak oluşturduğumuz gölge kopyayı silebiliriz.

 

Komutlar

 

Ntds.dit ve anahtar dosyasını elde etmiş olduk. Buradan indirebileceğiniz modülü powershell’e  ekledikten sonra elde ettiğimiz iki dosyayı birleştirerek AD içerisinde bulunan kullanıcı bilgilerini  elde etmek olacak.

 

Aşağıdaki şekilde bir hata ile oluşursa kopyaladığımız ntds.dit dosyasının tamir edilmesi gerekmektedir.

 

Komutlar

 

Aşağıdaki komutu birebir yazarak söz konusu hatayı gidermiş olacağız.

 

Komutlar

 

Tamir işleminin gerçekleştirilmesiyle birlikte hash bilgilerini ele geçirmiş oluyoruz.

 

Komutlar

 

Krbtgt hesabının hash bilgilerini ele geçirdiğimize göre mimikatz ile GoldenTicket saldırısı gerçekleştirebiliriz. Komuta ve Kontrol sunucumuzda aşağıda da görüldüğü gibi herhangi bir ticket bulunmuyor ve söz konusu domain controller üzerinde bir session başlatmak istediğimizde bizden kullanıcı bilgisi istiyor.

 

Komutlar

 

Mimikatz ile kendimize bir golden ticket oluşturalım. Aşağıdaki syntax ile ticket oluşturulur.

 

Komutlar

 

Aşağıda da görüldüğü üzere ticket hazır

 

Komutlar

 

Oluşturduğumuz  “x” birimine giriş yaparak dizini listeleyerek kullanıcının dosyalarına erişebiliriz.

 

Komutlar

 

Komutlar

 

Peki bu saldırıdan nasıl kurtulabiliriz ?

 

  • AD makinesine giriş yapabilecek kullanıcı ve kullanıcı gruplarını en aza indirgemek, söz konusu kullanıcıları giriş bilgilerinin sık değiştirilmesi ve bu değişikliklerin takibi ile sağlanabilir.
  • Cihazlarınızda HIPS (Host intrusion prevention system) , AV (Anti-virus) ve EDR (Endpoint detection and response)  çözümleri kullanılarak sistemde oluşan anomali tespiti ve önlenmesi yapılabilir.
  • SIEM ürünü üzerinde aşağıdaki kural yazılarak işlemler takip edilebilir:

 

OR {

Command Line contains \Windows\NTDS\NTDS.dit (ignore case)

And {

command line contains SYSTEM_HIVE (ignore case)

Or{

Command line  contains save hklm\system (ignore case)

Command line contains windws\system32\config\system (ignore case)

}    }    }

 

  • Turkcell siber güvenlik merkezi tarafından sağlanan 7x24 SOC hizmetinden faydalanarak alanında uzman ekibin tecrübesinden faydalanabilir, siber güvenlik merkezi tarafından yazılan gelişmiş kurallar ile sistemlerinizin güvenliğini sağlayabilirsiniz.

Mehmet Selim Kartal |

11.02.2022

Yorumlar

Zerrin Yalçınkaya
22.02.2022 - 09:58

İyi

Zerrin Yalçınkaya
22.02.2022 - 09:59

Çok iyi

Emine DEMİREL
31.03.2022 - 12:48

Çok iyi bir blog olmuş..

Meryem ALTIN
18.04.2022 - 12:54

Yazınız için çok teşekkürler, çok bilgilendirici ve faydalı oldu.

ahmet yildirim
18.05.2022 - 05:19

Açıklayıcı bir yazı olmuş elinize sağlık.

Serdar Ünlü
04.11.2022 - 11:12

Çok teşekkürler.