Defansif Güvenlik
Blue Team Bakış Açısıyla Windows Sistem Processleri 5: Services.exe
Hayatımızın her alanında artık doğrulama işlemleri kritik bir önem taşıyor. Mesela banka hesabımıza giriş yaparken ya da fatura ödemelerimizde abone numaralarımızı doğrularken... Doğrulamanın asıl amacı saldırgan aktivitelerinden korunmak aslında. Aynı bilgiden hareketle siber saldırganlar da kendi aktivitelerini gerçekleştirmek için Windows’un normal bir işlemiymiş gibi görünmeyi tercih ediyorlar. Sizler için bu yazımızda Windows’un services.exe processinin asıl işlevini ve şüphelenmemiz gereken durumlarını inceleyeceğiz. Keyifli okumalar!
Öncelikle Windows, işletim sistemindeki görevlerin yerine getirilmesi için bir dizi sistem processine ihtiyaç duymaktadır. Bahsettiğimiz her bir processin kendine has görevi, tetiklenmesi ve çalışma sıklığı mevcuttur. Herhangi bir saldırgan eyleminin bir parçası olmamak veya farkında olmak için Windows process’lerinin normal şartlardaki davranışlarını bilmek önemlidir. Bu yaklaşımla gelin hep birlikte services.exe processini incelemeye başlayalım.
İsmi sebebi ile saldırganların tercih listelerinin başlarında bulunan bir process aslında services.exe. Yani services.exe görünce şüphelenilmemesi ihtimali, saldırganlar tarafından kullanılmasının başlıca sebebi. Orijinal services.exe “C: \ Windows \ System32” ya da “C: \” dizinleri altında, Wininit.exe’ye bağlı process olarak çalışır ve ona bağlı olan processlerden bazıları svchost.exe, dllhost.exe, taskhost.exe, spoolsv.exe’dir.
Wininit.exe altında çalışan services.exe aslında Windows konsol programı olarak çalışır. Windows başlatıldığında Wininit.exe tarafından tetiklenip erkenden başlatılır. Ana işlevi otomatik başlatma için yapılandırılmış tüm hizmetlerin başlatılmasını kaydetme, durum isteklerine yanıt verme ve hizmeti duraklatma veya kapatma gibi eylemleri gerçekleştirmektir. SCM (Service Control Manager) ile etkileşim kurmak için özel bir processtir. Windows başlatıldığında tetiklenir ve işinin başına geçer. Görev yöneticisinde aşağıda da görüleceği üzere 1 adet çalışmaktadır.
Bir Windows servisi; hizmete durmasını, duraklatmasını, devam etmesini veya kapanmasını söyleyen komutlar gönderen SCM (Service Control Manager) ile iletişim kurmak için gerekli altyapıyı halihazırda içerir. Bilgisayarımızı ilk açtığımızda kayıt defterinde tutulan özel bir algoritma ile bahsi geçen komutlarla tetiklenmeler başlar. Ancak karıştırmayalım uygulamalar ile hizmetler farklı şeylerdir. Hizmetler ve normal uygulamalar arasındaki temel fark, hizmetlerin Hizmet Kontrol Yöneticisi (SCM) tarafından yönetilmesidir.
Yukarıda da görüleceği üzere bir service.exe’nin ağaç yapısı mevcuttur. Ona, servise kontrol programları etki eder. O da servis ve ikinci görselde belirttiğim alt processlere etki eder.
Peki, Bu Servisleri Nereden Görüntüleriz?
Biz Müdahale Edebilir miyiz? Kurulu Windows sürümümüzde çalışması planlanan servis listemize aşağıdaki gibi arama kutusuna services yazıp aratarak ya da görev yöneticimiz üzerinden aşağıdaki gibi gidebiliriz.
Servislere müdahale etme konusunda ise Windows tüm servislere müdahale izni vermez. Ancak bazı servisler için kullanıcılar servisi manuel olarak durdurabilir, duraklatabilir ya da başlatabilir.
Peki, Ne Zaman Services.exe’den Şüphelenmeliyiz?
- SID, normal şartlarda NT AUTHORITY ya da SYSTEM'dir (S-1–5–18). Yani görev yöneticisi/detaylar sekmesinde aşağıdaki gibi görünmelidir. Farklı bir user görürsek, şüphelenmeliyiz. Bazı Windows sürümlerinde user görünmeyebilir. Bu durumda 2. madde ile devam etmeliyiz.
- CPU’yu fazla kullanıyorsa şüphelenmeliyiz. Çünkü service.exe son zamanlarda kripto madenciliği için kazma işlemleri adına ek kaynak oluşturmak amacıyla kullanılmasından dolayı adından epey söz ettirdi. Eğer böyle bir kullanım varsa makinenizin CPU kullanımını maksimuma çıkaracaktır. Bilgisayarınıza bir process explorer indirerek services.exe özelinde CPU Usage bilgisi görüntüleyebilirsiniz.
- İmzalı değilse ve boyutu 666 KB’tan fazlaysa şüphelenmeliyiz. Boyutunu çalışan servis durumuna göre her makinede farklı görüntülemek normaldir. İmza sahibinin mutlaka Windows olması gereklidir. Sahibi farklı bir isim görüldüğünde illegal bir process olduğuna şüphe yoktur.
Mittre Attack Bu Konuda Ne Diyor?
Mittre Attack bilinen tüm saldırı tekniklerini sınıflandıran ve toplayan bir kurum. Burada service.exe kullanımı ile ilgili 2 bilgiyi sizlerle paylaşmak isterim.
- Defense Evasion/Signed Binary Proxy Execution
Bu sub teknik ile “Chm” uzantılı dosya uzantıları kullanılarak service.exe taskları oluşturulabileceği yazılı. Chm uzantılı dosyalar, yazılımcı ve saldırganların içine script ve HTML gömebildikleri dosya uzantılarıdır. Bilgisayarda çalıştırılması sonucu ilgili scriptle benzer exeler çalıştırılabilir. Daha önce bu teknikle Windows processleri için Lazarus, APT41 vb. saldırgan gruplar saldırı yapmışlar.
- Service Execution
Daha önce bazı kötü amaçlı saldırı grupları tarafından services.exe ile servis yönetimlerine sızılarak kötüye kullanımların görüldüğü iletilmiş.
Mittre Attack’ın Tavsiye Ettiği Düzenleyici ve Önleyici Faaliyetler
Son olarak aşağıdaki tavsiye niyetindeki önleyici faaliyetleri bilmemizde fayda var.
- Daha yüksek bir izin düzeyinde çalışan hizmetlerin, daha düşük bir izin düzeyine sahip kullanıcı tarafından oluşturulmasına veya etkileşime girmesine izin vermediğinden emin olmalıyız.
- Yüksek izin düzeyli dosyaların daha düşük izin düzeyine sahip kullanıcılar tarafından değiştirilemeyeceğinden emin olmalıyız.