Linux Forensics
Koristite Trickest da biste lako izgradili i automatizovali radne tokove pokretane najnaprednijim alatima zajednice. Pristupite danas:
Inicijalno prikupljanje informacija
Osnovne informacije
Pre svega, preporučuje se da imate neki USB sa poznatim binarnim fajlovima i bibliotekama (možete jednostavno uzeti Ubuntu i kopirati foldere /bin, /sbin, /lib i /lib64), zatim montirajte USB, i izmenite env promenljive da biste koristili te binarne fajlove:
Kada ste konfigurisali sistem da koristi dobre i poznate binarne datoteke, možete početi izvlačiti osnovne informacije:
Sumnjive informacije
Prilikom dobijanja osnovnih informacija trebalo bi da proverite čudne stvari kao što su:
Root procesi obično se izvršavaju sa niskim PID-ovima, pa ako pronađete root proces sa velikim PID-om možete posumnjati
Proverite registrovane prijave korisnika bez shell-a unutar
/etc/passwd
Proverite hash-ove lozinki unutar
/etc/shadow
za korisnike bez shell-a
Damp memorije
Za dobijanje memorije pokrenutog sistema, preporučuje se korišćenje LiME. Da biste ga kompajlirali, treba da koristite isti kernel koji koristi mašina žrtva.
Zapamtite da ne možete instalirati LiME ili bilo šta drugo na mašini žrtve jer će to izazvati nekoliko promena na njoj
Dakle, ako imate identičnu verziju Ubuntua, možete koristiti apt-get install lime-forensics-dkms
U drugim slučajevima, morate preuzeti LiME sa github-a i kompajlirati ga sa odgovarajućim kernel headerima. Da biste dobili tačne kernel headere mašine žrtve, jednostavno kopirajte direktorijum /lib/modules/<verzija kernela>
na svoju mašinu, a zatim kompajlirajte LiME koristeći ih:
LiME podržava 3 formata:
Sirovi (svaki segment je konkateniran zajedno)
Padded (isti kao sirovi, ali sa nulama na desnoj strani)
Lime (preporučeni format sa metapodacima)
LiME takođe može biti korišćen za slanje ispisa putem mreže umesto čuvanja na sistemu korišćenjem nečega poput: path=tcp:4444
Snimanje slike diska
Gašenje
Prvo, moraćete isključiti sistem. Ovo nije uvek opcija jer će nekada sistem biti serverski sistem koji kompanija ne može da priušti da isključi.
Postoje 2 načina za gašenje sistema, normalno gašenje i gašenje "izvadi utikač". Prvi će dozvoliti procesima da se završe kao i obično i datotečnom sistemu da se sinhronizuje, ali će takođe dozvoliti mogućem malveru da uništi dokaze. Pristup "izvadi utikač" može doneti gubitak nekih informacija (neće biti mnogo izgubljenih informacija jer smo već uzeli sliku memorije) i malver neće imati priliku da uradi bilo šta povodom toga. Stoga, ako sumnjate da može biti malvera, jednostavno izvršite sync
komandu na sistemu i izvucite utikač.
Pravljenje slike diska
Važno je napomenuti da pre nego što povežete svoj računar sa bilo čim što je povezano sa slučajem, morate biti sigurni da će biti montiran kao samo za čitanje kako biste izbegli menjanje bilo kakvih informacija.
Predanaliza disk slike
Kreiranje slike diska bez dodatnih podataka.
Koristite Trickest da biste lako izgradili i automatizovali radne tokove pokretane najnaprednijim alatima zajednice. Dobijte pristup danas:
Pretraga poznatih Malvera
Modifikovane sistem datoteke
Linux nudi alate za osiguravanje integriteta sistemskih komponenti, ključnih za otkrivanje potencijalno problematičnih datoteka.
Sistemi zasnovani na RedHat-u: Koristite
rpm -Va
za sveobuhvatnu proveru.Sistemi zasnovani na Debian-u:
dpkg --verify
za početnu verifikaciju, zatimdebsums | grep -v "OK$"
(nakon instaliranjadebsums
saapt-get install debsums
) da identifikujete bilo kakve probleme.
Detektori Malvera/Rootkita
Pročitajte sledeću stranicu da biste saznali o alatima koji mogu biti korisni za pronalaženje malvera:
pageMalware AnalysisPretraga instaliranih programa
Da biste efikasno pretraživali instalirane programe na Debian i RedHat sistemima, razmotrite korišćenje sistema logova i baza podataka zajedno sa ručnim proverama u uobičajenim direktorijumima.
Za Debian, pregledajte
/var/lib/dpkg/status
i/var/log/dpkg.log
da biste dobili detalje o instalacijama paketa, koristećigrep
za filtriranje specifičnih informacija.Korisnici RedHat-a mogu upitati RPM bazu podataka sa
rpm -qa --root=/mntpath/var/lib/rpm
da bi dobili listu instaliranih paketa.
Da biste otkrili softver instaliran ručno ili van ovih upravljača paketima, istražite direktorijume poput /usr/local
, /opt
, /usr/sbin
, /usr/bin
, /bin
, i /sbin
. Kombinujte listanje direktorijuma sa sistemskim komandama kako biste identifikovali izvršne datoteke koje nisu povezane sa poznatim paketima, unapređujući tako pretragu svih instaliranih programa.
Koristite Trickest da biste lako izgradili i automatizovali radne tokove pokretane najnaprednijim alatima zajednice. Pristupite danas:
Obnovite izbrisane pokrenute binarne datoteke
Zamislite proces koji je izvršen iz /tmp/exec a zatim izbrisan. Moguće je izvući ga
Pregled lokacija automatskog pokretanja
Zakazani zadaci
Servisi
Putanje gde se zlonamerni softver može instalirati kao servis:
/etc/inittab: Poziva inicijalne skripte poput rc.sysinit, usmeravajući dalje ka skriptama za pokretanje.
/etc/rc.d/ i /etc/rc.boot/: Sadrže skripte za pokretanje servisa, pri čemu se ove potonje nalaze u starijim verzijama Linuxa.
/etc/init.d/: Koristi se u određenim verzijama Linuxa poput Debiana za čuvanje skripti za pokretanje.
Servisi se takođe mogu aktivirati putem /etc/inetd.conf ili /etc/xinetd/, u zavisnosti od varijante Linuxa.
/etc/systemd/system: Direktorijum za sistemske i upravljačke skripte servisa.
/etc/systemd/system/multi-user.target.wants/: Sadrži linkove ka servisima koji treba da se pokrenu u multi-korisničkom nivou.
/usr/local/etc/rc.d/: Za prilagođene ili servise trećih strana.
~/.config/autostart/: Za aplikacije koje se automatski pokreću specifične za korisnika, što može biti skrovište za zlonamerni softver usmeren ka korisniku.
/lib/systemd/system/: Podrazumevane sistemski široko dostupne datoteke jedinica koje pružaju instalirani paketi.
Kernel Moduli
Linux kernel moduli, često korišćeni od strane zlonamernog softvera kao komponente rootkita, učitavaju se prilikom pokretanja sistema. Direktorijumi i datoteke ključne za ove module uključuju:
/lib/modules/$(uname -r): Čuva module za pokrenutu verziju kernela.
/etc/modprobe.d: Sadrži konfiguracione datoteke za kontrolu učitavanja modula.
/etc/modprobe i /etc/modprobe.conf: Datoteke za globalna podešavanja modula.
Ostale Lokacije za Automatsko Pokretanje
Linux koristi različite datoteke za automatsko izvršavanje programa prilikom prijave korisnika, potencijalno skrivajući zlonamerni softver:
/etc/profile.d/*, /etc/profile, i /etc/bash.bashrc: Izvršavaju se prilikom prijave bilo kog korisnika.
~/.bashrc, ~/.bash_profile, ~/.profile, i ~/.config/autostart: Datoteke specifične za korisnika koje se pokreću prilikom njihove prijave.
/etc/rc.local: Pokreće se nakon što su svi sistemske servisi pokrenuti, označavajući kraj tranzicije ka multi-korisničkom okruženju.
Pregledajte Logove
Linux sistemi prate aktivnosti korisnika i događaje sistema putem različitih log datoteka. Ovi logovi su ključni za identifikaciju neovlašćenog pristupa, infekcija zlonamernim softverom i drugih sigurnosnih incidenata. Ključne log datoteke uključuju:
/var/log/syslog (Debian) ili /var/log/messages (RedHat): Snimaju sistemske poruke i aktivnosti.
/var/log/auth.log (Debian) ili /var/log/secure (RedHat): Beleže pokušaje autentifikacije, uspešne i neuspešne prijave.
Koristite
grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log
za filtriranje relevantnih autentifikacionih događaja./var/log/boot.log: Sadrži poruke o pokretanju sistema.
/var/log/maillog ili /var/log/mail.log: Beleže aktivnosti email servera, korisne za praćenje email-related servisa.
/var/log/kern.log: Čuva kernel poruke, uključujući greške i upozorenja.
/var/log/dmesg: Drži poruke upravljača uređaja.
/var/log/faillog: Beleži neuspele pokušaje prijave, pomažući u istraživanju sigurnosnih prekršaja.
/var/log/cron: Beleži izvršavanja cron poslova.
/var/log/daemon.log: Prati aktivnosti pozadinskih servisa.
/var/log/btmp: Dokumentuje neuspele pokušaje prijave.
/var/log/httpd/: Sadrži Apache HTTPD greške i pristupne logove.
/var/log/mysqld.log ili /var/log/mysql.log: Beleže MySQL aktivnosti baze podataka.
/var/log/xferlog: Beleži FTP prenose datoteka.
/var/log/: Uvek proverite ovde za neočekivane logove.
Linux sistemske logove i podsisteme za reviziju može biti onemogućeno ili obrisano u slučaju upada ili incidenta sa zlonamernim softverom. Budući da logovi na Linux sistemima generalno sadrže neke od najkorisnijih informacija o zlonamernim aktivnostima, napadači ih rutinski brišu. Stoga, prilikom pregleda dostupnih log datoteka, važno je tražiti praznine ili vanredne unose koji bi mogli biti indikacija brisanja ili manipulacije.
Linux čuva istoriju komandi za svakog korisnika, smeštenu u:
~/.bash_history
~/.zsh_history
~/.zsh_sessions/*
~/.python_history
~/.*_history
Takođe, komanda last -Faiwx
pruža listu korisničkih prijava. Proverite je za nepoznate ili neočekivane prijave.
Proverite datoteke koje mogu dati dodatne privilegije:
Pregledajte
/etc/sudoers
za neočekivane korisničke privilegije koje su možda dodeljene.Pregledajte
/etc/sudoers.d/
za neočekivane korisničke privilegije koje su možda dodeljene.Ispitajte
/etc/groups
kako biste identifikovali bilo kakvo neobično članstvo u grupama ili dozvole.Ispitajte
/etc/passwd
kako biste identifikovali bilo kakvo neobično članstvo u grupama ili dozvole.
Neki programi takođe generišu svoje logove:
SSH: Ispitajte ~/.ssh/authorized_keys i ~/.ssh/known_hosts za neovlašćene udaljene konekcije.
Gnome Desktop: Pogledajte ~/.recently-used.xbel za nedavno pristupljene datoteke putem Gnome aplikacija.
Firefox/Chrome: Proverite istoriju pretraživača i preuzimanja u ~/.mozilla/firefox ili ~/.config/google-chrome za sumnjive aktivnosti.
VIM: Pregledajte ~/.viminfo za detalje o korišćenju, poput putanja do pristupljenih datoteka i istorije pretrage.
Open Office: Proverite nedavni pristup dokumentima koji mogu ukazivati na kompromitovane datoteke.
FTP/SFTP: Pregledajte logove u ~/.ftp_history ili ~/.sftp_history za prenose datoteka koji bi mogli biti neovlašćeni.
MySQL: Istražite ~/.mysql_history za izvršene MySQL upite, što može otkriti neovlaštene aktivnosti baze podataka.
Less: Analizirajte ~/.lesshst za istoriju korišćenja, uključujući pregledane datoteke i izvršene komande.
Git: Ispitajte ~/.gitconfig i projekat .git/logs za promene u repozitorijumima.
USB Logovi
usbrip je mali softver napisan u čistom Pythonu 3 koji parsira Linux log datoteke (/var/log/syslog*
ili /var/log/messages*
u zavisnosti od distribucije) radi konstrukcije tabela istorije USB događaja.
Važno je znati sve USB-ove koji su korišćeni i biće korisnije ako imate autorizovanu listu USB-ova kako biste pronašli "događaje kršenja" (korišćenje USB-ova koji nisu na toj listi).
Instalacija
Primeri
Više primera i informacija možete pronaći na github-u: https://github.com/snovvcrash/usbrip
Koristite Trickest da biste lako kreirali i automatizovali radne tokove uz pomoć najnaprednijih alata zajednice. Pristupite danas:
Pregled Korisničkih Računa i Aktivnosti Prijavljivanja
Ispitajte /etc/passwd, /etc/shadow i bezbednosne dnevnike za neuobičajena imena ili naloge kreirane i/ili korišćene u blizini poznatih neovlašćenih događaja. Takođe, proverite moguće brute-force napade putem sudo-a. Takođe, proverite datoteke poput /etc/sudoers i /etc/groups za neočekivane privilegije date korisnicima. Na kraju, potražite naloge bez šifri ili sa lako pogodnim šiframa.
Ispitivanje Fajl Sistema
Analiza Struktura Fajl Sistema u Istraživanju Malvera
Prilikom istraživanja incidenata sa malverom, struktura fajl sistema je ključni izvor informacija, otkrivajući kako se događaji odvijaju i sadržaj malvera. Međutim, autori malvera razvijaju tehnike kako bi otežali ovu analizu, poput modifikacije vremena datoteka ili izbegavanja fajl sistema za skladištenje podataka.
Da biste se suprotstavili ovim anti-forenzičkim metodama, bitno je:
Sprovesti temeljnu analizu vremenske linije koristeći alate poput Autopsy za vizualizaciju vremenskih linija događaja ili Sleuth Kit's
mactime
za detaljne podatke o vremenskoj liniji.Istražiti neočekivane skripte u $PATH sistemu, koje mogu uključivati skripte ljuske ili PHP skripte korišćene od strane napadača.
Ispitati
/dev
za atipične fajlove, jer tradicionalno sadrži posebne fajlove, ali može sadržati fajlove povezane sa malverom.Tražiti skrivene fajlove ili direktorijume sa imenima poput ".. " (tačka tačka razmak) ili "..^G" (tačka tačka kontrola-G), koji bi mogli sakriti zlonamerni sadržaj.
Identifikovati setuid root fajlove korišćenjem komande:
find / -user root -perm -04000 -print
Ovo pronalazi fajlove sa povišenim dozvolama, koje napadači mogu zloupotrebiti.Pregledati vremena brisanja u tabelama inode-a kako biste primetili masovna brisanja fajlova, što može ukazivati na prisustvo rootkita ili trojanca.
Ispitati uzastopne inode-e za bliske zlonamerne fajlove nakon identifikacije jednog, jer su možda postavljeni zajedno.
Proveriti zajedničke binarne direktorijume (/bin, /sbin) za nedavno modifikovane fajlove, jer ih malver može menjati.
Imajte na umu da napadač može izmeniti vreme kako bi datoteke izgledale legitimno, ali ne može izmeniti inode. Ako primetite da datoteka pokazuje da je kreirana i izmenjena u istom vremenu kao i ostale datoteke u istom folderu, ali je inode neočekivano veći, onda su vremenske oznake te datoteke izmenjene.
Uporedite datoteke različitih verzija fajl sistema
Sažetak Uporedbe Verzija Fajl Sistema
Da biste uporedili verzije fajl sistema i locirali promene, koristimo pojednostavljene git diff
komande:
Da biste pronašli nove datoteke, uporedite dva direktorijuma:
Za izmenjen sadržaj, navedite promene ignorišući specifične linije:
Za otkrivanje izbrisanih fajlova:
Opcije filtriranja (
--diff-filter
) pomažu da se suzite na specifične promene poput dodatih (A
), izbrisanih (D
) ili izmenjenih (M
) fajlova.A
: Dodati fajloviC
: Kopirani fajloviD
: Izbrisani fajloviM
: Izmenjeni fajloviR
: Preimenovani fajloviT
: Promene tipa (npr. fajl u simboličku vezu)U
: Nespajani fajloviX
: Nepoznati fajloviB
: Oštećeni fajlovi
Reference
Knjiga: Malware Forensics Field Guide for Linux Systems: Digital Forensics Field Guides
Koristite Trickest da lako izgradite i automatizujete radne tokove pokretane najnaprednijim alatima zajednice na svetu. Dobijte pristup danas:
Last updated