Linux IOC Scan

Siber güvenlik tehditleri her geçen gün daha karmaşık hale gelirken, siber güvenlik uzmanlarının en kritik görevlerinden biri de sistemlerdeki kötü amaçlı faaliyetleri tespit etmektir. Bu noktada, Indicators of Compromise (IOC) olarak adlandırdığımız saldırganların sisteme girmesinin ardından bıraktığı izleri takip etmek için önemli ipuçlarıdır. Bu yazıda, Linux sistemlerde IOC taramanın temel adımlarını ele alacak ve bu süreçte kullanılabilecek araçları ve teknikleri detaylı bir şekilde inceleyeceğiz.

IOC (Indicators of Compromise)

IOC, sistemlerdeki kötü amaçlı aktivitelerin izlerini takip etmek için kullanılan işaretlerdir. Bunlar, zararlı yazılımlar, yetkisiz ağ bağlantıları veya saldırganın sisteme erişimini sağlayan diğer yöntemler gibi unsurları içerebilir. IOC’ler, sistemdeki anormal aktivitelerin tespit edilmesine yardımcı olur ve saldırıların zamanında engellenmesini sağlar.

Linux Sistemlerde IOC Taramasının Önemi

Linux sistemleri, sunucular ve diğer kritik altyapılar için yaygın olarak kullanılır. Ancak bu, onları siber saldırganlar için hedef haline getirebilir. IOC taraması, Linux sistemlerde potansiyel tehditleri erken tespit etmek için kritik bir adımdır.

Temel IOC Tarama Yöntemleri ve Araçları

Linux sistemlerde IOC taraması yapmak için bir dizi komut ve araç mevcuttur. Bu araçlar, potansiyel tehditleri tespit etmenin yanı sıra, sistem üzerinde şüpheli aktiviteleri hızla fark etmenize yardımcı olabilir. İşte bu süreçte kullanabileceğiniz bazı temel yöntemler ve araçlar:

1. Dosya Hash’lerini Taramak

Dosya hash’leri, kötü amaçlı yazılımların veya diğer kötü niyetli dosyaların tespit edilmesinde önemli bir rol oynar. Birçok zararlı yazılım, belirli dosya hash’leriyle ilişkilendirilir ve bu hash’ler IOC olarak kullanılabilir. Linux sistemlerde, dosya hash’lerini doğrulamak için şu komutlar kullanılabilir:

sha256sum /path/to/file - SHA256 hash değerini hesaplamak için
md5sum /path/to/file - MD5 hash değerini hesaplamak için
sha512sum /path/to/file - SHA512 hash değeri hesaplamak için

Bu hash değerlerini, bilinen kötü amaçlı yazılım veritabanları ile karşılaştırarak şüpheli dosyalar tespit edilebilir.

2. Ağ Bağlantılarını İncelemek

Kötü amaçlı yazılımlar genellikle sistemle dış dünya arasında iletişim kurar. Bu iletişim, şüpheli ağ bağlantıları aracılığıyla yapılır. Linux’ta, ağ bağlantılarını analiz etmek için şu araçlar kullanılabilir:

netstat: Sistem üzerindeki aktif ağ bağlantılarını görüntüler. Bağlantı noktalarını ve protokollerini analiz etmek için kullanılır.

netstat -tuln

ss ile Daha hızlı ve ayrıntılı bir ağ bağlantısı analiz aracı.

ss -tuln

lsof: Ağ portlarını dinleyen ve açık olan dosyaları listeler. Özellikle şüpheli portların dinlenip dinlenmediğini kontrol etmek için kullanılır.

lsof -i -P

3. Dosya Sistemi Tarama

Kötü amaçlı yazılımlar genellikle belirli dosya sistemlerinde izler bırakır. Bu izleri tespit etmek için find, locate, ve grep gibi araçlar kullanılabilir:

find komutu: Şüpheli dosyaları ve dosya yollarını tespit etmek için kullanılır.

find / -name "*.tmp"  # .tmp uzantılı dosyaları arar

locate komutu: Sistemdeki dosya yollarını hızlıca sorgulamak için kullanılabilir. Önceden oluşturulmuş dosya veritabanına dayanır, bu nedenle daha hızlı sonuçlar verir.

locate suspiciousfile

4. Tehdit tespit kuralları ile IOC Tarama

Yara, dosya içeriklerini tarayarak IOC’leri tespit etmede etkili bir araçtır. Yara kuralları, dosyaların içerikleri üzerinden arama yaparak kötü amaçlı yazılımlar ve IOC’leri tespit etmek için kullanılabilir.

Yara ile dosya taraması yapmak için öncelikle uygun kuralları yazmanız veya mevcut kuralları kullanmanız gerekir:

yara rules.yar /path/to/files/

Yara ile daha kapsamlı analizler yapılabilir. Örneğin, dosya hash’leri, belirli dosya içeriği ya da kötü amaçlı kod parçacıkları gibi IOC’leri tanımlayan kurallar yazılabilir.

RKHunter ile IOC Tarama

RKHunter (Rootkit Hunter) Linux sistemlerinde rootkit’leri ve diğer zararlı yazılımları tespit etmek için kullanılan güçlü bir güvenlik aracıdır. Rootkit’ler, sisteme gizlice sızan ve çoğu zaman kendilerini gizlemek için sistemin çekirdek seviyesinde faaliyet gösteren kötü amaçlı yazılımlardır. RKHunter, sistemin çeşitli bölümlerini tarayarak bu tür tehditleri ortaya çıkarabilir.

RKHunter Kullanımı:

Debian/Ubuntu tabanlı sistemler:

sudo apt-get install rkhunter

Red Hat/CentOS tabanlı sistemler:

sudo yum install rkhunter

