2009. június 8., hétfő

Forensic vizsgálatok 4. - Nagy Testvér szemmel tart

A betörési tesztelés mellett a nyomelemző munkák területe az a témakör, amelyről sok szakmabeli is csak homályos képpel rendelkezik, holott meglehetősen szerteágazó és szövevényes világról van szó. Több posztból álló sorozatunkban igyekszünk felvillantani néhány érdekesebb momentumot nyomelemzős munkáinkról.

Az adatrejtős posztban arról írtunk, hogy az adatrejtők miért vannak előnyben az adatvadászokkal szemben – a kép úgy teljes, ha írunk arról is, hogy az adatvadászok miért vannak előnyben az adatrejtőkkel szemben: az ugyanis, hogy a felhasználó milyen tevékenységet végzett, milyen fájlokat nyitott meg stb. az incidenst megelőzően, meglepően sok helyen nyomot hagy maga után. A felhasználói tevékenység rekonstrukciója kapcsán már írtunk a registry elemzéséről, van azonban számtalan egyéb hely is, ahol érdemes kutakodnunk nyomok után.

Recycled bin
A kuka kezeléséről és forensic elemzéséről sok helyen írtak már. Az alapvető működését mindenki tudja: amikor csak letörlünk egy fájlt, nem törlődik igazából, hanem a windows átnevezi, és speciális flaggel jelöli meg. A kuka fizikailag minden meghajtón a RECYCLER mappát jelenti (Xp alatt így hívják, más verzióknál Recycled bin stb. lehet a neve).

Ha total commanderrel belenézünk, ilyen jellegű fájlokkal van tele, hogy Dc1.exe, Dc2.txt: a D jelenti azt, hogy „deleted”, a „c” jelenti az eredeti meghajtó betűjelét, a szám pedig elkülöníti a fájlokat. Az oprendszer onnét tudja, hogy honnét törölték a fájlokat, hogy tart egy info2 nevű adatbázist a kukában, amely megmutatja a törölt fájlok metaadatait.

Recycle bin-ből is törölt fájlok
A kukából törölt fájlok nem semmisülnek meg, továbbra is ott vannak a lemezen, megfelelő eszközzel visszanyerhetőek. Annyi kis kiegészítést tennénk, hogy akkor sincs veszve minden (adat), ha a törölt, nagyméretű fájlunk bizonyos fragmentjei felülíródnak, ugyanis az operációs rendszer rendszerint nagyobb clustermérettel dolgozik, mint a fájlrendszer (Xp/NTFS-nél ez 4096byte vs. 512byte): ez azt jelenti, hogy az Xp 4096byte-os szeletekben írja fel a lemezre a fájlokat teljesítményokokból, és csak annyi null-t ír a tényleges adat mögé, hogy osztható legyen 512byte-tal az adattartalom, a 4096byte végéig terjedő részt békén hagyja (azaz megmarad benne az eredeti adat).

Népszerű tévhit, hogy a töredezettség-mentesítés megöli a slackekben található adattartalmat. Az a helyzet, hogy a defrag egyrészt nem biztos, hogy hozzányúl az adott, megsemmisíteni kívánt fájlhoz, másrészt ha hozzányúl is, 4096byte-os egységekben mozgatja az adatokat, tehát a slackeket ugyanúgy meghagyja, csak máshol kell őket keresni a lemezen. A legbiztosabb az a megoldás, ha valamilyen wiper eszközzel semmisítjük meg a nagyon törölni kívánt fájlokat.

Az UserAssist
A registry-s posztban írtunk már róla: a felhasználó által valaha elindított programok listája a HKCU\Software\Microsoft\windows\CurrentVersion\Explorer\UserAssist\GUID\Count kulcs alatt található ROT-13 encodinggal. A kulcsban lévő bináris időpecsét elárulja windows timestamp formátumban az utolsó elindítás idejét, illetve a mellette lévő (a kulcs 5-8. byte-ját elfoglaló) hexa érték megmondja, hogy hányszor indították el az adott programot (igaz, le kell vonni belőle valami egészen elképesztő okból ötöt).

.LNK fájlok vizsgálata
A .LNK fájlok parancsikonokat jelölnek – parancsikonok jellemzően háromféleképp keletkeznek: egyrészt telepítők szórják őket szanaszét, másrészt maguk a felhasználók teszik őket ide-oda, harmadrészt egy csomó funkció használatakor (pl. Recent documents) linkeket helyez el az oprendszer.

