3 Kasım 2021 Çarşamba

Windows Sistem Processleri


  



 

Windows Sistem Processleri

 

Bu blog yazımda, process’in ne olduğu, siber güvenlik analistlerin Windows sisteminde çalışan processler hakkında bilmesi gereken temel bilgileri, bir process’in analiz edilirken kontrol edilmesi gereken unsurların ne olduğundan bahsedeceğim.

Bilgisayar biliminde process, belleğe yüklenmiş ve işlemcide (CPU) yürütülmekte olan bir program olarak tanımlanmaktadır, uygulamalar diskte çalışmaz halde bulundukları zaman ise program olarak tanımlanır. Bir program kendi başına pasif komut yığınıdır ve process ise bu komutların aktif olarak yürütülmesidir. Porcess (işlem) bilgisayarda çalışan programdır diyebiliriz. Procces’lerede süreç yaklaşımı da denilmektedir. Eski bilgisayar sistemlerinde sadece bir program hafızaya yüklenip işlemcide çalıştırılmasına izin vermekteydi ve bütün sistem kaynaklarının erişimi bu çalışmakta olan programın kontrolü altındaydı, günümüzde bilgisayar sistemleri ise bir çok programı aynı anda belleğe yüklemesine ve art arda işlemcide yürütülmesine olanak sağlamaktadır.

Process; Execution’daki bir programdır. Bilgisayarda çalışan bir programın kopyasıdır, işlemciye atanabilen ve işlemcide çalıştırılabilen bir varlıktır gibi tanımlar yapılabilir. Execution bir süreç olarak işleme tabi tutma anlamına gelmektedir run ifadesi çalıştırılma anlamını ifade eder iki terim birbiriyle karıştırılmamalıdır.

 

Microsoft Windows işletimi kendi görevlerini yapabilmesi, işletim sistemine verilen komutları yerine getirmesi, kullanıcıların yapmak istediği işlemleri yerine getirmek adına çeşitli processleri çalıştırabilir. Siber saldırganlar ele geçirmiş olduğu sistemlerde yetki yükseltmek, yakalanamamak, yayılmak adına kendi processlerini gizlemek, savunma ekibi olan blue team ekibini atlamak için kullandıkları yöntemlerden biride Windows sistem processlerini taklit etmektir. Bu saldırı taktiğini kullanan saldırganların processini tespit etmek için Windows’un kendi processlerini ve sorumluluklarının ne olduğunu bilmemiz önemlidir.

