Analiza podataka je dijelom znanost, a dijelom umjetnost. Znanstveni dio analize nalaže dobru pripremu, detaljno ispitivanje klijenta te poznavanje alata kojima će se provoditi istraga. Umjetnički dio znači da istražitelj treba imati “osjećaj” za istragu - što je bitno i gdje to naći.
Prije početka analize, istražitelj treba biti upoznat sa sljedećim podacima kako bi bio siguran da potpuno razumije incident te da ga može riješiti efikasno i efektivno.
Sve zapisničke datoteke (eng. log files) na Linux sustavu se pohranjuju u /var/log
direktoriju. Tu su i datoteke sustava i dodatnih programskih aplikacija instaliranih na računalu.
Na slici ispisa /var/log
direktorija desno se mogu primijetiti datoteke s brojevima na kraju. To su tzv. “rotirani arhivi”. Trenutna verzija datoteke, npr. dmesg
, nema nikakvih dodataka na ime. Prethodna inačica se zove dmesg.0
, ona prije nje dmesg.1.gz
i tako dalje. Najstarija datoteka ima najveći broj. To omogućuje alat logrotate
koji, obično jednom dnevno (detalji u /etc/cron.daily
), “zarotira” datoteke, odnosno otvori novu, a ostalima poveća indeks i po potrebi ih komprimira. Podaci o ovom postupku se mogu vidjeti i promijeniti u /etc/logrotate.conf
datoteci.
Prilikom pregledavanja datoteka, korisne su naredbe:
Naredba | Opis |
---|---|
zgrep <parametar_pretrage> | Pretražuje komprimirane datoteke za određenim parametrom (riječ, izraz). |
tail -<broj> <filename> ,tail -f /var/log/messages | Ispisuje posljednjih <broj> redaka datoteke.Slučaj s opcijom -f ispisuje sadržaj zapisničke datoteke dok skuplja podatke u stvarnom vremenu. |
more <filename> | Ispisuje sadržaj datoteke na zaslon stranicu po stranicu uz napomenu o tome koliki postotak datoteke preostaje: –More–(x%) . Tipka b vraća ispis unatrag jednu stranicu. Opcija /<parametar_pretrage> omogućuje pretraživanje datoteke - u slučaju višestrukog pojavljivanja traženog pojma, tipkom n se preskače na sljedeći, a tipkom p na prethodni. Tipkom q se izlazi iz ispisa. |
less <filename> | Slično kao i more , ali brže i pruža više kontrole korisniku. |
grep <pattern> <filename> | Traži dani pojam u danoj datoteci. |
Prilikom analize uzetih podataka, dobra praksa je imati popis ključnih riječi koje bi se mogle pojaviti u dokazima. Taj popis će biti specifičan za svaku pretragu i mijenjati će se kako istražitelj bude dolazio do novih spoznaja.
Popis ključnih riječi za početak po preporuci autora knjige Unix and Linux Forensics Analysis
Linux pohranjuje aktivnosti korisnika u shell history datoteci lociranoj u direktoriju /home/<user>
. Većina Linux distribucija pohranjuje posljednjih 500 linija upisanih u komandnu liniju. No tu su pohranjene samo naredbe koje je korisnik utipkao, ne i odziv sustava na naredbe. Ovi podaci se trebaju koristiti u kombinaciji s ostalim podacima iz istrage kako bi se dobila smislena slika. Pregled datoteke .bash_history
se može dobiti naredbom $ cat .bash_history
ili jednostavno $ history
.
Neke od najpopularnijih ljuski su:
.bash_history
history.csh
.sh_history
.sh_history
.history
Naredbama $ who
i $ w
se dobivaju podaci o trenutno ulogiranim korisnicima.
Polja u ispisu naredbe $ w
su:
tty#
znači da je korisnik ulogiran u lokalnu konzolu. pts#
i ttyp#
znači da je ulogiran preko mreže. Na slici je korisnik dakle ulogiran preko mreže.
netstat -an
netstat -rn
ps aux
top
lsof
- List Open Files pokazuje koje datoteke su (bile) otvorene i kojim procesima. Dodatne opcije su navedene u tablici:
lsof -i -U | Popisuje sve datoteke otvorenih Internet, x.25 (HP-UX) i Unix domena. |
lsof -i 4 -a -p 1234 | Popisuje sve otvorene IPv4 mrežne datoteke koje koristi proces s ID brojem 1234. |
lsof -i 6 | Popisuje sve otvorene IPv6 mrežne datoteke. |
lsof -i @wonderland.cc.purdue.edu:513-515 | Popisuje sve datoteke koje koriste bilo koji protokol na portovima 513, 514, 515 na računalu wonderland.cc.purdue.edu |
lsof -i @mace | Popisuje sve datoteke koje koriste bilo koji protokol na bilo kojem portu računala mace.cc.purdue.edu (cc.purdue.edu je standardna domena). |
lsof -p 456,123,789 -u 1234,abe | Popisuje sve datoteke za login ime “abe” ili korisnički ID 1234 ili proces 456 ili 123 ili 789 |
lsof /dev/hd4 | Popisuje sve otvorene datoteke na uređaju /dev/hd4 . |
lsof /u/abe/foo | Traži proces koji koristi datoteku /u/abe/foo . |
+L1 | Označava sve odbačene (eng. unlinked) datoteke ili koje su označene za brisanje. |