Linux Live Forensics

Linux sistemlerde Live Forensics (Canlı Adli Bilişim) yapılırken, sistemin aktif durumunu inceleyerek, o anda çalışan processler, ağ bağlantıları, kullanıcı aktiviteleri ve diğer canlı veriler üzerinde analiz yapılır. Bu tür bir inceleme, sistemin kapatılması veya yeniden başlatılması gibi veri kaybına yol açacak işlemleri engeller ve siber saldırılar veya ihlaller hakkında anlık bilgi verir. Linux tabanlı sistemlerde Live Forensics bilgilerini toplamak için belirli araçlar, komutlar ve dosya yolları kullanılır. Farklı Linux dağıtımlarında bazı farklılıklar olabilse de, genelde her sistemde aşağıdaki yöntemlerle benzer bilgilere ulaşılabilir.

Aşağıda, Linux sistemlerde Live Forensics yapılırken bakılması gereken başlıca öğeler ve bu öğelerle ilişkili analizler bulunmaktadır:

KategoriUbuntu/Debian TabanlıCentOS/RHEL TabanlıArch LinuxSUSE/openSUSE
İşlem ve Sistem Durumu (Process Analysis)ps aux, top, htop, /proc/<pid>/statusps aux, top, htop, /proc/<pid>/statusps aux, top, htop, /proc/<pid>/statusps aux, top, htop, /proc/<pid>/status
Kullanıcı Etkinlikleri (User Activities)/etc/passwd, /etc/shadow, ~/.bash_history/etc/passwd, /etc/shadow, ~/.bash_history/etc/passwd, /etc/shadow, ~/.bash_history/etc/passwd, /etc/shadow, ~/.bash_history
Ağ Bağlantıları (Network Connections)netstat -tuln, ss -tuln, lsof -inetstat -tuln, ss -tuln, lsof -inetstat -tuln, ss -tuln, lsof -inetstat -tuln, ss -tuln, lsof -i
RAM ve Bellek Analizi (Memory Analysis)free, vmstat, dmesg, /proc/meminfofree, vmstat, dmesg, /proc/meminfofree, vmstat, dmesg, /proc/meminfofree, vmstat, dmesg, /proc/meminfo
Dosya Sistemi ve Dizinler (File System and Directory Analysis)df, du, lsblk, mount, find / -mtimedf, du, lsblk, mount, find / -mtimedf, du, lsblk, mount, find / -mtimedf, du, lsblk, mount, find / -mtime
Sistem Logları ve Olay Günlükleri (System Logs and Event Logs)/var/log/syslog, /var/log/auth.log, journalctl/var/log/messages, /var/log/secure, journalctl/var/log/messages, /var/log/auth.log, journalctl/var/log/messages, /var/log/auth.log, journalctl
Servisler ve Sürekli Çalışan Uygulamalar (Services and Daemons)systemctl list-units –type=service, `ps auxgrep <service>`systemctl list-units –type=service, `ps auxgrep <service>`
Kullanıcı ve Yetkilendirme (User and Authorization)/etc/passwd, /etc/shadow, /etc/sudoers/etc/passwd, /etc/shadow, /etc/sudoers/etc/passwd, /etc/shadow, /etc/sudoers/etc/passwd, /etc/shadow, /etc/sudoers
Süreklilik ve Yedekleme (Persistence and Backup)/etc/rc.local, ~/.bashrc, /etc/systemd//etc/rc.local, ~/.bashrc, /etc/systemd//etc/rc.local, ~/.bashrc, /etc/systemd//etc/rc.local, ~/.bashrc, /etc/systemd/
SSH Anahtarları (SSH Keys)~/.ssh/authorized_keys~/.ssh/authorized_keys~/.ssh/authorized_keys~/.ssh/authorized_keys
Volatile Veriler (Volatile Data)Sistemde güç kapalı olduğunda kaybolan veriler. Sistem saati, çalışan süreçler, açık dosyalar, giriş yapan kullanıcılar vb.Sistemde güç kapalı olduğunda kaybolan veriler. Sistem saati, çalışan süreçler, açık dosyalar, giriş yapan kullanıcılar vb.Sistemde güç kapalı olduğunda kaybolan veriler. Sistem saati, çalışan süreçler, açık dosyalar, giriş yapan kullanıcılar vb.Sistemde güç kapalı olduğunda kaybolan veriler. Sistem saati, çalışan süreçler, açık dosyalar, giriş yapan kullanıcılar vb.
Sistem Saati (System Time)date, timedatectldate, timedatectldate, timedatectldate, timedatectl
Çalışan Süreçler (Running Processes)ps aux, top, htop, pstree, /procps aux, top, htop, pstree, /procps aux, top, htop, pstree, /procps aux, top, htop, pstree, /proc
Giriş Yapan Kullanıcılar (Logged-in Users)who, w, last, /var/log/wtmp, /var/log/auth.logwho, w, last, /var/log/wtmp, /var/log/securewho, w, last, /var/log/wtmp, /var/log/auth.logwho, w, last, /var/log/wtmp, /var/log/auth.log
Açık Dosyalar (Open Files)lsof, fuser, /proc/<pid>/fd/lsof, fuser, /proc/<pid>/fd/lsof, fuser, /proc/<pid>/fd/lsof, fuser, /proc/<pid>/fd/
Ağ Durumu (Network Status)netstat -tuln, ss -tuln, lsof -inetstat -tuln, ss -tuln, lsof -inetstat -tuln, ss -tuln, lsof -inetstat -tuln, ss -tuln, lsof -i
Komut Geçmişi (Command History)~/.bash_history, history~/.bash_history, history~/.bash_history, history~/.bash_history, history
Sistem Log Dosyaları (System Log Files)/var/log/syslog, /var/log/auth.log, journalctl/var/log/messages, /var/log/secure, journalctl/var/log/messages, /var/log/auth.log, journalctl/var/log/messages, /var/log/auth.log, journalctl

