Rootkit

Eyl 06, 2013

Rootkit, çalışan süreçleri, dosyaları veya sistem bilgilerini işletim sisteminden gizlemek suretiyle varlığını sürdüren bir program veya programlar grubudur. Amacı yayılmak değil bulunduğu sistemde varlığını gizlemektir. Önceleri çok kullanıcılı sistemlerde sıradan kullanıcıların yönetim programlarına ve sistem bilgilerine erişimini gizlemek için geliştirilmiş ve kullanılmış olmasına rağmen kötü niyetli kullanımına da rastlamak mümkündür.

Rootkit'ten Korunma Yolları

Kullanılan dağıtımın resmi paket dağıtım sistemi dışına çıkmaması pek çok sorunu çözecektir. Ancak güvenilmeyen kaynaklardan kurulan bir betik/binary dosya veya içeriği bilinmeyen bir tar.gz dosyasını (veya uygulanacak bir yamayı) derleyip çalıştırmak pek çok sorunu beraberinde getirebilir. Genel kaide olarak dağıtımın resmi paket depoları ile kullanılacak programın resmi internet sitesinden alınacak kaynak kodlar korunmada bir derece etkili olacaktır. Diğer insanların erişimine açık bir sistem kullanılıyorsa güncellemeleri zamanında yapmak ve sık sık kontrol etmek de unutulmaması gereken bir işlemdir.

Rootkit Hunter (Rootkit Avcısı)

Rootkit Hunter (Rkhunter), Linux tabanlı olup BASH(Bourne Again SHell) kabuğunda çalışan bir Rootkit tarayıcıdır.

Rootkit Avcısı Kurulumu

Program kurulmadan önce gerekli paket sisteme indirilir.

#wget download_linki_rkhunter

İndirilen paket sıkıştırılmış ise açılır.

#tar zxf rkhunter-*.*.*.tar.gz 

Paketler rkhunter adı altında bir dizine açılır, paketlerin açılma işlemi sırasında rkhunter dizini kendiliğinden oluşturulur, ve rkhunter dizininin içine girilir.

#cd rkhunter

Burada bulunan installer.sh betiği çalıştırılır ve program kurulumaya başlanır.

#./installer.sh

Programla ilgili belgeler /usr/local/rkhunter/lib/rkhunter/docs/ altında tutulur. Bu program için herhangi bir man dosyası bulunmamaktadır.

Program /usr/local/bin/rkhunter yolu üzerinde çalıştırılabilir.

Programın geçerli bazı parametreleri:

Komut Açıklama  
 checkall (-c) Bütün sistemi kontrol eder.
 createlogfile Kayıt dosyası oluşturur. (/var/log/rkhunter.log adı altında)
 cronjob Eğer zamanlayıcıya bağlanmış ise cron üzerinden çalıştırılması  sağlanır.
 display-logfile Taramadan sonra kayıt dosyasını gösterir.
 report-mode Sadece özet bilgileri gösterir.
 skip-application- check Programların sürüm taramalarını atlaması sağlanır.
 skip-keypress   Her testin sonunda geçiş yapmak için soru sorması engellenir.
 quick Bütün sistemi kontrol etmesinden ziyade hızlı bir tarama yapar.
 quiet Sadece uyarıları gösterecek şekilde tarama yapar.
 update Güncelleme aracını çalıştırır ve veritabanı güncellemesi yapar.
 configfile <file> Farklı bir yapılandırma dosyası kullanılacaksa bu parametre kullanılır.
 dbdir <dir> Farklı bir veritabanı dizini kullanılacaksa bu parametre kullanılır.

Programın yapılandırma dosyasının erişimi

#vim rkhunter/files/testing/rkhunter.conf şeklindedir. Bu dosyada bulunan MAIL-ON-WARNING parametresi root@localhost şeklinde değiştirilmelidir.

Taramanın sonunda kayıt dosyası oluşturmak için aşağıdaki komutlar yürütülmelidir.

#/usr/local/bin/rkhunter -c --createlogfile --skip-keypress --checkall

Bu komut dizisi ile bütün sistem taratılır ve sonunda kayıt dosyası oluşturulur. Kayıt dosyasının konumu ise /var/log/rkhunter.log . Tarama sonuçlarını kayıt defterine geçirmek için devamlı olarak yukarıdaki komut dizisi kullanılmalıdır, ancak ikinci bir taratma sonucu yeni bir kayıt dosyası oluşturulmaz ilk seferde oluşturulan dosyanın üzerine yazar ve dosyanın silinmesine neden olur. Bundan dolayı ikinci ve daha sonraki taramalar başlamadan bir önceki kayıt dosyasının yedeği alınmalıdır. 

Programın düzenli zamanlarda çalışmasını sağlamak için de crontab dosyasına bilgi girişi yapılmalıdır. Bunu yapmak için ise aşağıda belirtilen yol izlenir.

#crontab -e

Bu komut ile yeni bir metin editörü açılır ve editörün içerisine aşağıdaki bilgiler kopyalanır:

a b c d e (/usr/local/bin/rkhunter -c --cronjob --report-mode --createlogfile --skip-keypress 2>&1 | mail -s "Daily Rkhunter Scan Report""root@localhost )

Burada belirtilen satırda a,b,c,d ve e zaman belirteçlerine göre rkhunter programı çalıştırılır ve Daily Rkhunter Scan Report (Günlük Rkhunter Tarama Raporu) başlığı altında root (kök)'a e-posta gönderir. Aşağıda zaman belirteçleri ile ilgili açıklama yapılmıştır.

 a  Dakika  0-59
 b  Saat  0-23
 c  Ayın Günü  1-31
 d  Ay  1-12
 e  Haftanın Günü  0-7, 0=7=Pazar