Windows'da SIEM Entegrasyonu
Bölümler: Giriş ve Temel Kavramlar - Neden bu izinler gerekli? Adım Adım Ya...
 
        Siber güvenlik dünyasında, grafik arayüzlerin (GUI) rahatlığına rağmen, komut satırı hala bir analistin en güçlü silahlarından biridir. Windows komutları, bir sistemin derinliklerine inmek, anormallikleri tespit etmek, ağ trafiğini analiz etmek ve bir güvenlik olayına müdahale etmek için hızlı, etkili ve vazgeçilmez bir yol sunar. cmd-test.site adresinde bu komutları simile edebilirsiniz. Bu kapsamlı rehber, bir güvenlik analistinin bilmesi gereken temel Windows komutlarını kategorilere ayırarak sunmaktadır. İster yeni başlıyor olun, ister bilgilerinizi tazelemek isteyin, bu liste sizin için bir başvuru kaynağı olacaktır.
 Bir sistemi analiz etmeye başlarken ilk adım, ne ile karşı karşıya olduğunuzu anlamaktır. Bu komutlar, işletim sistemi, donanım ve temel yapılandırma hakkında kritik bilgiler sağlar
 Bir sistemi analiz etmeye başlarken ilk adım, ne ile karşı karşıya olduğunuzu anlamaktır. Bu komutlar, işletim sistemi, donanım ve temel yapılandırma hakkında kritik bilgiler sağlar systeminfo: İşletim sistemi yapılandırması, donanım detayları ve yüklü yamalar (hotfix'ler) hakkında ayrıntılı bilgi görüntüler. Hızlı bir özet için: systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type" Uzak bir sistemi sorgulamak için: systeminfo /s  whoami: Mevcut kullanıcı bağlamını gösterir. Kullanıcının grup üyeliklerini görmek için: whoami /groups Kullanıcı ayrıcalıklarını değerlendirmek için (genellikle yönetici yetkisi gerekir): whoami /priv Kullanıcı, gruplar ve ayrıcalıklar hakkında tüm bilgileri bir arada görmek için: whoami /all hostname: Bilgisayarın ana bilgisayar adını görüntüler. ver / winver: Windows sürümünü gösterir. ver komut satırı sürümünü winver ise yapı numarasını içeren bir grafik arayüz penceresi açar getmac: Cihazın MAC adresini veya adreslerini listeler getmac /v komutu, adaptör adıyla birlikte daha ayrıntılı bilgi verir. bcdedit: Önyükleme Yapılandırma Verilerini (Boot Configuration Data) yönetir. Olağandışı önyükleme girişlerini kontrol etmek için bcdedit /enum all kullanılabilir (Yönetici Yetkisi Gerekir) driverquery: Yüklü aygıt sürücülerinin bir listesini sunar. İmzalı sürücüleri görmek için /si , imza bilgileri gibi detayları görmek için /v parametresi kullanılır msinfo32 /report C:\temp\sysinfo.txt komutu kullanılabilir. wmic: Windows Yönetim Araçları Komut Satırı. Artık kullanımdan kalkmakta ve yerini PowerShell'in Get-CimInstance komutuna bırakmakta olsa da hala yaygın olarak kullanılmaktadır. İşletim sistemi bilgilerini almak için: wmic os get Caption, Version, BuildNumber, OSArchitecture. Yüklü yazılımları listelemek için: wmic product get name, version Yüklü yamaları (Quick Fix Engineering) listelemek için wmic qfe list brief powercfg: Güç ayarlarını yönetir. Kullanılabilir uyku durumlarını gösterir: powercfg /a Sistemi en son neyin uyandırdığını gösterir: powercfg /lastwake set: Ortam değişkenlerini görüntüler, ayarlar veya kaldırır  
 Ağ bağlantılarını, yapılandırmaları ve olası sorunları anlamak, güvenlik analizinin temel taşlarından biridir. ipconfig: IP yapılandırmasını görüntüler. Detaylı bilgi (MAC, DNS, DHCP dahil) için: ipconfig /all DNS çözümleyici önbelleğini görüntülemek için: ipconfig /displaydns. DNS önbelleğini temizlemek için (Yönetici Yetkisi Gerekir): ipconfig /flushdns. ping: ICMP yankı istekleri kullanarak ağ bağlantısını test eder. ping -t komutu durdurulana kadar sürekli ping atar. netstat: Ağ bağlantılarını, dinleme portlarını ve istatistikleri gösterir. En kullanışlı parametrelerden biri: netstat -ano TCP/UDP portlarını, IP adreslerini, dinleme durumlarını ve ilişkili işlem kimliğini (PID) gösterir. İşlem adını da görmek için (Yönetici Yetkisi Gerekir): netstat -anob
 Ağ bağlantılarını, yapılandırmaları ve olası sorunları anlamak, güvenlik analizinin temel taşlarından biridir. ipconfig: IP yapılandırmasını görüntüler. Detaylı bilgi (MAC, DNS, DHCP dahil) için: ipconfig /all DNS çözümleyici önbelleğini görüntülemek için: ipconfig /displaydns. DNS önbelleğini temizlemek için (Yönetici Yetkisi Gerekir): ipconfig /flushdns. ping: ICMP yankı istekleri kullanarak ağ bağlantısını test eder. ping -t komutu durdurulana kadar sürekli ping atar. netstat: Ağ bağlantılarını, dinleme portlarını ve istatistikleri gösterir. En kullanışlı parametrelerden biri: netstat -ano TCP/UDP portlarını, IP adreslerini, dinleme durumlarını ve ilişkili işlem kimliğini (PID) gösterir. İşlem adını da görmek için (Yönetici Yetkisi Gerekir): netstat -anob  Yönlendirme tablosunu göstermek için: netstat -r
 Yönlendirme tablosunu göstermek için: netstat -r  tracert: Bir hedefe giden rota üzerindeki atlamaları (hops) izler. pathping: ping ve tracert komutlarını birleştirerek her atlamadaki gecikme ve paket kaybını gösterir. nslookup: DNS sunucularını sorgulamak için kullanılır. nslookup -type=mx google.com gibi komutlarla belirli kayıt türleri (örneğin, Mail Exchange) sorgulanabilir. arp: Adres Çözümleme Protokolü (ARP) önbelleğini (IP-MAC eşleştirmesi) görüntüler ve değiştirir. Mevcut girişleri görmek için arp -a kullanılır. netsh: Güçlü bir ağ yapılandırma aracıdır. Tüm güvenlik duvarı kurallarını göstermek için: netsh advfirewall firewall show rule name=all. Kaydedilmiş Wi-Fi profillerini listelemek için: netsh wlan show profiles. Kaydedilmiş bir Wi-Fi şifresini görmek için (Yönetici Yetkisi Gerekir): netsh wlan show profile name="ProfilAdı" key=clear. route: Yerel IP yönlendirme tablosunu görüntüler ve değiştirir. route print ile tabloyu görebilirsiniz.
 tracert: Bir hedefe giden rota üzerindeki atlamaları (hops) izler. pathping: ping ve tracert komutlarını birleştirerek her atlamadaki gecikme ve paket kaybını gösterir. nslookup: DNS sunucularını sorgulamak için kullanılır. nslookup -type=mx google.com gibi komutlarla belirli kayıt türleri (örneğin, Mail Exchange) sorgulanabilir. arp: Adres Çözümleme Protokolü (ARP) önbelleğini (IP-MAC eşleştirmesi) görüntüler ve değiştirir. Mevcut girişleri görmek için arp -a kullanılır. netsh: Güçlü bir ağ yapılandırma aracıdır. Tüm güvenlik duvarı kurallarını göstermek için: netsh advfirewall firewall show rule name=all. Kaydedilmiş Wi-Fi profillerini listelemek için: netsh wlan show profiles. Kaydedilmiş bir Wi-Fi şifresini görmek için (Yönetici Yetkisi Gerekir): netsh wlan show profile name="ProfilAdı" key=clear. route: Yerel IP yönlendirme tablosunu görüntüler ve değiştirir. route print ile tabloyu görebilirsiniz.
Sistemde hangi işlemlerin ve servislerin çalıştığını bilmek, zararlı yazılım tespiti ve sistem analizi için kritiktir. tasklist: Çalışan işlemleri listeler.  Her işlemde barındırılan servisleri görmek için: tasklist /svc
 Her işlemde barındırılan servisleri görmek için: tasklist /svc  Belirli bir DLL'i kullanan işlemleri bulmak için: tasklist /m  Görüntü adına göre filtrelemek için: tasklist /fi "IMAGENAME eq chrome.exe" taskkill: İşlemleri sonlandırır. Görüntü adına göre sonlandırmak için: taskkill /IM notepad.exe İşlem kimliğine (PID) göre sonlandırmak için: taskkill /PID  Bir işlemi ve onun alt işlemlerini zorla sonlandırmak için: taskkill /T /IM /F schtasks: Komutları ve programları zamanlar (Görev Zamanlayıcı). Tüm görevlerin ayrıntılı bir listesini schtasks /query /fo LIST /v ile alabilirsiniz. sc: Windows servislerini yöneten Servis Kontrol aracıdır. Tüm servisleri listelemek için: sc query state=all Bir servisin yapılandırmasını (ikili dosya yolu, bağımlılıklar vb.) sorgulamak analistler için çok önemlidir: sc qc  Bir servisin PID'sini öğrenmek için: sc queryex  net start / net stop: Servisleri başlatmak ve durdurmak için sc komutuna göre daha basit bir alternatiftir. Çalışan servisleri listelemek için net start kullanılabilir. 4. Dosya Sistemi ve Veri Yönetimi Dosya ve dizin işlemleri, kanıt toplama, zararlı dosyaları izole etme ve sistem yapılandırmalarını inceleme sırasında sıkça kullanılır. dir: Dosya ve dizinleri listeler. Gizli ve sistem dosyalarını görmek için /a , alt dizinleri de dahil etmek için /s kullanılır. cd veya chdir: Dizini değiştirir. type: Bir metin dosyasının içeriğini görüntüler. Örneğin, type C:\Windows\System32\drivers\etc\hosts findstr: Dosyalarda metin dizeleri arar ve normal ifadeleri (regex) destekler. ipconfig /all | findstr /i "DNS Servers" gibi komutlarla bir komutun çıktısını filtreleyebilirsiniz. robocopy: xcopy'den daha güçlü ve tercih edilen, sağlam bir dosya kopyalama aracıdır. /MIR anahtarı bir dizini aynalar, ancak dikkatli kullanılmalıdır çünkü hedefte olup kaynakta olmayan dosyaları siler. attrib: Dosya özniteliklerini (gizli, salt okunur vb.) görüntüler veya değiştirir. Bir dosyayı gizlemek için attrib +h  kullanılabilir. icacls: Dosya ve klasörlerin Erişim Kontrol Listelerini (izinlerini) görüntüler veya değiştirir. İzinleri görüntülemek için icacls  yeterlidir. takeown: Bir yöneticinin bir dosya veya klasörün sahipliğini almasını sağlar (Yönetici Yetkisi Gerekir).
 Belirli bir DLL'i kullanan işlemleri bulmak için: tasklist /m  Görüntü adına göre filtrelemek için: tasklist /fi "IMAGENAME eq chrome.exe" taskkill: İşlemleri sonlandırır. Görüntü adına göre sonlandırmak için: taskkill /IM notepad.exe İşlem kimliğine (PID) göre sonlandırmak için: taskkill /PID  Bir işlemi ve onun alt işlemlerini zorla sonlandırmak için: taskkill /T /IM /F schtasks: Komutları ve programları zamanlar (Görev Zamanlayıcı). Tüm görevlerin ayrıntılı bir listesini schtasks /query /fo LIST /v ile alabilirsiniz. sc: Windows servislerini yöneten Servis Kontrol aracıdır. Tüm servisleri listelemek için: sc query state=all Bir servisin yapılandırmasını (ikili dosya yolu, bağımlılıklar vb.) sorgulamak analistler için çok önemlidir: sc qc  Bir servisin PID'sini öğrenmek için: sc queryex  net start / net stop: Servisleri başlatmak ve durdurmak için sc komutuna göre daha basit bir alternatiftir. Çalışan servisleri listelemek için net start kullanılabilir. 4. Dosya Sistemi ve Veri Yönetimi Dosya ve dizin işlemleri, kanıt toplama, zararlı dosyaları izole etme ve sistem yapılandırmalarını inceleme sırasında sıkça kullanılır. dir: Dosya ve dizinleri listeler. Gizli ve sistem dosyalarını görmek için /a , alt dizinleri de dahil etmek için /s kullanılır. cd veya chdir: Dizini değiştirir. type: Bir metin dosyasının içeriğini görüntüler. Örneğin, type C:\Windows\System32\drivers\etc\hosts findstr: Dosyalarda metin dizeleri arar ve normal ifadeleri (regex) destekler. ipconfig /all | findstr /i "DNS Servers" gibi komutlarla bir komutun çıktısını filtreleyebilirsiniz. robocopy: xcopy'den daha güçlü ve tercih edilen, sağlam bir dosya kopyalama aracıdır. /MIR anahtarı bir dizini aynalar, ancak dikkatli kullanılmalıdır çünkü hedefte olup kaynakta olmayan dosyaları siler. attrib: Dosya özniteliklerini (gizli, salt okunur vb.) görüntüler veya değiştirir. Bir dosyayı gizlemek için attrib +h  kullanılabilir. icacls: Dosya ve klasörlerin Erişim Kontrol Listelerini (izinlerini) görüntüler veya değiştirir. İzinleri görüntülemek için icacls  yeterlidir. takeown: Bir yöneticinin bir dosya veya klasörün sahipliğini almasını sağlar (Yönetici Yetkisi Gerekir).
Kullanıcı hesaplarını, grup üyeliklerini ve uygulanan grup ilkelerini analiz etmek, yetkisiz erişimi ve güvenlik yapılandırma hatalarını tespit etmede hayati önem taşır. net user: Yerel veritabanındaki veya etki alanındaki kullanıcı hesaplarını yönetir. Yerel kullanıcıları listelemek için net user , bir kullanıcıyı devre dışı bırakmak için net user /active:no kullanılır (Yönetici Yetkisi Gerekir). net localgroup: Yerel grupları yönetir. Yöneticiler grubunun üyelerini listelemek için net localgroup Administrators komutu kullanılır. gpupdate: Grup İlkesi ayarlarını günceller. Tüm ilkelerin yeniden uygulanmasını zorlamak için gpupdate /force kullanılır. gpresult: Uygulanan Grup İlkesi sonuçlarını (Resultant Set of Policy - RSoP) gösterir. gpresult /r komutu, mevcut kullanıcı ve bilgisayar için özet verileri sunar. runas: Bir programı farklı bir kullanıcı olarak çalıştırır.
Olay günlükleri (Event Logs), bir sistemde olan biten her şeyin kaydını tutar ve bir güvenlik olayı incelemesinin en zengin bilgi kaynaklarından biridir. wevtutil: Olay günlüklerini yönetmek için kullanılan güçlü bir komut satırı aracıdır. Tüm olay günlüklerini listelemek için: wevtutil el Güvenlik günlüğündeki en yeni 10 olayı metin formatında sorgulamak için: wevtutil qe Security /c:10 /rd:true /f:text Bir günlüğü yedeklemek için: wevtutil epl Security C:\Backup\SecurityLog.evtx Bir günlüğü temizlemek (DİKKAT: Kanıtları siler!): wevtutil cl Security eventvwr: Olay Görüntüleyicisi GUI'sini açar
Bu araçlar, sistem bütünlüğünü kontrol etmek, denetim ilkelerini yönetmek ve saldırganlar tarafından kötüye kullanılabilecek servisleri izlemek için kullanılır. sfc: Sistem Dosyası Denetleyicisi. Korunan sistem dosyalarını tarar ve onarır (Yönetici Yetkisi Gerekir). sfc /scannow komutu tam bir tarama ve onarım yapar. auditpol: Denetim ilkelerini yönetir (Yönetici Yetkisi Gerekir). Mevcut ayarları görmek için auditpol /get /category:* kullanılır. bitsadmin: Arka Plan Akıllı Aktarım Hizmeti (BITS) işlerini yönetir. Genellikle zararlı yazılımlar tarafından kötüye kullanıldığı için bitsadmin /list /allusers komutuyla tüm kullanıcıların işlerini listelemek önemlidir. certutil: Sertifikaları yönetir ancak saldırganlar tarafından dosya indirme veya kodlama gibi çeşitli amaçlarla da kullanılır. En kullanışlı özelliklerinden biri: Bir dosyanın hash değerini hesaplamak için: certutil -hashfile SHA256. Saldırganlar tarafından dosya indirmek için kullanılabilir: certutil -urlcache -split -f <çıktı_dosyası> fltmc: Filtre sürücüsü yöneticisidir (Yönetici Yetkisi Gerekir). fltmc filters komutu, yüklü olan ve potansiyel olarak şüpheli olabilecek dosya sistemi filtre sürücülerini listeler.
PowerShell, komut satırı kabuğu ve betik dilini bir araya getiren güçlü bir otomasyon ve yapılandırma yönetimi çerçevesidir. Modern Windows yönetimi ve güvenlik analizi için vazgeçilmezdir. İşte bazı temel cmdlet (komut-let) örnekleri: İşlem Yönetimi: Get-Process (tasklist gibi), Stop-Process -Id -Force (taskkill gibi) Servis Yönetimi: Get-Service, Start-Service , Stop-Service Ağ Yönetimi: Get-NetIPConfiguration (ipconfig /all gibi), Test-NetConnection -Port , Get-NetTCPConnection (netstat -ano gibi) Olay Günlüğü: Get-WinEvent -LogName Security -MaxEvents 10 Sistem Bilgisi: Get-ComputerInfo, Get-HotFix (yamalar). WMI/CIM: Get-CimInstance -ClassName Win32_OperatingSystem (birçok wmic kullanımının modern alternatifi).
Analiz sürecini hızlandıran bazı temel yardımcılar: clip: Bir komutun çıktısını doğrudan Windows panosuna kopyalar. Örneğin: ipconfig /all | clip shutdown: Bilgisayarı kapatır veya yeniden başlatır. shutdown /r /t 0 komutu hemen yeniden başlatır. GUI Kısayolları: services.msc: Servisler yönetim konsolunu açar. devmgmt.msc: Aygıt Yöneticisi'ni açar. diskmgmt.msc: Disk Yönetimi'ni açar. resmon: Kaynak İzleyicisi'ni açar. mstsc: Uzak Masaüstü Bağlantısı istemcisini açar.
Bunlar Windows'ta yerleşik olarak gelmese de, derinlemesine analiz için vazgeçilmez kabul edilirler ve Microsoft'tan indirilebilirler. Autoruns/Autorunsc: Kayıt defteri, servisler, zamanlanmış görevler gibi tüm başlangıç konumlarını gösterir ve yönetir. Process Explorer (procexp.exe): Gelişmiş bir Görev Yöneticisi'dir. DLL'leri, işlem ağacını gösterir ve imzaları doğrular. Process Monitor (procmon.exe): Dosya sistemi, kayıt defteri, işlem ve ağ etkinliğini gerçek zamanlı olarak izler. Davranış analizi için son derece güçlüdür. Sigcheck (sigcheck.exe): Dosya imzalarını, hash değerlerini kontrol eder ve VirusTotal entegrasyonu sunar. TCPView (tcpview.exe): netstat'ın gerçek zamanlı ve grafik arayüzlü halidir. Bu komutlara hakim olmak, bir güvenlik analistinin verimliliğini ve etkinliğini büyük ölçüde artırır. Komut satırı, bir sistemi anlamak ve korumak için en doğrudan ve güçlü yollardan biri olmaya devam etmektedir.