Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

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:
 =====   Arhitektura   ===== =====   Arhitektura   =====
  
-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://en.wikipedia.org/wiki/Superuser|administratorski]] pristup resursima tog računala, tj. direktan pristup [[https://en.wikipedia.org/wiki/Computer_data_storage#Primary_storage|primarnoj]] i [[https://en.wikipedia.org/wiki/Computer_data_storage#Secondary_storage|sekundarnoj]] memoriji (RAM i disk), povezanim uređajima, itd. Kako bi se smanjilo opterećenje poslužitelja klijenti sadrže alate poput [[https://github.com/volatilityfoundation/volatility|Volatility Framework]]-a i [[https://www.sleuthkit.org/|TSK]]-a kako bi pomoću njih izvršili analizu i poslužitelju poslali samo rezultate. GRR poslužitelj osim sustava za podjelu zadataka implementira grafičko sučelje. Grafičko sučelje namijenjeno je forenzičarima  i omogućuje dodjeljivanje zadataka klijentima, pregled završenih analiza, itd. +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://en.wikipedia.org/wiki/Superuser|administratorski]] pristup resursima tog računala, tj. direktan pristup [[https://en.wikipedia.org/wiki/Computer_data_storage#Primary_storage|primarnoj]] i [[https://en.wikipedia.org/wiki/Computer_data_storage#Secondary_storage|sekundarnoj]] memoriji (RAM i disk), povezanim uređajima, itd. Kako bi se smanjilo opterećenje poslužitelja klijenti sadrže alate poput [[https://github.com/volatilityfoundation/volatility|Volatility Framework]]-a i [[https://www.sleuthkit.org/|TSK]]-a kako bi pomoću njih izvršili analizu i poslužitelju poslali samo rezultate. GRR poslužitelj osim sustava za podjelu zadataka implementira grafičko sučelje. Grafičko sučelje namijenjeno je forenzičarima  i omogućuje dodjeljivanje zadataka klijentima, pregled završenih analiza, itd. 
  
 ==== 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 da postoje datoteke koje odgovaraju artefaktu kojeg tražimo ali ne zadovoljavaju neki uvjet.+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.
  
 {{ :racfor_wiki:alati:artefakti.png?600 |}} {{ :racfor_wiki:alati:artefakti.png?600 |}}
  
-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.
  
 {{ :racfor_wiki:alati:pokrenuti.png?600 |}} {{ :racfor_wiki:alati:pokrenuti.png?600 |}}
  