Bu analizi sağlamadan önce analiz edilecek Linux sistemin hangi tabana bağlı olduğu tespit edilmelidir;

  1. cat /etc/os-release
  2. lsb_release -a
  3. uname -a
  4. cat /etc/*release

Bu 4 farklı komut ile linuxun tabanı bulunabilir. Ardından Live response komutları kullanılabilir.

Linux Sistemlerde Triyaj Toplama

Linux sistemlerde triyaj toplama, bir güvenlik olayı veya siber saldırı sonrasında hızlı ve etkili bir şekilde gerekli bilgilerin toplanması anlamına gelir. Bu süreç, bir sistemin durumunun anlaşılması, kanıtların toplanması ve potansiyel tehlikelerin belirlenmesi için kritik önem taşır.

Canlı trıage için gerekli durumları şu şekilde özetleyebiliriz;

  • Tam disk imajlarını almak pratik olmayabilir
  • İmajların boyutu çok büyük olabilir
  • Bant genişliği sınırlı olabilir yani dosya aktarma toplamada sorun oluşturabilir.
  • Araştırılması gereken çok fazla sistem olabilir. İmaj analizi uzun sürer

Canlı triage, yani aktif sistemlerden anlık veri toplama, bu tür engelleri aşmaya yardımcı olabilir. Tam disk imajları genellikle büyük boyutları ve sınırlı kaynaklar nedeniyle pratik olmayabilir, bu yüzden daha hızlı ve daha hedeflenmiş bir çözüm olarak canlı toplama tercih edilebilir.

Kurumsal çapta incelemeler yapmak için, önemli artefaktları hızla toplayabilen ve yüzlerce ya da binlerce sistem üzerinde hızlı bir şekilde çalıştırılabilecek şekilde bir yönteme ihtiyacımız var bundan dolayı live triage verilerin toplanması daha avantajlıdır.

ARTILAR
• Sadece birkaç dakika içinde kritik bilgileri toplanabilir
• Canlı sistem durumunu, işlemleri, ağ bağlantılarını vb. dahil olmak üzere yakalayabilirsiniz
• Canlı sistem üzerinde, normal iş akışını kesintiye uğratmadan gerçekleşir
• Tipik veri toplama boyutu birkaç GB veya daha azdır
• Düşük bant genişliği ve/veya yüksek gecikmeli bağlantılar üzerinden yapılabilir
• Otomatikleştirilebilir

Live Triage Toplama

UAC, şu anki favori canlı toplama aracım. Kolayca genişletilebilir ve yapılandırılabilir. Linux dışında, MacOS, *BSD, Solaris, AIX gibi diğer Unix ve Unix-benzeri işletim sistemlerini de destekliyor. Aracın ana geliştiricisi Thiago Canozzo Lahr, özellik taleplerine ve önerilere oldukça hızlı yanıt veriyor. UAC, https://github.com/tclahr/uac adresinde bulabilirsiniz.

UAC kullanımı,

  1. Github adresinden UAC aracı *.tar.gz dosyası olarak indirilir.

2. sıkıştırılmış tar dosyasını hedef makineye kopyalayın ve istediğiniz bir dizine çıkarın.

tar -xzvf uac-3.1.0.tar.gz

  1. UAC aracını root olarak çalıştırın ve toplamak istediğiniz artefaktları listeleyen bir profil dosyası belirtin.

./uac -p full .

UAC, iki temel önceden tanımlı profil ile gelir:

  • “ir_triage” – Tipik araştırmalar için gerekli önemli sistem artefaktlarını yakalar
  • “full” – “ir_triage” profilindeki her şeyin yanı sıra, tarayıcı ve diğer kullanıcı uygulama artefaktlarını da içerir

“-p” seçeneğini kullanarak tercih ettiğiniz profili seçebilirsiniz.

Profil tarafından belirtilen öğelere ek olarak, “-a” seçeneğiyle toplamak istediğiniz ek artefaktları da yakalayabilirsiniz. Örneğin, UAC, RAM yakalamak için AVML aracını ve bunu doğru şekilde çalıştırmak için bir YAML yapılandırma dosyası içerir.

Profil dosyaları, UAC dağıtımının “profiles” alt dizininde saklanır. Bunlar basit bir YAML formatında metin dosyalarıdır ve ihtiyaçlarınıza göre kolayca değiştirilebilir. Örneğin, her zaman bellek almak istiyorsanız, “ir_triage” profilini “memory_dump/avml.yaml” dosyasını içerecek şekilde değiştirebilirsiniz; böylece her seferinde komut satırında “-a” kullanmanıza gerek kalmaz. Profil dosyaları, çeşitli artefaktların nasıl toplanacağına dair açıklamaları içeren “artifacts” alt dizinindeki YAML yapılandırma dosyalarına referans verir. Artefakt dosyaları da basit metin dosyalarıdır ve yapılandırılması ve genişletilmesi oldukça kolaydır.

4. Belirtilen artifackleri toplar ve sonuçlar başka bir *.tar.gz dosyasına kaydedilir; bu dosyayı kolayca başka bir sisteme kopyalayarak analiz edebilirsiniz.

Sonuçlar, UAC komut satırında belirttiğiniz hedef dizine kaydedilir. Sonuç dosyasının adı “uac—.tar.gz” biçimindedir. Bu şekilde, aynı sistemde UAC’yi birden fazla kez çalıştırabilir ve çakışma olmadan verileri toplayabilirsiniz. Ayrıca, birden fazla sistemin .tar.gz dosyasını tek bir büyük toplama dizinine kaydedebilirsiniz.

UAC ile canlı toplama yaptıktan sonra topladığınız verilerin bulunduğu *.tar.gz dosyasını hedef sistemden almanız gerekecek. Bu dosya, topladığınız artefaktları içerir ve genellikle analiz için başka bir sisteme kopyalanabilir. İşte bu süreçte dikkate almanız gereken bazı adımlar. Sonuçların analizi, topladığınız verilerin kapsamına ve hedef sistemin özelliklerine göre değişebilir. Bu süreci doğru yönetmek, güvenli bir inceleme yapmak ve potansiyel kanıtları doğru şekilde değerlendirmek için önemlidir.