Stopuj svojho používateľa: Windows 10 Timeline

Singel-post cover image

Ú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.

Obrázok 1: Ikona Windows 10 Timeline

Obrázok 1: Ikona Windows 10 Timeline

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.

Obrázok 2: Zobrazenie aktivít používateľa

Obrázok 2: Zobrazenie aktivít používateľa

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
Obrázok 3: Nastavenie W10 Timeline

Obrázok 3: Nastavenie W10 Timeline

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.

Obrázok 4: Obsah adresára ConnectedDevicesPlatform

Obrázok 4: Obsah adresára ConnectedDevicesPlatform

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).

Obrázok 5: Obsah adresára L.joe

Obrázok 5: Obsah adresára L.joe

Databáza obsahuje viacero tabuliek. Ako sa záznamy do tabuliek pridávajú počas interakcie používateľa so systémom?

  1. Používateľ otvorí aplikáciu/vykoná inú aktivitu na systéme
  2. Vygeneruje sa nové unikátne Activity ID
  3. Vznikne záznam v Activity_PackageId
  4. Vznikne záznam v tabuľke ActivityOperation
  5. Aktivita sa synchronizuje do cloudu (podľa nastavenia)
  6. Aktivita sa pridá do tabuľky Activity
  7. 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:

Obrázok 6: Tabuľka Activity_PackageID

Obrázok 6: Tabuľka 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:

Obrázok 7: Tabuľka Activity

Obrázok 7: Tabuľka Activity

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>\ 
Obrázok 8: Použitie WXTCmd.exe

Obrázok 8: Použitie WXTCmd.exe

Pozrime sa na výstup nástroja. Všimnite si ActivityType 5 a 6 v druhom a treťom riadku.

Obrázok 9: Výstup WXTCmd.exe

Obrázok 9: Výstup WXTCmd.exe

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é.