-Nakon što smo pokrenuli tok njegovo stanje 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.+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 /home/rac/test stvorili smo 10 datoteka. Koristeći tok FileFinder iz FileSystem kategorije pokušat ćemo pronaći te datoteke. Tok FileFinder kao argument uzima listu puteva na kojima će tražiti datoteku. Put na kojem ćemo pretraživati je [users.homedir]/test/file* (simbole [ i ] zamjenite simbolima % x2, DokuWiki ne dozvoljava % x2). Taj će se put proširiti u sljedeći /home/rac/test/file[x] gdje će se x zamijeniti znamenkom iz naziva datoteke. Parametar Pathtype određuje koji će se datotečni sustav na klijentu pretraživati. Moguće je odabrati jednu od tri vrijednosti: OS, TSK i REGISTRY. OS govori klijentu da pretraži datotečni sustav kroz pozive operacijskog sustava tj. na način na koji ga vide programi i korisnici. Postavljanjem TSK klijent će iskoristiti direktan pristup uređaju i sam rekonstruirati datotečni sustav pomoću alata TSK. Treća opcija je REGISTRY i odnosi se na Windows Registry bazu podataka. Klijenti instalirani na Windows platformi mogu interpretirati Windows Registry kao datotečni sustav i poslužitelju prenijeti vrijednosti iz njega. Akciju koju klijent izvesti kada pronađe datoteku određena je trećim parametrom. Moguće akcije su zabilježiti postojanje datoteke (STAT), preuzeti sažetak datoteke (HASH) ili preuzeti datoteku u cijelosti (DOWNLOAD). Odabrat ćemo parametre OS i STAT i pokrenuti tok. Svaku datoteku koju klijent prenese, bez obzira je li ona dio rezultata toka, poslužitelj će pohraniti u bazu podataka. U direktoriju /home/rac/test stvorili smo 10 datoteka. Koristeći tok FileFinder iz FileSystem kategorije pokušat ćemo pronaći te datoteke. Tok FileFinder kao argument uzima listu puteva na kojima će tražiti datoteku. Put na kojem ćemo pretraživati je [users.homedir]/test/file* (simbole [ i ] zamjenite simbolima % x2, DokuWiki ne dozvoljava % x2). Taj će se put proširiti u sljedeći /home/rac/test/file[x] gdje će se x zamijeniti znamenkom iz naziva datoteke. Parametar Pathtype određuje koji će se datotečni sustav na klijentu pretraživati. Moguće je odabrati jednu od tri vrijednosti: OS, TSK i REGISTRY. OS govori klijentu da pretraži datotečni sustav kroz pozive operacijskog sustava tj. na način na koji ga vide programi i korisnici. Postavljanjem TSK klijent će iskoristiti direktan pristup uređaju i sam rekonstruirati datotečni sustav pomoću alata TSK. Treća opcija je REGISTRY i odnosi se na Windows Registry bazu podataka. Klijenti instalirani na Windows platformi mogu interpretirati Windows Registry kao datotečni sustav i poslužitelju prenijeti vrijednosti iz njega. Akciju koju klijent izvesti kada pronađe datoteku određena je trećim parametrom. Moguće akcije su zabilježiti postojanje datoteke (STAT), preuzeti sažetak datoteke (HASH) ili preuzeti datoteku u cijelosti (DOWNLOAD). Odabrat ćemo parametre OS i STAT i pokrenuti tok.
 +
 +{{ :racfor_wiki:alati:vfs.png?600 |}}
  
 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// u lijevom izborniku. U lijevoj polovici novog prozora nalazi se stablo virtualnog datotečnog sustava s korijenskim direktorijem naziva //fs//. Taj direktorij za svakog klijenta ima dva poddirektorija koji predstavljaju dva pogleda na sadržaj sekundarne memorije računala. Pod direktorijem //os// nalaze se datoteke prikupljene koristeći pozive operacijskog sustava a pod direktorijem //tsk// koristeći TSK alat. Na desnoj polovici prozora nalazi se lista datoteka i direktorija koje pripadaju trenutno izabranom direktoriju. U toj listi vidimo 10 datoteka koje smo stvorili. Sada te datoteke možemo ukloniti naredbom //rm -rf test// i ponovo pokrenuti tok FileFinder ali ovaj put s Pathtype parametrom postavljenim na TSK. Ako klijent upije pronaći te datoteke koristeći TSK alat one će se pojaviti u podstablu //tsk// direktorija. Direktoriji //tsk// i //os// su potpuno odvojeni što zaći da otkriće tih (sada izbrisanih) datoteka TSK alatom neće utjecati na sadržaj //os// direktorija. Ako ponovo pokrenemo FileFinder tok s parametrom OS sadržaj (//os// direktorija) će se ažurirati i datoteke će nestati iz trenutnog prikaza. Kada klijent obavijesti poslužitelja da ne može naći navedene datoteke (da su obrisane) poslužitelj će ažurirati stanje virtualnog datotečnog sustava. On neće ukloniti starije kopije datoteka i informacije o njima. Starijim stanjima virtualnog datotečnog sustava možemo pristupiti preko padajućeg izbornika Timeline u gornjem desnom kutu prozora. 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// u lijevom izborniku. U lijevoj polovici novog prozora nalazi se stablo virtualnog datotečnog sustava s korijenskim direktorijem naziva //fs//. Taj direktorij za svakog klijenta ima dva poddirektorija koji predstavljaju dva pogleda na sadržaj sekundarne memorije računala. Pod direktorijem //os// nalaze se datoteke prikupljene koristeći pozive operacijskog sustava a pod direktorijem //tsk// koristeći TSK alat. Na desnoj polovici prozora nalazi se lista datoteka i direktorija koje pripadaju trenutno izabranom direktoriju. U toj listi vidimo 10 datoteka koje smo stvorili. Sada te datoteke možemo ukloniti naredbom //rm -rf test// i ponovo pokrenuti tok FileFinder ali ovaj put s Pathtype parametrom postavljenim na TSK. Ako klijent upije pronaći te datoteke koristeći TSK alat one će se pojaviti u podstablu //tsk// direktorija. Direktoriji //tsk// i //os// su potpuno odvojeni što zaći da otkriće tih (sada izbrisanih) datoteka TSK alatom neće utjecati na sadržaj //os// direktorija. Ako ponovo pokrenemo FileFinder tok s parametrom OS sadržaj (//os// direktorija) će se ažurirati i datoteke će nestati iz trenutnog prikaza. Kada klijent obavijesti poslužitelja da ne može naći navedene datoteke (da su obrisane) poslužitelj će ažurirati stanje virtualnog datotečnog sustava. On neće ukloniti starije kopije datoteka i informacije o njima. Starijim stanjima virtualnog datotečnog sustava možemo pristupiti preko padajućeg izbornika Timeline u gornjem desnom kutu prozora.
 ===== 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://grr-doc.readthedocs.io/en/latest/what-is-grr.html|GRR documentation]] [1] [[https://grr-doc.readthedocs.io/en/latest/what-is-grr.html|GRR documentation]]
  
