@night 1803 access accessdata active directory admissibility ads aduc aim aix ajax alissa torres amcache analysis anjp anssi answer key antiforensics apfs appcompat appcompatflags applocker april fools argparse arman gungor arsenal artifact extractor attachments attacker tools austin automating automation awards aws azure azuread back to basics backstage base16 best finds beta bias bitcoin bitlocker blackbag blackberry enterprise server blackhat blacklight blade blanche lagny book book review brute force bsides bulk extractor c2 carved carving case ccdc cd burning ceic cfp challenge champlain chat logs Christmas Christmas eve chrome cit client info cloud forensics command line computer forensics computername conference schedule consulting contest cool tools. tips copy and paste coreanalytics cortana court approved credentials cryptocurrency ctf cti summit cut and paste cyberbox Daily Blog dbir deep freeze defcon defender ata deviceclasses dfa dfir dfir automation dfir exposed dfir in 120 seconds dfir indepth dfir review dfir summit dfir wizard dfrws dfvfs dingo stole my baby directories directory dirty file system disablelastaccess discount download dropbox dvd burning e01 elastic search elcomsoft elevated email recovery email searching emdmgmt Encyclopedia Forensica enfuse eric huber es eshandler esxi evalexperience event log event logs evidence execution exfat ext3 ext4 extended mapi external drives f-response factory access mode false positive fat fde firefox for408 for498 for500 for526 for668 forenisc toolkit forensic 4cast forensic lunch forensic soundness forensic tips fraud free fsutil ftk ftk 2 full disk encryption future gcfe gcp github go bag golden ticket google gsuite guardduty gui hackthebox hal pomeranz hashlib hfs honeypot honeypots how does it work how i use it how to howto IE10 imaging incident response indepth information theft infosec pro guide intern internetusername Interview ios ip theft iphone ir itunes encrypted backups jailbreak jeddah jessica hyde joe sylve journals json jump lists kali kape kevin stokes kibana knowledgec korman labs lance mueller last access last logon leanpub libtsk libvshadow linux linux-3g live systems lnk files log analysis log2timeline login logs london love notes lznt1 mac mac_apt macmini magnet magnet user summit mathias fuchs md viewer memorial day memory forensics metaspike mft mftecmd mhn microsoft milestones mimikatz missing features mlocate mobile devices mojave mount mtp multiboot usb mus mus 2019 mus2019 nccdc netanalysis netbios netflow new book new years eve new years resolutions nominations nosql notifications ntfs ntfsdisablelastaccessupdate nuc nw3c objectid offensive forensics office office 2016 office 365 oleg skilkin osx outlook outlook web access owa packetsled paladin path specification pdf perl persistence pfic plists posix powerforensics powerpoint powershell prefetch psexec py2exe pyewf pyinstaller python pytsk rallysecurity raw images rdp re-c re-creation testing reader project recipes recon recursive hashing recycle bin redteam regipy registry registry explorer registry recon regripper remote research reverse engineering rhel rootless runas sample images san diego SANS sans dfir summit saturday Saturday reading sbe sccm scrap files search server 2008 server 2008 r2 server 2012 server 2019 setmace setupapi sha1 shadowkit shadows shell items shellbags shimcache silv3rhorn skull canyon skype slow down smb solution solution saturday sop speed sponsors sqlite srum ssd stage 1 stories storport sunday funday swgde syscache system t2 takeout telemetry temporary files test kitchen thanksgiving threat intel timeline times timestamps timestomp timezone tool tool testing training transaction logs triage triforce truecrypt tsk tun naung tutorial typed paths typedpaths uac unc understanding unicorn unified logs unread updates usb usb detective usbstor user assist userassist usnjrnl validation vhd video video blog videopost vlive vmug vmware volatility vote vss web2.0 webcast webinar webmail weekend reading what are you missing what did they take what don't we know What I wish I knew whitfield windows windows 10 windows 2008 windows 7 windows forensics windows server winfe winfe lite wmi write head xboot xfs xways yarp yogesh zimmerman zone.identifier

Daily Blog #72: Understanding the artifacts Prefetch

Hello Reader,
            I hope you got some time off for the labor day weekend, I know I enjoyed my weekend. We have another forensic lunch coming up this Friday 9/6/13 at noon, make sure to let know you are coming to get the link as soon as it goes live here: https://plus.google.com/u/0/events/cjng3fsgmksiiubfs9h7f8dqb64?authkey=CLC4nKvk24GEZg. Today we continue the understanding series to talk about Prefetch files, I think I'm almost done.

To learn more about the data structures and the like of Prefetch files start here:

You can download a good prefetch parser from Tzworks here: https://www.tzworks.net/prototype_page.php?proto_id=1

I would like to think that all of us know what Prefetch files are, do and have our preferred tools for examining them. What you need to understand about Prefetch files is summarized below:

  • Determine first execution time of an executable referenced by this prefetch file
  • Determine last execution time of an executable referenced by this prefetch file
  • Determine the number of executions of an executable referenced by this prefetch file
  • What files and directories were loaded within the first few seconds of execution by this prefetch file
In terms of usage, which is our focus is in this series, we care most about what files and directories were loaded. Prefetch files get deleted after the maximum number of them exist (128 in xp/vista/7, 1024 in 8) with the oldest and not updated being deleted first and they get updated on each execution. There is one other caveat thats important to understand and highlighted in bold in the list above, prefetch files are not consolidated for an application like registry settings are. Here are a couple of examples
  • If a program is executed and not executed again until after 128 other program executions the old prefetch file will have been deleted and a new prefetch file will be created after. 
  • A prefetch is made for every program with a postfix on the filename that is a hash of the full path. 
  • If the prefetch files were deleted by a cleaning utility they would be regenerated on the next execution of the same program
We care mostly about identifying documents we care about being loaded on application start and the last time that the program executed. For instance lets say a copy or backup utility was running that provided us with no log or database of files being backed up. In those instances the paths fed into the program to copy may be located within the prefetch file. 

This is really helpful if the program in question is running from an external drive as its unique hash due to he external drive access will not be overwritten by any local versions of the same program.  If we have a program that has been executed multiple times and may be referencing files we care about then you should look into the shadow copies as they are also stored within them! 

Lastly Eric Zimmerman has reported that Windows 8 now has prefetch files on by default for all systems (ssd or not) and keeps up 1024 prefetch files. So with Windows 8 slowly being adopted you may have more prefetch files to analyze in your future then you had before!

Post a Comment


Author Name

Contact Form


Email *

Message *

Powered by Blogger.