Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:alati:analiza_alata_google_rapid_response [2019/12/30 21:40] akukolja [Virtualni datotečni sustav] |
racfor_wiki:alati:analiza_alata_google_rapid_response [2024/12/05 12:24] (trenutno) |
||
---|---|---|---|
Redak 14: | Redak 14: | ||
===== | ===== | ||
- | Dvije vršne komponente GRR radnog okvira su GRR poslužitelj i GRR klijent. Oboje su implementirani u programskom jeziku Python. Jedan poslužitelj odgovoran je za skup klijenata koji su se na njega registrirali. On djeluje kao centralna točka upravljanja. Svaki klijent periodički se javlja poslužitelju koji je za njega odgovoran i od njega preuzima zadatke. Po izvršenju zadataka rezultate dojavljuje poslužitelju. Rezultati zadataka su u većini slučajeva kopije ili popisi datoteka koji se skupljaju na poslužitelju radi forenzičke analize. Klijent instaliran na računal ima [[https:// | + | Dvije vršne komponente GRR radnog okvira su GRR poslužitelj i GRR klijent. Oboje su implementirani u programskom jeziku Python. Jedan poslužitelj odgovoran je za skup klijenata koji su se na njega registrirali. On djeluje kao centralna točka upravljanja. Svaki klijent periodički se javlja poslužitelju koji je za njega odgovoran i od njega preuzima zadatke. Po izvršenju zadataka rezultate dojavljuje poslužitelju. Rezultati zadataka su u većini slučajeva kopije ili popisi datoteka koji se skupljaju na poslužitelju radi forenzičke analize. Klijent instaliran na računalo ima [[https:// |
==== Poslužitelj ==== | ==== Poslužitelj ==== | ||
Redak 120: | Redak 120: | ||
==== Pokretanje tokova ==== | ==== Pokretanje tokova ==== | ||
- | Za demonstraciju primjene toka odabran je ArtifactCollectionFlow iz kategorije Collectors. Taj tok kao argument prima listu artefakata. Ovisno o informacijama koje poslužitelj ima (o klijentu na kojem će se tok pokrenuti) transformirat će puteve i nazive datoteka iz artefakta i zatražiti od klijenta da prenese informacije poslužitelju. Osim naziva i puteva do datoteka moguće je definirati uvjete koje datoteka mora zadovoljiti da bi se našla u rezultatu toka. Neki od tih uvjeta su veličina datoteke ili postojanje uzorka u nazivu ili sadržaju datoteke, itd. ArtifactCollectionFlow će uvjete provjeravati na poslužitelju. U slučaju da takav pristup generira pre velik mrežni promet možemo koristiti ClientArtifactCollector koji će zadatak provjere uvjeta prenijeti na klijenta. Mana takvog pristupa je da poslužitelj neće znati postoje | + | Za demonstraciju primjene toka odabran je ArtifactCollectionFlow iz kategorije Collectors. Taj tok kao argument prima listu artefakata. Ovisno o informacijama koje poslužitelj ima (o klijentu na kojem će se tok pokrenuti) transformirat će puteve i nazive datoteka iz artefakta i zatražiti od klijenta da prenese informacije poslužitelju. Osim naziva i puteva do datoteka moguće je definirati uvjete koje datoteka mora zadovoljiti da bi se našla u rezultatu toka. Neki od tih uvjeta su veličina datoteke ili postojanje uzorka u nazivu ili sadržaju datoteke, itd. ArtifactCollectionFlow će uvjete provjeravati na poslužitelju. U slučaju da takav pristup generira pre velik mrežni promet možemo koristiti ClientArtifactCollector koji će zadatak provjere uvjeta prenijeti na klijenta. Mana takvog pristupa je da poslužitelj neće znati da postoje datoteke koje odgovaraju artefaktu kojeg tražimo ali ne zadovoljavaju neki uvjet. |
{{ : | {{ : | ||
- | Novi tok možemo pokrenuti tako da kroz tražilicu nađemo željenog klijenta i otvorimo stranicu s njegovim detaljima. S lijeve strane prozora ažurirat će se meni s novim opcijama specifičnim za tog klijena (slika). Klikom na „Start new flows”(1) otvara se prozor prikazan na slici. U lijevom dijelu novonastalog prozora nalazi se lista s kategorijama tokova koje možemo pokrenuti. Odabiremo tok ArtifactCollectonFlow(2) iz kategorije Collectors. U sredini prozora otvara se meni s argumentima(3) koje možemo zadati tom toku. Iz liste instaliranih artefakata odabiremo artefakte FirefoxHistory i LinuxLogFiles. Odmah ispod liste artefakata nalaze se dodatne opcije za svaki tok. Najzanimljivija od njih je „Use tsk”. Ako ju odaberemo klijent će pokušati naći artefakte primjenom TSK alata. Tu bi opciju odabrali ako postoji sumnja da je korisnik pokušao ukloniti povijest pretraživanja preglednika. U našem slučaju nećemo odabrati tu opciju. Nakon što smo odabrali sve opcije na dnu prozora pritiskom na „Launch” pokrećemo tok. | + | Novi tok možemo pokrenuti tako da kroz tražilicu nađemo željenog klijenta i otvorimo stranicu s njegovim detaljima. S lijeve strane prozora ažurirat će se meni s novim opcijama specifičnim za tog klijena (slika). Klikom na Start new flows(1) otvara se prozor prikazan na slici. U lijevom dijelu novonastalog prozora nalazi se lista s kategorijama tokova koje možemo pokrenuti. Odabiremo tok ArtifactCollectonFlow(2) iz kategorije Collectors. U sredini prozora otvara se meni s argumentima(3) koje možemo zadati tom toku. Iz liste instaliranih artefakata odabiremo artefakte FirefoxHistory i LinuxLogFiles. Odmah ispod liste artefakata nalaze se dodatne opcije za svaki tok. Najzanimljivija od njih je Use tsk. Ako ju odaberemo klijent će pokušati naći artefakte primjenom TSK alata. Tu bi opciju odabrali ako postoji sumnja da je korisnik pokušao ukloniti povijest pretraživanja preglednika. U našem slučaju nećemo odabrati tu opciju. Nakon što smo odabrali sve opcije na dnu prozora pritiskom na Launch pokrećemo tok. |
{{ : | {{ : | ||
- | Nakon što smo pokrenuli tok njegovo stanje | + | Stanje pokrenutog toka možemo vidjeti odabirom opcije Manage launched flows(1) iz lijevog menija. U gornjem djelu prozora prikazano je nekoliko posljednjih tokova. Jednom pokrenut tok može biti u sljedeća tri stanja: TERMINATED, ERROR i RUNNING. Prvo označava da je tok uspješno završen, drugo da je prekinut zbog greške i treće da još nije završio. Tok na dnu liste (slika) je tipa CAEnroler i vidimo ga ga je pokrenut od strane komponente radnika. To je prvi tok koji se izvodi za svakog novog klijenta i zadužen je za registraciju klijentskog certifikata. Nakon njega izvodi se Interrogate tok. Njega je postavio i pokrenuo CAEnroler tok, a zadatak mu je od klijenta preuzeti osnovne informacije o računalu na kojem je instaliran. Na vrhu liste nalazi se posljednji pokrenuti tok(2), u ovom slučaju naša pretraga povijesti mrežnog preglednika. Kvačica u stupcu Status označava da je tok uspješno izveden. Rezultate toka možemo pregledati odabirom kartice Results(3). Klikom na tablicu u nižoj polovici prozora pojavljuje se povijest preglednika koju je klijent uspio pronaći koristeći artefakata koje smo mu zadali. |
+ | ==== Lov (Hunt) ==== | ||
+ | Kada smo sigurni da neki tok funkcionira i da vraća dobre rezultate na jednom klijentu moguće ga je pokrenuti na većem skupu klijenata. Mehanizam za pokretanje nekog toka na više klijenata naziva se lov (Hunt) i ključan je u istragama u poslovnom okruženju. Najlakši način za pokrenut novi lov je iz prozora Manage launched flows. Klikom odabiremo tok koji želimo pokrenuti na većem skupu računala i iznad liste tokova odabiremo opciju create new hunt from flow (ikona nišana). U novom prozoru možemo podesiti parametre lova. Glavni parametri su naziv lova, ograničenje na broj klijenata koje će lov obuhvatiti i vrijeme trajanja lova. Kada se novi klijenti registriraju na poslužitelja on će provjeriti postoji li neki lov koji je aktivan i koji bi se trebao pokrenuti na tom klijentu. Moguće je postaviti takva pravila lova da neće završiti dok god se prijavljuju novi klijenti, zato postoji vrijeme trajanja. Lov se smatra gotovim kada se tok koji lov pokreće uspješno izvrši na svim klijentima koje obuhvaća ili na definiranom broju klijenata. | ||
+ | |||
+ | Skup klijenata koje će lov obuhvatiti definiramo parametrima u kategoriji Where to run. Neka od pravila kojima se skup definira su operacijski sustav, instaliranim zakrpama na sustavu, inačici klijenta, inačici operacijskog sustava, itd. Kad smo postavili sva pravila lov pokrećemo klikom na Create Hunt. Stanje lova možemo vidjeti u prozoru Hunt Manager. Lov se neće pokrenuti odmah pri dodavanju u sustav, potrebno ga je ručno pokrenut klikom na Run Hunt. Pri prvom pokretanju lova savjetuje se postaviti ograničenje na broj klijenata. Ako lov uspješno napreduje to se ograničenje može kasnije ukloniti kako bi lov obuhvatio cijeli skup. Za razliku od toka greška na jednom klijentu neće uzrokovati neuspjeh lova, on će se nastaviti do isteka roka ili dok ne prođe cijeli skup klijenata. Moguće ga je prekinuti u bilo kojem trenutku i do tada skupljeni rezultati neće biti odbačeni. | ||
==== Virtualni datotečni sustav ==== | ==== Virtualni datotečni sustav ==== | ||
Svaku datoteku koju klijent prenese, bez obzira je li ona dio rezultata toka, poslužitelj će pohraniti u bazu podataka. U direktoriju / | Svaku datoteku koju klijent prenese, bez obzira je li ona dio rezultata toka, poslužitelj će pohraniti u bazu podataka. U direktoriju / | ||
+ | |||
+ | {{ : | ||
Skupljene datoteke i metapodatke moguće je pretraživati kroz virtualni datotečni sustava (VFS). VFS-u nekog klijenta moguće je pristupiti odabirom //Browse Virtual Filesystem// | Skupljene datoteke i metapodatke moguće je pretraživati kroz virtualni datotečni sustava (VFS). VFS-u nekog klijenta moguće je pristupiti odabirom //Browse Virtual Filesystem// | ||
===== Zaključak ===== | ===== Zaključak ===== | ||
+ | GRR Rapid Response je jedinstveni alat koji omogućuje forenzičku analizu udaljenih računala za vrijeme rada. Iznimno je skalabilan i omogućava brzu reakciju na incidente. Testno okruženje za alat lako je postaviti ali to nije istina za primjenu u stvarnom svijetu. Od organizacija koje odluče koristiti ovaj alat očekuje se da sam postave infrastrukturu potrebnu za njegovu primjenu. Budući da je alat besplatan Google ne nudi nikakvu podršku pri postavljanju i primjeni alata. Dokumentacija je oskudna s obzirom na mogućnosti alata i od organizacija koje se odluče koristiti alat se očekuje da pomognu pri razvoju i dokumentaciji. Svi ovi uvjeti ograničavaju skup organizacija koje bi mogle izvući korist iz ovog alata. Zakrpe za pronađene mane redovito se objavljuju na github repozitoriju. Ovaj rad pokriva samo osnovne mogućnosti i osnove arhitekture alata. Čitateljima koje zanima više savjetuje se da pročitaju dokumentaciju i članke koji opisuju alat i njegove komponente te da zavire u izvorni kod alata. Alat je besplatan i otvorenog koda izdan pod Apache 2.0 licencom. | ||
===== Literatura ===== | ===== Literatura ===== | ||
[1] [[https:// | [1] [[https:// | ||
- | [2] [[https:// | + | [2] [[https:// |
- | + | ||
- | [3] [[https:// | + | |
- | + | ||
- | [4] [[https:// | + | |
- | + | ||
- | [5] [[https:// | + | |
- | + | ||
- | [6] [[https:// | + | |
- | + | ||
- | [7] [[https:// | + | |
- | [8] [[https:// | + | [3] [[https:// |
- | [9] [[https:// | + | [4] [[https:// |
- | [10] [[https://dfrws.org/sites/ | + | [5] [[https://www.youtube.com/watch? |