A linkekből bináris túrással rengeteg hasznos infót lehet kinyerni: például hogy mikor készítették, mikor indították el utojára a parancsikont, mikor módosították utoljára. Az NTFS-es ACM timestampekkel összetéve meglehetősen nagy biztonsággal megállapítható, hogy a felhasználó tette-e oda, vagy a telepítő: ezáltal adott esetben bizonyítható, hogy egy parancsikon mögött lévő XLS-t a felhasználó bizony megnézett egy adott időpontban, bármit is mondjon.

My recent documents
A fenti mappa a „c:\documents and settings\%USER%\My Recent Documents” alatt lakik, és parancsikonokat tartalmaz, emiatt a fenti vizsgálatok az itt található elemekre is elvégezhetőek.

Thumbs.db
A thumbs.db fájlok jellemzően képek mellett bukkannak fel a windows Xp-ben, a Vistában már máshogy oldották meg a feladatot. OLE-embedded streamek formájában előnézeti verzióit tárolják a képeknek, ezen előnézeteket viszont nem frissíti automatikusan, valahányszor változás történik a mappa tartalmában. Az elemzés során érdemes ezekkel is foglalkozni: itt egy ingyenes eszköz, amellyel megnézhető a tartalmuk.

Prefetch
A Prefetch olyan mechanizmus, amely felgyorsítja a gyakran használt alkalmazások betöltését: a c:\windows\prefetch mappában .pf fájlok formájában tárol információkat a gyakran elindított programokról. Megtudható belőlük, hogy hányszor indították el az adott programot, illetve mikor történt az utolsó elindítás.

History
A history a „c:\documents and settings\%user%\local settings\history” mappában található, és meglepő módon a megnyitott fájlokkal, meglátogatott oldalakkal kapcsolatos információkat tartalmaz (mikor nyitották meg utoljára és hány megnyitás történt idáig). A Windows File Analyser eszközzel egyszerűen lehet böngészni a tartalmát.

Firefox history
A Firefox által használt sqlite adatbázis elemzéséről már írtunk korábban, tessék kattintani.

Cookie cache/Flash cache
A cookie/flash cache-ben tárolódnak a weboldalak által kiadott cookie-k, emiatt látható belőlük, hogy a felhasználó milyen weboldalakat látogatott meg.

Temp
Átmeneti fájlokat sok helyen találhatunk a windowsban: a környezeti változók között lehet megtekinteni a listát. Tipikus helyek a c:\windows\temp, a c:\documents and settings\%user%\local settings\temp[orary internet files]: innét az esetek nagy részében egészen pontos képet kaphatunk arról, hogy a felhasználónk mivel tölti a gépidőt.

Eventlog, security log
Ne feledkezzünk el az öregekről sem: a felhasználók tevékenysége sok esetben generál bejegyzéseket a különféle logokban.

2 megjegyzés:

  1. Hey,

    Ezért kell netcafé-s gépről (tor-on keresztül) ügyködni ;-)

    Aztán azt derítsék ki, hogy melyik városban melyik kávézóból melyik gépről csináltam hehe.

    Ráadásul ezt végigolvasva lett egy jó ötletem : Virtuális gépben kell dolgozni, és a gépet visszaállítani mentés előtti állapotba. vagyis sehol semmi nyom nem marad... azt is bottal üthetik. :-D

    VálaszTörlés
  2. Vitába szállnék egy hangos "kontra!" bekiáltásával.

    Pusztán gondolatkísérlet: ha bízunk a torban, akkor a netcafé nem fog sok pluszt hozzátenni a dologhoz anonimitási szempontból. Ha viszont nem bízunk meg benne, akkor sem érdemes netcafézni, ugyanis a legtöbb helyen webkamerákkal követik a munkaállomásokat - innét pedig meglehetősen egyszerűen visszakövethetőek az események.

    Hallottam történeteket, amikor a szépreményű, lelkes, ám nem kikezdhetetlen technikai felkészültséggel rendelkező fiatal információbiztonsági szakembereket (értsd: script-kiddie) egy alföldi város internetkávézójában készült kamerafelvételek alapján kaptak el.

    VálaszTörlés

Kommentek