Windows Prefetch súbory znejú ako niečo, čo by človek čakal skôr v servisnom manuáli než v bežnom živote. Lenže pravda je zaujímavejšia. Windows si pri štarte programov a systému ukladá malé .pf súbory, ktoré mu pomáhajú zrýchliť ďalšie spustenie. Nie je to špionážna funkcia, ale mechanizmus výkonu. Lenže ako to už vo Windows býva, všetko, čo malo pôvodne zrýchľovať systém, vie zároveň vytvoriť veľmi zaujímavú stopu o tom, čo sa na počítači dialo.
A práve tu sa Prefetch mení z nudnej systémovej technológie na malého digitálneho svedka. Nie preto, že by sa Windows rozhodol byť detektívom, ale preto, že optimalizácia štartu aplikácií po sebe necháva artefakty. Pre admina je to zaujímavé, pre incident response ešte viac a pre človeka, ktorý rád maže „všelijaké zbytočnosti“, je to občas taká jemná facka realite.
Čo to vlastne je
Prefetch súbor je malý systémový súbor s príponou .pf, ktorý Windows vytvára pri spustení aplikácie a pri boote systému, aby vedel pri ďalšom štarte rýchlejšie načítať relevantné dáta do pamäte. Nejde o cache v klasickom zmysle slova, ale o pomocný záznam o tom, aké súbory, adresáre a závislosti boli pri štarte dôležité. Samotný formát PF existuje od čias Windows XP a moderné verzie Windows ho stále používajú, hoci sa jeho interná štruktúra v priebehu rokov menila.
Tieto súbory nájdeš štandardne v priečinku C:\Windows\Prefetch. Názov býva zložený z mena spusteného EXE a hashu cesty, odkiaľ bol program spustený. To je detail, ktorý je pre bežného používateľa neviditeľný, ale pre analytika mimoriadne šťavnatý: ten istý program môže mať rôzne Prefetch záznamy, ak bežal z iného umiestnenia. A zrazu je rozdiel, či sa updater.exe spustil z Program Files, alebo z dočasného priečinka v Tempe.
Prečo sú Windows Prefetch súbory vo Windows
Dôvod je jednoduchý: výkon. Prefetching je mechanizmus, ktorým si Windows pamätá, čo bolo pri predchádzajúcich štartoch programov a systému potrebné, aby to pri ďalšom spustení vedel pripraviť rýchlejšie. Cieľ nie je zbierať históriu používateľa, ale zrýchliť boot a štart aplikácií. Windows teda nerobí „tajný denník“, len si vytvára krátky technický ťahák.
A teraz prichádza ten zaujímavý paradox. To, čo malo slúžiť čisto na výkon, sa stalo aj veľmi cenným artefaktom pre vyšetrovanie. Pretože ak systém vie, čo sa spustilo, kedy a odkiaľ, zrazu máš v rukách stopu, ktorú malware autor často nechce, aby si videl. A Windows? Ten ju vytvorí úplne bez drámy, bez fanfár a bez otázky, či sa to útočníkovi páči.
Ako to nájsť a ako to prezerať
Najjednoduchšia cesta je otvoriť C:\Windows\Prefetch cez Prieskumníka. Súbory tam uvidíš, ale samotný obsah ti Notepad veľa nepovie, pretože ide o binárny formát. Navyše moderné verzie Prefetchu majú špecifiká, ktoré z ručného pozerania v hex editore robia aktivitu pre ľudí, čo majú radi bolesť a kávu v priemyselnom množstve. Praktickejší prístup je použiť nástroj, ktorý vie PF súbory rozparsovať.
Na rýchly prehľad je veľmi praktický WinPrefetchView od NirSoftu. Ten vie ukázať názov procesu, počet spustení, posledné časy spustenia a zoznam súborov načítaných aplikáciou. Na serióznejšiu prácu sa často používa aj PECmd od Erica Zimmermana, ktorý SANS odporúča pri hromadnej analýze celej Prefetch zložky a exporte do CSV. Pre bežného admina je WinPrefetchView ideálny na rýchlu orientáciu, pre dôkladnejšiu analýzu je PECmd veľmi silná voľba.
Malá špecialitka, ktorú veľa článkov vynechá
Prefetch nie je zaujímavý len tým, že sa niečo spustilo. Zaujímavý je aj tým, odkiaľ sa to spustilo. Ak sa rovnaký názov EXE objaví s iným hashom, vieš, že išlo o inú cestu. A v praxi je to niekedy dôležitejšie než samotný názov programu. setup.exe z oficiálneho inštalátora je nuda. setup.exe z AppData\\Local\\Temp už začína byť celkom zaujímavý večer.
Na čo to slúži a prečo je to zlatá baňa pre analytikov
Pre bežného používateľa slúži Prefetch hlavne na zrýchlenie štartu aplikácií a systému. Z pohľadu bezpečnosti je však dôležité niečo iné: Prefetch vie potvrdiť, že sa určitý program na počítači skutočne spustil. A to je obrovský rozdiel oproti situácii, keď máš len samotný EXE súbor na disku a nevieš, či bol niekedy použitý.
Ak ťa zaujíma forenzná analýza Windows, Prefetch je jeden z artefaktov, ktoré sa oplatí pozerať medzi prvými. Vieš z neho získať run count, posledné spustenia a v novších verziách Windows dokonca viacero uložených behov programu. SANS uvádza, že Windows 8 a novšie systémy dokážu držať až 1 024 Prefetch súborov, zatiaľ čo Windows 7 a staršie zvyčajne 128. To znamená, že na novších systémoch môže byť historická stopa podstatne bohatšia.
A ešte jedna chuťovka: program môže byť už dávno zmazaný, ale jeho Prefetch záznam môže na systéme stále zostať. Preto je forenzná analýza Windows s Prefetchom taká užitočná pri malwari, „čističoch“, podozrivých nástrojoch a rôznych upratovacích pokusoch po incidente. Súbor zmizol? Dobre. Ale Windows si možno stále pamätá, že tam kedysi veselo pobehoval.
Windows Prefetch súbory ako stopa po útoku: malý digitálny svedok bez emócií
Predstav si situáciu: na počítači sa objaví updater.exe. Po pár minútach je súbor preč. Používateľ tvrdí, že nič nespúšťal. Antivírus už medzitým chytil dve nervové zrútenia a tri alerty. Tu prichádza Prefetch. Ak sa vytvoril záznam typu UPDATER.EXE-XXXXXXXX.pf, vieš, že program nielen existoval, ale sa aj spustil, koľkokrát približne bežal a aké cesty či súbory pri tom použil. Zrazu nemáš len dojem. Máš stopu.
Špeciálnou lahôdkou je aj súbor NTOSBOOT-B00DFAAD.pf, ktorý súvisí s boot procesom. Ten vie pomôcť pri pohľade na to, čo sa načítavalo počas štartu Windows. Nie je to niečo, čo rieši bežný používateľ pri nedeľnej káve, ale pri hľadaní problémov alebo podozrivých boot-time artefaktov je to veľmi zaujímavý kúsok skladačky.
Mýty vs. fakty
| Tvrdenie | Realita |
|---|---|
| Keď vymažem Prefetch, Windows sa zrýchli | Nie. Windows si tieto dáta vytvorí znova a štarty môžu byť dočasne pomalšie |
| Prefetch je len bordel | Nie. Je to súčasť optimalizácie štartu programov a systému |
| Prefetch ukazuje iba názov programu | Nie. Vie ukázať aj run count, časy spustení a ďalšie súvisiace stopy |
| Po zmazaní sa už nič nevráti | Vráti. Pri ďalšom spustení programu si Windows vytvorí nový PF záznam |
Tieto mýty prežívajú roky, pretože internet miluje „tajné zrýchľovacie tipy“. Lenže pri Prefetch je realita presne opačná: niektoré rady z fór znejú múdro asi tak, ako keby si zrýchľoval auto tým, že mu vyhodíš tachometer.
Má zmazanie prefetch zmysel?
Krátka odpoveď: vo väčšine prípadov nie. Zmazanie prefetch nie je magické tlačidlo výkonu, ale skôr spôsob, ako Windows pripraviť o jeho rozbehnuté pomôcky. Microsoft Community dlhodobo upozorňuje, že Prefetch je samoobslužný a samočistiaci mechanizmus a že po vyprázdnení priečinka budú Windows aj aplikácie pri ďalších štartoch chvíľu pomalšie, kým si systém nevytvorí nové záznamy.
Z pohľadu bezpečnosti je navyše zmazanie prefetch niečo, čo môže byť pri vyšetrovaní skôr podozrivé než užitočné. Ak niekto cielene „upratuje“ Prefetch, často tým neodstráni problém, len zníži množstvo stôp pre vyšetrovateľa. A úprimne, keď niekto po incidente začne mazať artefakty, zvyčajne tým vyrobí viac otázok než odpovedí.
Záver
Na prvý pohľad je Prefetch len technická drobnosť, ktorú si človek bežne nevšíma. No práve v tom je jeho sila. Windows Prefetch súbory nevznikli na špehovanie používateľa, ale na zrýchlenie Windowsu. Lenže popri tom sa z nich stal veľmi užitočný svedok systému: vie prezradiť, čo sa spúšťalo, odkiaľ sa to spúšťalo a niekedy aj to, čo sa útočník snažil rýchlo zamiesť pod koberec. A to je presne ten moment, keď sa z nudnej optimalizácie stane forenzná lahôdka.
Ak ťa bavia aj ďalšie nenápadné Windows súbory a mechanizmy, ktoré majú väčší vplyv, než sa na prvý pohľad zdá, pozri si aj článok Windows HOST súbor: Kompletný sprievodca nielen pre adminov.
Zdroje :
trustedsec , microsoft , edbott



