@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 #92: Sunday Funday 9/22/13 Winner!

Hello Reader,
 This was a fun challenge, the clue here really was the specific version of OSX I referenced, 10.8 which added a new feature called 'Revert to Last Save' featured here: https://www.apple.com/osx/whats-new/features.html under Auto Save and detailed in the Apple support article here: https://support.apple.com/kb/HT4753. While there have been some interesting security writeups on this artifact we haven't found much forensic writeup on this feature. If you watched the Forensic Lunch on friday we even talked about this feature at the end of it. Of the submissions I received only one person clued into this feature and that was Dave Pawlak who submitted a very nice writeup that I'm attaching in this post.

The Challenge:
 Your suspect is running OSX 10.8 Mountain Lion, he has wiped a document from his system that you know was downloaded from his google drive that by his internet history name appears to be related to a business plan and ends with a iWork extension. Based on the recent items plists it would appear as though this document was edited on this system but there is no time machine backups.

What can you do recover any of the contents of this wiped document?

The Winning Answer:
 Dave Pawlak


@meatball4rensix


Here is the text of his answer:
 

Solution:
More recent versions of Mac OS X have a document revision directory which can be very significant to investigations.  The reason for their significance is not only due to the fact some document details can be recovered but because snapshots of documents are taken which can later be individually reviewed to allow the investigator a peek into the users mindset.

Using Terminal type sudo sh to enter a privileged user shell.  Enter your user password to grant access and follow along.


Change directories to root by typing cd / and pressing return.

To view a listing of hidden files type ls -alF.

We see a hidden directory titled “.DocumentRevisions-V100/”.  We know it’s hidden beca
use of the “.” preceding the directory name.

Change directories by typing cd .DocumentRevisions-V100/.

View the files in the directory by typing ls -alF.

The content we are looking for and hoping to find is buried in the PerUID directory.  Change directories by typing cd PerUID/.  The User ID (UID) relates to OS X security identifier like user ID system.  Rather than using the 1000 range of identifiers, Mac OS X assigns the first user the number 501.



Note: If there was more than one user account on the particular Mac OS X installation who has edited and saved a document expect to see more than one UID listed here.  My box currently has only one installed user account thus only one UID is present.  You can check the users on a Mac OS X system by entering a sudo shell and navigating to /private/var/db/dslocal/nodes/Default/users.

Change directories into the correct UID.  In this example we’ll use 501.  Type cd 501/ then press enter.  Type ls -alF to review the directory contents.

Here we see a number of files by changing the command to include a pipe through sort option by typing | sort we can arrange the output to be in some relative order.

Change directories to 13/ by typing cd 13/ and pressing enter.  List the directory contents and find the com.apple.documentVersions/ directory.

Change directories to com.apple.documentVersions/.  List the directory contents and see the file identified with a unique identifier containing a “.pages” file extension which is a
n iWork file extension.


Type open C03FD46F-0D9B-4440-81C5-89AD9EF7F70A.pages-tef/

Additionally, using the GUI you can navigate to:~/Library/Mobile Documents/com~apple~Pages/Documents or /iWork Previews

It’s possible the user has his/her iWork documents set to backup to iCloud.  In which case these locations may be fruitful.  In this case, a thumb from the iCloud interface could be located.  Clicking the file and pressing the spacebar to activate the quick look feature reveals the iCloud thumb.




You might also try carving for Apple Pages documents if it really came down to it.  Look for the file header “PK” which is /x50/x4B/x03/x04/x14/x00/x00/x00/x00/x00

The footer changes but it appears from limited testing the footer is “index.xmlPK” which is /x69/x6E/x64/x65/x78/x2E/x78/x6D/x6C/x50/4B followed by 14 bytes which are variable in value before the end of the file.  

Great work Dave! There is more here to know involving how to use the Sqlite db maintained by 'Versions' to match clusters stored to generational documents and we will talk about it during this weeks Forensic Lunch and in future blog posts!

Labels:

Post a Comment

[blogger][disqus][facebook][spotim]

Author Name

Contact Form

Name

Email *

Message *

Powered by Blogger.