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.
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 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.
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.
- İ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.
- 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.
- VSS yazıcılara kopyalama işlemine hazırlanmalarını bildirir.
- Yazıcılar kopyalama işleminin başlatılabileceği bilgisini VSS’e gönderir.
- 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.
- VSS, sağlayıcılara gölge kopya oluşturulmasını söyler,
- VSS, sistem yazma I/O isteklerini serbest bırakır.
- 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.
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.
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.
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
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.
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.
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.
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.
İzimizi silmek için aşağıdaki işlemi yaparak oluşturduğumuz gölge kopyayı silebiliriz.
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.
Aşağıdaki komutu birebir yazarak söz konusu hatayı gidermiş olacağız.
Tamir işleminin gerçekleştirilmesiyle birlikte hash bilgilerini ele geçirmiş oluyoruz.
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.
Mimikatz ile kendimize bir golden ticket oluşturalım. Aşağıdaki syntax ile ticket oluşturulur.
Aşağıda da görüldüğü üzere ticket hazır
Oluşturduğumuz “x” birimine giriş yaparak dizini listeleyerek kullanıcının dosyalarına erişebiliriz.
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.
11.02.2022
Yorumlar
Çok iyi
Çok iyi bir blog olmuş..
Yazınız için çok teşekkürler, çok bilgilendirici ve faydalı oldu.
Açıklayıcı bir yazı olmuş elinize sağlık.
Gerçekten güzel bir blog olmuş,başarılar! spotify isim önerileri
Çok teşekkürler.
İyi