Merhaba,
Windows olay müdahalesinde ilk açtığım üç araç neredeyse hep aynı: Process Explorer, Autoruns ve TCPView. Hepsi Microsoft Sysinternals ailesinden, ücretsiz ve taşınabilir. Bu yazıda bunları sahada nasıl kullandığımı, nelere baktığımı ve sık gördüğüm tuzakları anlatacağım. Ortam: kendi Windows 11 lab VM'im.
Araçları güvenli edinmek
Resmi kaynak: Microsoft Sysinternals sayfası (learn.microsoft.com altında Sysinternals). ZIP'i indirip doğrulayın; "sysinternals gibi görünen" sahte siteler var. Taşınabilir kullanım için araçları imzalı USB'de tutuyorum; şüpheli makinede internetten indirmiyorum.
Process Explorer: süreç ağacı ve şüpheli çocuklar
Görev Yöneticisi'nden farkı: süreç ağacını, DLL'leri, handle'ları ve doğrulanmış imza bilgisini bir arada gösterir.
- Options > Verify Image Signatures: imzasız binary'leri hemen görün.
- View > Lower Pane View > DLLs: sürecin yüklediği DLL'ler (sideloading ipucu).
- Şüpheli süreçte sağ tık > Properties > Strings / TCP/IP / Image.
Autoruns: kalıcılık avcısı
Saldırganın en sevdiği şey yeniden başlatınca geri gelmektir. Autoruns; Run anahtarları, Scheduled Tasks, Services, WMI, Winlogon, AppInit_DLLs ve daha onlarcasını tek ekranda listeler.
# Komut satırı sürümü (otomatik rapor için)
autorunsc64.exe -a * -c -h -s > C:\Temp\autoruns.csv- Options > Hide Microsoft Entries (dikkat: saldırgan Microsoft gibi görünen isimler kullanabilir; tam tarama da yapın).
- Verify Code Signatures açık olsun.
- Bilinmeyen publisher + User klasörü altında path = inceleyin.
- Scheduled Tasks'ta "powershell -enc" veya temp yolları = yüksek öncelik.
TCPView: kim dışarı bağlanıyor?
netstat güzeldir ama TCPView süreç adıyla birlikte canlı bağlantıyı gösterir. Şüpheli bir EXE'nin bilinmeyen bir IP:port'a ESTABLISHED olması, EDR yokken bile hızlı sinyaldir.
- Options > Resolve Addresses: bazen kapatın (hız + DNS gürültüsü olmasın).
- Şüpheli satırda sağ tık > Process Properties / Whois (dikkat: whois dışarı sorgu gönderir; hassas olayda önce IP'yi not alıp izole ortamda soruşturun).
Get-NetTCPConnection -State Established |
Select LocalAddress,LocalPort,RemoteAddress,RemotePort,OwningProcess |
Format-Table -AutoSizeUSB müdahale çantamda neler var?
- procexp64, autoruns64, tcpview64, handle64, listdlls64, sigcheck64, strings64
- Küçük bir hash betiği (Get-FileHash) ve not defteri şablonu
- Salt okunur çalıştırma alışkanlığı: mümkünse araçları USB'den çalıştır, çıktıyı ayrı kanıta yaz
sigcheck64.exe -accepteula -h C:\Users\Public\suspicious.exeSık tuzaklar
- Aynı isimli meşru süreç: svchost.exe yolu C:\Windows\System32 dışında olmamalı.
- DLL sideloading: meşru EXE + yanındaki şüpheli DLL; Process Explorer lower pane burada kurtarır.
- Yalnızca GUI'ye güvenmek: çıktıyı CSV/log olarak alın, olay kaydına ekleyin.
- Canlı sistemde "temizlik" yaparken kanıtı bozmak: önce topla, sonra müdahale et.
Mavi takım ile köprü
Bu üç araç L1/L2 analistin "elle doğrulama" katmanıdır. EDR varsa yine de kullanırım: EDR bazen aggregate gösterir, siz o anki süreci görürsünüz. Tespit kurallarınızı (4688, Sysmon 1/3/11, Prefetch) bu araçlarla çaprazlayın.
Kaynaklar
- Microsoft Sysinternals resmi belgeleri
- Windows Internals (süreç/handle modeli için)
- SANS FOR500/FOR508 notları (canlı yanıt pratiği)
Sizin çantanızda olmazsa olmaz dördüncü araç hangisi? Ben ara sıra Process Monitor'ü de ekliyorum ama gürültüsü yüksek; filtre disiplini şart.
Process Monitor ne zaman devreye girer?
Procmon çok gürültülüdür; filtre olmadan açmayın. Senaryo: "Bu EXE hangi registry anahtarına yazıyor?" Operation is Registry + Process Name filtresi. Çıktıyı PML olarak kaydedip temiz makinede analiz edin. Canlı IR'de önce Process Explorer + Autoruns + TCPView; derinleşme gerekirse Procmon.
Imza ve hash'i ticket'a yazmak
sigcheck -h çıktısındaki SHA256'yı ticket'a ve MISP/IOC listesine ekleyin. "suspicious.exe" adı yetmez; ertesi gün dosya adı değişmiş olur. VirusTotal yüklemesi kurum politikasına bağlıdır; hassas örnekleri herkese açık VT'ye yüklemeyin, private instance veya iç sandbox kullanın.
Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.
Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.
Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.
Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.
Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.
Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.
Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.
Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.
Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.