Tuğba Dölek tarafıdan yazılmıştır.
Herkese merhaba bugün Linux Forensic konusundan bahsedeceğim.
Temel giriş/çıkış anlamına gelir. Önyükleyici programını yükler, yürütür ve arar. Bazı sistem günlüğü kontrollerini yapar. MBR önyükleyiciyi yükler.
Ana Önyükleme Kaydı demektir. Sabit diskin 512 byte’lık sektörüdür. Önyüklenebilir diskin ilk sektöründe bulunur ( /dev/hda veya /dev/sda). GRUB önyüklemeyi yükler.
Grub, Grand Unified Bootloader’ın kısaltmasından gelir. Açılış ekranında birkaç saniye grub yapılandırılması seçilmesi için seçilmezse varsayılan çekirdek görüntüsünü yükler. Birden çok çekirdek görüntüsünde kullanıcının seçmesini sağlar. GRUB yapılandırma dosyası /boot/grub/grub.conf ‘da bulunur.
Çekirdekte /sbin/init dosyası içerisinde yer almaktadır. Init, çalıştırılacak ilk program olduğu için Linux Çekirdeği tarafından bir işlem kimliğine sahip olacaktır.
Sistemi /etc/inittab’da belirtildiği gibi çalışmasını sağlar.
Linux sistemde hizmetler başlatılırken çalıştırma seviyesi dizinindeki programlara bakılarak yapılır. /etc/rc.d/ dizini altında bulunan 6 adet sistem programlarının birinden yürütüldüğü dizin bulunmaktadır.
/etc/rc.d/rc*.d/ dizinleinin altında S ve K ile başlayan programlar vardır. S ile başlayan programlar için S harfi başlatma sırasını gösterir. K ile başalayan programlar ise kapatma sırasında kullanılır.
Sistem yapılandırma dosyalarıdır.
Kullanıcılar hakkında bilgi verir.
Kullanıcı adı, gerçek adı, ana dizin, şifresi(hash kullanılarak kaydedilir) .Yeni kullanıcı eklendiğinde kullanıcı adı, şifre vb. bilgiler eklenir. Bu dosyalar herkes tarafından okunabilir faka parola alanında “x” ifadesi varsa bu sadece root tarafından erişilebilecek paroladır.
Her kullanıcı için satır başında bir girdi içerir, toplam yedi alandan oluşur.
/etc/passw verileri formatı
cat /etc/passwd
/etc/passwd dosya görüntüsü
İmaj dosyalarındaki incelemelerde /passwd biçimlerin verileriyle ilgili görüntülenebilir.
Linux sistem içeriğine ulaşamayacak bir metin dosyasıdır.
Grup dosyalarında şifresi vardır 4 tane girdi bulunur.
/etc/group tarzından kaçmak
less /etc/group veya more /etc/group ön hazırlık ile kendinizi görün.
Linux /etc/ groupn kuralların gereğidir
Timezone bilgisi verir. İmaj dosyalarında bu dosyalara bakılır. Canlı sistemde “date” komutu yazılarak bakılabilir.
Şifrelenmiş parolaları /etc/passwd dosyasından /etc/shadow dosyasına taşır.
Shadow dosyaları 8 bölümden oluşmaktadır.
7-8. bilgiler sondaki iki noktadır.
cat /etc/shadow
komutuyla shadow dosyasının içeriğini görebiliriz.
/etc/shadow dosyası
Sudo kullanıcılarının yönetimi bu dosya üzerinden yapılır.
cat /etc/sudoers
komutuyla sudoers dosyasının içeriğinde neler yazıldığını görebiliriz. Ayrıca bu dosyası ‘nano /etc/sudoers’ komutu ile düzenleyebiliriz.
Sudoers dosyası
Hostname bilgisayar adını verir. Hosts dosyasını kullanarak ağınıza erişim için kontrolleri sağlayabilrsiniz. Ağınıza erişim izni vermek istediğiniz ana bilgisayar için hosts.allow dosyasına ekleyerek ana bilgisayar ekleyebilirsiniz. Deny ile ana bilgisayara izin vermeyebilirsiniz.
Cat komutuyla bu dosyalara ulaşabilirsiniz. Nano komutu ile dosya içeriğini değiştirebilirsiniz.
Hostname ve hosts dosya
Bu dosya sistem açıldığında ve farklı çalışma seviyelerinde neler gerçekleştiğini ve hangi işlemlerin başladığını açıklar.
Bu dosya bash kabuk ayarlarını içerir.
FTP, telnet vb. servisleri başlatılması görevi vardır.
Kullanıcıya ayrılmış dizindir.
Disk üzerinde sanal geçici bellek oluşturur ve süreçlerin kontrollerini ve diğer sistem bilgilerini tutan dosya sistemidir.
İşlemci modeli, tipi ve performansı gösteren dosya sistemidir.
/proc/cpuinfo
Çekirdek içinde bulunan dosya sistemlerini listeler.
Çekirdek desteği bulunan aygıt sürücülerini listeler.
/proc/devices dosya dosyası
Linux işletim sistemi kullanıyor ya da Linux işletim sistemine ait imaj dosyası incelemeyi düşünüyorsanız log dosyalarının nerede tutulduğu ve içinde hangi bilgilerin olduğunu bilmelisiniz.
Log dosyalarına ulaşmak için root olmanız gerekmektedir.
Log dosyaları /var/log dizini altında saklanır, bu dizin altında saklanan tüm dosyalar log dosyası olmayabilir.
OS hatalarını ve uyarılar takip edilirken kullanılmaktadır.
Syslog log dosyası dosyası
Sistemle ilgili genel mesajlar, global sistem loglarının tutulduğu yerdir.
Başarılı başarısız oturum açma ve kimlik doğrulama kayıtlarını tutar.
Brute force olan sistemdeki auth log dosyası dosyası
Başlatma ile ilgili tüm bilgileri tutar
/var/log/boot.log dosyası dosyası dosyası
Posta sunucularıyla ilgili tüm günlükleri saklar.
/var küçük dosya/log/mail.log
Aygıtlarla ilgili tüm mesajları depolar.
cat /var/log/dmesg
komutuyla içeriği görüntüleyebiliriz.
Örnek /var/log/dmesg dosyası
Tüm başarısız oturum açma girişimlerini depolar. Brute Force saldırıları hakkında bilgi verir. Faillog dosyaları ikili dosyadır. Bu yüzden cat vb. komutlarla açılamazlar. İçerisindeki bilgileri görmek için ‘ utmpdump faillog ‘ yazılarak içerisindeki verilere erişim sağlanabilir.
Zamanlanmış görevler hakkında günlükleri depolar.
Son kullanıcı girişlerinin zaman bilgisini depolar.
Tüm kullanıcı düzeyindeki günlükler hakkında bilgi içerir.
cat /var/user.log
/var küçük dosya/log/user.log
Yalnızca başarısız oturum açma girişimlerini kaydeder. Btmp dosyaları ikili dosyadır. Bu yüzden cat vb. komutlarla açılamazlar. İçerisindeki bilgileri görmek için
‘ utmpdump btmp ‘
yazılarak içerisindeki verilere erişim sağlanabilir.
/var dosya/btmp dosyası
Çekirdek günlükleri ve uyarı verilerini depolar.
Örnek /var/log/kern.log dosya gösterimi
Yüklenen, güncellenen, silinen tüm paketlerin logdur.
cat dpkg.log
içeriği görebiliriz.
dpkg.log dosyası
Log dosyalarını incelemek için TryHackMe Linux Server Forensics makinesini çözebilirsiniz. Disk imaj örnekleri ve log dosyalarını örnekleri için github üzerinden bulabilirsiniz. Bir sonraki yazımda görüşmek üzere.
[TR] Linux Forensics
Herkese merhaba bugün Linux Forensic konusundan bahsedeceğim.
- Linux Önyükleme Süreci
- Linux Kullanıcı-Grup Dosyalarının Analizi
- Log Dosyaları
Linux Önyükleme Süreci
BIOS
Temel giriş/çıkış anlamına gelir. Önyükleyici programını yükler, yürütür ve arar. Bazı sistem günlüğü kontrollerini yapar. MBR önyükleyiciyi yükler.
MBR
Ana Önyükleme Kaydı demektir. Sabit diskin 512 byte’lık sektörüdür. Önyüklenebilir diskin ilk sektöründe bulunur ( /dev/hda veya /dev/sda). GRUB önyüklemeyi yükler.
GRUB
Grub, Grand Unified Bootloader’ın kısaltmasından gelir. Açılış ekranında birkaç saniye grub yapılandırılması seçilmesi için seçilmezse varsayılan çekirdek görüntüsünü yükler. Birden çok çekirdek görüntüsünde kullanıcının seçmesini sağlar. GRUB yapılandırma dosyası /boot/grub/grub.conf ‘da bulunur.
KERNEL
Çekirdekte /sbin/init dosyası içerisinde yer almaktadır. Init, çalıştırılacak ilk program olduğu için Linux Çekirdeği tarafından bir işlem kimliğine sahip olacaktır.
RUN LEVEL
Sistemi /etc/inittab’da belirtildiği gibi çalışmasını sağlar.
Linux sistemde hizmetler başlatılırken çalıştırma seviyesi dizinindeki programlara bakılarak yapılır. /etc/rc.d/ dizini altında bulunan 6 adet sistem programlarının birinden yürütüldüğü dizin bulunmaktadır.
/etc/rc.d/rc*.d/ dizinleinin altında S ve K ile başlayan programlar vardır. S ile başlayan programlar için S harfi başlatma sırasını gösterir. K ile başalayan programlar ise kapatma sırasında kullanılır.
Linux Kullanıcı-Grup Dosyalarının Analizi
/etc:
Sistem yapılandırma dosyalarıdır.
/etc/passwd Dosyası
Kullanıcılar hakkında bilgi verir.
Kullanıcı adı, gerçek adı, ana dizin, şifresi(hash kullanılarak kaydedilir) .Yeni kullanıcı eklendiğinde kullanıcı adı, şifre vb. bilgiler eklenir. Bu dosyalar herkes tarafından okunabilir faka parola alanında “x” ifadesi varsa bu sadece root tarafından erişilebilecek paroladır.
Her kullanıcı için satır başında bir girdi içerir, toplam yedi alandan oluşur.
/etc/passwd Formatı
/etc/passw verileri formatı
- Kullanıcı adı:1 ile 32 karakter. Kullanıcı kurulumunda kullanılır.
- Şifre: x ile şifrelenmiş parolonun /etc/shadow dosyasında olduğunu gösterir.
- Kullanıcı Kimliği: Her kullanıcının kimliği vardır. 0 ID root kullanıcısına tahsis edilmiştir. 1-99 kezden hesaplar için , 100-999 yönetim ve sistem hesapları için tahsis edilmiştir.
- Grup ID: /etc/gruop dosyasında kayıt dosyası saklanmaktadır.
- Kullanıcı Kimliği Bilgisi (GECOS): Kullanıcı hakkında daha fazla bilgi vardır. Kullanıcının tam adı , telefon bilgisi vb. bilgilerin eklenmesini sağlar.
- Ana Dizin: Kullanıcının yetiştirilmesinde gireceği dizindir. Kullanıcının ev dizinidir.
- Commands/Shell: Kullanıcının hangi Shell’i kullandığını gösterir.
cat /etc/passwd
/etc/passwd dosya görüntüsü
İmaj dosyalarındaki incelemelerde /passwd biçimlerin verileriyle ilgili görüntülenebilir.
/etc/group Dosyası
Linux sistem içeriğine ulaşamayacak bir metin dosyasıdır.
Grup dosyalarında şifresi vardır 4 tane girdi bulunur.
/etc/group tarzından kaçmak
- Grup Adı: Grup adını belirtir.
- Şifre: şifre kullanmaz. Şifreli parola saklayabilir.
- Grup Kimliği(GID): Her kullanıcıya bir grup kimliği atanır.
- Grup Listesi: Grubun içinde yer alan kullanıcılar listesidir.
less /etc/group veya more /etc/group ön hazırlık ile kendinizi görün.
Linux /etc/ groupn kuralların gereğidir
/etc/localtime, /etc/timezone, /usr/share/zoneinfo :
Timezone bilgisi verir. İmaj dosyalarında bu dosyalara bakılır. Canlı sistemde “date” komutu yazılarak bakılabilir.
/etc/shadow:
Şifrelenmiş parolaları /etc/passwd dosyasından /etc/shadow dosyasına taşır.
Shadow dosyaları 8 bölümden oluşmaktadır.
7-8. bilgiler sondaki iki noktadır.
- kullanıcı adı
- Şifreli parolanız. Şifreleme amaçlı karakterler içermesi 8-12 karakter olacaktır.
- Son şifre değişikliğidir.
- Şifre kelimesinde adı geçen
- Şifrenin geçerli olduğu maksimum gün sayısı
- kaç gün sonra parolayı kullanmak zorundasın
- Parola süresi dolduktan sonra devre dışı bırakılan gün sayısı
- Hesabın devre dışı kalanın üstünden geçen süre
cat /etc/shadow
komutuyla shadow dosyasının içeriğini görebiliriz.
/etc/shadow dosyası
/etc/sudoers:
Sudo kullanıcılarının yönetimi bu dosya üzerinden yapılır.
cat /etc/sudoers
komutuyla sudoers dosyasının içeriğinde neler yazıldığını görebiliriz. Ayrıca bu dosyası ‘nano /etc/sudoers’ komutu ile düzenleyebiliriz.
Sudoers dosyası
/etc/hostname ve /etc/hosts
Hostname bilgisayar adını verir. Hosts dosyasını kullanarak ağınıza erişim için kontrolleri sağlayabilrsiniz. Ağınıza erişim izni vermek istediğiniz ana bilgisayar için hosts.allow dosyasına ekleyerek ana bilgisayar ekleyebilirsiniz. Deny ile ana bilgisayara izin vermeyebilirsiniz.
Cat komutuyla bu dosyalara ulaşabilirsiniz. Nano komutu ile dosya içeriğini değiştirebilirsiniz.
Hostname ve hosts dosya
/etc/inittab:
Bu dosya sistem açıldığında ve farklı çalışma seviyelerinde neler gerçekleştiğini ve hangi işlemlerin başladığını açıklar.
/etc/profile:
Bu dosya bash kabuk ayarlarını içerir.
/etc/inetd.conf, /etc/xinetd.conf:
FTP, telnet vb. servisleri başlatılması görevi vardır.
/home:
Kullanıcıya ayrılmış dizindir.
/proc:
Disk üzerinde sanal geçici bellek oluşturur ve süreçlerin kontrollerini ve diğer sistem bilgilerini tutan dosya sistemidir.
/proc/cpuinfo:
İşlemci modeli, tipi ve performansı gösteren dosya sistemidir.
/proc/cpuinfo
/proc/filesystem:
Çekirdek içinde bulunan dosya sistemlerini listeler.
/proc/devices:
Çekirdek desteği bulunan aygıt sürücülerini listeler.
/proc/devices dosya dosyası
Log Analizi
Linux işletim sistemi kullanıyor ya da Linux işletim sistemine ait imaj dosyası incelemeyi düşünüyorsanız log dosyalarının nerede tutulduğu ve içinde hangi bilgilerin olduğunu bilmelisiniz.
Log dosyalarına ulaşmak için root olmanız gerekmektedir.
Log dosyaları /var/log dizini altında saklanır, bu dizin altında saklanan tüm dosyalar log dosyası olmayabilir.
/var/log/syslog:
OS hatalarını ve uyarılar takip edilirken kullanılmaktadır.
Syslog log dosyası dosyası
/var/log/messeages:
Sistemle ilgili genel mesajlar, global sistem loglarının tutulduğu yerdir.
/var/log/auth.log, /var/log/secure:
Başarılı başarısız oturum açma ve kimlik doğrulama kayıtlarını tutar.
Brute force olan sistemdeki auth log dosyası dosyası
/var/log/boot.log:
Başlatma ile ilgili tüm bilgileri tutar
/var/log/boot.log dosyası dosyası dosyası
/val/log/maillog, /var/log/mail.log:
Posta sunucularıyla ilgili tüm günlükleri saklar.
/var küçük dosya/log/mail.log
/var/log/dmesg:
Aygıtlarla ilgili tüm mesajları depolar.
cat /var/log/dmesg
komutuyla içeriği görüntüleyebiliriz.
Örnek /var/log/dmesg dosyası
/var/log/faillog:
Tüm başarısız oturum açma girişimlerini depolar. Brute Force saldırıları hakkında bilgi verir. Faillog dosyaları ikili dosyadır. Bu yüzden cat vb. komutlarla açılamazlar. İçerisindeki bilgileri görmek için ‘ utmpdump faillog ‘ yazılarak içerisindeki verilere erişim sağlanabilir.
/var/log/cron:
Zamanlanmış görevler hakkında günlükleri depolar.
/var/log/lastlog:
Son kullanıcı girişlerinin zaman bilgisini depolar.
/var/log/user.log:
Tüm kullanıcı düzeyindeki günlükler hakkında bilgi içerir.
cat /var/user.log
/var küçük dosya/log/user.log
/var/log/btmp:
Yalnızca başarısız oturum açma girişimlerini kaydeder. Btmp dosyaları ikili dosyadır. Bu yüzden cat vb. komutlarla açılamazlar. İçerisindeki bilgileri görmek için
‘ utmpdump btmp ‘
yazılarak içerisindeki verilere erişim sağlanabilir.
/var dosya/btmp dosyası
/var/log/kern, /var/log/kern.log:
Çekirdek günlükleri ve uyarı verilerini depolar.
Örnek /var/log/kern.log dosya gösterimi
/var/log/dpkg.log
Yüklenen, güncellenen, silinen tüm paketlerin logdur.
cat dpkg.log
içeriği görebiliriz.
dpkg.log dosyası
Log dosyalarını incelemek için TryHackMe Linux Server Forensics makinesini çözebilirsiniz. Disk imaj örnekleri ve log dosyalarını örnekleri için github üzerinden bulabilirsiniz. Bir sonraki yazımda görüşmek üzere.
Moderatör tarafında düzenlendi: