<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cmdLabs</title>
	<atom:link href="http://blog.cmdlabs.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cmdlabs.com</link>
	<description></description>
	<lastBuildDate>Mon, 26 Sep 2011 15:29:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Winner of the DFRWS2011 Forensics Challenge Announced</title>
		<link>http://blog.cmdlabs.com/2011/09/26/winner-of-the-dfrws2011-forensic-challenge-announced/</link>
		<comments>http://blog.cmdlabs.com/2011/09/26/winner-of-the-dfrws2011-forensic-challenge-announced/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 15:24:01 +0000</pubDate>
		<dc:creator>Eoghan Casey</dc:creator>
				<category><![CDATA[Forensic Analysis]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Cell Phone Forensics]]></category>
		<category><![CDATA[Computer crime]]></category>
		<category><![CDATA[Computer Forensics]]></category>
		<category><![CDATA[Digital crime scene]]></category>
		<category><![CDATA[Digital evidence]]></category>
		<category><![CDATA[Digital Forensics]]></category>
		<category><![CDATA[Digital Investigation]]></category>
		<category><![CDATA[Embedded Databases]]></category>
		<category><![CDATA[Embedded Systems Analysis]]></category>
		<category><![CDATA[file system]]></category>
		<category><![CDATA[Flash memory]]></category>
		<category><![CDATA[Forensic science]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mobile Device Forensics]]></category>
		<category><![CDATA[NAND]]></category>
		<category><![CDATA[YAFFS2 file system]]></category>

		<guid isPermaLink="false">http://blog.cmdlabs.com/?p=385</guid>
		<description><![CDATA[This year Eoghan Casey worked with Tim Vidas at Carnegie Mellon University and Matthew Geiger at CERT to create the DFRWS Forensics Challenge in an effort to advance forensic analysis of Android mobile devices. The winners of the challenge were Ivo Pooters, Steffen Moorrees and Pascal Arends from Fox-IT. Their submission provides a suite of [...]]]></description>
			<content:encoded><![CDATA[<p><br clear=all>This year Eoghan Casey worked with Tim Vidas at Carnegie Mellon University and Matthew Geiger at CERT to create the DFRWS Forensics Challenge in an effort to advance forensic analysis of Android mobile devices. The winners of the challenge were Ivo Pooters, Steffen Moorrees and Pascal Arends from <a href="http://www.fox-it.com/">Fox-IT</a>. Their submission provides a suite of utilities written in Python for extracting information from data acquired from Flash memory on Android devices. Complete results are posted on the <a href="http://www.dfrws.org/2011/challenge/results.shtml">DFRWS Web site</a>.</p>
<p><br clear=all>The scenarios for the DFRWS 2011 Forensics Challenge were two seemingly unrelated crimes that turned out to be tightly linked with each other. The first scenario was a suspicious death and the goal of the investigation was to determine whether the victim killed himself or was murdered. The second scenario was an intellectual property theft case and the goal of the investigation was to document any evidence that intellectual property was stolen and to support termination of the suspected insider.</p>
<p><br clear=all>An interesting outcome of the challenge was that using dd to acquire data from the Android device in Scenario 1 did not copy the important information in out-of-band (OOB) areas of the YAFFS2 file system. As a result, it was not possible to reconstruct the file system. However, contestants were still able to carve out usable content from this data.</p>
<p><br clear=all>The winning submission provides a technical analysis of data structures found in memory dump from Android mobile devices and provides an Android analysis toolkit that extracts specific items and formats them in a report. Using this toolkit to perform a forensic examination of a full NAND dump of a YAFFS2 file system (such as in Scenario 2 of the DFRWS 2011 Forensics Challenge) first requires the file system to be mounted under Linux as an emulated Flash device (using nandsim).</p>
<p><br clear=all>A sample of the information extracted by the winners from the SQLite database located on the Android device in Scenario 2 (mtd8\data\com.android.providers.telephony\databases\mmssms.db) is provided here:</p>
<div>
<table border="1">
<tbody>
<tr>
<th>Address</th>
<th>date/time (UTC)</th>
<th>read</th>
<th>type</th>
<th>body</th>
</tr>
<tr>
<td>shandra@cheerful.com</td>
<td>05/06/2011 01:34:55 AM</td>
<td>True</td>
<td>in</td>
<td>(Nearby! Coming for my beer) Hey Yob, I am closing in on Fat Heads. See ya soon.</td>
</tr>
<tr>
<td>sms.dynadel@gmail.com</td>
<td>05/06/2011 05:53:30 PM</td>
<td>True</td>
<td>in</td>
<td>Reminder, planned IT outage this weekend. This maintenance window will start at 3 PM today and continue for approx 48 hours.</td>
</tr>
<tr>
<td>sms.dynadel@gmail.com</td>
<td>05/06/2011 05:55:16 PM</td>
<td>True</td>
<td>in</td>
<td>This effects external services such as website, email, webmail, and the ftp server. Use the secondary email access and helpdesk # for emergencies</td>
</tr>
<tr>
<td>shandra@cheerful.com</td>
<td>05/07/2011 11:39:16 PM</td>
<td>True</td>
<td>in</td>
<td>(Save me!) If Luke asks, I&#8217;m going out with you to dinner, OK?<br />
I just can&#8217;t face Mr. Smooth tonight.<br />
Shandra</td>
</tr>
<tr>
<td>6245</td>
<td>05/07/2011 11:44:27 PM</td>
<td>True</td>
<td>out</td>
<td>Sure thing. Do you know where the wine loft is?</td>
</tr>
<tr>
<td>6245</td>
<td>05/07/2011 11:54:37 PM</td>
<td>True</td>
<td>out</td>
<td>I ran into some friends at the double wide, meetup at 8:30 or so?</td>
</tr>
<tr>
<td>6245</td>
<td>05/07/2011 11:56:53 PM</td>
<td>True</td>
<td>out</td>
<td>Or you can walk down Carson and join us</td>
</tr>
</tbody>
</table>
</div>
<p><br clear=all>Much more information was extracted from both Android devices as detailed in the reports, which include an impressive <a href="http://sandbox.dfrws.org/2011/fox-it/DFRWS2011_results/Report/DFRWS%202011%20-%20timeline.png">graphical reconstruction </a>of events.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cmdlabs.com/2011/09/26/winner-of-the-dfrws2011-forensic-challenge-announced/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geolocational Log Analysis: Think Globally, Act Locally (with code)</title>
		<link>http://blog.cmdlabs.com/2011/06/02/geolocational-log-analysis-think-globally-act-locally-with-code/</link>
		<comments>http://blog.cmdlabs.com/2011/06/02/geolocational-log-analysis-think-globally-act-locally-with-code/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 19:44:23 +0000</pubDate>
		<dc:creator>Brian Baskin</dc:creator>
				<category><![CDATA[Forensic Analysis]]></category>
		<category><![CDATA[Log Analysis]]></category>

		<guid isPermaLink="false">http://blog.cmdlabs.com/?p=264</guid>
		<description><![CDATA[In many network environments the administrators and security engineers have an understanding of the full geographical scope and reach of their network. While some corporations have a global audience and expect traffic from the far reaches of the world, others are more localized and target a specific small region. A health care provider for Alaska [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight: normal;">In many network environments the administrators and security engineers have an understanding of the full geographical scope and reach of their network. While some corporations have a global audience and expect traffic from the far reaches of the world, others are more localized and target a specific small region.<br />
</span></p>
<p>A health care provider for Alaska would monitor its network connections to ensure that network connections are limited to its main source of users, i.e. those in Alaska. An insurance company in St. Louis will see mostly traffic from IP addresses in Missouri, but Illinois as well, due to the city  being on the state line.   Occasionally, administrators may notice connections being made from Hawaii, Bermuda, or Italy, signifying users who are on vacation but are still wired in to their work. However, a long-term series of connections from a Eircom subscriber, Ireland&#8217;s largest ISP, should spark interest to the network administrator of a Seattle tax firm.</p>
<p>While anonymous web connections from global addresses are common, specific attention should be paid to such addresses being used to access password-protected areas of a corporation. This could include remote file access, VPN and web-based corporate email.</p>
<p>In such cases the logs from these applications, usually supplied in plain text or W3C format, contain details about transactions to include the remote IP address and the account name being authorized. In reviewing logs from various incident responses cmdLabs has found details to show that a short log review made on a daily basis could help smaller corporations determine quickly if a user account was compromised and accessed from a remote location.</p>
<p>For example, the log sample below from a Cisco ASA tracks VPN connections. The user &#8220;cmdLabs\bbaskin&#8221; was accessed via the IP address of 159.134.100.100 on 2 April, 2011, an IP that was traced back to Ireland. A few hours later the same account was accessed from an IP address in Austria.</p>
<ul><code>Apr  2 21:53:37 192.168.1.1 Apr 02 2011 21: 53:08: %ASA-6-302013: Built outbound TCP connection 7823 for inside:10.10.10.50/389 (10.10.10.50/389) to NP Identity Ifc:192.168.1.1/1047 (192.168.1.1/1047)<br />
Apr  2 21:53:37 192.168.1.1 Apr 02 2011 21: 53:08: %ASA-6-1<br />
04: AAA user authentication Successful : server =  10.10.10.50 : user = cmdLabs\bbaskin<br />
Apr  2 21:53:37 192.168.1.1 Apr 02 2011 21: 53:08: %ASA-6-113009: AAA retrieved default group policy (DfltGrpPolicy) for user = cmdLabs\bbaskin<br />
Apr  2 21:53:37 192.168.1.1 Apr 02 2011 21: 53:08: %ASA-6-113008: AAA transaction status ACCEPT : user = cmdLabs\bbaskin<br />
Apr  2 21:53:37 192.168.1.1 Apr 02 2011 21: 53:08: %ASA-6-734001: DAP: User cmdLabs\bbaskin, Addr 159.134.100.100, Connection Clientless: The following DAP records were selected for this connection: DfltAccessPolicy</code></ul>
<p><span id="more-264"></span></p>
<p>For this small set of data it is trivial to query each IP address to determine its country of origin, netblock owner, and other details that would highlight unauthorized access. The problem arises when you have hundreds of thousands of such transactions in your daily log files.</p>
<p>One service that cmdLabs uses regularly is the <a href="http://www.team-cymru.org/Services/ip-to-asn.html" target="_blank">IP to ASN WHOIS server</a> run by Team Cymru. This server provides quick and easy access to country codes for a given IP address. However, it has two limitations: it requires Internet-access which is not readily available from a forensic workstation and to process a large bulk of IPs you have to use their Netcat process which only returns ASNs and not country codes.  To overcome these limitations I&#8217;ve developed a simple solution that could process hundreds of thousands of IP addresses to determine country codes.</p>
<p>This solution is a small Python script called IP2CC that takes an IP address as input and outputs the originating country code for that IP.  This solution requires three components:</p>
<ol>
<li>The free country code database located at <a href="http://www.maxmind.com/app/geolitecountry" target="_blank">http://www.maxmind.com/app/geolitecountry</a> (updated monthly)</li>
<li>Python API module to access this database located at <a href="http://code.google.com/p/pygeoip/" target="_blank">http://code.google.com/p/pygeoip/</a></li>
<li>The IP2CC.py script. Downloadable at the end of this blog post.</li>
</ol>
<p>The script allows for input to be given via the command line, stdin, or an input file. In normal use it will simply output the country code. With the –c or -t option the output will contain both the IP and country code in either a comma-separated version (CSV) or tab-separated (TSV) output, respectively.</p>
<ul><code>Python ip2cc.py –i &lt;ip&gt; -f &lt;input file&gt; [-c] [-t]</p>
<p>&gt; python ip2cc.py -i 11.11.11.11<br />
US</p>
<p>&gt; python ip2cc.py -i 22.22.22.22 -c<br />
22.22.22.22,US</p>
<p>&gt; echo 33.33.33.33 | python ip2cc.py<br />
US</p>
<p></code></p>
<p><code>&gt; python ip2cc.py -f IP.txt -c<br />
14.48.7.101,AU<br />
12.51.21.19,US<br />
10.61.14.9,Internal<br />
</code></ul>
<p>In one use, we’ll eliminate known intranet/extranet IP addresses and run the resulting list through IP2CC to produce a master list of foreign accesses. This script will run in Linux and OSX in conjunction with the native OS command line tools. For a Windows environment you will find additional capabilities by installing the necessary <a href="http://gnuwin32.sourceforge.net/" target="_blank">GnuWin32</a> components. For example, when reviewing a <a href="http://technet.microsoft.com/en-us/library/cc737651(WS.10).aspx" target="_blank">NCSA-formatted</a> log with the IP address in the first field:</p>
<ul><code>D:\&gt; type in051611.log | egrep –v “^192” | gawk “{print $1}” | python ip2cc.py -t | egrep –v “US|Internal” | gawk -F\t "{print $1}" | sort | uniq &gt; DailyForeignIPs.txt<br />
D:\&gt; for /F %i in (DailyForeignIPs.txt) do grep “%i” in051611.log &gt;&gt; DailyForeignConnections.txt</code></ul>
<p>The first command above will save a simple text listing of all unique foreign IP addresses into a file for processing. The second line takes each IP address from that resulting file and compares it back against the logs to extract all lines that include its presence. The resulting DailyForeignConnections.txt can then be quickly reviewed to determine if any accounts were accessed from a foreign IP address.</p>
<p>Dealing with the VPN logs shown earlier, we’ll change our command line a bit.  Using the standard <a href="http://www.cisco.com/en/US/docs/security/asa/asa72/system/message/logmsgs.html" target="_blank">Cisco log file index</a> as a source we can see that the log id of <a href="http://www.cisco.com/en/US/docs/security/asa/asa72/system/message/logmsgs.html#wp4887754" target="_blank">734001</a> will show us the remote IP address of a user login. We&#8217;ll search the log for that id and then parse out the IP address in the 15th field. An additional hindrance is that the IP address is appended with a comma, which we&#8217;ll remove with the &#8216;tr&#8217; command.</p>
<ul><code>D:\&gt; type asavpn-051611.log | findstr "734001" | gawk “$15 !~ /^192/ {print $15}” | tr -d "," | python ip2cc.py –t | egrep –v “US|Internal” | sort | uniq &gt; DailyVPNForeignIPs.txt</code></ul>
<p>This is ultimately just a very simple Python script. In-house, we use it as a mere function within larger processes, but its simplicity allows for it to be used in a variety of result-tuning processes. Customization is easy. At times I’ll make an offshoot of the script to process input from `uniq` command with the `-c` count option occasionally. The `uniq –c` adds a new column that specifies the total number of instances of that IP address which is useful when evaluating the persistence of a single IP amongst thousands. A few small changes to the Python will allow you to read this count and add it to the CSV output for easy integration into a spreadsheet.</p>
<p>Usage of a tool like IP2CC is a first step to opening an administrators eyes to traffic beyond their network. A good administrator or security engineer should monitor not only the traffic that flows across their network but also the perceived traffic that flows from a network&#8217;s outer nodes to the Internet. Monitoring for your company&#8217;s existence in spam black-lists, a malware rating on services like <a href="http://MyWOT.com" target="_blank">Web of Trust</a>, and other indicators can give clues that an infection or intrusion may be underway within your network. We&#8217;ll discuss these points, and others, in a future blog post.</p>
<p>Downloads:</p>
<p><a href="http://blog.cmdlabs.com/wp-content/uploads/2011/06/ip2cc.zip">IP2CC Python Source Code</a> v1.0</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cmdlabs.com/2011/06/02/geolocational-log-analysis-think-globally-act-locally-with-code/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Digital Evidence &amp; Computer Crime, 3rd Edition Released</title>
		<link>http://blog.cmdlabs.com/2011/05/31/digital-evidence-computer-crime-3rd-edition-released/</link>
		<comments>http://blog.cmdlabs.com/2011/05/31/digital-evidence-computer-crime-3rd-edition-released/#comments</comments>
		<pubDate>Tue, 31 May 2011 15:10:24 +0000</pubDate>
		<dc:creator>Eoghan Casey</dc:creator>
				<category><![CDATA[Forensic Analysis]]></category>
		<category><![CDATA[Mobile Device Forensics]]></category>
		<category><![CDATA[Cell Phone Forensics]]></category>
		<category><![CDATA[Computer crime]]></category>
		<category><![CDATA[Computer Forensics]]></category>
		<category><![CDATA[Digital crime scene]]></category>
		<category><![CDATA[Digital evidence]]></category>
		<category><![CDATA[Digital Forensics]]></category>
		<category><![CDATA[Digital Investigation]]></category>
		<category><![CDATA[FAT file system]]></category>
		<category><![CDATA[Forensic science]]></category>
		<category><![CDATA[Intrusion Investigation]]></category>
		<category><![CDATA[Investigating cyberstalking]]></category>
		<category><![CDATA[Investigating online sex offenders]]></category>
		<category><![CDATA[Linux file systems]]></category>
		<category><![CDATA[Mac Forensic Analysis]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[Network Forensics]]></category>
		<category><![CDATA[NTFS file system]]></category>
		<category><![CDATA[scientific method]]></category>
		<category><![CDATA[timestamps]]></category>
		<category><![CDATA[UNIX file systems]]></category>
		<category><![CDATA[UNIX Forensic Analysis]]></category>
		<category><![CDATA[Violent crime investigation]]></category>
		<category><![CDATA[Windows Forensic Analysis]]></category>

		<guid isPermaLink="false">http://blog.cmdlabs.com/?p=356</guid>
		<description><![CDATA[After six years of work, the expanded and updated third edition of Digital Evidence and Computer Crime: Forensic Science, Computers and the Internet is now complete. The 800 printed pages and one online chapter cover the methods and tools relevant to incident responders, forensic analysts, police and lawyers. This book is divided into five parts, [...]]]></description>
			<content:encoded><![CDATA[<p>After six years of work, the expanded and updated third edition of <a href="http://www.amazon.com/gp/product/0123742684?ie=UTF8&amp;tag=wwwcmdlabscom-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0121631044">Digital Evidence and Computer Crime: Forensic Science, Computers and the Internet</a> is now complete. The 800 printed pages and one online chapter cover the methods and tools relevant to incident responders, forensic analysts, police and lawyers.</p>
<p><center></p>
<p><div id="attachment_357" class="wp-caption aligncenter" style="width: 248px"><a href="http://www.amazon.com/gp/product/0123742684?ie=UTF8&amp;tag=wwwcmdlabscom-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0121631044"><img src="http://blog.cmdlabs.com/wp-content/uploads/2011/05/Casey-DECC3e.png" alt="Eoghan Casey - Digital Evidence &amp; Computer Crime, 3rd Edition" title="Casey DECC3e" width="238" height="298" class="size-full wp-image-357" /></a><p class="wp-caption-text">Eoghan Casey - Digital Evidence &#038; Computer Crime, 3rd Edition</p></div><br />
</center></p>
<p>This book is divided into five parts, beginning with the fundamental concepts and legal issues relating to digital evidence and computer crime in Part 1 (Digital Forensics: Chapters 1 – 5). Part 2 of this text (Digital Investigations: Chapters 6 – 9) covers investigative aspects of digital evidence and computer crime. Part 3 of this text (Apprehending Offenders: Chapters 10 &#8211; 14) deals with specific types of investigations with a focus on apprehending offenders, including Violent Crime in Chapter 10, Sex Offenders on the Internet in Chapter 12 and Investigating Computer Intrusions in Chapter 13. Part 4 of this book (Computer Forensics: Chapters 15 &#8211; 20) begins by introducing basic Forensic Science concepts in the context of a single computer, and goes on to apply these concepts in updated chapters dedicated to networked Windows, Unix, and Macintosh computers and mobile devices. Part 5 (Network Forensics: Chapters 21 – 25) covers computer networks from an investigative perspective, focusing specifically on the Internet and performing forensic analysis on network logs and traffic.</p>
<p><br clear=all>
<p>This material provides the foundation for the more advanced companion text, the <a href="http://blog.cmdlabs.com/2010/02/03/handbook-of-digital-forensics-and-investigation-released/">Handbook of Digital Forensics and Investigation</a>.</p>
<p><br clear=all>
<p>Many thanks to <a href="http://www.udayton.edu/law/faculty_and_staff/brenner_susan.php">Susan Brenner</a>, <a href="http://www.cmdlabs.com/Christopher_Daywalt.aspx">Christopher Daywalt</a>, <a href="http://www.techforensicexperts.com/53/index.html">Monique Mattei Ferraro</a>, <a href="http://www.tilburguniversity.edu/webwijs/show/?uid=e.j.koops">Bert-Jaap Koops</a>, <a href="http://www.cmdlabs.com/Terrance_Maguire.aspx">Terrance Maguire</a>, Mike McGrath, Tessa Robinson, <a href="http://www.schatzforensic.com.au/">Bradley Schatz</a>, Ben Turnbull and <a href="http://www.corpus-delicti.com/brent/brent_cv.html">Brent Turvey</a> for their excellent contributions to this textbook.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cmdlabs.com/2011/05/31/digital-evidence-computer-crime-3rd-edition-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Salvaging Digital Video Fragments</title>
		<link>http://blog.cmdlabs.com/2011/05/30/salvaging-digital-video-fragments/</link>
		<comments>http://blog.cmdlabs.com/2011/05/30/salvaging-digital-video-fragments/#comments</comments>
		<pubDate>Mon, 30 May 2011 20:06:30 +0000</pubDate>
		<dc:creator>Eoghan Casey</dc:creator>
				<category><![CDATA[Forensic Analysis]]></category>
		<category><![CDATA[Mobile Device Forensics]]></category>
		<category><![CDATA[Tool Validation]]></category>

		<guid isPermaLink="false">http://blog.cmdlabs.com/?p=324</guid>
		<description><![CDATA[Digital video is becoming a more common form of digital evidence with the increasing prevalence of video in computers, mobile devices and cameras. Digital cameras can create high quality videos, most smart phones can create videos, and the iPad2 has two cameras that can create videos. The videos created by such digital devices can be [...]]]></description>
			<content:encoded><![CDATA[<p>Digital video is becoming a more common form of digital evidence with the increasing prevalence of video in computers, mobile devices and cameras. Digital cameras can create high quality videos, most smart phones can create videos, and the iPad2 has two cameras that can create videos. The videos created by such digital devices can be stored on removable storage media and on the devices themselves. Frequent creation and deletion of videos on these kinds of devices can result in fragments of deleted video clips that most file carving tools cannot salvage. In addition, when dealing with Flash memory dumps acquired from mobile devices, data at the physical level is often fragmented. Specialized methods and tools are needed to salvage deleted video fragments as demonstrated in this article using the contents of Flash memory acquired from a Motorola V3 (RAZR) mobile device.</p>
<p><br clear=all><br />
<h3>File Carving Limitations</h3>
<p>Most file carving tools require a known file header in order to salvage deleted data. For instance, to recover a deleted 3gp file, most carving tools look for the file headers such as the following.</p>
<p><center><br clear=all><b>Hex view of 3gp header in the Motorola V3 Flash memory dump</b><br />
<a href="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image001.png"><img src="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image001.png" alt="" title="image001" width="615" height="220" class="aligncenter size-full wp-image-325" /></a><br />
</center><br />
<br clear=all>
<p>If the file is fragmented or the header is missing, the file carving approach will not salvage the deleted video successfully. In this example, a file carving tool that searched the Motorola V3 memory dump for several 3gp header signatures found two files in as shown in the audit log: </p>
<ul>
<pre>
05/24/2011, 11:26:35
QuickTime 3GP (3gp), header: ftypisom
QuickTime 3GP (3gp), header: ftyp3gp
QuickTime 3GP (3gp), header: ftypmmp4
Default file size: 1024 KB
Maximum file size: 100 times (individual file type definition defaults sizes respected)

E:\Physical GSM Motorola V3 RAZR\Flex Partition 1140000-1fe0000.bin
Scope: 000000 - E9FFFF
Extensive byte-level search

9D0E80 - AD0E7F: 00001.3gp
B888F0 - C888EF: 00002.3gp

05/24/2011, 11:26:35
2 file headers were found. 2 files were retrieved.
</pre>
</ul>
<p><br clear=all>
<p>However, the salvaged files were invalid because the original files were fragmented. Furthermore, the names and directory paths of these files were not obtained using this method, demonstrating a further limitation of file carving. </p>
<p><br clear=all><br />
<h3>Salvaging Video Fragments</h3>
<p>When video files are fragmented, it is necessary to consider the video file format in more detail. Fortunately, many digital video formats have a structure that can be used to find and salvage individual frames. A frame is a discrete section of the video that can have a timecode or sequence number and other characteristics that can be useful for salvaging digital video clips.</p>
<p><br clear=all>
<p>The <a href="http://defraser.sourceforge.net/">defraser</a> tool can be used to identify frames for several video formats in a forensic duplicate of any piece of storage media, including a removable storage card, computer hard drive and Flash dump from a mobile device. The following screenshot shows defraser used to detect video related data in the Motorola V3 memory dump.</p>
<p><center><br clear=all>
<p><b>Defraser showing video related data in the Motorola V3 memory dump</b><br />
<a href="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image003.png"><img src="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image003.png" alt="" title="Defraser" width="837" height="573" class="aligncenter size-full wp-image-326" /></a></center></p>
<p><br clear=all>
<p>Although the defraser tool does not automatically piece together the frames into a video that can be played, it does make the frames available for manual reconstruction. With some effort, defraser may be used to combine fragmented frames into a valid video file that can be played. </p>
<p><br clear=all>
<p>As with file carving methods that rely on header signatures, the carving methods employed by defraser do not provide the filenames and directory path of salvaged video data in the context of the original file system. </p>
<p><br clear=all><br />
<h3>File System Reconstruction</h3>
<p>Ultimately, the most effective approach to extracting digital video files from acquired digital evidence such as a Flash memory dump from mobile device is to reconstruct the logical arrangement of data. On mobile devices, this logical structure involves the flash abstraction layer and file system. Using mobile device forensic tools such as <a href="http://www.cellebrite.com">Cellebrite Physical</a> and <a href="http://www.msab.com">XRY</a>, it is possible to reconstruct and review logical file structure of a Flash memory dump as shown below with a 3gp video stored in an MMS related file in the Motorola V3 memory dump. Note that different tools may interpret the logical structure differently and show more files and folders, clearly demonstrating the importance of validating the results of forensic examination tools.</p>
<p><center><br clear=all>
<p><b>XRY/XACT showing the logical file system in the Motorola V3 memory dump</b><br />
<a href="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image005.png"><img src="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image005.png" alt="" title="XACT" width="840" height="678" class="aligncenter size-full wp-image-329" /></a></center></p>
<p><center><br clear=all>
<p><b>Cellebrite Physical showing the logical file system in the Motorola V3 memory dump</b><br />
<a href="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image007.png"><img src="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image007.png" alt="" title="Cellebrite" width="857" height="799" class="aligncenter size-full wp-image-327" /></a><br />
</center><br />
<br clear=all>
<p>Extracting the MMS file using such a mobile device forensic tool and extracting the video content as discussed in the “<a href="http://blog.cmdlabs.com/2009/12/10/delving-into-mobile-device-file-systems/">Delving into Mobile Device File Systems</a>” blog post results in a 3gp file that can be played using VLC media player.</p>
<p><center><br clear=all>
<p><b>Playing salvaged digital video using VLC Player</b><br />
<a href="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image009.png"><img src="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image009.png" alt="" title="Recovered Video" width="435" height="367" class="aligncenter size-full wp-image-328" /></a></center></p>
<p><br clear=all><br />
<h3>Examination of Salvaged Video</h3>
<p>After salvaging digital video files it is important to review the resulting data closely for potential anomalies. For instance, using <a href="http://mediainfo.sourceforge.net">MediaInfo</a> to extract metadata from video files shows details related to its creation and format. The following screenshot shows metadata from a 3gp video extracted from the Motorola V3 memory dump, revealing that the embedded date-time stamp was set to an incorrect date. </p>
<p><center><br clear=all>
<p><b>Metadata within a 3gp video displayed using MediaInfo</b><br />
<a href="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image011.png"><img src="http://blog.cmdlabs.com/wp-content/uploads/2011/05/image011.png" alt="" title="MediaInfo" width="445" height="347" class="aligncenter size-full wp-image-332" /></a></center></p>
<p><br clear=all>
<p>In addition, reviewing individual frames within a salvaged video file can reveal anomalies such as portions of two unrelated videos being combined into one salvage file. The following screenshot shows frames extracted from a 3gp file using <a href="http://video-validator.sourceforge.net/">DCCI Video Validator</a> revealing footage from two unrelated video files.</p>
<p><center><br clear=all>
<p><b>Frames extracted from digital video using DCCI Video Validator</b><br />
<a href="http://blog.cmdlabs.com/wp-content/uploads/2011/05/VideoValidator.png"><img src="http://blog.cmdlabs.com/wp-content/uploads/2011/05/VideoValidator.png" alt="" title="VideoValidator" width="1035" height="656" class="aligncenter size-full wp-image-339" /></a></center></p>
<p><br clear=all><br />
<h3>Conclusions</h3>
<p>When a video file is fragmented or the header of a video file is overwritten, carving methods that rely on header signatures and contiguous files will not salvage video files successfully and may even incorrectly combine unrelated video fragments into a single file or fail to detect the presence of video content altogether. However, using specialized tools such as defraser, a digital investigator may be able to salvage fragments of video files and piece them together into a valid video file. This process of reconstructing video fragments is time consuming and error prone, particularly when dealing with numerous video files on a single piece of storage media or mobile device. Therefore, whenever feasible, it is preferable to reconstruct the logical arrangement of data to extract the complete content of video files. Whichever method is most effective for salvaging digital video, it is important to examine the results closely to ensure the accuracy and completeness of the resulting videos. Such a review includes inspecting embedded metadata for anomalies and reviewing keyframes for possible fragments of unrelated video footage.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cmdlabs.com/2011/05/30/salvaging-digital-video-fragments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Winner of the DFRWS2010 Forensic Challenge Announced</title>
		<link>http://blog.cmdlabs.com/2010/08/30/winner-of-the-dfrws2010-forensic-challenge-announced/</link>
		<comments>http://blog.cmdlabs.com/2010/08/30/winner-of-the-dfrws2010-forensic-challenge-announced/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 15:53:25 +0000</pubDate>
		<dc:creator>Eoghan Casey</dc:creator>
				<category><![CDATA[Mobile Device Forensics]]></category>
		<category><![CDATA[Tool Validation]]></category>
		<category><![CDATA[Cell Phone Forensics]]></category>
		<category><![CDATA[Flash memory]]></category>
		<category><![CDATA[NAND]]></category>
		<category><![CDATA[NOR]]></category>
		<category><![CDATA[Physical Memory Analysis]]></category>

		<guid isPermaLink="false">http://blog.cmdlabs.com/?p=249</guid>
		<description><![CDATA[This year Eoghan Casey collaborated with the Netherlands Forensic Institute to create the DFRWS Forensic Challenge in an effort to advance forensic analysis of Flash memory in mobile devices. The winner of the challenge was Solal Jacob who used the open source Digital Forensic Framework, and provides some new modules specifically for parsing memory dumps [...]]]></description>
			<content:encoded><![CDATA[<p>This year Eoghan Casey collaborated with the <a href="http://www.forensicinstitute.nl/">Netherlands Forensic Institute</a> to create the DFRWS Forensic Challenge in an effort to advance forensic analysis of Flash memory in mobile devices. The winner of the challenge was Solal Jacob who used the open source <a href="http://www.digital-forensic.org">Digital Forensic Framework</a>, and provides some new modules specifically for parsing memory dumps of Sony Ericsson K800i devices. Complete results are posted on the <a href="http://www.dfrws.org/2010/challenge/results.shtml">DFRWS Web site</a>.</p>
<p><br clear=all>The scenario for the DFRWS2010 Forensic Challenge involves an arms dealer named Monsieur Victor (a.k.a. &#8220;The General&#8221;) who was apprehended in the Netherlands and threw Sony Ericsson K800i in a nearby canal. The Netherlands Forensic Institute acquired data from NAND and NOR chips in the water damaged mobile device using Memory toolkit. The goal of the challenge is to recover leads relating to front companies, bank accounts and cohorts.</p>
<p><br clear=all>The winning submission provides a technical analysis of data structures found in memory dump from a Sony Ericsson K800i mobile device and provides DFF plug-ins that recover wear-leveling tables, enabling a forensic analyst to reconstruct the flash abstraction layer as shown here.</p>
<p><br clear=all>
<p style="text-align: center;">
<a href="http://blog.cmdlabs.com/wp-content/uploads/2010/08/ftl-reconstruction.png"><img class="aligncenter size-full wp-image-251" title="ftl-reconstruction" src="http://blog.cmdlabs.com/wp-content/uploads/2010/08/ftl-reconstruction.png" alt="" width="718" height="366" /></a></p>
<p><br clear=all><br />
Once the desired state of memory has been reconstructed, the DFF tool can be used to interpret the partition table and file systems on the mobile device as shown here.</p>
<p style="text-align: center;">
<a href="http://blog.cmdlabs.com/wp-content/uploads/2010/08/parse-filesystem.png"><img class="aligncenter size-full wp-image-252" title="parse-filesystem" src="http://blog.cmdlabs.com/wp-content/uploads/2010/08/parse-filesystem.png" alt="" width="694" height="412" /></a></p>
<p><br clear=all><br />
The resulting logical view show metadata associated with files and folders, including deleted items.</p>
<p style="text-align: center;"><a href="http://blog.cmdlabs.com/wp-content/uploads/2010/08/file-system-deleted.png"><img class="aligncenter size-full wp-image-253" title="file-system-deleted" src="http://blog.cmdlabs.com/wp-content/uploads/2010/08/file-system-deleted.png" alt="" width="863" height="461" /></a></p>
<p><br clear=all><br />
In addition, digital photographs recovered from mobile device memory can be previewed using the DFF as shown here.</p>
<p style="text-align: center;"><a href="http://blog.cmdlabs.com/wp-content/uploads/2010/08/photo-thumbs.png"><img class="aligncenter size-full wp-image-254" title="photo-thumbs" src="http://blog.cmdlabs.com/wp-content/uploads/2010/08/photo-thumbs.png" alt="" width="818" height="408" /></a></p>
<p><br clear=all>An interesting outcome of the challenge was that several contestants were able to extract substantial amounts of information from the physical memory dumps without understanding the logical arrangement of blocks or the file system. The implication is that, once full physical dumps of NAND and/or NOR memory are obtained from a mobile device, simple text extraction and file carving techniques can provide significant amounts of useful information, including deleted data.</p>
<p><br clear=all><br />
A logical acquisition created using Microsystemation’s XRY mobile device forensic tool is now available to facilitate further development such as interpretation of foreign characters. As an example, the logical view of SMS messages on the device used in the DFRWS2010 Forensic Challenge is shown here.<br />
<br clear=all><br />
<a href="http://blog.cmdlabs.com/wp-content/uploads/2010/08/XRY-logical.png"><img class="aligncenter size-full wp-image-250" title="XRY-logical" src="http://blog.cmdlabs.com/wp-content/uploads/2010/08/XRY-logical.png" alt="" width="686" height="459" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cmdlabs.com/2010/08/30/winner-of-the-dfrws2010-forensic-challenge-announced/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Advances in Windows Mobile Forensics</title>
		<link>http://blog.cmdlabs.com/2010/08/29/advances-in-windows-mobile-forensics/</link>
		<comments>http://blog.cmdlabs.com/2010/08/29/advances-in-windows-mobile-forensics/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 17:25:09 +0000</pubDate>
		<dc:creator>Eoghan Casey</dc:creator>
				<category><![CDATA[Mobile Device Forensics]]></category>
		<category><![CDATA[Cell Phone Forensics]]></category>
		<category><![CDATA[Embedded Databases]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Windows Mobile Forensics]]></category>

		<guid isPermaLink="false">http://blog.cmdlabs.com/?p=207</guid>
		<description><![CDATA[Recent research into important file formats on Windows Mobile devices has led to a breakthrough in mobile device forensics. Our improved understanding of the proprietary Microsoft embedded database format enables us to recover all available data from files such as cemail.vol, including deleted items. The papers and associated tools detailing these advances in Windows Mobile [...]]]></description>
			<content:encoded><![CDATA[<p>Recent research into important file formats on Windows Mobile devices has led to a breakthrough in mobile device forensics. Our improved understanding of the proprietary Microsoft embedded database format enables us to recover all available data from files such as cemail.vol, including deleted items.<br />
<br />
The papers and associated tools detailing these advances in Windows Mobile forensic analysis are published in the <a href="http://www.digitalinvestigation.net">Journal of Digital Investigation</a>. The most recent special issue on forensic analysis of embedded systems contains two papers: <em>Introduction to Windows Mobile Forensics</em> and <em>Windows Mobile Advanced Forensics</em>.<br />
<br />
<em>Introduction to Windows Mobile Forensics</em> by Eoghan Casey, Michael Bann and John Doyle covers the fundamentals of Windows Mobile systems, embedded database formats and tools for acquiring and examining these systems in a forensic context. A table from this paper is provided here, listing potentially useful sources of evidence on Windows Mobile devices.</p>
<p style="text-align: center;"><a href="http://blog.cmdlabs.com/wp-content/uploads/2010/08/Table.jpg"><img class="aligncenter size-full wp-image-208" title="Table 1" src="http://blog.cmdlabs.com/wp-content/uploads/2010/08/Table.jpg" alt="" width="822" height="377" /></a></p>
<p style="text-align: center;">
<p><br clear=all><em>Windows Mobile Advanced Forensics</em> by Coert Klaver from the Netherlands Forensic Institute provides in-depth technical details about embedded database formats and tools for acquiring and examining this information. The author developed tools for interpreting data in embedded databases acquired from Windows Mobile devices, including deleted items.</p>
<p><br clear=all>An upcoming issues of the Journal of Digital Investigation contains the paper <em>Windows Mobile Advanced Forensics: An Alternative to Existing Tools</em> by Cpt. Frédérick Rehault from the French National Gendarmerie. The author developed custom boot loaders and file parsing tools to extract the maximum amount of information available from Windows Mobile devices. A small sample of the very detailed output from one customized tool is provided below, showing interpreted fields extracted from a text message in cemail.vol along with the location of associated content in the file system.</p>
<ul>
<code>[ MESSAGE ] &lt;&lt;&lt;&lt; VISIBLE &gt;&gt;&gt;&gt;<br />
Message Class : :  IPM.SMStext<br />
Message Flag (1:Read; 0:Unread) : 0x00000028<br />
Subject :  Love you too. Cant wait to see you tomorrow!<br />
Msg Status : 0x00040000 : SMS<br />
Delivery Time 2009-05-15 04:53:54<br />
Sender Email Address :  14435551212<br />
Sender Name :  14435551212<br />
Last Modification Date 2009-05-15 04:53:55<br />
Recipient Info: address &amp; name :   t£ lT SMS14105551212Steven…</p>
<p>-- Message Content Location --<br />
NORMALLY Stored in "\Windows\Messaging\ 453a000a xxxxxxxx.mpb "<br />
</code>
</ul>
<p>The tool also extracts the raw database record as shown here with all of the internal database fields:</p>
<ul>
<code>*************************************************************<br />
[ DEBUG ]: Found RECORD HEADER at Offset 0x000b7e9c</code></p>
<p><code>[ DEBUG ]: hRecord 		= 0x00000a47<br />
[ DEBUG ]: hDBHandle 		= 0x00000060<br />
[ DEBUG ]: DataRecordSize		= 0x00b8<br />
[ DEBUG ]: CompDataRecordSize	= 0x009e<br />
[ DEBUG ]: Nb Props found = 12<br />
[ DEBUG ]: Flag 		= 0x4000 : Data might be compressed</p>
<p>00000000 45 0a 00 3a a0 00 00 00   0f 00 00 31 28 00 00 00   |E..:.......1(...|<br />
00000010 00 00 b0 25 58 00 4c 00   6f 00 76 00 65 00 20 00   |...%X.L.o.v.e. .|<br />
00000020 79 00 6f 00 75 00 20 00   74 00 6f 00 6f 00 2e 00   |y.o.u. .t.o.o...|<br />
00000030 20 00 43 00 61 00 6e 00   74 00 20 00 77 00 61 00   | .C.a.n.t. .w.a.|<br />
00000040 69 00 74 00 20 00 74 00   6f 00 20 00 73 00 65 00   |i.t. .t.o. .s.e.|<br />
00000050 65 00 20 00 79 00 6f 00   75 00 20 00 74 00 6f 00   |e. .y.o.u. .t.o.|<br />
00000060 6d 00 6f 00 72 00 72 00   6f 00 77 00 21 00 34 00   |m.o.r.r.o.w.!.4.|<br />
00000070 00 00 04 00 00 9d b0 25   19 d5 c9 01 16 00 31 00   |.......%......1.|<br />
00000080 34 00 34 00 33 00 35 00   35 00 35 00 31 00 32 00   |4.4.3.5.5.5.1.2.|<br />
00000090 31 00 32 00 16 00 31 00   34 00 34 00 33 00 35 00   |1.2…1.4.4.3.5.|<br />
000000a0 35 00 35 00 31 00 32 00   31 00 32 00 80 33 49 26   |5.5.1.2.1.2..3I&amp;|<br />
000000b0 19 d5 c9 01 47 0a 00 3b                             |....G..;|</p>
<p>+ List of properties in record:<br />
-- PropID[ 0 ] = 0x80050013 UI4 : 0x3a000a45<br />
-- PropID[ 1 ] = 0x80110013 UI4 : 0x000000a0<br />
-- PropID[ 2 ] = 0x001a0013 UI4 : 0x3100000f<br />
-- PropID[ 3 ] = 0x0e070013 UI4 : 0x00000028<br />
-- PropID[ 4 ] = 0x003d001f LPWSTR :<br />
-- PropID[ 5 ] = 0x0037001f LPWSTR : Love you too. Cant wait to see you tomorrow!<br />
-- PropID[ 6 ] = 0x0e170013 UI4 : 0x00040000<br />
-- PropID[ 7 ] = 0x0e060040 FILETIME 0x1c9d51925b09d00<br />
-- PropID[ 8 ] = 0x0c1f001f LPWSTR : 14435551212<br />
-- PropID[ 9 ] = 0x0c1a001f LPWSTR : 14435551212<br />
-- PropID[ 10 ] = 0x30080040 FILETIME 0x1c9d51926493380<br />
-- PropID[ 11 ] = 0x80010013 UI4 : 0x3b000a47</p>
<p></code></p>
</ul>
<p><br clear=all>cmdLabs covers forensic analysis of Windows Mobile and other mobile devices in the course we develop and teach for SANS (<a href="http://www.sans.org/security-training/mobile-device-forensics-4367-tid">FOR563 &#8211; Mobile Device Forensics</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cmdlabs.com/2010/08/29/advances-in-windows-mobile-forensics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Pitfalls of File Initialization for Forensic Analysts</title>
		<link>http://blog.cmdlabs.com/2010/03/17/the-pitfalls-of-file-initialization-for-forensic-analysts/</link>
		<comments>http://blog.cmdlabs.com/2010/03/17/the-pitfalls-of-file-initialization-for-forensic-analysts/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 14:07:11 +0000</pubDate>
		<dc:creator>Eoghan Casey</dc:creator>
				<category><![CDATA[Forensic Analysis]]></category>
		<category><![CDATA[Digital Forensics]]></category>
		<category><![CDATA[file system]]></category>
		<category><![CDATA[NTFS]]></category>

		<guid isPermaLink="false">http://blog.cmdlabs.com/?p=157</guid>
		<description><![CDATA[File initialization is a normal Windows file system behavior that can create problems for forensic analysts. We have encountered file initialization behaviors in a number of cases and find that it creates significant confusion if the underlying cause is not understood. In several cases, incomplete file initialization was misinterpret as backdating, and in another matter [...]]]></description>
			<content:encoded><![CDATA[<p>File initialization is a normal Windows file system behavior that can create problems for forensic analysts. We have encountered file initialization behaviors in a number of cases and find that it creates significant confusion if the underlying cause is not understood. In several cases, incomplete file initialization was misinterpret as backdating, and in another matter it hampered data salvaging efforts.<br />
<br clear=all><strong>  File Initialization</strong><br />
File initialization is a process that Microsoft Windows uses when creating a new file system entry. Basically, when a new file is being created, an appropriate amount of unallocated space is  reserved for the data that will be stored in the new file. Under certain circumstances, the storage space reserved for the new file may not be used in its entirety, or at all.</p>
<p><br clear=all>When only a portion of the disk space that was reserved for a new file is used to store data associated with that file, this leaves a discrepancy between the logical file size and the actual amount of data stored in the file. As a result, you can have a file that appears to have a logical size larger than the actual amount of data stored for that file. The space between the end of valid data and the end of file is called uninitialized space.</p>
<ul><em>&#8220;In NTFS, there are two important concepts of file length: the End of File (EOF) marker and the Valid Data Length (VDL). The EOF indicates the actual length of the file. The VDL identifies the length of valid data on disk. Any reads between VDL and EOF automatically return 0 in order to preserve the C2 object reuse requirement.&#8221; </em>(<a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/fsutil_file.mspx">Microsoft fsutil documentation</a>)</ul>
<p>  </p>
<p>Uninitialized space is similar in concept to file slack except that it is contained within the logical file size. Unlike file slack which is no longer associated with a file, data in uninitialized space is in a kind of limbo, trapped at the end of an allocated file but not actually part of that file. </p>
<p><center><img src="http://blog.cmdlabs.com/wp-content/uploads/2010/03/UninitializedDiagram.jpg" alt="Uninitialized Diagram" title="Uninitialized Diagram" width="565" height="223" class="aligncenter size-full wp-image-158" /></center></p>
<p><center><strong>Figure</strong>: Diagram of file with a logical size that is larger than its valid data length, leaving uninitialized space</center></p>
<p><br clear=all>The effect of file initialization behaviors are most easily demonstrated on Windows XP with fsutil as shown here. First, we create a new file that can contain 1024 bytes: </p>
<ul><code>C:\Test>fsutil file createnew cmdLabs-setvaliddata 1024<br />
File C:\Test\cmdLabs-setvaliddata is created<br />
</code></ul>
<p><br clear=all>Then we set the valid data length of the new file to 1000 bytes, which leaves 24 bytes unused at the end of the file.</p>
<ul>
<code>C:\Test>fsutil file setvaliddata cmdLabs-setvaliddata 1000 <br />
Valid data length is changed</code>
</ul>
<p>NTFS captures the difference between logical file size and valid data length in two MFT fields as shown here:<br />
<br clear=all><br />
<center><img src="http://blog.cmdlabs.com/wp-content/uploads/2010/03/UninitializedMFT.jpg" alt="MFT Entry" title="MFT Entry" width="617" height="482" class="aligncenter size-full wp-image-193" /></center><br />
<center><strong>Figure:</strong>MFT entry with logical size and valid data length viewed using X-Ways Forensics</center></p>
<p><br clear=all><br />
<strong>Salvaging Data from File System Limbo</strong><br />
The significance of this from a forensic analysis standpoint is that a file with a valid data length smaller than the logical file size can contain data associated with two files: data associated with the new file (VDL bytes), and data from the old file in uninitialized space (logical file size &#8211; VDL bytes). </p>
<p><br clear=all><br />
From a forensic analysis perspective, this uninitialized space can be beneficial. While various disk cleaning utilities can be configured to wipe file slack, they generally do not touch data in uninitialized space. As a result, deleted data can remain in uninitialized space indefinitely, even despite data destruction efforts, and can be salvaged by forensic analysts.</p>
<p><br clear=all><br />
However, this arrangement of data can create complications for forensic analysts, particularly when dealing with larger files that have substantial amounts of uninitialized space. For instance, when carving for certain file types, it is common to export unallocated space. However, any data in uninitialized space will not be included in unallocated space. Similarly, when performing keyword searches, a forensic analyst could incorrectly attribute a hit in the uninitialized space with the new file.</p>
<p><br clear=all><br />
In one case, several approaches were employed in an effort to salvage video fragments:</p>
<ul>
<li>examined deleted video files still referenced by file system</li>
<li>performed file carving on unallocated space only</li>
<li>processed file slack only for fragments of video files</li>
</ul>
<p>None of these approaches recovered videos from a time period of interest. It was not until we conducted a forensic analysis of uninitialized space that additional video fragment were found.</p>
<p><br clear=all><br />
<strong>Misinterpreting Normal File System Behavior as Backdating </strong><br />
Another complication from a forensic analysis standpoint arises when the file creation process is interrupted before the contents of the file is written to disk, because the new file system entry will point to a cluster that still contains data associated with an older file. When this occurs and a date can be associated with the older file, forensic analysts might think that a newer file was overwritten by an older one. This phenomenon can be misinterpreted as evidence of backdating.</p>
<p><br clear=all>As an example, consider a newly created file that has not been initialized and has not had any associated data saved to disk as shown here using fsutil:</p>
<ul>
<code>C:\Test>fsutil file createnew cmdLabs-creatnew 1024<br />
File C:\Test\cmdLabs-creatnew is created<br />
</code>
</ul>
<p><br clear=all> When a file is initialized but the associated contents was not written to disk, the initialized file system entry may point to a cluster that contains old data as shown below using EnCase. By default, EnCase shows uninitialized space in blue text. The cluster that was allocated to the new file “cmdLabs-createnew” contains older data (folder entries of files from earlier in January).<br />
  </p>
<p><img src="http://blog.cmdlabs.com/wp-content/uploads/2010/03/fsutils-fileinit.bmp" alt="fsutils file initialization example" title="fsutils file initialization example" class="aligncenter size-full wp-image-147" /></p>
<p><center><strong>Figure</strong>: EnCase showing folder entries from early January in the cluster allocated to the new initialized file system entry</center></p>
<p><br clear=all>This situation can be misinterpreted as backdating if the forensic analyst assumes that the clock had to be set back to the old date when the file contents was saved to disk.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cmdlabs.com/2010/03/17/the-pitfalls-of-file-initialization-for-forensic-analysts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Handbook of Digital Forensics and Investigation Released</title>
		<link>http://blog.cmdlabs.com/2010/02/03/handbook-of-digital-forensics-and-investigation-released/</link>
		<comments>http://blog.cmdlabs.com/2010/02/03/handbook-of-digital-forensics-and-investigation-released/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 19:23:39 +0000</pubDate>
		<dc:creator>Eoghan Casey</dc:creator>
				<category><![CDATA[Forensic Analysis]]></category>
		<category><![CDATA[Cell Phone Forensics]]></category>
		<category><![CDATA[Digital Forensics]]></category>
		<category><![CDATA[Digital Investigation]]></category>
		<category><![CDATA[Embedded Systems Analysis]]></category>
		<category><![CDATA[Intrusion Investigation]]></category>
		<category><![CDATA[Mac Forensic Analysis]]></category>
		<category><![CDATA[Mobile Device Forensics]]></category>
		<category><![CDATA[Network Forensics]]></category>
		<category><![CDATA[UNIX Forensic Analysis]]></category>
		<category><![CDATA[Windows Forensic Analysis]]></category>

		<guid isPermaLink="false">http://blog.cmdlabs.com/?p=130</guid>
		<description><![CDATA[At long last and with the help of many talented experts, I have put together a new Handbook. This book provides an advanced reference for conducting digital investigations and performing forensic examinations. The first part of the book provides comprehensive methodologies and practical tips from experienced practitioners in the areas of forensic analysis, electronic discovery [...]]]></description>
			<content:encoded><![CDATA[<p>At long last and with the help of many talented experts, I have put together a new Handbook. This book provides an advanced reference for conducting digital investigations and performing forensic examinations. The first part of the book provides comprehensive methodologies and practical tips from experienced practitioners in the areas of forensic analysis, electronic discovery and intrusion investigation. The second part of the book delves into technical aspects of digital evidence on computers, networks, and embedded systems. The technologies covered include Windows, UNIX, and Macintosh computers, cellular telephones and other mobile devices, networks and mobile telecommunications technology.<br />
<br clear=all><br />
The Network Investigations chapter written by cmdLabs personnel is available in PDF form <a href="https://secure.tivilon.com/CMDLABS_COM/HandbookChapter9.aspx">upon request</a>.<br />
<br clear=all><br />
F-Response is giving a copy of the Handbook with purchase of their tool:<br />
<strong><a href="http://www.f-response.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=216%3 Abuy-f-response-get-a-copy-of-the-handbook-of-digital-forensics-and-investig ation&amp;amp;catid=34%3Ablog-posts&amp;amp;Itemid=58 ">Buy F-Response, Get a copy of The Handbook of Digital Forensics and Investigation</a><strong> </strong></strong></p>
<p><br clear=all><br />
<img src="http://blog.cmdlabs.com/wp-content/uploads/2010/02/Handbook2.jpg" alt="Handbook" title="Handbook" width="240" height="240" class="aligncenter size-full wp-image-140" /></p>
<p><strong><strong><span style="font-weight: normal;"><em> My deepest thanks to the contributors: Cory Altheide (Mandiant) &#8211; Christopher Daywalt (cmdLabs) &#8211; Andrea de Donno (Lepta) &#8211; Dario Forte (DFLabs) &#8211; James Holley (Ernst &amp; Young) &#8211; Andy Johnson (University of Maryland, Baltimore County) &#8211; Ronald van der Knijff (Netherlands Forensic Institute) &#8211; Anthony Kokocinski (CSC) &#8211; Paul Luehr (Stroz Friedberg) &#8211; Terrance Maguire (cmdLabs) &#8211; Ryan Pittman (US Army) &#8211; Curtis Rose (Curtis W. Rose &amp; Associates) &#8211; Joseph Schwerha (TraceEvidence) &#8211; Dave Shaver (US Army) &#8211; Jessica Reust Smith (Stroz Friedberg).</em></span></strong></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cmdlabs.com/2010/02/03/handbook-of-digital-forensics-and-investigation-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Delving into Mobile Device File Systems</title>
		<link>http://blog.cmdlabs.com/2009/12/10/delving-into-mobile-device-file-systems/</link>
		<comments>http://blog.cmdlabs.com/2009/12/10/delving-into-mobile-device-file-systems/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 03:17:38 +0000</pubDate>
		<dc:creator>Christopher Daywalt</dc:creator>
				<category><![CDATA[Mobile Device Forensics]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://blog.cmdlabs.com/?p=128</guid>
		<description><![CDATA[Mobile device forensics tools have come a long way in the past year, giving us access to more data on a wider range of devices. Even when a full copy of physical memory is not possible, for many devices the complete logical file system can be acquired. Although this generally does not include deleted items, [...]]]></description>
			<content:encoded><![CDATA[<p>Mobile device forensics tools have come a long way in the past year, giving us access to more data on a wider range of devices. Even when a full copy of physical memory is not possible, for many devices the complete logical file system can be acquired. Although this generally does not include deleted items, it can still provide access to substantial digital evidence including MMS messages, IM fragments, and Web browsing history.</p>
<p><br clear=all>However, even when a tool can acquire the entire file system from a mobile device, it may not be able to display items of interest like MMS messages. In such situations, the forensic examiner must locate the desired information within the file system and interpret it themselves.</p>
<p><br clear=all>This is one of the main reasons why it is important for practitioners to have an understanding of the underlying technology, and not be overly reliant on automated tools.</p>
<h3>Locating MMS Data</h3>
<p>A good example of when a tool can acquire but not display evidence of interest came up in a recent case involving MMS messages on a Verizon LG phone. Although the commonly used tool called Cellebrite could acquire data from the mobile device, including a copy of the file system, it did not present MMS messages in the output report. As a result, the investigating agency was only able to view the incriminating evidence through the device itself by performing a manual &#8220;scroll&#8221; examination.</p>
<p><br clear=all>Until cmdLabs came along to help…</p>
<p><br clear=all>By examining the file system acquire using Cellebrite, we found MMS messages in the &#8220;mms&#8221; folder on the LG device. For the sake of illustration, this file system location is shown using BitPim.</p>
<p style="text-align: center;"><img class="size-full wp-image-51 aligncenter" title="MMS BitPim" src="http://blog.cmdlabs.com/wp-content/uploads/2009/12/MMS-BitPim.jpg" alt="MMS BitPim" width="717" height="365" /></p>
<p><br clear=all>The MMSMsg.db file contains metadata associated with the messages, and the PDU files contain the original file name as well as the actual data of the pictures and videos in the message. The header of one PDU file is shown here, revealing some Synchronized Multimedia Integration Language (SMIL) tags and the original file name on the device (0920091201a.3g2).</p>
<p style="text-align: center;"><img class="size-full wp-image-50 aligncenter" title="PDU Header" src="http://blog.cmdlabs.com/wp-content/uploads/2009/12/XWays-PDU.jpg" alt="PDU Header" width="612" height="204" /></p>
<p><br clear=all>Even after the original video file is deleted from the device, a copy remains in the MMS message.</p>
<h3>Extracting MMS Data</h3>
<p>The media portion of the PDU message file can be extracted using simple file carving techniques. Although you could remove the file header manually using a hex editor, it is more effective to use a file carving tool like Foremost. By automating the file carving process, your process is repeatable. In addition, Foremost generates an audit log that can be useful for forensic documentation purposes.</p>
<p><br clear=all>The file header (a.k.a. signature) of the 3gp videos from an LG VX series device is &#8220;ftyp3g2a&#8221; preceded by 4 bytes. The configuration entry for the Foremost file carving tool is shown here:</p>
<ul>
<pre>3gp	y	4000000	????\x66\x74\x79\x70\x33\x67\x32\x61</pre>
</ul>
<p>Using a configuration file that contains the above signature, the command &#8216;<font face="courier">foremost -c foremost.conf MMS*</font>&#8216; will extract the 3gp video content from PDU files acquired from an LG device. The resulting videos will be saved in the default Foremost output directory and can be played using Quicktime as shown here.</p>
<p style="text-align: center;"><img src="http://blog.cmdlabs.com/wp-content/uploads/2009/12/Quicktime.jpg" alt="Quicktime" title="Quicktime" width="454" height="348" class="aligncenter size-full wp-image-229" /></p>
<p><br clear=all>For those forensic practitioners who are interested in learning more about mobile device forensics and related data recovery techniques, cmdLabs is teaching the SANS Mobile Device Forensic course (SEC 563) in <a href="http://www.sans.org/security-east-2010/description.php?tid=3377">New Orleans</a> from January 11–15, 2010 and again in <a href="http://www.sans.org/san-antonio-2010-cs/description.php?tid=3377">San Antonio</a> from January 25–29, 2010.</p>
<p><a href="http://www.sans.org/security-east-2010/description.php?tid=3377"><img src="http://blog.cmdlabs.com/wp-content/uploads/2009/12/sec563_9_785x90.jpg" alt="sec563_9_785x90" title="sec563_9_785x90" width="785" height="90" class="aligncenter size-full wp-image-97" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cmdlabs.com/2009/12/10/delving-into-mobile-device-file-systems/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQLite for Digital Forensic Practitioners</title>
		<link>http://blog.cmdlabs.com/2009/08/21/sqlite-for-digital-forensic-practitioners/</link>
		<comments>http://blog.cmdlabs.com/2009/08/21/sqlite-for-digital-forensic-practitioners/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 19:05:23 +0000</pubDate>
		<dc:creator>cmdLabs Staff</dc:creator>
				<category><![CDATA[Forensic Analysis]]></category>

		<guid isPermaLink="false">http://blog.cmdlabs.host.tivilon.com/?p=7</guid>
		<description><![CDATA[An increasing number of programs are employing SQLite to store data that can be of relevance in an investigation. Forensic practitioners who become familiar with SQLite and learn how to interpret these files will be in a better position to obtain the most usable information from available digital evidence. We cover this and other useful [...]]]></description>
			<content:encoded><![CDATA[<p>An increasing number of programs are employing SQLite to store data that can be of relevance in an investigation. Forensic practitioners who become familiar with SQLite and learn how to interpret these files will be in a better position to obtain the most usable information from available digital evidence. We cover this and other useful forensic techniques in our Mobile Device Forensics course (<a href="http://www.sans.org/training/description.php?mid=1297">SANS SEC563</a>).</p>
<p><br clear=all>Backup files from an iPhone or iPod Touch provide an excellent example of SQLite databases that digital forensic examiners can exploit with relative ease, provided they are not encrypted. Data backed up from an iPhone using iTunes such as call logs, contacts, multimedia, and other files are, by default, stored in SQLite database files under &#8220;~/Library/Application/Support/MobileSync/Backup&#8221; Mac. On Windows XP these backup files are stored in the user&#8217;s profile under &#8220;C:\Documents and Settings\[userprofile]\Application Data\Apple Computer\MobileSync\Backup&#8221; and Windows Vista has a &#8220;Roaming&#8221; subfolder in this path.</p>
<p><br clear=all>SQLite databases can be examined using a command line tool like sqlite3.exe (http://www.sqlite.org/) or with a GUI tool like SQLite Database Browser (http://sqlitebrowser.sourceforge.net/) shown here with the call log backed up from an iPhone.</p>
<p style="text-align: center;"><img src="http://blog.cmdlabs.com/wp-content/uploads/2009/08/SQLite-browser1.jpg" alt="" title="SQLite-browser1" width="840" height="426" class="aligncenter size-full wp-image-246" /></p>
<p><br clear=all>The dates are in Unix string format and can be converted using Perl as shown here:</p>
<ul>
<pre>$ perl -e "print scalar(gmtime(1247848584))"
Fri Jul 17 16:36:24 2009</pre>
</ul>
<p><br clear=all>The use of SQLite databases gives forensic practitioners the ability to query the available data directly using the SQL database language. Although a full treatment of SQL is beyond the scope of this discussion, simple examples are provided here to get you started.</p>
<ul>
<pre>C:\&gt;sqlite3.exe E:\iPhoneBackup\call_history.db
SQLite version 3.6.16
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite&gt; .tables
_SqliteDatabaseProperties call
sqlite&gt; select * from call WHERE address like '%868%';
2|+186835xxxxx|1247848584|60|4|-1
3|+186835xxxxx|1247853361|0|5|-1
4|+186835xxxxx|1247854453|0|5|-1
9|+186831xxxxx|1247895923|60|4|-1
10|+186835xxxxx|1247936960|60|5|-1
11|+186835xxxxx|1247941792|0|4|-1
12|+186835xxxxx|1247941827|0|4|-1
13|+186835xxxxx|1247941920|0|4|-1
14|+186835xxxxx|1247942844|0|4|-1
16|+186835xxxxx|1248015352|60|4|-1
17|+186835xxxxx|1248015674|0|4|-1
18|+186835xxxxx|1248016092|0|5|-1
26|+186835xxxxx|1248177103|0|5|3</pre>
</ul>
<p><br clear=all>The Symbian operating system for mobile devices also makes use of SQLite databases, and other computer applications store investigatively useful information in SQLite databases, including Firefox 3 and Skype. For instance, the moz_places table in the places.sqlite file from Firefox 3 is shown below.</p>
<p style="text-align: center;"><img src="http://blog.cmdlabs.com/wp-content/uploads/2009/08/SQLite-browser2.jpg" alt="" title="SQLite-browser2" width="840" height="453" class="aligncenter size-full wp-image-247" /></p>
<p><br clear=all>This file can also be queried using SQL, as shown here being queried for all URLs containing the cmdLabs web site.</p>
<ul>
<pre>C:\tools&gt;sqlite3 E:\firefox\places.sqlite
SQLite version 3.6.16
Enter ".help" for instructions
Enter SQL statements terminated with a ";"

sqlite&gt; .tables
moz_anno_attributes  moz_favicons         moz_keywords
moz_annos            moz_historyvisits    moz_places
moz_bookmarks        moz_inputhistory
moz_bookmarks_roots  moz_items_annos

sqlite&gt; select * from moz_places WHERE url like '%cmdlabs%';
621|<a href="http://www.cmdlabs.com/">http://www.cmdlabs.com/</a>|Home|moc.sbaldmc.www.|1|0|1||2000
622|<a href="http://www.cmdlabs.com/page11/page11.html">http://www.cmdlabs.com/page11/page11.html</a>|Blog|moc.sbaldmc.www.|1|0|0||100
623|<a href="http://www.cmdlabs.com/services/services.html">http://www.cmdlabs.com/services/services.html</a>|Services|moc.sbaldmc.www.|1|0|0||100
624|<a href="http://www.cmdlabs.com/services/services/services-4.html">http://www.cmdlabs.com/services/services/services-4.html</a>|Training and Education|moc.sbaldmc.www.|1|0|0||100</pre>
</ul>
<p><br clear=all>Programs like Firefox that maintain usage records in these databases may leave remnants of deleted items that may be recoverable from unallocated disk space as detailed in Murilo Tito Pereira&#8217;s article &#8220;Forensic analysis of the Firefox 3 internet history and recovery of deleted SQLite records&#8221; (www.digitalinvestigation.net).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cmdlabs.com/2009/08/21/sqlite-for-digital-forensic-practitioners/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