-[2] [[https://storage.googleapis.com/docs.grr-response.com/scalable_datastore.pdf|A scalable file based data store for forensic analysis]] +[2] [[https://www.sciencedirect.com/science/article/pii/S1742287611000363|Distributed forensics and incident response in the enterprise]]
- +
-[3] [[https://www.researchgate.net/publication/333421332_Security_Analysis_of_Grr_Rapid_Response_Network_using_COBIT_5_Framework|Security Analysis of Grr Rapid Response Network using COBIT 5 Framework]] +
- +
-[4] [[https://www.sciencedirect.com/science/article/pii/S1742287611000363|Distributed forensics and incident response in the enterprise]] +
- +
-[5] [[https://pdfs.semanticscholar.org/0178/f10c6a09a7ce84750bfa812426afb53d7778.pdf|Forensics Analysis of Docker Swarm Cluster using Grr Rapid Response Framework]] +
- +
-[6] [[https://www.youtube.com/watch?v=ZAXtCMspgY0|OpenNSM (GRR Rapid Response – Greg Castle)]] +
- +
-[7] [[https://www.youtube.com/watch?v=SIvf7-Lzp2M|GRR Users Meetup: Fleetspeak, API client, Go rewrite]]+
  
-[8] [[https://www.blackhat.com/docs/us-14/materials/us-14-Castle-GRR-Find-All-The-Badness-Collect-All-The-Things-WP.pdf/GRR_Artifacts_Whitepaper_Blackhat2014_Greg_Castle.pdf|GRR Artifacts]]+[3] [[https://www.youtube.com/watch?v=ZAXtCMspgY0|OpenNSM (GRR Rapid Response – Greg Castle)]]
  
-[9] [[https://www.youtube.com/watch?v=ren6QSvwFvg|GRR: Find All the BadnessCollect All the Things]]+[4] [[https://www.youtube.com/watch?v=SIvf7-Lzp2M|GRR Users MeetupFleetspeakAPI client, Go rewrite]]
  
-[10] [[https://dfrws.org/sites/default/files/session-files/pres_using_grr_and_rekall_for_scalable_memory_analysis.pdf|Rekall and GRR, Searching for evil, together!]]+[5] [[https://www.youtube.com/watch?v=ren6QSvwFvg|GRR: Find All the BadnessCollect All the Things]]
  
  
racfor_wiki/alati/analiza_alata_google_rapid_response.1577742028.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0