Úvod
Windows 10 Timeline je pomerne nový forenzný artefakt, ktorý pribudol vo Windows 10 1803.
Pomocou Timeline sa zaznamenávajú používateľské aktivity. Nájdete tu napríklad informácie o súboroch, ktoré používateľ otváral, aplikáciách, ktoré použil či webstránkach, ktoré otvoril. Funkciou Timeline je umožniť používateľovi rýchly návrat k posledným aktivitám. W10 Timeline sa dá synchronizovať naprieč zariadeniami, na ktoré sa používateľ prihlasuje jedným kontom.
Pre forenzného analytika je preto neoceniteľným zdrojom informácií o aktivite používateľa, a to nielen na lokálnom systéme. Informácie o otvorených súboroch, aplikáciách či o kopírovaní a prilepení niečoho sú doplnené časovými pečiatkami. Dôležitý detail: do Timeline sa nedostanú záznamy pre úplne všetky činnosti, ktoré používateľ vykonal. Neberte preto tento artefakt ako jediný a úplný zdroj dát o používateľskej aktivite 😊
Timeline si môžete zobraziť kliknutím na ikonu zvýraznenú zelenou na obrázku 1 nižšie. Štandardne je umiestnená na spodnej lište pracovnej plochy, napravo od tlačidla Štart a vyhľadávacieho poľa.
Keď na ikonu klikneme, zobrazí sa história aktivít z posledných 30 dní. To je časový úsek, z ktorého sa informácie z Timeline uchovávajú vo východiskovom stave.
Všimnite si informáciu pre používateľa o možnosti synchronizácie jeho aktivity do cloudu.
Nastavenia Windows 10 Timeline
Spôsob akým sa Windows 10 Timeline vytvára a či sa synchronizuje s cloudom vieme ovplyvniť buď pri inštalácií Windows, alebo v nastaveniach systému.
Vytváranie Windows 10 Timeline sa v nastaveniach systému konfiguruje v časti Privacy → Activity History. Konkrétne nastavenia sa môžu líšiť v rôznych verziách OS. Na testovacom zariadení boli dostupné nasledovné možnosti:
- Store my activity history on this device - uchováva históriu iba na lokálnom zariadení
- Send my activity history to Microsoft - vyvolá synchronizáciu informácií v MS cloude
Windows 10 Timeline na disku
Dáta z Timeline sú na disku uložené v používateľskom profile, konkrétne v adresári %userprofile%\AppData\Local\ConnectedDevicesPlatform\. Používateľova aktivita sa uchováva v adresári L.<username>, napríklad L.joe. Gro informácií je zaznamenaných v SQLite databáze ActivitiesCache.db.
Súbor L.joe.cdp obsahuje informácie pre službu Connected Devices Platform. Ide o relatívne nový servis, takisto prítomný len v novších verziách OS Windows. Hrá úlohu (okrem iného) pri pripojení Bluetooth zariadení, tlačiarní a skenerov, ale aj mobilných telefónov, prehrávačov hudby, fotoaparátov a podobne. CDP servis poskytuje zariadeniam ako smartfóny a PC sa navzájom rozpoznať a vymieňať si správy.
Ak je Timeline nastavená na synchronizáciu s MS Cloudom, bude v .cdp súbore informácia o poslednej synchronizácií (CNCNotificationUriLastSynced) a o ID používateľa. Ak je táto hodnota nulová, Timeline sa nesynchronizuje.
Databáza ActivitiesCache.db je uložená vo formáte SQLite. Ide o jeden z najpoužívanejších DB formátov na svete. Je to relačná databáza, ktorá však nemá klient-server architektúru, ale je vstavaná do programu. Používajú ju známe internetové prehliadače, ako napríklad Chrome, Firefox a iné. Databázu tvorí jediný súbor, ktorý môže mať asociovaný WAL súbor (write-ahead log).
Databáza obsahuje viacero tabuliek. Ako sa záznamy do tabuliek pridávajú počas interakcie používateľa so systémom?
- Používateľ otvorí aplikáciu/vykoná inú aktivitu na systéme
- Vygeneruje sa nové unikátne Activity ID
- Vznikne záznam v Activity_PackageId
- Vznikne záznam v tabuľke ActivityOperation
- Aktivita sa synchronizuje do cloudu (podľa nastavenia)
- Aktivita sa pridá do tabuľky Activity
- Aktivita sa vymaže z tabuľky ActivityOperation
Pre forenznú analýzu majú význam najmä dve tabuľky: Activity a Activity_PackageID.
Analýza ActivitiesCache.db
Otvorme databázu Windows 10 Timeline v prehliadači SQLite databáz (napríklad DB Browser for SQLite¹) a pozrime sa na obsah tabuľky Activity_PackageID:
Tabuľka obsahuje záznamy o aplikáciách - presnejšie, balíčkoch aplikácií, ktoré zodpovedajú aktivite: meno súboru, cestu k spustiteľnému súboru aplikácie a čas exspirácie záznamov. Ten je nastavený na 30 dní od posledného použitia aplikácie a ukladá sa v Epoch formáte časovej pečiatky (ide o celé číslo, ktoré zodpovedá počtu jednotiek - sekúnd - od polnoci 1.1.1970). Záznamy sa uchovávajú 30 dní. Pre forenzného analytika je výhodné, že tu možno nájsť aj záznamy o súboroch, ktoré už nie sú na disku.
Tabuľka Activity obsahuje podrobné záznamy o používateľskej aktivite. Náhľad jej obsahu v SQLite prehliadači:
Povedzme si niečo o jednotlivých záznamoch zapísaných pre každú aktivitu v tabuľke:
- AppId - aplikácia, ktorá generovala aktivitu, resp. zodpovedajúci balíček z Activity_PackageId
- AppActivityId - identifikátor špecifický pre aktivitu, určuje kde aktivitu obnoviť keď sa k nej používateľ rozhodne vrátiť. Môže tu byt URL, cesta k súboru, …
- Časové pečiatky – samo vysvetľujúce 😊 uložené v UNIX epoch čase:
- Start Time – čas začiatku aktivity
- End Time – čas ukončenia aktivity
- Last Modified Time – čas poslednej modifikácie aktivity
- Expiration Time – čas exspirácie aktivity, spravidla 3 dní od vzniku alebo modifikácie aktivity
- ActivityType: môže nadobúdať rôzne hodnoty, ako napríklad
- 5 – používateľ otvoril aplikáciu (po prvý krát)
- 6 – používateľ opäť s aplikáciou pracoval, pri tomto type aktivity je v Payloade uvedená aj časová zóna
- 10 – Copy/Paste – žiaľ, takýto typ aktivity sme nezaznamenali, popis preto čerpáme z dostupných zdrojov². Payload field nie je vždy prítomný, no v ClipboardPayload nájdeme Base64 kódovaný kopírovaný text. V tomto prípade nám však životnosť záznamov nie je známa, ako v predošlých prípadoch, kedy bola pevne stanová na 30 dní.. Je potrebné viac testovať správanie tohto artefaktu. Každopádne, jeho potenciál pre vyšetrovanie je zrejmý.
- 16 – Copy/Paste, ďalší zaujímavý typ akcie, všimnete si ich aj podľa toho, že v stĺpci „Group“ je „Copy“ alebo „Paste“. V Payloade sa spomína GDPR. V ParentActivityId je ID aplikácie, z ktorej sa kopírovalo.
- ActivityStatus:
- 1 - active
- 2 - updated, vždy pri update aktivity (t. j. niečo sa na aktivite zmenilo, napríklad sa používateľ dostal pri čítaní dokumentu „ďalej“) sa Expiration Time opäť nastaví na 30 dní
- 3 - deleted
- 4 – ignored
- ETag: tzv. event ordering integer: pri zmene niektorého záznamu v tabuľke sa vygeneruje nový etag a priradí k riadku ktorý sa menil: užitočný poznatok pre určenie poradia vykonávania aktivít.
- V Payload stojí za povšimnute pole activeDurationSeconds: udáva ako dlho používateľ interagoval s aplikáciou.
- PlatformDeviceId – je možné záznam korelovať s registrovým kľúčom NTUSER.DAT\Software\Microsof\Windows\CurrentVersion\TaskFlow\DeviceCache.
Kľúč DeviceCache sme počas testov nezreplikovali, uvedené informácie sú orientačné, prevzaté z iných zdrojov².
Tento kľúč obsahuje podkľúče, ktoré zodpovedajú hodnotám PlarformDeviceId; obsahuje hodnotu DeviceName.
Hodnoty DeviceType môžu byť:- 1 Xbox One
- 6 Apple iPhone
- 7 Apple iPad
- 8 Android device
- 9 Windows 10 Desktop
- 11 Windows 10 Phone
- 12 Linux device
- 13 Windows IoT
- 14 Surface Hub
- 15 Windows Laptop
Screenshot, ktorý by zahŕňal všetky polia by bol pomerne veľký 😊 Navyše neplánujeme analyzovať tento pomerne rozsiahly artefakt ručne. Existujú nástroje, ktoré umožňujú Windows 10 Timeline (spracovať a exportovať do pohodlne čitateľného formátu.
Jedným z obľúbených nástrojov je W10TCmd.exe³, ktorý pochádza z portfólia výskumníka E. Zimmermana. Ako pri iných nástrojoch tohto autora, výstup je možné uložiť do CSV súboru.
WxTCmd.exe -f <path>\ActivitiesCache.db --csv \<outputdir>\
Pozrime sa na výstup nástroja. Všimnite si ActivityType 5 a 6 v druhom a treťom riadku.
Najprv je zaznamenaná aktivita typu 5 – ExecuteOpen, teda otvorenie balíčka spustiteľného súboru, v tomto prípade notepad.exe. V poli DisplayText je uvedené meno súboru, ktorý bol v Notepade otvorený: pshashes.txt. V poli Payload uvidíte úplnú cestu k súboru.
Nasleduje aktivita typu 6 – InFocus, so začiatkom v tom istom čase. Táto aktivita bola ukončená, pričom trvala 3 sekundy (viď pole Duration). To znamená, že používateľ z ktorého profilu aktivita pochádza, otvoril súbor pshashes.txt z lokality C:\Users\amy.LAB\Desktop\pshashes.txt pomocou Notepadu z priečinka System32\notepad.exe. Relácia trvala 3 sekundy.
Všimnite si ešte záznam o aktivite System32\cmd.exe. Príkazový riadok bol spustený dlhšie ako 13 dní 😊
Pri aktivitách typu 6 InFocus je v Payload uvedená aj časová zóna, v ktorej sa zariadenie nachádza. V tomto prípade ide o Europe\Budapest, čo v čase vzniku záznamov zodpovedá UTC + 2.
Napokon sa pozrime na všetky informácie zaznamenané o aktivite spätej s webovým prehliadačom. Používateľ zadal do vyhľadávača MS Edge výraz „command prompt 32 bit windows 10
“. Executable je balíček Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge – teda nie štandardný .exe súbor.
Id: 2766239d-4de6-206e-8e5c-9df417aad45d
ActivityTypeOrg: 5
ActivityType : ExecuteOpen
Executable: Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge
DisplayText: command prompt 32 bit windows 10 - Bing (Microsoft Edge)
ContentInfo:
https://www.bing.com/search?q=command+prompt+32+bit+windows+10&form=WNSGPH&qs=UT&cvid=3d1f6366c54b46a6903fc869fa9369f1&pq=command+prompt+32&cc=SK&setlang=en-US&nclid=D9455599751C3BE1DD1D7DD2011D2BB0&ts=1634819645424&wsso=Moderate (https://www.bing.com/search?q=command prompt 32 bit windows 10&form=WNSGPH&qs=UT&cvid=3d1f6366c54b46a6903fc869fa9369f1&pq=command prompt 32&cc=SK&setlang=en-US&nclid=D9455599751C3BE1DD1D7DD2011D2BB0&ts=1634819645424&wsso=Moderate)
Payload:
{"displayText":"command prompt 32 bit windows 10 - Bing","activationUri":"microsoft-edge:https://www.bing.com/search?q=command+prompt+32+bit+windows+10&form=WNSGPH&qs=UT&cvid=3d1f6366c54b46a6903fc869fa9369f1&pq=command+prompt+32&cc=SK&setlang=en-US&nclid=D9455599751C3BE1DD1D7DD2011D2BB0&ts=1634819645424&wsso=Moderate","appDisplayName":"Microsoft Edge","description":"https://www.bing.com/search?q=command+prompt+32+bit+windows+10&form=WNSGPH&qs=UT&cvid=3d1f6366c54b46a6903fc869fa9369f1&pq=command+prompt+32&cc=SK&setlang=en-US&nclid=D9455599751C3BE1DD1D7DD2011D2BB0&ts=1634819645424&wsso=Moderate","backgroundColor":"#FF0078D7","adaptiveContent":{"$schema":"http://adaptivecards.io/schemas/adaptive-card.json","type":"AdaptiveCard","version":"1.0","body":[{"type":"Container","items":[{"type":"TextBlock","text":"command prompt 32 bit windows 10 - Bing","weight":"bolder","size":"large","wrap":true,"maxLines":3},{"type":"TextBlock","text":"https://www.bing.com/search?q=command+prompt+32+bit+windows+10&form=WNSGPH&qs=UT&cvid=3d1f6366c54b46a6903fc869fa9369f1&pq=command+prompt+32&cc=SK&setlang=en-US&nclid=D9455599751C3BE1DD1D7DD2011D2BB0&ts=1634819645424&wsso=Moderate","size":"normal","wrap":true,"maxLines":3}]}]},"contentUri":"https://www.bing.com/search?q=command+prompt+32+bit+windows+10&form=WNSGPH&qs=UT&cvid=3d1f6366c54b46a6903fc869fa9369f1&pq=command+prompt+32&cc=SK&setlang=en-US&nclid=D9455599751C3BE1DD1D7DD2011D2BB0&ts=1634819645424&wsso=Moderate","attribution":{"iconUri":"https://www.bing.com/sa/simg/favicon-2x.ico","alternateText":"bing.com"},"attributionDisplayText":"bing.com"}
ClipboardPayload: N/A
StartTime: 10/21/2021 12:34
EndTime: N/A
Duration: N/A
LastModifiedTime: 10/21/2021 12:34
LastModifiedOnClient: 10/21/2021 12:34
OriginalLastModifiedOnClient: N/A
ExpirationTime: 11/20/2021 12:34
CreatedInCloud: N/A
IsLocalOnly: FALSE – môže indikovať, že aktivita bude synchronizovaná
ETag: 2348
PackageIdHash: u/3w0FX2KJ+WP7GPAVoBtwpDkL/07j99Aomf+tLN9wA=
PlatformDeviceId: 8vHQ+SS/rq5UZhpYVOBkGCiZ8zJLOvGrfolxOfJ9+E8=
DevicePlatform: N/A – škoda, tu by sme zistili z akého zariadenia aktivita pochádza
TimeZone: N/A
Záver
Windows 10 Timeline je artefakt, ktorý pri forenznej analýze pomáha odhaliť detaily o práci používateľa so systémom. Spravidla tu nájdeme údaje z posledných 30 dní týkajúce sa otvárania súborov, spúšťania aplikácií či aktivity na Internete. Vďaka dostupným nástrojom na parsovanie databázy Windows 10 Timeline je možné dáta efektívne spracovať a následne analyzovať. Hoci niektoré aspekty Windows 10 Timeline nie sú preskúmané, potenciál artefaktu pre vyšetrovanie je veľký. Informácie o aktivite je možné naviazať ku konkrétnemu používateľovi a časy kedy sa odohrali. Záznamy ostávajú v databáze aj po tom, ako súbory či aplikácie, ktorých sa týkali, boli vymazané.