RKHunter’ı Güncelleme: RKHunter, sürekli güncel veritabanları kullanarak rootkit’leri ve diğer kötü amaçlı yazılımları tespit eder. Yine de zaman zaman veritabanını güncellemek önemlidir.

sudo rkhunter --update

Sistemi Taramak: RKHunter ile bir sistem taraması yapmak oldukça basittir. Aşağıdaki komutu kullanarak tam bir sistem taraması başlatabilirsiniz:

sudo rkhunter --check

Bu komut, sistemdeki şüpheli dosya izinlerini, kernel modüllerini, rootkit’leri ve kötü amaçlı yazılımları tespit etmek için çeşitli kontroller yapacaktır.

RKHunter Taraması Sonrası Çıktı: Tarama tamamlandığında, RKHunter, bulduğu şüpheli öğeler hakkında bir rapor üretir. Bu rapor, log dosyasına kaydedilir ve genellikle şu konuları içerir:

Şüpheli dosya izinleri: Sistem dosyalarında olağandışı izinler.

Beklenmedik dosya yolları: Kötü amaçlı yazılımlar genellikle sistemdeki alışılmadık dosya yollarına yerleşir.

Kernel modülleri: Rootkit’ler, genellikle çekirdek modülleri olarak yüklenir ve sisteme zarar verebilir.

Erişim izleri: Sisteme izinsiz giriş yapılmışsa, bunlar RKHunter tarafından tespit edilebilir.

Dosya hash’leri: RKHunter, bazı dosyaların hash değerlerini karşılaştırarak onları bilinen kötü amaçlı yazılımlarla karşılaştırabilir.

Taramada Bulunan Hatalar ve Çıktı Analizi: RKHunter taraması sırasında “warning” veya “error” türünde mesajlar alabilirsiniz. Bu mesajlar her zaman zararlı bir şey olduğu anlamına gelmez, ancak şüpheli bir durum olabilir. Eğer sisteminizde rootkit veya diğer tehditler olduğundan şüpheleniyorsanız, çıkan sonuçları dikkatlice inceleyin.

rkhunter Kullanımı

ilk olrak rkhunter aracımızı IOC scan yapacağımız sisteme wget komutu ile indiriyoruz.

wget https://sourceforge.net/projects/rkhunter/files/latest/download

Daha sonra arşivlemiş olan dosyamsızı arşivden çıkarıyoruz.

tar -xvzf rkhunter.tar.gz

Dosyanın içine giriyoruz

cd rkhunter*
sudo ./installer.sh --install

komutu ile indiriyoruz.

sudo rkhunter --update

sudo rkhunter –propupd

komutu, Rootkit Hunter (rkhunter) aracında dosya bütünlüğü denetimi için kullanılan referans veritabanını günceller. Bu komut, sistemdeki dosyaların mevcut durumlarını temel alarak bir referans veri oluşturur ve gelecekte yapılacak taramalarda bu referans kullanılarak değişiklikler tespit edilir.

sudo rkhunter --checkall

Rootkit Hunter (rkhunter) aracında kapsamlı bir güvenlik taraması gerçekleştirir. Bu komut, sistemde rootkit’lerin, kötü amaçlı yazılımların ve güvenlik açıklarının varlığını kontrol etmek için tüm tarama testlerini çalıştırır.

Komutun İşlevi:

  • Tam Tarama:
    –checkall, rkhunter’ın desteklediği tüm tarama modüllerini ardışık olarak çalıştırır. Bu, aşağıdaki kategorilere yönelik kontrolleri içerir:
    • Rootkit Taraması: Bilinen rootkit imzalarını arar.
    • Dosya Bütünlüğü Taraması: Kritik sistem dosyalarının hash değerlerini kontrol eder ve referans veritabanıyla karşılaştırır.
    • Sistem Araçları Kontrolü: ls, ps, netstat, gibi sistem araçlarının değiştirilip değiştirilmediğini kontrol eder.
    • Ağ Bağlantıları Analizi: Şüpheli açık portları ve ağ bağlantılarını tespit eder.
    • Zararlı Dosya Kontrolü: Rootkit’lere özgü bilinen kötü amaçlı dosya veya dizinlerin izlerini arar.
    • Sistem Ayarları Denetimi: SSH yapılandırması ve genel sistem izinleri gibi kritik yapılandırmaları kontrol eder.
    • Log Dosyası Analizi: Sistemdeki log dosyalarında şüpheli etkinlikleri tespit eder.

Komut Çıktısı:

  • Komut çalıştırıldığında, her test sonucu ekrana yazdırılır. Testler sırasında bulunan şüpheli veya güvenli durumlar şu şekilde raporlanır:
    • OK: Test başarılı ve sorun bulunmadı.
    • Warning: Şüpheli bir durum tespit edildi ve daha fazla inceleme gerektiriyor.
    • Found: Olası bir güvenlik sorunu bulundu.

Kernel Modülleri: Şüpheli kernel modülü tespiti.

Tarama sonucunu bu şekilde özetler

Şu komut kullanılarak rapor formatında değişikilkler sağlanabilir

sudo rkhunter --checkall --report-warnings-only > /rkhunter_report.log

rkhunter aracı, debian, rhat, arch, suse gibi platformlarda aynı mantıkta çalışmaktadır.

IOC taraması, Linux sistemlerdeki kötü amaçlı aktiviteleri tespit etmenin ve tehditlere karşı önlem almanın temel bir parçasıdır. Yukarıda belirtilen araçlar ve yöntemler, Linux sistemlerde IOC’leri etkin bir şekilde taramak için güçlü araçlardır. IOC taramaları, sistemdeki anormal etkinlikleri tespit etmenize ve potansiyel tehditleri hızla çözmenize olanak sağlar.