Not:3 bölüm olarak hazırlanan bu yazı dizisinin ilk bölümünü aşağıdan okuyabilirsiniz.
Internet ortamında altyapı, ağ ve sunucu hizmetlerinde kullanılan işletim sistemleri %70 gibi büyük oranda UNIX/Linux tabanlı sistemlerden oluşmaktadır[1]. Linux sistemlerin yoğun kullanımı saldırganların da hedeflerini bu sistemlere yöneltmesine sebep olmuştur. Hacklenen sitelerin kaydını tutan Zone-H istatistiklerine göre Son yıllarda en çok Linux sistemler hedef oluyor , ele geçiriliyor.
Linux sistemler genellikle komut satırı kullanarak yönetildiği için sistem üzerindeki anormallikler Windows işletim sistemindeki gibi kolay anlaşılmayabilir.
Bu yazıda internet üzerinde hizmet veren Linux sistemlere yönelik gerçekleştirilen saldırılar sonrası sistemlerin nasıl inceleneceği, canlı analiz yöntemleri ve saldırılar/anormalliklerden haberdar erken haberdar olmak için gerekli adımlara değinilecektir.
Analiz Çalışmasına Başlamadan Kontrol Edilmesi Gereken Ön Hususlar:
Zaman Bilgisi
İncelenecek sistemin saat bilgisinin kontrol edilmesi, saat bilgisi hatalı olan sistem inceleme sonuçlarının da sağlıksız sonuçlanmasına sebep olacaktır. date komutu kullanılarak sisteme ait zaman bilgileri elde edilebilir.
İşletim Sistemi ve Çekirdek Sürüm Bilgisi
İşletim sistemi kernel sürümü ve mimari bilgileri. Aşağıdaki komutla bu bilgiler edinilebilir.
root@bgapentest:~# uname -a
Linux bgapentest 3.12-kali1-amd64 #1 SMP Debian 3.12.6-2kali1 (2014-01-06) x86_64 GNU/Linux
|
Dosyalara Ait Bütünlük(Hash) Değerleri
Canlı sistem üzerinde çalışma yapılacaksa sistemin yedeğinin ve tüm dosyaların hash bilgilerinin önceden alınmış olması önemlidir. Tüm sistemdeki dosyaların hash değerleri ve boyut bilgisi, sahiplik gibi özelliklerinin
root@bgapentest:~# find /etc -type f -ls
1588664 4 -rw——- 1 root root 1716 Aug 15 20:05 /etc/shadow-
1570743 4 -rw-r–r– 1 root root 578 Mar 12 2012 /etc/darkstat/init.cfg
1570628 4 -rw-r–r– 1 root root 356 Dec 30 2012 /etc/bindresvport.blacklist
1572069 4 -rwxr-xr-x 1 root root 249 Mar 7 2013 /etc/resolvconf/update-libc.d/avahi-daemon
1571499 4 -rwxr-xr-x 1 root root 1806 Nov 14 2011 /etc/network/if-post-down.d/ifenslave
1571500 4 -rwxr-xr-x 1 root root 795 Sep 30 2007 /etc/network/if-post-down.d/vlan
1571501 4 -rwxr-xr-x 1 root root 1070 Dec 18 2009 /etc/network/if-post-down.d/wireless-tools
1571495 4 -rwxr-xr-x 1 root root 332 Mar 14 2013 /etc/network/if-down.d/upstart
1571494 4 -rwxr-xr-x 1 root root 172 Jun 18 2013 /etc/network/if-down.d/openvpn
1571518 4 -rwxr-xr-x 1 root root 1483 Mar 14 2013 /etc/network/if-up.d/upstart
1571512 4 -rwxr-xr-x 1 root root 1699 Nov 14 2011 /etc/network/if-up.d/ifenslave
1571517 4 -rwxr-xr-x 1 root root 173 Jun 18 2013 /etc/network/if-up.d/openvpn
1571516 4 -rwxr-xr-x 1 root root 849 Feb 8 2013 /etc/network/if-up.d/openssh-server
1571510 4 -rwxr-xr-x 1 root root 484 Mar 7 2013 /etc/network/if-up.d/avahi-daemon
1571515 8 -rwxr-xr-x 1 root root 4490 Aug 19 2013 /etc/network/if-up.d/mountnfs
1571511 4 -rwxr-xr-x 1 root root 1675 Apr 28 2012 /etc/network/if-up.d/ethtool
1571514 4 -rwxr-xr-x 1 root root 866 Oct 21 2012 /etc/network/if-up.d/miredo
1571513 4 -rwxr-xr-x 1 root root 578 Sep 30 2007 /etc/network/if-up.d/ip
1571946 4 -rw-r–r– 1 root root 671 May 24 13:03 /etc/network/interfaces
1571505 8 -rwxr-xr-x 1 root root 6157 Nov 14 2011 /etc/network/if-pre-up.d/ifenslave
|
Hash değerleri
root@bgapentest:~# find /etc -type f |xargs md5sum |head
709f91514828bd175ad096bb1437f5fa /etc/shadow-
caa6f5bd68ec9ecaf917e4f3e572fdca /etc/darkstat/init.cfg
d2d1b996add35b65f64a22e9c8413632 /etc/bindresvport.blacklist
2cf53ff5a00f9d1fed653a2913de5bc7 /etc/resolvconf/update-libc.d/avahi-daemon
8cc5418ae8f2c12eccc9ee1435a2c35f /etc/network/if-post-down.d/ifenslave
af8ff6431490f05395844386b1c71210 /etc/network/if-post-down.d/vlan
1f6530d0aee88247fe5001fe2f5f50d0 /etc/network/if-post-down.d/wireless-tools
1a0205ddbc1446782a8d4d818e97d8a5 /etc/network/if-down.d/upstart
6f027552ae527133e46efb9201e0b9fc /etc/network/if-down.d/openvpn
|
ek olarak sistemde md5deep yazılımı kurulu ise aşağıdaki komut kullanılarak da alt dizinlerle birlikte tüm dosyalara ait hash bilgileri sistemden alınabilir.
root@bgapentest:~# md5deep -r /etc/
709f91514828bd175ad096bb1437f5fa /etc/shadow-
caa6f5bd68ec9ecaf917e4f3e572fdca /etc/darkstat/init.cfg
d2d1b996add35b65f64a22e9c8413632 /etc/bindresvport.blacklist
2cf53ff5a00f9d1fed653a2913de5bc7 /etc/resolvconf/update-libc.d/avahi-daemon
4c82dbf7e1d8c5ddd70e40b9665cfeee /etc/network/if-post-down.d/wpasupplicant
8cc5418ae8f2c12eccc9ee1435a2c35f /etc/network/if-post-down.d/ifenslave
af8ff6431490f05395844386b1c71210 /etc/network/if-post-down.d/vlan
1f6530d0aee88247fe5001fe2f5f50d0 /etc/network/if-post-down.d/wireless-tools
6dbf1a91ab420a99d1205972d6401e67 /etc/network/if-post-down.d/avahi-daemon
1a0205ddbc1446782a8d4d818e97d8a5 /etc/network/if-down.d/upstart
…
|
Canlı sistem üzerinde analiz yaparken kullanılacak komutlar sistem üzerindeki komut ve programlar olmamalıdır. Canlı sistem zaten şüphelenilen sistem olduğu için kullanılan komutlar güvenilir değildir. Benzeri bir sistem üzerinde temiz olduğu kesin olan programlar kayıt edilemez/yazılamaz bir aygıt aracılığı ile sisteme bağlanarak kullanılmalıdır. Veya canlı sistem üzerinden komutlar çalıştırılacaksa bu komutların hash değerleri kontrol edilerek arka kapı vs olmadığından emin olunmalıdır.
Olası Sızma Yöntemleri ve Giriş Noktalarının Tespiti
Analiz çalışmasına başlamadan önce sistemi hızlı bir şekilde gözden geçirerek, belki saldırgan gözüyle sisteme yaklaşarak hangi yol ve yöntemlerle bu sisteme sızılmış olabilir sorusunun cevabını bulmak yerinde olacaktır. Aksi halde yoğun kullanıma sahip bir Linux sistemde analiz yapmak samanlıkta saman rengi bir iğne aramaya benzeyecektir.
Not:Bu aşamada sisteme girilen yolun tespit edilebilmesi için Nmap, Nessus, OpenVAS gibi programlar ilk aşamada çalıştırılarak standart, bilinen bir yolla sistem ele geçirilmişse kolay yoldan bilgi edinilebilir.
Genel olarak bir Linux/UNIX sisteme yapılabilecek sızma yöntemlerini aşağıdaki başlıklarda sınıflandırabilir.
-
Parola saldırısı yapılarak http, ftp, telnet ssh veya benzeri bir yolla sisteme erişim.
-
Web uygulamasındaki bir zafiyetin istismar edilerek sisteme erişim
-
Çalışan bir servisteki güvenlik zafiyetinin(tomcat, distcc v.s) istismarı ile sisteme erişim
-
Fiziksel erişim yöntemiyle (sistem boot edilerek vs) ele geçirme
-
Ağ seviyesinde MITM yaparak hassas bilgi elde etme yöntemiyle erişim
-
Kernel sürümündeki açıklık istismar edilerek sistem yetkilerine -root- erişim
Son bir yılda BGA Bilgi Güvenliği olarak incelediğimiz olayların tamamına yakınının sonuçları Linux sistemlere sızmaların Web tabanlı zafiyetlerden kaynaklandığını göstermektedir. Bu yazıda da web tabanlı sızma sonrası sistem analizine özellikle değinilecektir.
Sistem Analizi
İşletim sistemi analiz etmek için birden fazla nokta vardır ve genellikle saldırı sonrası giriş yolu kesin belli değilse analizi yapacak kişi ilk olarak hangi dosyaya, hangi loga bakacağına karar veremez. Bu tip durumlar için analiz yapacak uzmanın önceden hazırlanmış bir kontrol listesinin olmasında fayda vardır. Doğrudan bu kontrol listesi üzerinden ilerleyerek adım adım sistem analizi gerçekleştirilebilir.
Temel olarak incelenmesi gereken maddeler başlıklar halinda aşağıda verilmiştir:
-
Yerel ve uzak bağlantı detayları
-
Olay anına ve sonrasına ait bellek dökümü incelemesi
-
Disk incelemesi
-
Zararlı yazılım analizi
-
Sistemde aktif olarak işlemde bulunan dosyaların analizi
-
Son 3-5 günde değiştirilmiş, yeni eklenmiş dosyaların analizi
-
Dosya izinleri 777 olan dosyaların incelenmesi
-
Sisteme yapılmış başarılı, başarısız giriş denemeleri
-
Sistemde anlık olarak bulunan kullanıcıların ve bağlandıkları ip adreslerinin incelenmesi
-
Sistem üzerinde aktif olarak çalışan ağ servislerinin ve bunları çalıştıran kullanıcıların bilgileri
-
SSH anahtarlarının incelenmesi
-
Zamanlanmış görevlerin incelenmesi
-
Sistem üzerinde paylaşımda dosya olup olmadığının incelenmesi
-
Tüm aktif kullanıcılara ait komut geçmişlerinin incelenmesi
-
Aktif tüm proses ve alt proseslerin incelenmesi
-
Sistemde kurulu olan ve hizmet veren servislere ait log/kayıt dosyalarının incelenmesi