Bir sistemde neler olup bittiğini anlamak için her zaman ağır ve karmaşık güvenlik araçlarına ihtiyaç yoktur.
Bazen doğru soru yeterlidir:
Bu makinede hangi process çalışıyor?
Hangi portlar dinlemede?
Hangi kullanıcılar var?
Hangi servisler otomatik başlıyor?
Şüpheli bir dosya veya persistence mekanizması var mı?
OSQuery, bu sorulara standart SQL sorguları ile cevap verebilmenizi sağlayan açık kaynaklı bir endpoint visibility aracıdır.
📌 OSQuery Nedir?
OSQuery, işletim sistemini sorgulanabilir bir veritabanı gibi ele alan açık kaynaklı bir güvenlik ve sistem görünürlüğü framework’üdür.
Linux, macOS ve Windows sistemlerde çalışabilir. Sistem üzerindeki process, kullanıcı, servis, ağ bağlantısı, dinleyen port, paket, dosya, kernel modülü ve birçok yapı OSQuery tabloları üzerinden sorgulanabilir.
Basit anlatımla:
İşletim sistemi → SQL ile sorgulanabilir veri tabanı gibi davranır
Örneğin bir endpoint üzerinde çalışan process’leri, açık portları veya kullanıcıları SQL sorgusuyla görebilirsiniz.
🧪 Basit OSQuery Örnekleri
Çalışan PowerShell process’lerini görme
SELECT * FROM processes WHERE name = 'powershell.exe';
4444 portunu dinleyen process var mı?
SELECT * FROM listening_ports WHERE port = 4444;
Shell kullanan kullanıcıları listeleme
SELECT * FROM users WHERE shell LIKE '%sh%';
Otomatik başlayan servisleri görüntüleme
SELECT * FROM services WHERE start_type = 'AUTO_START';
Şüpheli network bağlantılarını inceleme
SELECT pid, local_address, local_port, remote_address, remote_port
FROM process_open_sockets
WHERE remote_address NOT IN ('', '0.0.0.0', '127.0.0.1');
🚀 Neden OSQuery?
1️⃣ Anlık Sistem Durumu Sorgulama — Live Query
OSQuery ile belirli bir endpoint üzerinde anlık sorgular çalıştırabilirsiniz.
Kullanım örnekleri:
- Şu anda hangi process çalışıyor?
- Hangi portlar açık?
- Hangi kullanıcı oturum açmış?
- Hangi uygulamalar yüklü?
- Şüpheli persistence var mı?
- Belirli hash’e sahip dosya var mı?
Bu yapı incident response ve threat hunting için çok değerlidir.
2️⃣ Sürekli İzleme — Scheduled Query Packs
OSQuery sadece anlık sorgu aracı değildir. osqueryd daemon ile belirli sorgular periyodik olarak çalıştırılabilir.
Örnek:
Her 60 saniyede çalışan process sorgusu
Her 5 dakikada dinleyen port kontrolü
Her 1 saatte yüklü paket envanteri
Her gün local admin kullanıcı kontrolü
Bu scheduled query yaklaşımı, uç noktalarda sürekli görünürlük sağlar.
3️⃣ Detaylı Endpoint Telemetry
OSQuery ile birçok endpoint verisi sorgulanabilir:
- Process listesi
- Açık network socket’leri
- Listening port’lar
- Kullanıcılar ve gruplar
- Servisler
- Scheduled task / launch daemon
- Yüklü paketler
- Kernel modülleri
- Dosya hash’leri
- Browser eklentileri
- Sistem bilgisi
- Disk ve mount bilgileri
Bu veri setleri, güvenlik ve IT operasyonları için çok güçlü bir görünürlük sağlar.
4️⃣ Hafif ve Esnek Agent Yaklaşımı
OSQuery, endpoint üzerinde hafif bir agent yaklaşımıyla çalışabilir.
Avantajları:
- Açık kaynak
- SQL tabanlı kolay sorgulama
- Cross-platform kullanım
- Standart log çıktıları
- SIEM/EDR entegrasyonuna uygun yapı
- Custom query pack oluşturma esnekliği
Ancak her sorgu hafif değildir. Özellikle büyük dosya sistemi taramaları, sık çalışan hash sorguları veya geniş JOIN işlemleri dikkatli planlanmalıdır.
5️⃣ JSON Log ile Kolay Entegrasyon
OSQuery scheduled query sonuçlarını JSON formatında üretebilir. Bu da SIEM ve log pipeline sistemleriyle entegrasyonu kolaylaştırır.
Entegrasyon senaryoları:
- Elastic / OpenSearch
- Splunk
- Wazuh
- Google Security Operations
- Microsoft Sentinel
- Graylog
- Kafka pipeline
- Fleet / Kolide gibi osquery yönetim platformları
Bu sayede endpoint’lerden gelen sorgu sonuçları merkezi güvenlik operasyonlarına dahil edilebilir.
🛡️ OSQuery Nerelerde Kullanılır?
🚔 Host Tabanlı Tehdit Tespiti
Şüpheli process, persistence, local admin değişiklikleri, anormal network bağlantıları veya bilinen IOC’ler OSQuery ile takip edilebilir.
Örnek:
SELECT * FROM processes
WHERE name IN ('mimikatz.exe', 'procdump.exe', 'psexec.exe');
🕵️ Incident Response Hazırlığı
Bir olay olduğunda endpoint’e “ne oldu?” diye sormak gerekir.
OSQuery ile hızlıca şu bilgiler toplanabilir:
- Çalışan process’ler
- Açık bağlantılar
- Yeni oluşturulmuş kullanıcılar
- Persistence noktaları
- Şüpheli servisler
- Yüklü yazılımlar
- Son oturum bilgileri
Bu bilgiler olay müdahalesinde ilk triage için çok değerlidir.
🔍 Threat Hunting ve IOC Doğrulama
Threat hunting sırasında belirli IOC’ler veya davranış kalıpları endpoint’lerde aranabilir.
Örnek hunting soruları:
Hangi endpoint’lerde 4444 portu dinlemede?
Hangi makinelerde belirli hash’e sahip dosya var?
PowerShell hangi parametrelerle çalışmış?
Local admin grubuna yeni kullanıcı eklenmiş mi?
Beklenmeyen autorun entry var mı?
📋 Envanter Çıkarımı
OSQuery yalnızca güvenlik için değil, IT envanteri için de çok faydalıdır.
Sorgulanabilecek bilgiler:
- Hostname
- İşletim sistemi
- Kernel versiyonu
- Yüklü paketler
- Donanım bilgileri
- Disk bilgileri
- Kullanıcı hesapları
- Network interface bilgileri
🛠️ Uyum Denetimi ve Konfigürasyon Kontrolü
OSQuery ile güvenlik uyumluluğu ve baseline kontrolleri yapılabilir.
Örnek kontroller:
- Disk encryption açık mı?
- Firewall aktif mi?
- Local admin sayısı beklenen seviyede mi?
- Belirli güvenlik yazılımı yüklü mü?
- Şüpheli browser eklentisi var mı?
- Eski paket veya zafiyetli yazılım bulunuyor mu?
⚡ 48s Mini-PoC Planı
- Bir test Linux, Windows veya macOS endpoint’e OSQuery kurun.
osqueryiile interactive mode’da temel sorguları çalıştırın.processes,listening_ports,users,servicestablolarını inceleyin.- Bir scheduled query pack oluşturun.
- Sonuçların JSON log olarak yazıldığını doğrulayın.
- Logları SIEM veya log collector’a yönlendirin.
- Basit bir IOC sorgusu çalıştırın.
- False-positive ve performans etkisini gözlemleyin.
✅ Operasyonel İpuçları
1️⃣ Query Sıklığını Doğru Planlayın
Her sorgu her dakika çalıştırılmamalıdır. Ağ bağlantıları sık izlenebilir; dosya hash taramaları daha seyrek çalıştırılmalıdır.
2️⃣ Query Pack’leri Kategorilere Ayırın
Örnek pack yapısı:
baseline_pack
threat_hunting_pack
incident_response_pack
compliance_pack
software_inventory_pack
3️⃣ Performansı İzleyin
Ağır sorgular CPU, disk I/O veya memory etkisi yaratabilir. Özellikle geniş dosya taramaları dikkatli kullanılmalıdır.
4️⃣ SIEM Korelasyonu Kurun
OSQuery sonuçları EDR, DNS, proxy, firewall ve authentication loglarıyla birleştiğinde daha anlamlı hale gelir.
5️⃣ Fleet / Kolide Gibi Yönetim Katmanlarını Değerlendirin
Büyük yapılarda tek tek endpoint yönetimi zorlaşır. OSQuery yönetim platformları live query, pack deployment ve merkezi görünürlük sağlar.
⚠️ Sınırlamalar
OSQuery güçlü bir visibility aracıdır; ancak tek başına tam kapsamlı EDR değildir.
Dikkat edilmesi gerekenler:
- Gerçek zamanlı blocking yapmaz.
- Davranış engelleme veya remediation özelliği sınırlıdır.
- Sorgu kalitesi detection kalitesini doğrudan etkiler.
- Yanlış schedule performans problemi oluşturabilir.
- Merkezi yönetim olmadan büyük ölçekte işletmesi zorlaşabilir.
- Logların SIEM tarafında doğru parse edilmesi gerekir.
Sonuç
OSQuery, uç noktaları SQL ile sorgulanabilir hale getirerek güvenlik ve IT operasyonlarına güçlü bir görünürlük katmanı sağlar.
Bir endpoint’te neler olduğunu öğrenmek için karmaşık arayüzlere değil, doğru sorulara ihtiyaç vardır.
Sisteminiz hakkında ne kadar çok şey biliyorsanız, tehditleri o kadar erken fark edersiniz.
OSQuery bu görünürlüğü açık, esnek ve hafif bir yaklaşımla sağlar.


Cem Kemal Erbaş sitesinden daha fazla şey keşfedin
Subscribe to get the latest posts sent to your email.
Cem Kemal Erbaş Network, Siber Güvenlik ve Teknik Rehberler