Korisnički alati

Site alati


analiza_dokaza_forenzika

Analiza skupljenih podataka

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.

Procjena situacije

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.

  1. Vremenski slijed događaja
    Ako je moguće, pokušati staviti incident u određeni vremenski okvir.
  2. Topografiju mreže
  3. Tok podataka
  4. Sigurnosne aplikacije
    Što klijent ima u mreži i da li se drže zapisničke datoteke.
  5. Stanje napadnutih sustava
  6. Normalno stanje poslovanja
    Što je “normalno” za klijenta? Način na koji dodjeljuju imena, procesi koji se standardno vrte, kakav im je svakodnevni promet, koji sustavi normalno komuniciraju i još mnogo mogućih varijabli koje će omogućiti istražitelju da dobro obavi posao.

Analiza zapisničkih datoteka

Ispis svih log datoteka na ispitivanom poslužitelju 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

Aktivnosti korisnika

Shell History

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 - .bash_history
  • C-Shell - history.csh
  • Korn - .sh_history
  • POSIX - .sh_history
  • Z-Shell - .history

Ulogirani korisnici

Ispis naredbi "who" i "w" Naredbama $ who i $ w se dobivaju podaci o trenutno ulogiranim korisnicima.
Polja u ispisu naredbe $ w su:

  • User
    Ime korisnika.
  • TTY Teletype
    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.
  • From
    Lokacija ulogiranog korisnika. U slučaju lokalnog korisnika će biti “:0” ili “:0.0”. U slučaju udaljenog korisnika će biti njegova IP adresa.
  • Idle
    Koliko je vremena prošlo od posljednje aktivnosti korisnika.
  • JCPU
    Ukupno vrijeme koliko su procesi korisnika koristili procesor od posljednjeg logina.
  • PCPU
    Procesorsko vrijeme trenutnog procesa (onog u polju What)
  • What
    Proces kojeg korisnik trenutno vrti.

Mrežne veze

netstat -an

netstat -rn

Pokrenuti procesi

ps aux

top

Open File Handlers

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.
analiza_dokaza_forenzika.txt · Zadnja izmjena: 2015/01/21 13:37 (vanjsko uređivanje)