Windows, her başlatıldığında arka planda çokça process çalıştırmaya başlar. Çoğu zaman dosya isimlerine bakarak ne işe yaradığını anlayamadığımız bu işlemlerden bazıları temel Windows fonksiyonları ile ilgilenirken bazıları daha özel işlevlere sahiptir. Ne yazık ki özel işlevlere sahip bu işlemler kullanıcının işine yarasa da yaramasa da otomatik olarak Windows ile birlikte çalışmaktadır.

 

 Windows’ta çalışan prosesleri listelemek için Microsoft’un sysinternal toolsetlerinde (https://technet.microsoft.com/en-gb/sysinternals/bb842062) bulunan Process Explorer araçlarını kullanabiliriz.



 

Process explorer çalıştırğı zaman



 

 

Bu blog yazımda en çok karşıma çıkan Windows sistem processleri hakkında temel bilgiler vereceğim. Herhangi bir dosyanın yasal Windows işlemesine dayanıp dayanmadığı veya virüsten etkilenip etkilenmediği hakkında muhtemelen bir fikir edinebileceğiniz tek şey, söz konusu çalıştırılabilir dosyanın yani process’in kendisidir.

Windows Sistem Processleri:

smss.exeWindows Session Manager, prosesi işletim sistemi üzerinde yeni session’lar oluşturmaktan sorumludur. İşletim sisteminin çalıştırılmasıyla çalışır ve çekirdek tarafından başlatılan ilk kullanıcı modu prosesidir. Parent her zaman systemdirwinlogon.exe, winiit.exe, csrss.exe nin başlatılmasından sorumludur.  

%SystemRoot%\System32\smss.exe



csrss.exeClient Server Runtime Process, Windows subsytem için bir user-mode prosesidir. Prosesleri, thread’leri yönetmek, Windows API’ye ait dll dosyalarını import etmek ve işletim sistemi kapanırken GUI (Graphical User Interface) bileşenlerinin doğru bir şekilde kapatılmasından sorumludur. Her session için bir crss.exe prosesi çalışacaktır. Session 0 servisler session 1 ise yerel oturum içindir. %SystemRoot%\System32\csrss.exe

wininit.exe: Windows Start-up Application, Session 0 için services.exe, lssas.exe proseslerini başlatmaktan sorumludur.
%SystemRoot%\System32\wininit.exe

services.exe: Services and Conroller app, servislerden ve zamanlanmış görevlerden sorumlu olan UBPM (Unified Background Process Manager) modülünü uygulamaktan, SCM (Services Control Manger) modülünü yani auto start modunda konfigüre edilmiş servisleri, driver modüllerinin yüklenmesi, başlatılmasını gerçekleştirilmesinden sorumludur.
%SystemRoot%\System32\services.exe

lsass.exe: Local Security Authority Subsystem Service (LSASS), Windows işletim sistemlerinde güvenlik politikalarının uygulanmasından sorumludur. hklm\system\CurrentControlSet\Control\lsa registry değerinde bulunan doğrulama paketini çağırarak kullanıcıları doğrular. Domain hesapları için Kerberos yerel hesaplar için MSV1_0 olacaktır. Security event log dosyasına log yazmaktadır. Birden fazla lsass.exe processi varsa şüphelenmeliyiz.
%SystemRoot%\system32\lsass.exe

svchost.exe: Host process for Windows Services, Svchost.exe, servis dll dosyalarını çalıştırmak için kullanılmaktadır. Svchost/exe process’nin komut satırı parametresinde -k parametresi olmak zorundadır. Bu parametreyle farklı servisleri gruplandırabilir.  Bu servis grupları genelde “DcomLaunch”, “RPCSS”, “LocalServiceNetworkRestricted”, “LocalServiceNoNetwork”, “LocalServiceAndNoImpersonation”, “netsvcs”, “NetworkService” ve başka isimler altında görülebilir. Malware geliştiricileri çoğu zaman “svchost.exe” prosesinden yararlanarak zararlı dll dosyalarını servis olarak başlatmayı ve svchost.exe isimli zararlı yazılım çalıştırmayı amaçlar.
%SystemRoot%\system32\svchost.exe

winlogon.exe: Windows Log-on Application, kullanıcı oturum açma veya kapatma (logon/logoff) işlemlerinden sorumludur. Bu proses “LogomUI.exe” prosesini ilgili kullanıcının oturum açma bilgilerini toplar ve işlenmesi için lsass.exe prosesine gönderir. Kullanıcı başarılı bir şekilde oturum açtıktan sonra “winlogon.exe” prosesi kullanıcının NTUSER.DAT dosyasını HKCU registry değerine yükler ve hklm\software\microsoft\WindowsNT\CurrentVersion\Winlogon\shell registry değerinde belirtilen prosesi “userinit.exe” prosesiyle başlatır. %SystemRoot%\system32\winlogon.exe

explorer.exe: Windows Explorer, klasör pencerelerinin bir prosesidir. explorer.exe kullanıcıların dosyalara erişim sağlamasından sorumludur. Windows Explorer aracılığıyla bir dosya, kullanıcının masaüstü bileşenleri, başlat menüsü, görev çubuğu, denetim masası ve dosya uzantısı ilişikleri aracılığıyla uygulama başlatma gibi özellikleri kullanıcıya sağlayan arabirimdir.
%SystemRoot%\explorer.exe

system.exe:  sistem procesi çekirdek modunda gerçekleşecek olan threadslerden sorumludur. System altında çalışan driver dosyaları, önemli dll dosyları ve çekirdekte çalışması gereken ntoskrnl.exe’den sorumludur. PID değeri her zaman 4’tür.


 

lsaiso.exe: Credentinal Guard etkinleştirildiğinde lsass.exe’nin işlevselliği ikiye bölünür. İşlemin yarısı lssas.exe diğer yarısı da lsaiso.exe ye gider. İşlevlerin çoğu lsass.exe içinde kalır ancak hesap kimlik bilgilerini güvenli bir şekilde saklamanın önemli rolü lsaiso.exe’ye taşınır. Donanım sanallaştırma teknolojisi ile diğer süreçlerden izole edilmiş bir bağlamda çalışarak güvenli depolama sağlar. Uzaktan kimlik doğrulama gerektiğinde, lsass.exe kullanıcının kimliğini uzak hizmette doğrulamak için lsaiso.exe ile bir RPC kanalı kullanarak isteklerinin proxy’sini gönderir. Credentiak Gruard etkin değilse, lsaiso.exe nin sistemde çalışmamsı gerekir.

conhost.exe: Consol Windows host, sistemde çalışan ve komut satırı üzerinde işlemi görüntülemektir. Komut ekranın çalışması için Windows Explorer ile arayüz oluşturması için conhost.exe’nin çalışması gerekir. Komut ekranına sürükle bırak yeteneği sağlamaktadır. Üçüncü taraf programlar bile komut satırına erişimleri gerekiyorsa conhost.exe,’yi kullanabilirler yani arka planda komut satırı üzerinde işlem yapan uygulamaları her biri için ayrı bir conhost.exe çalışabilmektedir. %SystemRoot%\System32\conhost.exe

ie4unit.exe (ie4uinit stands for Internet Explorer (for) Each User Initialization): Internet Explorer'ın bir yazılım bileşenidir. başlatma Yardımcı Programı" olarak adlandırılan, "%userprofile%\AppData\Local" alt dizininde bulunan ve komut satırı anahtarları tarafından belirlenen gizli bir ".db" türü dosya olan Simge Önbellek Veritabanında işlemler gerçekleştirir.

mqsvc.exeMicrosoft Message Queuing (MSMQ) ileti protokolünü uygulamaktan sorumlu Microsoft Windows çekirdek dosyasıdır.
%SystemRoot%\System32\ mqsvc.exe

ntoskrnl.exe: Windows NT işletim sistemi çekirdeği, süreç yönetimi, bellek yönetimi ve donanım sanallaştırma gibi bazı önemli hizmetlerle ilgilenen sistemin temel bir parçası veya işletim sisteminin temel bir parçasıdır. Ayrıca bu çalıştırılabilir dosya bellek yöneticisi, önbellek yöneticisi, güvenlik referans monitörü, çekirdek ve ayrıca görev zamanlayıcı içerebilir. Donanım arasında köprü oluşturur.

fsavailux.exe: Disk kontrolünü sağlayan yardımcı programdır. fsavalux.exe’nin amacı disk kontrol yardımcı programı taramalarını çağırmak, başlatmak ve yönetmektir.

authochk.exe: Sabit diskte bir sorun algılanırsa bilgisayar yeniden başlatıldığı zaman “chkdsk.exe” veya “autochk.exe” programı otomatik olarak çalışır ve sabit disklerini taramaya başlar.

 

regsvr32.exe: Microsoft Register Server, bir Microsoft Windows komut satırı yardımcı programıdır. Windows kayıt defterinde ActiveX denetimlerini ve DLL'leri kaydetmek ve kayıtlarını kaldırmak için kullanılır. Bir DLL dosyasını kaydettiğinde, ilişkili dosyalarla ilgili bilgiler, programların bu verilere erişmesine ve onunla etkileşime girmesine yardımcı olan Windows kayıt defterine eklenir.

msiexec.exe: Windows installer komut satırında yükleme, değiştirme ve işlem gerçekleştirme olanak için araçlar sağlanır. Beraberin çalıştırılan parametrelere buradan ulaşabilirsiniz.

shell32.dllWindows Shell Common Dll, dosyası olarak da bilinen Shell32.dll dosyası Microsoft Windows dosyasıdırYazılım Windows önyükleme işlemi sırasında yüklenir. Bu Windows kabuğunun birçok işlevini, masaüstünü başlat menüsünü, otomatik oynatmayı ve görev çubuğunu içeren Windows için grafik kullanıcı arabirimi (GUI) Dinamik bağlantı kitaplığıdır (dll). Shel32.dll özellikle web sayfalarını ve dosyaları açmak için gereklidir. Yönetilen .NET veya yerel kod tarafından kullanılabilen ve c:\windows\system32 içinde bulunan bir bileşen nesne modeli (COM- Component Object Model) sunucusudur. Kaldırılamaz Windows update veya trustedInstaller dışında herhangi bir şey onu siler veya değiştirişe, Windows Kaynak koruması (Windows Resource Protection- WRP) geri yükleyecektir. dll dosyaları genellikle program kodu, veri ve kayakları içerdiklerinden programlar veya web tarayıcı uzantıları tarafından gereklidir. (WRP- Windows Resource Proctestion: Windows işletim sistemleri kritik sistem dosyalarına ek olarak registry keylerini ve klasörlerini korur.) shell32.dll web sayfalarını ve dosyalarını açarken kullanılan Windows Shell API fonksiyonlarını içeren bir kütüphanedir.

narrator.exe: Windowsta ekran okumak için kullanılır. Yani ekranda bulunan metni konuşmaya dönüştürmekten sorumludur. Microsoft görme engelli kişilerin genel bilgisayar kullanımını kolaylaştırmak için kullanmıştır. Narrator.exe klavye ve fare girişlerini kaydedebilir ve uygulamaları izleyebilir.

wininit.exeWindows başlatma, Windows işletim sistemi için bir arka olan uygulama başlatıcısıdır. WinInit Windows Initialization anlamına gelir. Bilgisayar başlatıldığı zaman programlara harekete geçirilmesinden sorumludur.

drvinst.exe: Disk sürücüsü, yazıcı, hoparlör, mouse gibi donanım aygıtı ile bilgisayar işletim sistemi veya bir uygulama arasında iletişim kurmak için aygıt sürücüsü (driver) yüklemek için sorumludur. DrvInst, Device Drver Instaler anlamına gelir.

msdt.exe: Microsoft Distributed Transaction anlamına gelir. Windows işletim sisteminde oluşan sorunları hızla teşhis etmek ve otomatik olarak çözmek için tasarlanmış sorun giderci olarak sorumludur. msdt.exe, Windows sisteminde Oluşan hatalarda bozuk veya eksik dosyalarıyla ilgili hata mesajları görüntüler.

pcwrun.exeProgram Compatibility Troubleshooter Invoke (Program sorun giderici Çağırma) Genellikle program uyumluluğu sorun giderici çağırıcının açıklanmasından sorumludur. pcwrun.exe dosyası, aynı zamanda Windows sistemlerde sorunu çözmenize olanak tanımlar.

rundll32.exe, rundll.exe: dll dosyaları doğrudan çalıştırılmadığında dolayı paylaşılan dll dosyalarında depolanan işlevleri çalıştırmak için kullanılmasından sorumludur. Rundll.exe bir dll dosyasındaki program kodunu gerçek bir programmış gibi çalıştırmak için kullanılan bir Windows dosyasıdır.

mms.exe: Managed Machines Service, Acronis True Image’in bir yazılım bileşenidir, bir disk görüntüleme ve yedekleme yardımcı programıdır. Genellikle sistem yedeklemeleri gibi veri koruma hizmetinden sorumludur. Yedekleri marka modele bakılmaksızın farklı sistemlere aktarabilir ve hatta herhangi bir zamanda herhangi bir yerden erişmek için buluta yüklenebilir.

dashost.exe: Device Association Framework Provider kablolu ve kablosuz cihazları bilgisayara bağlamak ve bilgisayarda yeni bir fare veya web kamerasını eşleştirmeniz gerekiyorsa, çalışmasını sağlamak için dashost.exe eşleştirmeyi yapmak için kullanılan bir sistem dosyasıdır. Windows işletim sistemini çalıştırmak için kullanılır. Windows Görev yöneticisi ile işletim sisteminde yüksek disk kullanımı veya sistem eksikliği gibi bir tür koşul olup olmadığını göstermeyi de sağlar.

mshta.exe: Windows işletim sisteminde HTA (HTML Uygulaması) dosyalarını çalıştırmaktan sorumludur yani Microsoft, HTML Application host dosyası olarak Microsoft tarafından internet Explorer yazılımında kullanılmaktan sorumludur.  

werfault.exe: Windows problem reporting dosyalarının çalışmasından sorumludur. Windows’ta hata bildirim aracını çalıştırarak uygulama hata loglarının kaydedilmesini ve iletilmesini yöneten hata raporlama sürecidir. Hatalarla karşılaşan uygulamalar ve Microsoft işletim sistemi arasında geçiş görevi görür. 

pwsh.exe: powershell.exe nin; PowerShell Core sürüm 6.0 ile başlayan yeni isimdir. Çalıştırıldığındaki parametrelere buradan ulaşabilirsiniz. Pwsh.exe Windows, macOS ve Linux üzerinde çalışan bir çapraz platform komut dosyası oluşturma aracıdır.  

msiexec.exe: Windows Installer Component yani Windows yüklem bileşenine ait bir dosyadır. msiexec.exe msi ve msp paketlerini yüklemek için kullanılır, program kurulumlarında devreye girer ve programların kurulmasını sağlar.  Windowsta installer kullanılmak üzere tasarlanmıştır.

bcdedit.exe: Boot Configuration Data Editor dosyası olarak bilinir, Bilgisayar üzerinde dualboot yapmak için bu dosya üzerinde değişiklik yapılır. Bcdedit.exe bir cmd komutudur. cmd yönetici olarak çalıştırılıp bcdedit yazarsak bilgisayarda yüklü olan işletim sistemleri hakkında bilgi alabiliriz. Ne zaman hangi işletim sistemi üzerindeysek timeoutlarını ID’lerini öğrenebiliriz.

dismhost.exe: Deployment Image Servicing and Management (Dağıtım görüntüsü hizmeti ve yönetimi), Windows ımage hizmet etmek ve hazırlamak için tasarlanmış bir Microsoft  komut satırı aracıdır. Windows görüntülerini servis etmek ve hazırlamak için kullanılır. Kritik sistem güncellemelerini yüklerken Windows ımage dosyalarını bağlama, ayırma, sürecini yönetir.

sethc.exe: Accessibility shortcut key bileşeni sorumlu bir dosyadır. StickyKeys yapılandırma penceresini çağırmak için shift'e sırayla 5 kez basıldığında çalıştırılır. sethc.exe gibi sistem dışı işlemler, sisteminize yüklediğiniz yazılımlardan kaynaklanır.

nltest.exe: Ağ yönetim görevlerini gerçekleştirir. Windows’ta yerleşik olarak bulunan bir komut satırı aracıdır. Etki alanı denetleyicilerinin listesini almak, uzaktan kapatmayı zorlamak, güven durumunu sorgulamak, Windows etki alanında güven ilişkilerini ve etki alnı denetleyici çoğaltma durumunu test etmek için kullanılabilir. Kullanılan parametrelere buradan ulaşabilirsiniz.

userinit.exe: Oturum açma komut dosyalarının yürütülmesinden, ağ bağlantılarının yeniden kurulmasında ve ardından explorer.exe’nin başlatılmasından sorumludur. Winlogon.exe nin güvenli bir şekilde yüklenmesini sağlan önemli bir bileşendir.

runonce.exe: Microsoft runonce wrapper yardımcı programı, bir bilgisayar açıldığında veya yeniden başlatıldığın başlangıçta driverlerı (sürücüleri) ve hizmetleri (servisleri) yüklemekten sorumludur.

cscript.exe: Console Based Scrpit host, komut satırı komut dosyalarını yürüten bir dosyadır. Windows konsolu tabanlı komut dosyası ana bilgisayarı, komut dosyası özelliklerini ayarlamak için komut satırı seçeneklerini sunar. Cscript.exe ile, komut dosyaları otomatik olarak veya yalnızca komut isteminin içine komut dosyasının adını yazarak çalıştırılabilir.

netsh.exe: Netwrok Command Shell, komut satırı programıdır. Çalışmakta olan bir bilgisayarın ağ yapılandırmasının görüntülenmesi, değiştirilmesine izin veren bir komut satırında çalışan dosyadır. netxh.exe nin parametrelerine buradan ulaşabilirsiniz.

tiworker.exe: Windows işletim sistemi dosyalarında güncelleme olduğunda Windows, dosyaları tek tek güncellemek yerine tüm bileşeni kolayca güncellenmesinden sorumludur. Windows Modules Installer Worker (WMIW) olarakta adlandırılabilir.   ayrıca Windows Update paketlerini C:\Windows\WinSxs konumanda uygulamaktan sorumludur.

findstr.exe: Bir Windows komut satırı programıdır, bir metin (string) dizesini aramayı sağlar birden fazla parametresi vardır bu parametrelere buradan ulaşabilirsiniz. 

cvtres.exe: Microsoft Kaynak Dosyasını COFF Nesne Dönüştürme yardımcı programına çalıştırılmasından sorumludur. Programın görünür bir penceresi yoktur arka planda çalışır Microsoft Visual Studio uygulamasının ihtiyaç duyduğu bir dosyadır.

spoolsv.exe: Microsoft Printer Spooler SubSystem App dosyası olarak kullanılmaktadır. Windows'taki yazdırma ve faks işlerini yönetmekten sorumludur.  Yazıcı çevrimdışıysa veya meşgulse, yazdırma biriktirici hizmeti yazdırma işini sürdürür ve yazıcıyı kapatmadan önce kullanılabilir duruma gelmesini bekler ve yazıcıların yazı tiplerini anlayamadığı veya grafikleri çözemediği için yazdırma işlerini sistem belleğine alan bir işlem olarakta kullanılmaktadır.

ctfmon.exe: Computer Tech Tips Monitor, farklı kullanıcı giriş türü metin giriş işlemcisini (TIP) ve Office dil çubuğunu kontrol edilmesinden sorumludur. Bilgisayarın ses tanıma, el yazısı tanıma veya farklı dillerde ekran klavyesi kullanım özellikleri ctfmon yardımcı olmaktadır.

msbuild.exe: Mirosoft Build Engine genellikle.NET platformunda yer alan programlama dillerinin derlenmesi sırasında kullanılan ve kodların uygun bir şekilde derlenmesini sağlayan MSBuild otomasyon motorunun çalışmasından sorumludur. (MSBuild, Microsoft ve Visual Studio için bir yapı platformudur.)

sc.exe: Service Control Manager Windows’un başlatılmasını, durdurulmasını ve diğer işlemlerle etkileşime geçmesini sağlamaktan sorumlu bir sistem dosyasıdır Windows’ta servis oluşturmak ve sistem başlangıcında başlatılır, başlangıçta başlatılması programlanan tüm programları başlatır ayrıca bir ağ sürücüsü (driver) bağlantı mektubu oluşturulduğunda veya silindiğinde Windows explorer gibi GUI uygulamalarını bildirme gibi sorumlulukları vardır. sc.exe ilgili parametrelere buradan ulaşabilirsiniz

logman.exe: Log utility, olay izleme ve performans logların oluşturulmasından, yönetilmesinden sorumludur. Dosya başlangıçta ya da merkezi iş istasyonu aracılığıyla uzak bilgisayarlarda günlük dosyası veri kolek logman.exe ile ilgili parametrelere buradan ulaşabilirsiniz.

csc.exe: Command Line Compiler, Microsoft .NET projelerinin geliştirilmesi için oluşturulmuştur. csc.exe ile en basit derleme işlemi bir girdi dosya ve çıktı dosya belirtmeden sorumludur.

w3wp.exe: Internet Information Services (IIS)’in bir yazılım bileşenidir. IIS web sunucu içinde çalışır yani IIS Worker Processi olarak bilinir. w3wp.exe nin görünür bir penceresi yoktur. Web sunucusuna gelen requestleri yönetmekten sorumludur.  [IIS, web sitelerini barındırmak ve http, https, ftp ve diğer protokoller aracılığıyla gelen istekleri yönetmek için kullanılan web sunucusudur.]

runas.exe: Run As Utility, bir kullanıcının mevcut oturum açma işleminin sağladığı izinlerden farklı izinlerle belirli araçları ve programları çalıştırmasına izin vermesinden sorumludur. Runas.exe parametrelerine buradan ulaşabilirsiniz.

consent.exe: Windows için bir yetkilendirme katmanı olan Kullanıcı hesabı denetimi (User Account Control - UAC) için kullanıcı arabirimini başlatan bir dosyadır yani bir uygulamaya eriştiğimizde çalıştırmak istediğimiz eğer bu uygulama yönetici yetkileri istiyorsa consent.exe devreye girer ve uygulamanın çalıştırılması içi yönetim gerektiğini söylemekten sorumludur.

wsmprovhost.exe: Host Process for WinEM plug-ins, WinRM eklentileri için ana bilgisayar sürecinden sorumludur. WinRM (Windows Remote Management) ile komut dosyalarını uzaktan çalıştırmasını sağlayan bir yardımcı programdır, WinRM farklı satıcılardan farklı donanım ve işletim sistemlerinin uzaktan birlikte çalışmasını sağlar. WinRM powershell ile çalışmaktadır PowerShell ana bilgisayarı wsmprovhost.exe Windows uzaktan yönetim (executed remotley) yani WinRM kullanarak powershell aracılığıyla uzaktan yürütülen bir Proxy sunar.  

rdpshell.exe: Remotoe App çalışmasından sorumludur. RemoteApp Uzak masaüstü hizmetleri aracılığıyla uzaktan erişilen programların son kullanıcının yerel bilgisayarında çalışıyor gibi görünmesini sağlar.

 

 

Şüpheli prosesleri nasıl anlayabiliriz?

 

  • Process bulunması gereken bir konum dışında çalışıyorsa,
  • Process dosya boyutu olması gerekenden büyük ya da küçükse,
  • Process normalde çalıştığından farklı bir parametre ile çalışıyorsa,
  • Process imzalı değilse fakat her process imzalı olmayabilir bundan dolayı dosyanın kaynağı hakkında bilgilere bakınca farklı bir bilgi elde ediliyorsa veya process yazarı bilinmiyorsa,
  • Process’in registry keylerine yazmış olduğu ilgisiz string değeri varsa,
  • Process’in hash değeri CTI kaynaklarında yüksek riskli görünüyorsa
  • Çalışan Process’in parent veya child processleri anlamsız ve yukarda bahsedilen maddelerin herhangi birini içinde kapsıyorsa,
  • Çalışan process’in güvenlik derecesi yüksek olarak değerlendirebiliriz ve ilgili processten şüphelenmeliyiz.

 

Kaynak:

https://sansorg.egnyte.com/dl/ZkAyckjFTI

https://docs.microsoft.com/en-us/windows/deployment/windows-10-deployment-posters

https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/windows-commands

 

 


Windows Forensics

Digital forensics Engineer

DFIR


21 Ekim 2021 Perşembe

Windows’ta Tehdit Oluşturabilecek Dosya Türleri


 


 

Windows’ta Tehdit Oluşturabilecek Dosya Türleri

Siber saldırganlar hedeflemiş olduğu bir kurumun veya bir kişinin sistemini ele geçirmek veya zarar vermek amacıyla bir siber saldır gerçekleştirebilir. Bir sisteme saldırmak için saldırganların kullanmış olduğu yöntemlerden biride; saldırıda bulanacağı sistemi ele geçirmek adına gerekli malware (kötü amaçlı) dosyalarını yüklemektir. Saldırganlar bu dosyaları genellikle, bir e-posta yolu ile gönderebilir, bir usb bellek içerisinde tak çalıştır komutuyla bulaştırabilir, web sitesinden indirilen bir uygulama içerisine entegre edebilir gibi çeşitli senaryolarla bu zararlı dosyaları, phishing ya da spear phishing yöntemlerini kullanarak birazda işin içine sosyal mühendislik tekniklerini katarak saldırı aşamasını başlatır. Saldırganlar hedeflediği kişinin dosyalara tıklaması için cezbedici olması gerektiğini bilir kimi zaman bu iyi bir iş teklifi, tanınmış bir şirketin logosuyla yollanan bir hediye kartı, cinsellik, sözleşme, fatura vergi bildirimleri ve yönetim ekibinden geliyormuş gibi mesajları olabilmektedir. Bu mailler kişiyi cezbedecek, cazip teklifler sunarak zararlı dosyayı indirip, tıklamasını kolaylaştırır.   Sisteme yüklenen zararlı dosyalar, uygulamalar sistem için önemli bir risk oluşturmaktadır. Bir çok saldırının ilk aşaması yalnızca kodu çalıştırmanın bir yolunu bulması gerekir. Dosya hedef sisteme yüklendikten sonra saldırının ilk adımı atmasına yardımcı olur. Bu ilk adımlar genellikle, sistemin tamamen ele geçirilmesi, veri tabanı çökertmesi, saldırgana arka kapı oluşturması gibi nedenlere sahip olabilir.

Saldırganların hedeflemiş oldukları hedefin genellikle bu dosyayı tıklayıp açması ile saldırganlar ilk amacına ulaşmaktadır. Kullanıcının bu durumlarda dosyanın açılmasının güvenli olup olmadığına karar verirken hangi dosya uzantılarının potansiyel olarak tehlikeli olduğunu bilmek önemlidir. Şüpheli bir dosya ile karşılaştığınız zaman ekstra özen göstermelisiniz.

Bu yazımda siber saldırganların en çok kullanmış olduğu dosya türleri, bu dosya türlerin neden kullanıldığı hakkında temel bilgiler vereceğim. Malware analizi (Malware forensics) kısmı biraz uzun olduğunda bu yazımda analiz kısmında bahsetmeyeceğim. Malware Forensics alanında yani dosyaların analizi hakkında https://www.muhammedaygun.com/2020/07/malware-analizine-giris-ve-kullanlan.html 

https://www.muhammedaygun.com/2020/08/emotet-malware-n-incelenmesi-ve-yara.html

https://www.muhammedaygun.com/2020/08/wannacry-nedir-ve-wannacry-yara-kuralnn.html

https://www.muhammedaygun.com/2020/08/flare-vm-kurulumu.html

bu blog yazılarıma bakabilirsiniz.

Analiz hakkında bilmemiz gereken; bu tür dosyaların analiz edilirken iki türlü durumu göz önünde bulundurmalıyız. Birincisi dosyanın meta bilgileri yani dosya yolu ve dosya adı, dosya uzantısı gibi veriler. İkincisi ise dosya boyutu ve içeriği ile ilgili bilgiler. Bu tür bilgilere sahip olunduktan sonra bir zararlı yazılımın amaçları hakkında ön bir bilgi edinebiliriz. Ek olarak CTI kaynaklarına gerekirse şüphelendiğiniz dosyayı yükleyin veya hash taraması gerçekleştirin.  

Dosya Uzantıları Neden Tehlikeli Olabilir?

Windows dosya adlarını nokta ile iki kısma ayırmıştır noktanın sağ tarafı dosya uzantısı genellikle 3 veya 4 karakterden oluşmaktadır, sol tarafı ise bizim dosyaya verdiğimiz adlardan veya default oluşan isimlerden oluşur. Microsoft Windows, dosya uzantılarını bilgisayarın hangi uygulamayı kullanarak çalıştıracağını veya oluşturduğunu görmek için kullanır. Örneğin .docx Microsoft Word tarafından oluşturduğunu ve Microsoft Word’ün açabildiğini bu sayede bilir. Dosya uzantısı manuel bir şekilde değiştirilirse dosyanın formatı değişmez.

Bu dosya uzantıları kod içerebildikleri veya isteğe bağlı komutlar yürütebildikleri için potansiyel olarak son kullanıcıya tehlike yaratabilir. Bir exe dosyası her şeyi yapabilen bir program olduğundan potansiyel olarak tehlikelidir. .jpeg veya .mp3 dosyaları gibi medya dosyaları, kod içermedikleri için exe dosyaları kadar tehlikeli değildir. Kötü amaçlarla oluşturulmuş bir medya dosyasını bir görüntüleyici uygulamasındaki bir güvenlik açığından yararlanabileceği bazı durumlar olmuştur, ancak bu sorunlar nadirdir ve hızlı bir şekilde yamalanır.

Dosya uzantılarını bilmemiz genellikle dosyanın ne için kullanıldığını potansiyel tehlikesini anlamız için gereklidir. Microsoft Windows tarafından kullanılan ve tehlike oluşturabilecek dosya uzantıları şu şekildedir;  

Program Dosyaların Uzantıları:

.exe: Executable File Format, çalıştırılabilir dosya formatıdır. Windows üzerinde çalışan uygulamaların çoğu .exe dosyasıdır. Exe dosyaları bazen tek başına bir program olurken bazen de bir programın başlangıcı olabilmektedir. Exe dosyaları ya komut satırı yardımıyla ya da çift tıklayarak çalıştırılabilir. Exe dosyalarını editlemek için; Rource hacker, Akala EXE Locki ExeScope, ExeWrapper veya ResEdit Tools araçlarından herhangi biri kullanılabilir.

.pif: MS-DOS programları için bir program bilgi dosyasıdır. .pif dosyalarının yürütülebilir kod içermesi çoğu zaman görülmez fakat Windows’da çalıştırılabilir kod içeriyorsa PIF’ler exe dosyalarıyla aynı şekilde çalışabilir. Windows, shellExecute işleviyle pif dosyalarını analiz eder ve bunları yürütülebilir programlar olarak çalıştırabilir. Bu nedenle zararlı komut dosyalarını iletmek için pif dosyasını saldırganlar kullanılabilir.

.msi: Bir Microsoft Windows yükleyici dosyasıdır. Bu dosyalar sayesinde bilgisayara uygulamalar yüklenir.

.msp: Bir Microsoft Windows yükleyici yama dosyasıdır. msi dosyalarıyla dağıtılan uygulamaları yamalamak için kullanılır.

.scr: scr dosyası, vektör grafik veya metin animasyonları görüntülemek, slayt gösterileri, animasyon veya videoları oynatmak için kullanılan Windows için bir ekran koruyucu (screensaver) dosyasıdır ve bir bilgisayar özelleştirilmiş bir süre boyunca etkin olmadığından ses efektleri içerebilir. Windows ekran koruyucuları çalıştırılabilir kod içerebilir.

.hta: bir HTML uygulaması, tarayıcıdalar çalışan HTML uygulamaların aksine. HTA dosyaları korumalı alan olmadan güvenilir uygulamalar olarak çalıştırılır.

.cpl: Bir Denetim masası (Control Panel) dosyasıdır. Windows Denetim masasında bulunan bütün yardımcı programlar cpl dosyalarıdır.

.drv: dosyaları genellikle Windows ortamlarında aygıt sürücüleri (driver) için kullanılır. Bir driver ile daha üst düzey bilgisayar programlarının bir aygıta etkileşime girmesine izin veren bir bilgisayar programıdır. Bir driver tipik olarak donanımın bağlı olduğu bilgisayar veri yolu veya iletişim alt sistemi aracılığıyla aygıtla iletişim kurmaj için çalıştırılabilir kod içermektedir.

.msc: Microsft yönetim konsolu (Mirosoft Managment Console) dosyasıdır. Grup ilkesi düzenleyicisi ve disk yönetimi aracı gibi uygulamalar .msc dosyalarıdır.

.jar: jar dosyaları çalıştırılabilir java kodu içerir. Eğer javaruntime var ise jar dosyaları programlar gibi çalıştırılır.

.application: Microsftun CliskOne teknolojisiyle dağıtılan bir uygulama yükleyicisidr.

.gadget: Windows masaüstü gadget teknolojisini kullanmak için bir gadget dosyasıdır.

 

Scripts Dosya Uzantıları:

.bat: Bir toplu iş dosyasıdır. Açtığınızda bilgisayar çalıştırılacak komutların bir toplu listesini içerir.

.cmd: Bir toplu komut çalıştırma dosyasıdır. Bat dosyalarına benzerdir.

.vb, .vbs: Bir VBSScript (Virtual Basic) script dosyasıdır. Bir VBScrpit dosyasına benzer ancak çalıştırırsanız dosyanın gerçekte ne yapacağını söylemek kolay değildir. Bu script dosyasında kötü amaçlı komutlar burada kendilerini gizlemek için ideal bir biçimde kullanmaktadır.

.js: bir JavaScrpit dosyası. js dosyaları normalde web sayfaları tarafından kullanılır ve web tarayıcılarında çalıştığında güvenlidir. Ancak Windows JS dosyalarını korumalı alan olmadan tarayıcı dışında çalıştırır.

.jse: şifreli bir Javascrpit dosyasıdır.

.ws, .wsf: Bir Windows Komut dosyası. JScript veya VBscrpit kodunu kullanana Windows için çalıştırılabilir komut dosyaları içerir.

.wsc, .wsh: Windows Komut dosyası bileşeni ve Windows komut dosyasını ana bilgisayarı kontrol dosyaları, Windows komut dosyalarıyla birlikte kullanılır.

.ps1, ps1xml, ps2, ps2xml, .psc1, .psc2: Bir Windows PowerShell scrpiti, dosyada belirtilen sırada PowerShell komutlarını çalıştırır. Powershell Scripts (*.ps1), Powershell Modules (*.psm1), Powershell Data Files (*.psd1), Powershell Session Configuration Files (*.pssc), Powershell Role Capability Files (*.psrc), Powershell Xml Files (*.psxml, *.cdxml)

.msh, msh1, msh2, mshxml, msh1xml, msh2xml: Bir monad komut dosyasıdır. monad daha sonra Powershell olarak yeniden Microsft tarafından adlandırıldı. Microsoft Kabuk Komut Dosyası Biçimi dosyalarıyla ilişkilendirilen bir dosya uzantısıdır. msh dosyaları, Windows çalıştıran cihazlar için mevcut olan yazılım uygulamaları tarafından desteklenir.

.asp .aspx: asp Microsft tarafından geliştirilen ve yayınlanan sunucu taraflı bir scrpit dosyasıdır. asp Active Server Pages anlamına gelir. Aspx; asp.NET tarafından tasarlanan bir sayfanın dosya uzantısıdır. Asp .net sunucu taraflı bir web uygulama frameworktür. .aspx Active Server Pages Extended anlamına gelir. Dinamik web sayfaları üretmek için web geliştirme yapılması amacıyla tasarlanmıştır.

.xml: Extensible Markum Language, çeşitli uygulamalardan gelen verileri internet üzerinde depolamak ve aktarmak için kullanılan dosyalardır. İnternet, veri alışverişinin hızlı ve pratik şekilde gerçekleşmesi için kullanılmaktadır.

.jsp, .jspx: jsp Java Server Pages, HTML kodları içerisine java komutlarını kolay bir şekilde yerleştirmek için kullanılan JAVA EE API kütüphanesidir. Jspx, jsp sayfalarını oluşturmak için kullanılan bir XML biçimidir. Jspx farklı dosyalarda kodun görünüm katmanından ayrılmasını zorlar. Jspx sayesinde java kodu xml kodu jsp’de aynı dosyaya yazılır.

.chm: Sıkıştırılmış derlenmiş html dosyalarından oluşan bir dosyadır.

.php: php kaynak koduna sahip dosyalardır. php dosyaları interaktif fonksiyonları dinamik web sayfaları olarak uygulanmaktadır. Web forum verisini toplamak, sunucuda dosya yönetmek, veritabanlarını düzenlemek gibi çeşitli sunucu taraflı fonksiyonları gerçekleştir

 

 

Kısayol Dosya Uzantılar (Shotcuts)

.scf: Bir scf dosyası, bir dizinde yukarı veya aşağı hareket etme veya Desktop gösterme gibi bir eylemi gerçekleştirmek için kullanılan bir Windows Gezgini komutudur. Windows gezgini (Windows Explorer), komut dosyası zararı olabilecek komutları Windows explorer’a iletebilir Windows Explorer komut dosyası olduğundan, Windows Explorer bilgisayarınız için tehlikeli olan komutları çalıştırmak için kullanılabilir.

.lnk: Bilgisayarda programın bağlantısıdır, bir bağlantı dosyası dosyaları sormadan silmek gibi tehlikeli şeyleri yapmayı sağlayan komut satırları içerebilir.

.inf: AutoRun tarafından kullanılan bir metin dosyasıdır. Çalıştırılırsa bu dosya potansiyel olarak birlikte geldiği tehlikeli uygulamaları başlatabilir veya Windows’ta bulunan programlara tehlikeli seçenekler iletebilir.

 

Oficce dosya Uzantıları (Office Makroları)

.doc, .xls, .ppt: Microsoft Word, Excel ve PowerPoint belgeleri. Bunlar kötü amaçlı makro kodu içerebilir.

.docm, .dotm, .xlsm, .xltm, xlam, .pptm, .potm, ppam, .ppsm, .sldm: Office 2007’de sunulan yeni dosya uzantıları, dosya uzantısının sonundaki “m” dosya uzantısının belge makro içerir. Örneğin bir .docx dosyası makro içermezken .docm dosyası makro içerebilir.

Diğer Dosya Uzantıları (Other)

.reg: Windows regsitry dosyasıdır. .reg dosyaları çalıştırılırsa regstry tarafına key ekleyip kaldırabilir. Kötü amaçlı bir .reg dosyası önemli bilgileri kayıt defterinizde kaldırabilir değiştirebilir ve kötü amaçlı veriler ekleyebilir.

.pdf : PDF dosyalarında JavaScript dosyaları oluşturmak ve çalıştırmak için kullanılabilir. Ayrıca saldırganlar kötü amaçlı bağlantıları pdf içerisinde saklayabilmekteler.

 .zip ve .rar: zip ve rar uzantılı dosyalar veri sıkıştırılması için kullanılan standart bir formata oluşturulmuş arşiv dosyalarıdır.

.dll: (Dynamic Link Library): DLL dosyaların görevi çalışan programların ortaklaşa yapmış olduğu işlemleri tek bir dosya içinde yapmak, program çalışma esnasında gerekli olan fonksiyonları kendi içerisinde bulunmaz ise bunu dll dosyasında aramaktadır. Bu şekilde programlar tek bir dosya üzerinde çalışarak programın hız kazanmasını ve çeşitli kaynaktan tasarruf etmesini sağlar.

.dat: Bir çok uygulama data veya kaynak dosyaları için dat dosyasını kullanır. Veri dosyaları doğrudan bir uygulamada açılmaz, genellikle yalnızca dahili amaçlar için DATA içerirler. Aynı dosya uzantısını paylaşan farklı biçimler. Dat dosyasının doğru çalışması için gerekli olan .dll dosya uzantısı tarafından kullanılır.

 

 

Bu tehdit oluşturabilecek dosyalardan korunmak için;

·       Bilinmeyen adreslerden gelen şüpheli e-postaları açmayın. Belirli bir konuya sahip bir iletinin genel kutunuza neden geldiğini bilmiyorsanız muhtemelen buna ihtiyacınız yoktur.

·       Güvenmediğiniz web sitelerinden program indirmemeye özen gösterin.

·       İş nedeniyle bilinmeyen kullanıcılarla iletişime geçmek durumunda kalırsanız ekli dosyanın adresini ve adını dikkatlice kontrol edin, şüpheli veya garip bir şey fark ederseniz açmayın.

·       E-posta ile gelen belgelerin makrolarının çalışmasına gerek olmadıkça izin vermeyin. (Office dosya ayalarında yapılabilir.)

·       Crackli program kullanmayın.

 

 

 

 

Kaynaklar:

https://www.researchgate.net/figure/Top-10-malicious-file-extensions_fig3_264004054

https://thegeekpage.com/unblock-a-file-blocked-by-windows-10/

https://success.trendmicro.com/solution/1101849-common-file-types-used-by-malware-as-email-attachment

https://fileinfo.com/help/dangerous_windows_file_types

https://www.kaspersky.com/blog/top4-dangerous-attachments-2019/27147/

https://start.paloaltonetworks.com/five-dangerous-file-types.html

https://opencrdownloadfile.net/dangerous-extensions.html

 

 

 

 

 

 

 

Windows 101

Windows dosya uzantıları

Windows Forensics

Adli Bilişim