
Soubory stopy, nebo Prefetch soubory, se objevily ve Windows již od dob XP. Od té doby pomáhají specialistům na digitální forenzní a reakci na počítačové incidenty nacházet stopy spuštění programů, včetně těch škodlivých. Vedoucí forenzní specialista skupiny Group-IB Oleg Skulkin vysvětluje, co lze najít pomocí Prefetch souborů a jak to udělat.
Prefetch soubory jsou uloženy v adresáři %SystemRoot%Prefetch a slouží k urychlení procesu spuštění programů. Pokud se podíváme na kterýkoli z těchto souborů, uvidíme, že jeho název se skládá ze dvou částí: názvu spustitelného souboru a kontrolního součtu cesty k němu, která se skládá z osmi znaků.
Prefetch soubory obsahují spoustu užitečných informací z forenzního hlediska: název spustitelného souboru, počet jeho spuštění, seznamy souborů a adresářů, se kterými spustitelný soubor interagoval, a samozřejmě časové razítka. Obvykle forenzní experti používají datum vytvoření daného Prefetch souboru k určení data prvního spuštění programu. Navíc, tyto soubory uchovávají datum posledního spuštění, a od verze 26 (Windows 8.1) také časová razítka pro sedm posledních spuštění.
Pojďme vzít jeden z Prefetch souborů, extrahovat z něj data s pomocí PECmd od Erika Zimmermana a podívat se na každou jeho část. Pro demonstraci extrahuji data ze souboru CCLEANER64.EXE-DE05DBE1.pf.
Tak začněme nahoře. Samozřejmě máme časová razítka pro vytvoření, modifikaci a přístup k souboru:

Následuje název spustitelného souboru, kontrolní součet cesty k němu, velikost spustitelného souboru a také verze Prefetch souboru:

Jelikož se jedná o Windows 10, dále uvidíme počet spuštění, datum a čas posledního spuštění a dalších sedm časových razítek, která indikují předchozí data spuštění:

Na to navazuje informace o svazku, včetně jeho sériového čísla a data vytvoření:
![]()
A nakonec, ale ne méně důležité — seznam adresářů a souborů, se kterými spustitelný soubor interagoval:

Takže katalogy a soubory, se kterými vykonávací soubor interagoval, jsou přesně to, na co se chci dnes zaměřit. Tyto údaje umožňují specialistům na digitální forenziku, reagování na počítačové incidenty nebo proaktivní vyhledávání hrozeb určit nejen to, zda byl nějaký soubor vykonán, ale také v některých případech rekonstrukci konkrétních taktik a technik útočníků. Dnes útočníci dost často používají nástroje pro nevratné mazání dat, například SDelete, proto je schopnost obnovit alespoň stopy používání takových taktik a technik pro každého moderního obránce — počítačového forenzika, specialistu na reagování na incidenty, experta na Threat Hunter — naprosto nezbytná.
Začněme taktikou Initial Access (TA0001) a nejpopulárnější technikou — Spearphishing Attachment (T1193). Některé kyberkriminální skupiny přistupují k výběru takových příloh poměrně kreativně. Například skupina Silence používala k tomu soubory ve formátu CHM (Microsoft Compiled HTML Help). Tím se dostáváme k další technice — Compiled HTML File (T1223). Tyto soubory se spouštějí pomocí hh.exe, tudíž pokud extrahujeme údaje z jeho Prefetch souboru, zjistíme, který konkrétní soubor byl obětí otevřen:

Pokračujme s příklady z reálných případů a přesuňme se k další taktice Execution (TA0002) a technice CSMTP (T1191). Microsoft Connection Manager Profile Installer (CMSTP.exe) může být útočníky použit k spuštění škodlivých skriptů. Dobrým příkladem je skupina Cobalt. Pokud extrahujeme údaje z Prefetch souboru cmstp.exe, opět zjistíme, co přesně bylo spuštěno:

Další populární technikou je Regsvr32 (T1117). Regsvr32.exe také často používají útočníci k provádění příkazů. Další příklad od skupiny Cobalt: pokud extrahujeme údaje z Prefetch souboru regsvr32.exe, opět uvidíme, co bylo spuštěno:

Následujícími taktikami jsou Persistence (TA0003) a Privilege Escalation (TA0004), stejně jako Application Shimming (T1138) jako technika. Tato technika byla používána Carbanak/FIN7 pro upevnění v systému. Obvykle se pracuje se základnami dat s informacemi o kompatibility programů (.sdb) sdbinst.exe. Tudíž Prefetch soubor tohoto vykonávacího souboru může pomoci zjistit názvy těchto databází a jejich umístění:

Jak je vidět na ilustraci, máme nejen název souboru použitý pro instalaci, ale také název nainstalované databáze.
Podívejme se na jeden z nejtypičtějších příkladů síťového propagování (TA0008) — PsExec, který využívá administrativní sdílené prostředky (T1077). Služba s názvem PSEXECSVC (samozřejmě může být použito i jiné jméno, pokud útočníci použili parametr -r) bude vytvořena na cílovém systému, proto pokud extrahujeme data z Prefetch souboru, uvidíme, co bylo spuštěno:

Budeme končit na tom, na čem jsem začal — odstraňování souborů (T1107). Jak jsem již zmínil, mnozí útočníci používají SDelete k trvalému odstranění souborů v různých fázích životního cyklu útoku. Pokud se podíváme na data z Prefetch souboru sdelete.exe, uvidíme, co bylo právě odstraněno:

Samozřejmě, že to není vyčerpávající seznam technik, které lze odhalit při analýze Prefetch souborů, ale to by mělo být více než dostatečné k tomu, aby bylo jasné, že takové soubory mohou pomoci nejen najít stopy spuštění, ale také rekonstruovat konkrétní taktiky a techniky útočníků.
Zdroj: habr.com
