🖥️ OSQuery: Uç Nokta Görünürlüğü için Açık, Esnek ve Hafif Bir Yaklaşım

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ı

  1. Bir test Linux, Windows veya macOS endpoint’e OSQuery kurun.
  2. osqueryi ile interactive mode’da temel sorguları çalıştırın.
  3. processes, listening_ports, users, services tablolarını inceleyin.
  4. Bir scheduled query pack oluşturun.
  5. Sonuçların JSON log olarak yazıldığını doğrulayın.
  6. Logları SIEM veya log collector’a yönlendirin.
  7. Basit bir IOC sorgusu çalıştırın.
  8. 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.

About Cem Kemal Erbaş

Check Also

💳 POS’a Kartı Dokunduruyoruz… Peki O Birkaç Saniyenin Arkasında Neler Oluyor?

Bir mağazada 100 TL’lik alışveriş yaptığımızı düşünelim. Kullanıcı açısından süreç son derece basittir: Kartı dokundur …

Bir yanıt yazın