<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-724178285134254993</id><updated>2012-02-24T08:56:03.258-06:00</updated><category term='volatility'/><category term='nolasec'/><category term='computer security'/><category term='introduction'/><category term='research'/><category term='scalpel'/><category term='android live-forensics'/><category term='tsk_loaddb'/><category term='digital forensics'/><category term='blackhat'/><category term='registry decoder'/><category term='pauldotcom'/><category term='the sleuthkit'/><category term='cyberspeak'/><category term='pointsec full disk encryption'/><category term='papers'/><category term='presentations'/><category term='registry analysis'/><title type='text'>Digital Forensics Solutions</title><subtitle type='html'>A blog covering DFS's experiences in computer security and digital forensics</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-3231856251729468961</id><published>2012-02-02T12:14:00.001-06:00</published><updated>2012-02-02T12:15:31.555-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='registry decoder'/><category scheme='http://www.blogger.com/atom/ns#' term='registry analysis'/><title type='text'>Registry Decoder Bug Fix Release</title><content type='html'>Registry Decoder 1.2, SVN revision 96, has just been released! As usual, it can be downloaded from the Google Code repository:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/registrydecoder/downloads/list"&gt;http://code.google.com/p/registrydecoder/downloads/list&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We recommend that all Registry Decoder users upgrade as the following bugs are fixed:&lt;br /&gt;&lt;br /&gt;1) Application hang if start/end filtering dates are entered with certain invalid input&lt;br /&gt;2) Mactime timelinining format fix&lt;br /&gt;3) Changed confusing timezone output for browsing, searching, and reports&lt;br /&gt;4) Tabs generated from differencing operations can be closed by the user&lt;br /&gt;&lt;br /&gt;We also have two new features:&lt;br /&gt;1) Comma separated value (CSV) report format&lt;br /&gt;2) Timeline data can be written directly to Excel (tab separated)&lt;br /&gt;&lt;br /&gt;If you have sent us a bug report since version 1.1 you should receive an email this morning with confirmation that the issue was fixed. Please write back if you do not receive one of these emails.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-3231856251729468961?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/3231856251729468961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2012/02/registry-decoder-bug-fix-release.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/3231856251729468961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/3231856251729468961'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2012/02/registry-decoder-bug-fix-release.html' title='Registry Decoder Bug Fix Release'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-9114212702813767899</id><published>2012-01-29T16:51:00.001-06:00</published><updated>2012-01-29T16:51:16.803-06:00</updated><title type='text'>Android Mind Reading: Memory Acquisition and Analysis with DMD and Volatility</title><content type='html'>I would like to thank everyone who attended our talk at Shmoocon yesterday or watched the live stream. &amp;nbsp;The turnout was amazing and we've gotten some great feedback. &amp;nbsp;The slides from the talk are available &lt;a href="http://digitalforensicssolutions.com/Android_Mind_Reading.pdf" target="_blank"&gt;here&lt;/a&gt;. &amp;nbsp;We will be releasing the memory&amp;nbsp;acquisition&amp;nbsp;tool later this week, and the&amp;nbsp;volatility&amp;nbsp;support will soon follow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-9114212702813767899?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/9114212702813767899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2012/01/android-mind-reading-memory-acquisition.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/9114212702813767899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/9114212702813767899'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2012/01/android-mind-reading-memory-acquisition.html' title='Android Mind Reading: Memory Acquisition and Analysis with DMD and Volatility'/><author><name>Joe Sylve</name><uri>https://profiles.google.com/104859128783549139173</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UKRDP-Gjymk/AAAAAAAAAAI/AAAAAAAAAGM/0Oldj7gki5c/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-2588530980483559396</id><published>2012-01-09T10:22:00.001-06:00</published><updated>2012-01-09T12:20:26.230-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='android live-forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='volatility'/><category scheme='http://www.blogger.com/atom/ns#' term='papers'/><title type='text'>New Paper - Acquisition and Analysis of Volatile Memory from Android Devices</title><content type='html'>&lt;div class="MsoNormal"&gt;We are happy to announce that our &lt;a href="http://digitalforensicssolutions.com/papers/android-memory-analysis-DI.pdf"&gt;paper&lt;/a&gt; on Android memory forensics has just been published in the Journal of Digital Investigations!&amp;nbsp; This paper covers a number of topics that we believe will be of interest to both practitioners and researchers in the memory forensics field.&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The two main contributions of the paper are:&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="color: black; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 115%;"&gt;&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;A kernel module that is able to acquire a complete memory capture from Android devices as well as other Linux computers.&amp;nbsp; This module is also unique in that it operates solely within the kernel and does not require userland interaction.&amp;nbsp; This preserves memory much more effectively than other kernel modules, and a complete comparison of the efficiency is given in the paper.&amp;nbsp; The kernel module can also acquire memory over the network, which prevents the investigator from having to save to the phone’s internal storage or SD card. &lt;/li&gt;&lt;li&gt;&lt;span style="color: black; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 115%;"&gt;&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Additions to the Volatility memory analysis framework that allow it to analyze Android kernel memory. This allows all of the Linux analysis plugins to be used against Android memory captures. &lt;/li&gt;&lt;/ol&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;There is also discussion on the difficulty of performing generic memory analysis of Android devices as well as the differences of the ARM versus Intel architecture, where a majority of previous memory forensics research has been performed.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;If you are interested in this research and are going to be at Shmoocon, Joe Sylve (@jtsylve) will be there presenting the memory acquisition module as well as the Volatility capabilities.&amp;nbsp; You can also leave comments on the blog or find us on Twitter.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-2588530980483559396?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/2588530980483559396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2012/01/new-paper-acquisition-and-analysis-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/2588530980483559396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/2588530980483559396'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2012/01/new-paper-acquisition-and-analysis-of.html' title='New Paper - Acquisition and Analysis of Volatile Memory from Android Devices'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-5598647777564943760</id><published>2012-01-04T13:36:00.000-06:00</published><updated>2012-01-04T13:36:33.627-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='android live-forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='registry decoder'/><title type='text'>DFS January Speaking Events: SANS East, DoD Cybercrime, Shmoocon, and more!</title><content type='html'>We wanted to update you on a number of presentations and speaking events that we have in the month of January.&lt;br /&gt;&lt;br /&gt;First on January 19, 2012,&amp;nbsp;&lt;a href="http://www.linkedin.com/in/jsylve" target="_blank"&gt;Joe Sylve&lt;/a&gt;&amp;nbsp;(&lt;a href="https://twitter.com/#!/jtsylve" target="_blank"&gt;@jtsylve&lt;/a&gt;) will be presenting at the&amp;nbsp;&lt;a href="http://jeffersonchamber.org/techknowledge/schedule/" target="_blank"&gt;Tech-Knowledge e-Buisiness Workshop&lt;/a&gt;&amp;nbsp;on malware and it's dangers to the workplace.&lt;br /&gt;&lt;br /&gt;At &lt;a href="https://www.sans.org/security-east-2012/night.php" target="_blank"&gt;SANS Security East&lt;/a&gt;,&amp;nbsp;&amp;nbsp;&lt;a href="http://www.linkedin.com/in/andrewcase" target="_blank"&gt;Andrew Case&lt;/a&gt; (&lt;a href="https://twitter.com/#!/attrc" target="_blank"&gt;@attrc&lt;/a&gt;) will be giving a workshop on using Volatility to analyze Linux memory captures on January 20, 2012. &amp;nbsp;Two days later &lt;a href="http://www.linkedin.com/in/lodovicomarziale" target="_blank"&gt;Lodovico Marziale&lt;/a&gt; and Andrew will be giving a &lt;a href="http://www.digitalforensicssolutions.com/registrydecoder/" target="_blank"&gt;Registry Decoder&lt;/a&gt; hands-on workshop.&lt;br /&gt;&lt;br /&gt;On January 24, 2012 DFS will be&amp;nbsp;exhibiting&amp;nbsp;at the &lt;a href="http://www.mset.org/index.php?eventid=68" target="_blank"&gt;MSET&amp;nbsp;Supplier &amp;amp; Service Provider Expo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Then on January 26th, Lodovico&amp;nbsp;will be presenting ways to incorporate Registry Decoder into the forensics process and how to leverage it for forensics research at the &lt;a href="http://www.dodcybercrime.com/12CC/" target="_blank"&gt;DOD Cybercrime Conference&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Finally, Joe will present our work on &lt;a href="http://www.sciencedirect.com/science/article/pii/S1742287611000879" target="_blank"&gt;Android memory&amp;nbsp;acquisition and analysis&lt;/a&gt; at &lt;a href="http://www.shmoocon.org/speakers" target="_blank"&gt;Shmoocon&lt;/a&gt; on January 28th.&amp;nbsp; We will also release and open-source the tools we developed to&amp;nbsp;acquire&amp;nbsp;full physical memory captures of RAM from Linux-based devices (including Android) and&amp;nbsp;Volatility&amp;nbsp;functionality to analyze these captures.&lt;br /&gt;&lt;br /&gt;We've got a very busy month ahead of us and we hope many of our blog readers are able to attend some of the events.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-5598647777564943760?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/5598647777564943760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2012/01/dfs-january-speaking-events-sans-east.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/5598647777564943760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/5598647777564943760'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2012/01/dfs-january-speaking-events-sans-east.html' title='DFS January Speaking Events: SANS East, DoD Cybercrime, Shmoocon, and more!'/><author><name>Joe Sylve</name><uri>https://profiles.google.com/104859128783549139173</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-UKRDP-Gjymk/AAAAAAAAAAI/AAAAAAAAAGM/0Oldj7gki5c/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-3340229511182412584</id><published>2011-11-10T11:37:00.001-06:00</published><updated>2011-11-10T11:40:37.524-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='registry analysis'/><title type='text'>Registry Analysis with Reglookup</title><content type='html'>Now that &lt;a href="http://dfsforensics.blogspot.com/2011/11/registry-decoder-11-released.html"&gt;Registry Decoder 1.1&lt;/a&gt; is released, we wanted to highlight two libraries that are used during Registry Decoder's pre-processing phase. The first of these is &lt;a href="http://projects.sentinelchicken.org/reglookup/"&gt;reglookup&lt;/a&gt; and will be the subject of this blog post. Our next post will cover &lt;a href="http://code.google.com/p/pytsk/"&gt;pytsk&lt;/a&gt;.&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Reglookup is developed by &lt;a href="http://www.linkedin.com/pub/timothy-morgan/1/57/b5a"&gt;Timothy Morgan&lt;/a&gt; and is both a library as well as a set of tools. We will first discuss the tools.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;Tools&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;i&gt;reglookup &lt;/i&gt;[1]&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The reglookup binary is used to list the contents of a registry into a comma separated format.&amp;nbsp; By default it will list all the paths, last write times, and name/value pairs contained within the registry. The &lt;i style="mso-bidi-font-style: normal;"&gt;–s &lt;/i&gt;option enables printing of security descriptor information as well.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The ­&lt;i style="mso-bidi-font-style: normal;"&gt;–p &lt;/i&gt;option is the one we use most as it allows for filtering output to only keys and name/value pairs under the given path. For example &lt;i style="mso-bidi-font-style: normal;"&gt;–p /AccessData/Products/ &lt;/i&gt;would list entries under the &lt;i style="mso-bidi-font-style: normal;"&gt;Products &lt;/i&gt;key and not the entire registry. This can be very useful for limiting to certain sections of the registry such as USBSTOR, network shares, and more.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;We have previously released a whitepaper detailing use of the reglookup tool to help with recovery and analysis of deleted registry hives &lt;a href="http://dfsforensics.blogspot.com/2011/09/recovering-and-analyzing-deleted.html"&gt;here&lt;/a&gt;.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;i&gt;reglookup-timeline&lt;/i&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;This tool is used to create a CSV timeline based on last write times within a hive.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;i&gt;reglookup-recover&lt;/i&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;This tool recovers deleted entries within registry hives, and then reports them in a CSV format similar to &lt;i style="mso-bidi-font-style: normal;"&gt;reglookup&lt;/i&gt;.&amp;nbsp; The theory used to recover deleted entries is covered in Tim’s paper that can be found &lt;a href="http://www.dfrws.org/2008/proceedings/p33-morgan.pdf"&gt;here&lt;/a&gt;. This capability has fairly obvious applications in forensics investigations, and investigators should consider adding &lt;i style="mso-bidi-font-style: normal;"&gt;reglookup-recover &lt;/i&gt;usage to their forensics process.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;The Library&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;In Registry Decoder, we use the Python bindings for regfi (the C library) in order to enumerate every key, its last write time, and name/value pair in a particular hive.&amp;nbsp; You can see how this is accomplished &lt;a href="http://code.google.com/p/registrydecoder/source/browse/trunk/registryparser/regfile.py"&gt;here&lt;/a&gt;. There is also documentation for the C library &lt;a href="http://projects.sentinelchicken.org/data/doc/reglookup/regfi/"&gt;here&lt;/a&gt; and many example provided by the author for use with Python &lt;a href="http://projects.sentinelchicken.org/data/doc/reglookup/pyregfi/"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;In general, the library allows for completely programmatic exploration and analysis of registry hives using a very straightforward API. This includes querying keys, getting their name/value pairs, retrieving security attributes, recovering deleted records from within hives, and more. When using the python bindings, very powerful analysis can be performed in only a few lines of code.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;Getting Reglookup &lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Source code and Windows binaries for reglookup can be found on the project &lt;a href="http://projects.sentinelchicken.org/reglookup/download/"&gt;downloads page&lt;/a&gt;.&amp;nbsp; There are also packages for a number of Linux distributions, but they currently only have very old versions. We would advise acquiring reglookup from the author's webpage until the Linux distributions catch up.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;References&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[1] http://www.linuxcertif.com/man/1/reglookup/&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-3340229511182412584?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/3340229511182412584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/11/registry-analysis-with-reglookup.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/3340229511182412584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/3340229511182412584'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/11/registry-analysis-with-reglookup.html' title='Registry Analysis with Reglookup'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-6314548483176187627</id><published>2011-11-02T10:45:00.000-05:00</published><updated>2011-11-02T10:45:17.555-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='registry decoder'/><title type='text'>Registry Decoder 1.1 Released!</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;"&gt;&lt;a href="http://www.digitalforensicssolutions.com/"&gt;Digital Forensics Solutions&lt;/a&gt; is announcing the release of &lt;a href="http://www.digitalforensicssolutions.com/registrydecoder/"&gt;Registry Decoder 1.1&lt;/a&gt;, which has many completely new features and updates as well as bugfixes!&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Please see our previous blog post&amp;nbsp;&lt;a href="http://dfsforensics.blogspot.com/2011/09/announcnig-registry-decoder.html"&gt;here&lt;/a&gt; for the initial release of Registry Decoder.&lt;br /&gt;&lt;br /&gt;New Features include: &lt;br /&gt;&lt;br /&gt;- Support for processing Encase (E01) files and split images&lt;br /&gt;- Full wildcard searching&lt;br /&gt;- Adding evidence after a case is created&lt;br /&gt;- Exporting of paths and their key/value pairs&lt;br /&gt;- Timelining of keys from the GUI into the Sleuthkit format&lt;br /&gt;- Running plugins from the command line&lt;br /&gt;- Running custom plugins outside the main executable/package&lt;br /&gt;- Support for dual boot machines &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;"&gt;&lt;br /&gt;Updates include:&lt;br /&gt;&lt;br /&gt;- Reports now have their extension appended if the user doesn't enter them&lt;br /&gt;- Reports can now be filtered by either deleting results or shift/ctrl selecting results&lt;br /&gt;- Users can right click within the Browse View to search directly for paths&lt;br /&gt;- The name/value box in the Browse View is now sortable&lt;br /&gt;- We also have six new plugins from Kevin Moore of CERT!&lt;br /&gt;&lt;br /&gt;Major changes since 1.0:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: red; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; line-height: 115%;"&gt;BROKEN BACKWARDS COMPATIBILITY&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;All evidence created by version 1.0 of the online tool (regdecoderlive) and cases created by previous versions of the offline tool WILL NOT BE compatible with version 1.1&lt;br /&gt;&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;We regret that we had to break compatibility with version 1.0 (and it won't happen again!), but the changes were significant and handling old data structures and databases would have required very ugly special-casing within the handling code.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;"&gt;The date format to filter searches has been changed to “yyyy/mm/dd” from “mm/dd/yyyy” so that dates can be directly copied &amp;amp; pasted from plugin and search outputs as well as from the Browse View.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Current Plans for Registry Decoder:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Registry Decoder version 1.1 currently has a “feature freeze” as we let the forensics community react and provide feedback to the new features.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;The only development that will continue will be that of plugins since they do not require any core changes or enhancements. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Plugin Development:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;With this release, we are also releasing our official API documentation. The API is meant to be useable by even non-programmers, and many of our plugins are less than 10 lines of Python code.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;The latest version of the API can be found in the &lt;a href="http://code.google.com/p/registrydecoder/downloads/list"&gt;downloads &lt;/a&gt;section of Registry Decoder.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;"&gt;We also want to concentrate on reaching out to other practitioners and research groups (both professional and academic) in an attempt to proliferate Registry Decoder throughout these communities.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;We would appreciate any plugins contributed by these communities.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Existing plugins can be found in &lt;i style="mso-bidi-font-style: normal;"&gt;templates/template_files &lt;/i&gt;within the source code tree or can be viewed online at:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;&lt;a href="http://code.google.com/p/registrydecoder/source/browse/#svn%2Ftrunk%2Ftemplates%2Ftemplate_files"&gt;http://code.google.com/p/registrydecoder/source/browse/#svn%2Ftrunk%2Ftemplates%2Ftemplate_files&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;To make development easier, we have created the ability to run plugins from outside the core plugins directory as well as from the command line. Full details of how to accomplish this are explained in the plugins API documentation.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;"&gt;Mailing List:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;We have created a mailing list for future updates, announcements, and ongoing discussion of the project. Please join the list &lt;a href="http://groups.google.com/group/registry-decoder/"&gt;http://groups.google.com/group/registry-decoder/&lt;/a&gt; if you are interested.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;"&gt;Training:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;We are now offering Registry Decoder training to all interested parties. Please see our &lt;a href="http://www.digitalforensicssolutions.com/registrydecoder/content/training"&gt;training page &lt;/a&gt;for details and contact information. &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;"&gt;Downloads and Instructions:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;As always, the two tools, as well as their instructions, can be found on their respective Google code projects &lt;a href="http://code.google.com/p/registrydecoder/"&gt;http://code.google.com/p/registrydecoder/&lt;/a&gt; and &lt;a href="http://code.google.com/p/regdecoderlive/"&gt;http://code.google.com/p/regdecoderlive/&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Before ending this post, we would like to thank a few people who helped make this release a success.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;In no particular order... Tim Morgan, the author of &lt;a href="http://projects.sentinelchicken.org/reglookup/"&gt;reglookup&lt;/a&gt;, who helped us troubleshoot a few issues we had with the library; Michael Cohen, the author of &lt;a href="http://code.google.com/p/pytsk/"&gt;pytsk&lt;/a&gt;, who helped develop in-library support for Encase and split images; and &lt;a href="http://www.linkedin.com/pub/kevin-moore/14/467/3b"&gt;Kevin Moore&lt;/a&gt; of CERT, as he contributed a number of complex plugins to the project.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;We would also like to thank all the beta testers that sent bug reports and feedback. &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;"&gt;If you have any questions or comments, please either leave a comment on the blog or email registrydecoder@digdeeply.com&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-6314548483176187627?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/6314548483176187627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/11/registry-decoder-11-released.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/6314548483176187627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/6314548483176187627'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/11/registry-decoder-11-released.html' title='Registry Decoder 1.1 Released!'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-955320475832801755</id><published>2011-09-26T11:58:00.000-05:00</published><updated>2011-09-26T11:58:57.934-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cyberspeak'/><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='registry decoder'/><title type='text'>CyberSpeak Interview about Registry Decoder</title><content type='html'>We are making a quick blog post to say that Registry Decoder co-developer Andrew Case (&lt;a href="http://www.twitter.com/#%21/attrc"&gt;@attrc&lt;/a&gt;) was interviewed about the project this week on Ovie Carroll's (&lt;a href="http://www.twitter.com/#%21/ovie"&gt;@ovie&lt;/a&gt;) &lt;a href="http://cyberspeak.libsyn.com/"&gt;CyberSpeak &lt;/a&gt;podcast. The recording can be downloaded here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://traffic.libsyn.com/cyberspeak/Cyberspeak-Show-141-2011-09-25.mp3"&gt;http://traffic.libsyn.com/cyberspeak/Cyberspeak-Show-141-2011-09-25.mp3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The interview gives some background on the project, explains the functionality it gives investigators, and discusses on-going development.&lt;br /&gt;&lt;br /&gt;We hope that you can take a few minutes and listen, and please provide feedback in the comments section.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-955320475832801755?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/955320475832801755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/09/cyberspeak-interview-about-registry.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/955320475832801755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/955320475832801755'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/09/cyberspeak-interview-about-registry.html' title='CyberSpeak Interview about Registry Decoder'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-8772467965068195231</id><published>2011-09-16T12:21:00.000-05:00</published><updated>2011-09-16T12:21:30.143-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='scalpel'/><category scheme='http://www.blogger.com/atom/ns#' term='registry decoder'/><category scheme='http://www.blogger.com/atom/ns#' term='registry analysis'/><title type='text'>Recovering and Analyzing Deleted Registry Files</title><content type='html'>I have been working on a case recently where we were asked to investigate possible data exfiltration from inside a corporate network. While investigating this type of scenario is not uncommon and has a number of investigative methods that can be used (see our previous post &lt;a href="http://dfsforensics.blogspot.com/2011/08/materials-from-our-gfirst-and-omfw.html"&gt;here), &lt;/a&gt;this scenario had a unique characteristic - namely that both computers we were asked to investigate had been reformatted/reinstalled since the investigated employee left.&lt;br /&gt;&lt;br /&gt;This obviously was going to make the case more difficult and required some creative thinking in order to recover the necessary data to analyze.&amp;nbsp; When attempting to document the process taken to perform a component of the analysis, what was meant to be a couple paragraph blog post, turned into a multiple page writeup. For that reason, I chose to simply convert the writeup to PDF and release it as a mini-whitepaper that can be found here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.digitalforensicssolutions.com/papers/recovering-and-analyzing-deleted-registry-hives.pdf"&gt;http://www.digitalforensicssolutions.com/papers/recovering-and-analyzing-deleted-registry-hives.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I hope you take a few minutes (should be 10-15 at most) to read the paper and hopefully learn something from it. From the feedback I got from other investigators who have seen the paper, (&lt;a href="http://www.twitter.com/#%21/kdpryor"&gt;@kdpryor&lt;/a&gt;, &lt;a href="http://www.twitter.com/#%21/wyattroersma"&gt;@wyattroersm&lt;/a&gt;a, &lt;a href="http://www.twitter.com/#%21/littlemac042"&gt;@littlemac042&lt;/a&gt;), they all have liked it and found it interesting, and I believe you will too.&lt;br /&gt;&lt;br /&gt;Please either comment on the blog or write me directly if you have any questions.&lt;br /&gt;&lt;br /&gt;Andrew Case - &lt;a href="http://www.twitter.com/#%21/attrc"&gt;@attrc&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-8772467965068195231?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/8772467965068195231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/09/recovering-and-analyzing-deleted.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/8772467965068195231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/8772467965068195231'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/09/recovering-and-analyzing-deleted.html' title='Recovering and Analyzing Deleted Registry Files'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-4203994361366265157</id><published>2011-09-14T10:15:00.000-05:00</published><updated>2011-09-14T10:15:50.570-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='volatility'/><category scheme='http://www.blogger.com/atom/ns#' term='registry decoder'/><title type='text'>DFS Upcoming Speaking Events: DOD Cybercrime, SANs, BSidesDFW, and more!</title><content type='html'>We wanted to give an update on a number of accepted presentations and other speaking events that we have upcoming in the next few months.&lt;br /&gt;&lt;br /&gt;First, Golden Richard (&lt;a href="http://twitter.com/#%21/nolaforensix"&gt;@nolaforensix&lt;/a&gt;) will be presenting at the &lt;a href="http://www.ciise.concordia.ca/newsandevents/2011/EJC2011SecForensics/en/index.htm"&gt;The Colloquium on IT Security, Cyber Forensics and Combating Cybercrime&lt;/a&gt; &lt;strong style="font-weight: normal;"&gt;on Recent Advances in Live Forensics. &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;At &lt;a href="http://www.securitybsides.com/w/page/36779575/BSidesDFW%202011"&gt;BSidesDFW&lt;/a&gt;, &lt;a href="http://www.linkedin.com/in/lodovicomarziale"&gt;Lodovico Marziale&lt;/a&gt; will be presenting on &lt;a href="http://www.digitalforensicssolutions.com/registrydecoder/"&gt;Registry Decoder&lt;/a&gt; and Andrew Case (&lt;a href="https://www.twitter.com/#%21/attrc"&gt;@attrc&lt;/a&gt;) will be presenting on ways to investigate data exfiltration cases.&lt;br /&gt;&lt;br /&gt;Then at the &lt;a href="https://www.sans.org/security-east-2012/night.php"&gt;SANs Security East &lt;/a&gt;event in January, Lodovico and Andrew will be giving a Registry Decoder hands-on workshop, and the next day Andrew will be giving a workshop on using Volatility to analyze Linux memory captures.&lt;br /&gt;&lt;br /&gt;And finally, Andrew will be presenting ways to incorporate Registry Decoder into the forensics process and how to leverage it for forensics research at the &lt;a href="http://www.dodcybercrime.com/12CC/"&gt;DOD Cybercrime Conf&lt;/a&gt; in January.&lt;br /&gt;&lt;br /&gt;We hope that many of our blog readers will be able to attend some of these events. Be sure to drop us an email or twitter message if you will be there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-4203994361366265157?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/4203994361366265157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/09/dfs-upcoming-speaking-events-dod.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/4203994361366265157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/4203994361366265157'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/09/dfs-upcoming-speaking-events-dod.html' title='DFS Upcoming Speaking Events: DOD Cybercrime, SANs, BSidesDFW, and more!'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-5093773142140329418</id><published>2011-09-06T12:18:00.002-05:00</published><updated>2011-09-06T14:18:51.565-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='registry decoder'/><title type='text'>Announcing Registry Decoder</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Digital Forensics Solutions is pleased to announce &lt;a href="http://www.digitalforensicssolutions.com/registrydecoder/"&gt;Registry Decoder&lt;/a&gt;, an open source tool that automates the acquisition, analysis, and reporting of Microsoft Windows registry contents. The tool was initially funded by the National Institute of Justice (NIJ) and is now ready for public release.&amp;nbsp; Please see our &lt;a href="http://www.digitalforensicssolutions.com/registrydecoder/content/history"&gt;History Page&lt;/a&gt; for information about the project.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Registry Decoder consists of two components, the first of which is a tool for online acquisition of registry files from a running machine. The page for this project can be found &lt;a href="http://code.google.com/p/regdecoderlive/"&gt;here&lt;/a&gt;. To safely acquire files from a running machine, we ‘freeze’ a copy of the current registry files using the System Restore Facility. This places the files into a read-only location and ensures that the operating system will not have the files opened (which would prevent them from being copied to external storage).&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Beyond the current set of registry files, the acquisition component can also acquire historical files from the running system. These historical files are acquired from XP machines through the System Restore Point facility and through the Volume Shadow Service on Vista and Windows 7 machines.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;The second component of Registry Decoder performs offline analysis (on an investigator’s lab machine) of acquired registry files. This project can be found &lt;a href="http://code.google.com/p/registrydecoder/"&gt;here&lt;/a&gt;. The current version of this tool can process raw disk images, partition images, individual registry files, and the database of hives acquired by the online component. When given a disk image, the &lt;a href="http://www.sleuthkit.org/"&gt;Sleuthkit &lt;/a&gt;libraries are used to parse the image and read each registry hive.&amp;nbsp; This includes the ability to acquire historical files from System Restore Points as well as the &lt;a href="http://dfsforensics.blogspot.com/2011/03/interesting-regsitry-backup-feature-of.html"&gt;RegBack &lt;/a&gt;folder of Vista and 7 images. Individual registry hives are processed using libraries from the &lt;a href="http://projects.sentinelchicken.org/reglookup/"&gt;RegLookup &lt;/a&gt;project.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;After being provided with all registry-oriented evidence for a particular case, which can be any combination of registry files, disk images, and acquired databases, Registry Decoder performs a one-time pre-processing of the evidence. During this process, it creates a number of databases and metadata files that contain all information needed to analyze the files.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;The analysis section of the offline component contains a number of powerful features. The first feature is Search, which allows for powerful searching across registry hives. The searching abilities include:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Symbol; font-size: 12pt; line-height: 115%;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Filtering by hive keys, name, and data&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Symbol; font-size: 12pt; line-height: 115%;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Filtering by the last write time of keys&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Symbol; font-size: 12pt; line-height: 115%;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Searching individual terms or with a newline delimited search term file&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Symbol; font-size: 12pt; line-height: 115%;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Exact or wildcard based search&lt;/span&gt;&lt;span style="font-family: Symbol; font-size: 12pt; line-height: 115%;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Symbol; font-size: 12pt; line-height: 115%;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Viewing of search results&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Symbol; font-size: 12pt; line-height: 115%;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Automated reporting of search contents to HTML, PDF, or XLS&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Another important feature of Registry Decoder is its plug-in system.&amp;nbsp; This facility is similar to the plugins provided by&amp;nbsp; &lt;a href="http://regripper.wordpress.com/"&gt;RegRipper&lt;/a&gt;, in that individual plugins provide very specific analysis of a subset of data contained within the registry.&amp;nbsp; Output of the plugins can be automatically exported into reports, in the same manner as for registry searches.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;A third feature provided by Registry Decoder is differencing of registry hives.&amp;nbsp; This feature utilizes the search and plugin subsystems to illustrate differences and similarities between two registry hives. This allows for viewing of changes across time from the same computer or comparing results of searches or plugins against files from multiple computers.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;Finally, Registry Decoder supports browsing of registry hives through the file view. This is very similar to &lt;a href="http://accessdata.com/support/adownloads#ForensicProducts"&gt;AccessData’s Registry Viewer&lt;/a&gt; and provides the ability to browse hives, view data, and acquire the last write time of relevant registry keys.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; line-height: 115%;"&gt;We hope that Registry Decoder interests you and that you will try it out in cases that you are working on.&amp;nbsp; We believe that Registry Decoder significantly reduces the time, effort, and skills needed to perform complex registry analysis.&amp;nbsp; By being open source and well documented, we also think that Registry Decoder provides a strong platform for future research and development within the registry forensics field. If you decide to use Registry Decoder, we would love to hear your feedback either through the comments section of the blog or you can email directly to: registrydecoder@digdeeply.com.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-5093773142140329418?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/5093773142140329418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/09/announcnig-registry-decoder.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/5093773142140329418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/5093773142140329418'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/09/announcnig-registry-decoder.html' title='Announcing Registry Decoder'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-2348170180291457601</id><published>2011-08-17T09:19:00.000-05:00</published><updated>2011-08-17T09:19:53.992-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nolasec'/><category scheme='http://www.blogger.com/atom/ns#' term='presentations'/><title type='text'>The August NolaSec Meeting</title><content type='html'>To all our New Orleans readers,&lt;br /&gt;&lt;br /&gt;The next &lt;a href="https://twitter.com/#%21/nolasec"&gt;@NolaSec&lt;/a&gt; meeting has been planned for Thursday, August 25th, at 5:30PM at the Bridge Lounge.&lt;br /&gt;&lt;br /&gt;Full details of the meeting can be found here:&lt;br /&gt;&lt;br /&gt;https://sites.google.com/site/nolasecurity/announcements/august-meeting &lt;br /&gt;&lt;br /&gt;As usual, the food is on us and feel free to invite anyone who you think may be interested. &lt;br /&gt;&lt;br /&gt;We already have a number of RSVPs, and are expecting a large crowd.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-2348170180291457601?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/2348170180291457601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/08/august-nolasec-meeting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/2348170180291457601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/2348170180291457601'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/08/august-nolasec-meeting.html' title='The August NolaSec Meeting'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-2122818947515238659</id><published>2011-08-10T15:18:00.000-05:00</published><updated>2011-08-10T15:18:51.181-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>Materials from our GFIRST and OMFW presentations</title><content type='html'>We have had a busy couple of weeks presenting at a number of conferences and workshops, and now finally have the time to distribute our materials.&lt;br /&gt;&lt;br /&gt;First is Andrew Case's (&lt;a href="https://twitter.com/#%21/attrc"&gt;@attrc&lt;/a&gt;) presentation at the &lt;a href="https://www.volatilesystems.com/default/omfw"&gt;Open Memory Forensics Workshop&lt;/a&gt; which can be found &lt;a href="http://www.digitalforensicssolutions.com/papers/omfw.pdf"&gt;here&lt;/a&gt;.&amp;nbsp; This talk covered Volatility's current Linux memory analysis capabilities as well as functionality that will be incorporated in the near future. These new features include Android support and kernel-level rootkit detection.&lt;br /&gt;&lt;br /&gt;Second is the slides from our &lt;a href="http://www.us-cert.gov/GFIRST/"&gt;GFIRST &lt;/a&gt;presentation on investigating coordinated data exfiltration (&lt;a href="http://bit.ly/p4OE5B"&gt;here&lt;/a&gt;).&amp;nbsp;&amp;nbsp; This talk was co-presented by Golden Richard (&lt;a href="http://www.twitter.com/nolaforensix"&gt;@nolaforensix&lt;/a&gt;) and Andrew Case. The purpose of this presentation was to show the steps we took when investigating a complex, real-life data exfiltration case. We cover analyzing a number of evidence sources, how to correlate the raw data, and a process for coherently reporting the findings.&lt;br /&gt;&lt;br /&gt;Andrew Case also did a Volatility Linux workshop at the recent &lt;a href="http://www.blackhat.com/html/bh-us-11/bh-us-11-briefings.html#Case"&gt;Blackhat Vegas Briefings&lt;/a&gt;, and the newly developed functionality and plugins will soon be incorporated into the Linux branch of Volatility 2.0.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-2122818947515238659?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/2122818947515238659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/08/materials-from-our-gfirst-and-omfw.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/2122818947515238659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/2122818947515238659'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/08/materials-from-our-gfirst-and-omfw.html' title='Materials from our GFIRST and OMFW presentations'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-3733361912204842888</id><published>2011-06-30T10:14:00.001-05:00</published><updated>2011-06-30T10:19:07.016-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><title type='text'>Our GFIRST presentation</title><content type='html'>Now that GFIRST has posted their schedule and agenda for this year (&lt;a href="http://www.us-cert.gov/GFIRST/agenda.html"&gt;here&lt;/a&gt;), we would like to announce that we will be speaking there on investigating coordinated data exfiltration.&amp;nbsp; This talk will be based on an investigation we performed last year for a large organization and that involved multiple insiders working in tandem to siphon data outside the company's network.&lt;br /&gt;&lt;br /&gt;Our speaking slot is from 2:30-5:00PM on Tuesday, and the presentation will be delivered by Dr. Golden Richard (&lt;a href="https://twitter.com/#%21/nolaforensix"&gt;@nolaforensix&lt;/a&gt;) and Andrew Case (&lt;a href="https://twitter.com/#%21/attrc"&gt;@attrc&lt;/a&gt;).&amp;nbsp; Please be sure to stop by if you are attending and say hello.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-3733361912204842888?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/3733361912204842888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/06/our-gfirst-presentation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/3733361912204842888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/3733361912204842888'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/06/our-gfirst-presentation.html' title='Our GFIRST presentation'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-4183041477692488209</id><published>2011-06-22T07:45:00.001-05:00</published><updated>2011-06-22T07:46:25.239-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='computer security'/><title type='text'>Phishing Web-Based Email Services with HTML5</title><content type='html'>We are writing this for our often co-researcher, Joe Sylve (&lt;a href="https://twitter.com/#%21/jtsylve"&gt;@jtsylve&lt;/a&gt;), who has just released an interesting paper on a new phishing technique that utilizes "the programmable session history stack introduced in HTML 5."&amp;nbsp; We found the paper and its results to be quite telling, and see it as another example of the security issues caused by the explosion of features put into the HTML5 standard with little or no security consideration. &lt;br /&gt;&lt;br /&gt;The paper can be found here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dl.dropbox.com/u/17627038/papers/html5phishing.pdf"&gt;http://dl.dropbox.com/u/17627038/papers/html5phishing.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-4183041477692488209?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/4183041477692488209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/06/phishing-web-based-email-services-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/4183041477692488209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/4183041477692488209'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/06/phishing-web-based-email-services-with.html' title='Phishing Web-Based Email Services with HTML5'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-4673098477625971313</id><published>2011-06-08T11:41:00.001-05:00</published><updated>2011-06-30T10:15:23.990-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>The Open Memory Forensics Workshop (OMFW) is now open for registration</title><content type='html'>The 2011 Open Memory Forensics Workshop is now open for registration:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.volatilesystems.com/default/omfw"&gt;https://www.volatilesystems.com/default/omfw&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The workshop will be held along with &lt;a href="http://dfrws.org/2011/"&gt;DFRWS 2011&lt;/a&gt; and Digital Forensics Solution's Andrew Case (&lt;a href="http://twitter.com/#%21/attrc"&gt;@attrc&lt;/a&gt;) will be presenting.&amp;nbsp; We will have more details on the presentation as the event gets closer.&amp;nbsp; Anyone interested in recent advances and current research in memory forensics is highly encouraged to attend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-4673098477625971313?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/4673098477625971313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/06/open-memory-forensics-workshop-omfw-is.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/4673098477625971313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/4673098477625971313'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/06/open-memory-forensics-workshop-omfw-is.html' title='The Open Memory Forensics Workshop (OMFW) is now open for registration'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-4863866953758290701</id><published>2011-06-03T09:57:00.001-05:00</published><updated>2011-06-30T10:16:00.770-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>Android memory analysis research to be presented at SOURCE Seattle</title><content type='html'>It has been a few weeks since we last posted, and we wanted to give readers a notice about new research that will be presented in two weeks at SOURCE Seattle (&lt;a href="http://www.sourceconference.com/seattle/"&gt;link&lt;/a&gt;). Digital Forensics Solutions' researcher Andrew Case (&lt;a href="http://www.twitter.com/#%21/attrc"&gt;@attrc&lt;/a&gt;) will be discussing code he developed that performs automated memory analysis of Android's Dalvik virtual machine (&lt;a href="http://www.sourceconference.com/seattle/speakers_2011.asp#acase"&gt;link&lt;/a&gt;).&amp;nbsp; This talk will cover Dalvik internals, how the data structures are accessed offline, and use of the developed functionality against a number of popular Android applications.&lt;br /&gt;&lt;br /&gt;On a final note, we also recently found out that Andrew's Linux memory analysis workshop has been accepted for Blackhat Vegas later this summer (&lt;a href="http://blackhat.com/html/bh-us-11/bh-us-11-briefings.html#Case"&gt;link&lt;/a&gt;).&amp;nbsp; More news about this will be released in the coming weeks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-4863866953758290701?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/4863866953758290701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/06/android-memory-analysis-research-to-be.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/4863866953758290701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/4863866953758290701'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/06/android-memory-analysis-research-to-be.html' title='Android memory analysis research to be presented at SOURCE Seattle'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-8700038525272369845</id><published>2011-05-09T11:10:00.000-05:00</published><updated>2011-05-09T11:10:29.481-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='volatility'/><title type='text'>Honeynet Challenge Winners &amp; Volatility Linux Support</title><content type='html'>This post is a follow up to our previous entry about the HoneyNet challenge #7 (&lt;a href="http://dfsforensics.blogspot.com/2011/03/analyzing-new-honeynet-memory-analysis.html"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;We are now writing to say that the challenge results have been released (&lt;a href="https://www.honeynet.org/challenges/2011_7_compromised_server"&gt;here&lt;/a&gt;), and that all of the winners (see the last five documents under "Attachment" at the previous link) used the Volatility Linux support documented in our previous blog post.&amp;nbsp; Not only do these entries show the power of the developed Volatility functionality, but they also show how to use the Linux support in real-world case examples.&amp;nbsp; Answering many of the challenge's questions, such as which process had the malicious connection open, which sockets were active, file system activity, etc, was as simple as running a plug-in.&lt;br /&gt;&lt;br /&gt;We hope that the results of this challenge will inspire more people to give the Linux functionality a test and possibly to even contribute their own plug-ins.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-8700038525272369845?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/8700038525272369845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/05/honeynet-challenge-winners-volatility.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/8700038525272369845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/8700038525272369845'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/05/honeynet-challenge-winners-volatility.html' title='Honeynet Challenge Winners &amp; Volatility Linux Support'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-8817011336870054670</id><published>2011-04-28T09:22:00.001-05:00</published><updated>2011-06-30T10:16:27.773-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blackhat'/><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='pauldotcom'/><title type='text'>PaulDotCom Appearance Tonight (4/28)</title><content type='html'>We wanted to give a quick update to say that blog author Andrew Case (&lt;a href="http://www.twitter.com/#%21/attrc"&gt;@attrc&lt;/a&gt;) will be on the &lt;a href="http://pauldotcom.com/wiki/index.php/Episode241"&gt;PaulDotCom&lt;/a&gt; show tonight.&amp;nbsp; He will be discussing research from his recent &lt;a href="http://dfsforensics.blogspot.com/2011/01/speaking-materials-from-our-talk-at.html"&gt;Blackhat DC&lt;/a&gt; presentation as well as some updates since first publication.&lt;br /&gt;&lt;br /&gt;To listen in live to the show please use this link:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pauldotcom.com/live/"&gt;http://pauldotcom.com/live/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The show starts at 7PM Central&amp;nbsp; time, and Andrew's work will be the focus of the Tech Segment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-8817011336870054670?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/8817011336870054670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/04/pauldotcom-appearance-tonight-428.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/8817011336870054670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/8817011336870054670'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/04/pauldotcom-appearance-tonight-428.html' title='PaulDotCom Appearance Tonight (4/28)'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-6871561451169483271</id><published>2011-04-21T14:38:00.001-05:00</published><updated>2011-04-21T14:41:00.948-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='scalpel'/><title type='text'>Announcing Scalpel 2.0</title><content type='html'>&lt;div class="MsoNormal" style="text-align: justify;"&gt;We are happy to announce the release of the next version of the Scalpel file carver, version 2.0 - the first public release in almost five years. There are a slew of performance enhancements and new features, focusing on improved carving accuracy and performance, and even more goodness is on the way.&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;Just some of the new features include:&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;Support for TRE-based regular expressions for headers and footers&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;Support for minimum carve sizes for recovered files&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;Parallel architecture to take full advantage of multicore processors&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;Beta support for NVIDIA CUDA-based GPU acceleration of header / footer searches&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;An asynchronous IO architecture for significantly faster IO throughput&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;Support for 32 and 64-bit Linux, Windows XP, Vista and 7, and OSX&lt;/li&gt;&lt;/ul&gt;&lt;div class="MsoListParagraphCxSpLast" style="text-align: justify; text-indent: -0.25in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;Check back with us in the coming weeks for some ways to put these new features to good use, as well as for the introduction of some even newer functionality.&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;The new version can be downloaded from:&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;a href="http://www.digitalforensicssolutions.com/Scalpel/"&gt;http://www.digitalforensicssolutions.com/Scalpel/&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;The download file contains pre-compiled Windows binaries as well as the project source code.&amp;nbsp; If you find any bugs while using Scalpel please send an email to scalpel@digitalforensicssolutions.com. If you want to send comments to the authors, you can&amp;nbsp; contact Golden Richard (golden@cs.uno.edu / &lt;a href="https://twitter.com/#%21/nolaforensix"&gt;@nolaforensix&lt;/a&gt; ) or Lodovico Marziale ( vico@digdeeply.com / &lt;a href="http://www.linkedin.com/in/lodovicomarziale"&gt;http://www.linkedin.com/in/lodovicomarziale&lt;/a&gt; ).&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;If you are interested in the GPU research that went into this project, we published a paper at DFRWS that discusses both the CUDA architecture as well as the integration of it into Scalpel. It can be found &lt;a href="http://digitalforensicssolutions.com/papers/dfrws2007-gpu.pdf"&gt;here&lt;/a&gt;.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-6871561451169483271?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/6871561451169483271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/04/announcing-scalpel-20.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/6871561451169483271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/6871561451169483271'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/04/announcing-scalpel-20.html' title='Announcing Scalpel 2.0'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-3277909567150367014</id><published>2011-03-28T11:05:00.001-05:00</published><updated>2011-03-28T11:09:47.870-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='registry analysis'/><title type='text'>Interesting Registry Backup Feature of Windows 7, Vista, and Server 2008</title><content type='html'>We have been doing quite a bit of registry-related research lately, and when I was investigating a Windows 7 machine, I noticed a folder "RegBack" under "C:\Windows\System32\config" (the normal directory where registry files are kept).&amp;nbsp; This piqued my interest and upon viewing the folder, I noticed what looked like a backup of all the core registry files (system, software, security, sam), and they all had a last written time of about 8 days earlier.&lt;br /&gt;&lt;br /&gt;Wanting to know what was controlling this folder, I Googled "RegBack", which resulted in about 77,000 hits&amp;nbsp; related to registry tech support or anti-virus scan results. The key moment came when I saw a forum poster mention that this folder was controlled by &lt;span id="goog_2041178028"&gt;&lt;/span&gt;&lt;span id="goog_2041178029"&gt;&lt;/span&gt;the "RegIdleBackup" scheduled task.&amp;nbsp; I then browsed my scheduled tasks library and found this task:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-PPSeE3ftbmY/TY_XpR-REWI/AAAAAAAAAA8/E_hk7mXaxwg/s1600/regidlebackup.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="186" src="http://2.bp.blogspot.com/-PPSeE3ftbmY/TY_XpR-REWI/AAAAAAAAAA8/E_hk7mXaxwg/s320/regidlebackup.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As can be seen in the picture, the "RegIdleBackup" task is scheduled to run every ten days and has a description of "Registry Idle Backup Task". Obviously, I did not create this task so I will assume its default in Windows 7. This would concur with many of the posts I found related to the RegBack folder.&lt;br /&gt;&lt;br /&gt;I then decided to see if this behavior was the same on Vista and Server 2008. To my surprise, the RegBack folder and a registry backup existed on both of these operating system versions, but neither of them had the "RegIdleBackup" scheduled task.&amp;nbsp; I then looked at the services list to see if any had a name related to registry functions, but did not find any.&amp;nbsp; At this point I have yet to determine what controls the updating of this folder on Vista/2008 or when the update occurs. If anyone has insight into this please comment on the blog or email me about it and I will update the post. &lt;br /&gt;&lt;br /&gt;After realizing that the all of the latest Windows versions contain a pristine, historical copy of the registry, I wanted to see if the existence of RegBack was known in the forensics community. I then emailed a few people who I know perform many related hands-on investigations and  training sessions, and all of them said that they had not heard about  the folder or its associated task. I then Googled for for terms such as "regback" "forensics" and "regback" "sans" and all results came back empty.&amp;nbsp; The one reference I did find to RegBack examination was a &lt;a href="http://www.ceicconference.com/"&gt;CEIC&lt;/a&gt; 2007 presentation (&lt;a href="http://www.lancemueller.com/vistaceic2007.ppt"&gt;here&lt;/a&gt;, slides 23-24) by &lt;a href="http://www.forensickb.com/"&gt;Lance Mueller. &lt;/a&gt;The existence of this folder has obvious forensics implications, and can enable at least one revision of historical files to be gathered offline without having to interact with the volume shadow service.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hopefully this post was interesting enough for a Monday morning read. If after reading the post you notice that your Windows 7 installation does not have the RegIdleBackup scheduled task or that your Vista/2008 installation does, I would be very interested in hearing about it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-3277909567150367014?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/3277909567150367014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/03/interesting-regsitry-backup-feature-of.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/3277909567150367014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/3277909567150367014'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/03/interesting-regsitry-backup-feature-of.html' title='Interesting Registry Backup Feature of Windows 7, Vista, and Server 2008'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-PPSeE3ftbmY/TY_XpR-REWI/AAAAAAAAAA8/E_hk7mXaxwg/s72-c/regidlebackup.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-3542866279250978167</id><published>2011-03-03T11:05:00.001-06:00</published><updated>2011-03-03T15:10:43.806-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='volatility'/><title type='text'>Analyzing the New Honeynet Memory Analysis Challenge with Volatility</title><content type='html'>Yesterday, someone in the Volatility IRC channel (#volatility on freenode), posted a link to a new honeynet challenge that involved Linux memory analysis (&lt;a href="http://www.honeynet.org/challenges/2011_7_compromised_server"&gt;here&lt;/a&gt;), so I thought this would be a good way to showcase the new Linux features.....&lt;br /&gt;&lt;br /&gt;Since many of the challenge questions can be solved directly with available plugins or minor manual analysis of plugin output, I think people should find it interesting.&lt;br /&gt;&lt;br /&gt;For instance, the third question of the challenge is:&lt;br /&gt;"What processes were running on targeted server? (2pts)"&lt;br /&gt;&lt;br /&gt;This can be trivally solved with the linux_task_list_psaux plugin (output &lt;a href="https://gist.github.com/853091"&gt;here&lt;/a&gt;), you can also use the kmem_cache plugin to get a partial list of exited processes&lt;br /&gt;&lt;br /&gt;To analyze the memory capture yourself with Volatility, first download the memory capture ( &lt;a href="http://yom.retiaire.org/dl/victoria-v8.memdump.img.zip"&gt;here&lt;/a&gt; ) and then checkout the linux branch from SVN with this command:&lt;br /&gt;&lt;br /&gt;svn checkout http://volatility.googlecode.com/svn/branches/linux-support vollinux&lt;br /&gt;&lt;br /&gt;then "cd" to "vollinux", and run Volatility like this:&lt;br /&gt;&lt;br /&gt;python volatility.py -f [path to downloaded memory dump] --profile=debian2626 [plugin_name]&lt;br /&gt;&lt;br /&gt;If you were to use the linux_netstat plugin in the above command, you would see the equivalent of "netstat" on the target memory image, and it should go a long way in helping solve the challenge (hint hint)&lt;br /&gt;&lt;br /&gt;If you have any questions/feedback then please comment on this post or use the normal methods to get in touch with Volatility developers.&lt;br /&gt;&lt;br /&gt;Thanks and have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-3542866279250978167?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/3542866279250978167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/03/analyzing-new-honeynet-memory-analysis.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/3542866279250978167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/3542866279250978167'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/03/analyzing-new-honeynet-memory-analysis.html' title='Analyzing the New Honeynet Memory Analysis Challenge with Volatility'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-8869793584418816350</id><published>2011-03-01T11:50:00.002-06:00</published><updated>2011-03-01T13:21:30.666-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='volatility'/><title type='text'>Bringing Linux Support to Volatility</title><content type='html'>&lt;div class="MsoNormal"&gt;Hello readers…&amp;nbsp; This is going to be a long post where I (&lt;a href="http://twitter.com/#%21/attrc"&gt;@attrc&lt;/a&gt;) attept to introduce ongoing (still very beta) work that I have been doing that allows for kernel-version generic processing of Linux memory images using the &lt;a href="https://www.volatilesystems.com/default/volatility"&gt;Volatility memory analysis framework&lt;/a&gt;.&amp;nbsp; To keep things somewhat sane, this post will be broke into a couple of sections.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;Let us begin…&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 0in; text-indent: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 0in; text-indent: 0in;"&gt;1)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Overview of functionality&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 0in; text-indent: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; First we will discuss the currently implemented plug-ins and features of the developed work. We will start with the plug-ins dealing with per-process data:&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="margin-left: 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_task_list_ps &lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Gathers active tasks from the task_struct-&amp;gt;tasks list&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 3pt 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_task_list_psaux&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 3pt 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Like linux_task_list_ps except gathers process command line information from userland, will eventually include the start time of each process (needs more research)&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_tasklist_kmem_cache&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 3pt 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Gathers active process through the kmem_cache (see&amp;nbsp;&lt;a href="http://www.digitalforensicssolutions.com/kmem_cache.html"&gt;this paper&lt;/a&gt; for more information)&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_list_open_files&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Lists open files per process&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_netstat&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Lists socket information per process&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_proc_maps&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Lists process map information (like /proc/&lt;pid&gt;/maps) per process&lt;/pid&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Each of the plug-ins by default will analyze every active process. If you want to limit by a process or some subset of processes then you can indicate them by a comma separated list of process IDs with the –p option, such as –p 1,104,15 or –p 12345.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next the plug-ins related to networking information:&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="margin-left: 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_arp&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Prints the ARP table&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_ifconfig&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Prints network interface information&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_route&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Prints the routing tables&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_route_cache&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Prints entries from the routing cache table (see &lt;a href="http://sandbox.dfrws.org/2008/Cohen_Collet_Walters/Digital_Forensics_Research_Workshop_2.pdf"&gt;this paper&lt;/a&gt; for more information)&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And finally some miscellaneous plug-ins: &lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 3pt 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_dmesg&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 3pt 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Prints the buffer shown by the dmesg command&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 3pt 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_lsmod&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 3pt 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Prints currently loaded kernel modules&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 3pt 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;linux_mount&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 3pt 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Prints mounted devices as seen in /proc/mounts&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in; text-indent: 0in;"&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in; text-indent: 0in;"&gt;2)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Example command line usage&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 31.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Gathering active tasks&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;python volatility.py&amp;nbsp; -f [path to memory image] --profile=[name of profile ] linux_task_list_ps&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="margin-left: 67.5pt; text-indent: -0.25in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For more information please see the Volatility README file in the branch root.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;3) (Current) Caveats of version support&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; While the methodology for supporting the huge number of kernel version variations present in each Linux distribution is sound and automated, we currently have only generated profiles for our set of test kernels.&amp;nbsp; Profiles are what allow Volatility to interact with a large number of kernels as they contain information about the investigated kernel including the System.map data and the in-memory layout of all structures. This allows for kernel version generic support and makes it trivial to support future kernels.&amp;nbsp;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Currently we have generated profiles for the Ubuntu 2.6.32.25 and 2.6.32.27, Debian 2.6.26, and CentOS 2.6.9-89-EL kernels. These kernels and associated memory captures are what make up the current test bed and their version numbers are far apart enough to contain significant changes between kernel versions. Later in the post I will describe how to generate profiles for your own kernel if it is different from one of the above.&amp;nbsp; Please do not try to use the current profiles on other kernels than the ones listed as they won’t work, even if they are closely related. Dealing with this issue will be substantially easier when a stable release with Linux support is done and is discussed later. The list of current profile names can be gathered by running &lt;i&gt;python volatility.py –info &lt;/i&gt;.&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Another caveat is that currently there is only kmem_cache support for SLAB based systems, so if you are using a distribution that utilizes SLUB you will receive an error along the lines of “Could not find a suitable allocator” when attempting to use kmem_cache based plug-ins. Again, SLUB support will be present in the first stable release.&amp;nbsp;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp; The last discussed caveat is that currently the Linux support only works against 32 bit memory images as this is all Volatility supports. 64 bit support is currently &lt;a href="http://code.google.com/p/volatility/issues/detail?id=82"&gt;planned &lt;/a&gt;and once the appropriate core Volatility functionality is developed, the Linux plug-ins will be thoroughly tested against 64 bit systems.&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="margin-left: 0in; text-indent: 0in;"&gt;4)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Developing and Testing still needed&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="margin-left: 0in; text-indent: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Since the code is still in early beta stage there is need for further development and extensive testing. If you have coding and memory analysis skills, feel free to add your own plug-ins and research to the project. If you are looking for interesting plug-ins that still need to be developed then check the TODO file of the linux-support SVN branch. To get in touch with developers use the contact information found in the README file included in the branch root (IRC is usually best/quickest).&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Testing is especially needed for popular distributions that are not included in our test bed (Redhat, SuSe, etc) and for the newest round of plug-ins (linux_arp, linux_route, linux_route_cache). If you are going to test one of the mentioned distros or your own kernel, you can generate a profile using two easy steps. In the following example I will assume you are going to generate a kernel for a 2.6.16 SuSe kernel.&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; First you need to install &lt;a href="http://reality.sgiweb.org/davea/dwarf.html"&gt;dwarfdump&lt;/a&gt;, which is available in source form or through most distributions’ package repositories.&amp;nbsp; Once dwarfdump is still you then need the System.map for the running kernel and a debug version of the kernel (vmlinux). &amp;nbsp;Most distributions package debug versions of their kernel within the repositories, and if you compile your own kernel, the compilation process will produce a file named “vmlinux” within the directory you type ‘make’ (usually /usr/src/linux).&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You then run the command as:&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dwarfdump –di vmlinux-file &amp;gt; dd-out&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next, you use the Python script included with Volatility &lt;i&gt;tools/dwarfparse.py &lt;/i&gt;like so:&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; python tools/dwarfparse.py –s [System map file path] dd-out &amp;gt; suse_2_6_16_vtypes.py&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Once the vtype file is created it then needs to be copied into the volatility/plug-ins/overlays/linux/ directory. To finish, simply copy and modify one of the existing profile scripts, such as centos.py, and name the profile appropriately to use your new vtypes.&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you need help creating a profile, please visit the Volatility IRC channel (#volatility on freenode)&amp;nbsp; or comment on this post. In the stable release of Linux support this process will be fully automated and not require a debugging version of the kernel if the source code is present, which is the more common scenario.&amp;nbsp;&amp;nbsp; The stable release will also contain a large number of profiles and will hopefully minimize the need for users to create their own.&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Obtaining a memory capture can be performed a few ways. The easiest is to use the suspend feature of Vmware Workstation (and possibly the free server), which creates a *.vmem file in the virtual machine’s data folder. This *.vmem file is a bit-for-bit copy of RAM and Volatility can be run directly against it. If you do not have access to Vmware you can run either the crash &lt;ref&gt; or fmem &lt;ref&gt; driver and then use dd to capture memory. If you choose to use fmem, please read its README file before attempting to use dd with it.&lt;/ref&gt;&lt;/ref&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you discover across a bug in the current code when testing, please file a bug using the online tracker which can be found &lt;a href="http://code.google.com/p/volatility/issues/list"&gt;here &lt;/a&gt;&lt;ref&gt;with instructions &lt;a href="http://code.google.com/p/volatility/source/browse/branches/linux-support/README.txt#255"&gt;here&lt;/a&gt; &lt;ref&gt;.&lt;/ref&gt;&lt;/ref&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in; text-indent: 0in;"&gt;5)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Access to Source Code&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in; text-indent: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Access to the current code can be found at &lt;a href="http://code.google.com/p/volatility/source/browse/branches/linux-support/"&gt;http://code.google.com/p/volatility/source/browse/branches/linux-support/&lt;/a&gt; and checked out by:&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;tt&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;&lt;i&gt;svn checkout&lt;/i&gt; &lt;/span&gt;&lt;/tt&gt;&lt;i&gt;&lt;i&gt;&lt;span style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;http&lt;/span&gt;&lt;/i&gt;&lt;/i&gt;&lt;tt&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;&lt;i&gt;:&lt;/i&gt;//volatility.googlecode.com/svn/branches/linux-support volatility-linux&lt;/span&gt;&lt;/tt&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you encounter a bug or want to stay with the latest development, please be sure to update your checkout often as development is very active.&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in; text-indent: 0in;"&gt;6)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Future Plans&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in; text-indent: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Besides the previously mentioned topics, future plans for Linux support can be found in the TODO file of the linux-support branch. Once the Volatility 1.4 is released, there will be a concentrated effort to get stable Linux support released, and we expect a number of improvements during that time.&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in; text-indent: 0in;"&gt;7)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Further Reading&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in; text-indent: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you are interested in Linux memory analysis and the theory behind the plug-ins there are a number of references to check. First are three books which deal extensively with Linux Internals,&amp;nbsp;&lt;a href="http://www.amazon.com/Understanding-Linux-Kernel-Third-Daniel/dp/0596005652/ref=sr_1_1?ie=UTF8&amp;amp;qid=1299001198&amp;amp;sr=8-1"&gt;1&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.amazon.com/Linux-Device-Drivers-Jonathan-Corbet/dp/0596005903/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1299001232&amp;amp;sr=1-1"&gt;2&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.amazon.com/Linux-Kernel-Development-Robert-Love/dp/0672329468/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1299001254&amp;amp;sr=1-1"&gt;3&lt;/a&gt; &lt;ref&gt;. Second there are a number of published papers in the field of Linux memory analysis which can be found through these links&amp;nbsp;&lt;a href="http://www.4tphi.net/fatkit/"&gt;1&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.forensicswiki.org/wiki/Linux_Memory_Analysis"&gt;2&lt;/a&gt; &lt;volatility&gt;. You should also visit &lt;a href="http://lxr.linux.no/"&gt;http://lxr.linux.no&lt;/a&gt; as it has a web-based LXR installation for all kernel versions and allows searching, cross referencing, and so on. It is an amazing time saver during research.&lt;/volatility&gt;&lt;/ref&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="margin-left: 0in;"&gt;&amp;nbsp;&amp;nbsp; Hopefully this post was not too overwhelming and inspired people to give the new Linux support a try. In future posts we will be presenting some interaction with the new support including malware detection capabilities currently being developed. Be sure to follow the blog’s twitter account &lt;a href="http://twitter.com/#%21/dfsforensics"&gt;@dfsforensics&lt;/a&gt; in order to get the latest information. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-8869793584418816350?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/8869793584418816350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/03/bringing-linux-support-to-volatility.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/8869793584418816350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/8869793584418816350'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/03/bringing-linux-support-to-volatility.html' title='Bringing Linux Support to Volatility'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-2126835887132198710</id><published>2011-02-07T13:48:00.003-06:00</published><updated>2011-02-07T13:53:40.243-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='pointsec full disk encryption'/><title type='text'>Forensic Examination of Pointsec Encrypted Drives</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Many organizations use Pointsec (Check Point) full disk encryption in order to keep their data secure, especially in the case of laptops. As forensics investigators, we are occasionally tasked with creating forensically sound, decrypted images of Pointsec encrypted drives for preservation or investigation. This is a notoriously difficult task, as no existing forensics tool has the push-button ability to create a decrypted image from an encrypted one. While there are a few online resources documenting this process, they are contradictory and occasionally incorrect. In order to help out other investigators faced with this challenge, we are going to present a set of steps and pointers for acquiring a forensically sound (with caveats) decrypted image from a Pointsec encrypted drive image. Note that this post is not about breaking the encryption, just about creating a decrypted image assuming we have required security credentials. Also, since the process has failed a few, rare times in our lab, alternative methods will be presented in a future post.&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Things you need:&lt;/div&gt;&lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal"&gt;A Pointsec encrypted raw      drive image&lt;/li&gt;&lt;li class="MsoNormal"&gt;A workstation with      &lt;a href="http://liveview.sourceforge.net/"&gt;LiveView&lt;/a&gt; (and an underlying VMWare installation)&lt;/li&gt;&lt;li class="MsoNormal"&gt;A custom BartPE CD with      the Pointsec Dynamic Mount Utility (DMU) for mounting the encrypted image,      and with FTK Imager. Instructions for creating this disk with DMU can be      found in the Dynamic Mount Utility Administration Guide (currently HERE: &lt;a href="https://updates.checkpoint.com/fileserver/SOURCE/direct/ID/11801/FILE/CP_2.0_FDE_Dynamic_Mount_Utility_AdminGuide.pdf"&gt;https://updates.checkpoint.com/fileserver/SOURCE/direct/ID/11801/FILE/CP_2.0_FDE_Dynamic_Mount_Utility_AdminGuide.pdf&lt;/a&gt;).      &amp;nbsp;You will need to add FTK Imager to      the disk as well.&lt;/li&gt;&lt;li class="MsoNormal"&gt;A network share to write      the decrypted image to.&lt;/li&gt;&lt;/ul&gt;&lt;div class="MsoNormal"&gt;The process:&lt;/div&gt;&lt;ol start="1" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;Use LiveView to generate      the configuration files only for the encrypted drive image.&lt;/li&gt;&lt;li class="MsoNormal"&gt;Open the newly-generated      configuration file (.vmx) with VMWare Workstation and:&lt;/li&gt;&lt;ol start="1" style="margin-top: 0in;" type="a"&gt;&lt;li class="MsoNormal"&gt;Set the CD-ROM to the       correct drive letter&lt;/li&gt;&lt;li class="MsoNormal"&gt;Add and configure a       Network Adapter (use NAT if in doubt)&lt;/li&gt;&lt;/ol&gt;&lt;li class="MsoNormal"&gt;Open the vmx file itself      in a text editor and add the following line to the end: &lt;/li&gt;&lt;/ol&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;Bios.BootDelay = “10000” &lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;(this adds a 10 second boot delay, or else step 6 becomes difficult)&lt;/div&gt;&lt;ol start="4" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;Load the BartPE CD into      the physical computer’s CD ROM tray&lt;/li&gt;&lt;li class="MsoNormal"&gt;Launch the virtual machine      in LiveView, select to continue when prompted.&lt;/li&gt;&lt;li class="MsoNormal"&gt;Hit ESC to enter the      VMWare boot menu, and select the CD-ROM drive to boot the BartPE CD.&lt;/li&gt;&lt;li class="MsoNormal"&gt;Once BartPE is fully      loaded, configure networking at the prompt.&lt;/li&gt;&lt;ol start="1" style="margin-top: 0in;" type="a"&gt;&lt;li class="MsoNormal"&gt;Set the correct network       settings.&lt;/li&gt;&lt;li class="MsoNormal"&gt;Map a network share for       writing the decrypted image.&lt;/li&gt;&lt;/ol&gt;&lt;li class="MsoNormal"&gt;Run the DMU utility and      select the encrypted drive.&lt;/li&gt;&lt;li class="MsoNormal"&gt;Enter the require      credentials (local Administrator has worked for us in the past).&lt;/li&gt;&lt;li class="MsoNormal"&gt;Once the drive appears as      “unlocked,” use FTK Imager to create an image of the unlocked local drive      onto the mapped network drive.&lt;/li&gt;&lt;/ol&gt;&lt;div class="MsoNormal"&gt;Troubleshooting and implementation notes:&lt;/div&gt;&lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal"&gt;We have tried imaging the      unlocked drive with dd and dcfldd, but neither run correctly inside      BartPE.&lt;/li&gt;&lt;li class="MsoNormal"&gt;You may have to configure      networking and / or map the network drive in BartPE more than once before      it sticks. Be sure to use the provided “PE Network Configurator.”      Configuring with “NET USE” or “ipconfig” from the command line does not      appear to work correctly (or at all).&lt;/li&gt;&lt;li class="MsoNormal"&gt;Sometimes when booting      BartPE or when running DMU, you get a BSOD “STOP 0x0500????”. These error      codes do not appear to be documented anywhere, and to get around it you      need to use one of the alternate methods we will present in the next installment.&lt;/li&gt;&lt;li class="MsoNormal"&gt;DMU does not have an      option to mount the encrypted volume read-only. Forensically, this means      that the decrypted image will not be exactly as the encrypted image was,      but since we were not booted to the encrypted image, and we are careful      not to touch any files on the volume (right?), this method should be      perfectly acceptable with proper documentation. &lt;/li&gt;&lt;/ul&gt;&lt;div class="MsoNormal"&gt;Hopefully this guide will help other investigators to gather a forensically sound disk image of Pointsec encrypted laptops. In future posts, we will present alternatives methods to the one presented that accomplish the same task. &amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-2126835887132198710?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/2126835887132198710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/02/forensic-examination-of-pointsec.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/2126835887132198710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/2126835887132198710'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/02/forensic-examination-of-pointsec.html' title='Forensic Examination of Pointsec Encrypted Drives'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-6512462847391050772</id><published>2011-01-25T08:58:00.002-06:00</published><updated>2011-01-25T09:00:41.408-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='the sleuthkit'/><category scheme='http://www.blogger.com/atom/ns#' term='tsk_loaddb'/><title type='text'>Exploring The Sleuthkit's new tsk_loaddb feature</title><content type='html'>The Sleuthkit's latest &lt;a href="http://sleuthkit.org/sleuthkit/history.php"&gt;release&lt;/a&gt; (3.2.0) contains a new feature &lt;i&gt;tsk_loaddb&lt;/i&gt; that loads all metadata about a disk image into an Sqlite database. This is a very interesting feature as a long standing issue with TSK is that you had to rerun commands over and over, and that information was not cached between invocations. tsk_loaddb fixes this as all information necessary to examine an image is saved in the created database.&lt;br /&gt;&lt;br /&gt;Unfortunately the database structure is not documented, so in this post we aim to reveal important parts of the database and to show how this new feature can be used to examine cases with TSK much more efficiently.&lt;br /&gt;&lt;br /&gt;In this example, we have created an image file with /dev/zero, formatted it ext3, and mounted it on loopback. We then used&amp;nbsp;&lt;a href="https://gist.github.com/794376"&gt;gen_fs.py&lt;/a&gt; to create a simple directory layout within the mounted disk image. After that, we created the TSK database with:&lt;br /&gt;&lt;br /&gt;./tsk_loaddb disk.img&lt;br /&gt;&lt;br /&gt;and this created an Sqlite database named &lt;i&gt;disk.img.db. &lt;/i&gt;Upon examining this database we see the structure shown &lt;a href="https://gist.github.com/794442"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Within this database structure we can observe usual TSK information such as the disk partition, files contained, and block level data. Now examination of TSK data is as simple as SQL queries, which we will show for a few common scenarios.&lt;br /&gt;&lt;br /&gt;1) &amp;nbsp; Locating blocks of a file ('march.xls' in this example) contained in the disk image&lt;br /&gt;&lt;br /&gt;sqlite&amp;gt; select blocks.blk_start from tsk_fs_blocks as blocks, tsk_fs_files as files where files.name="march.xls" and files.file_id=blocks.file_id; &lt;br /&gt;99331 &lt;br /&gt;sqlite&amp;gt;&lt;br /&gt;&lt;br /&gt;Block 99331 is reported from the query and if we use blkcat to read this block, we see that it matches the information contained in the gen_fs.py script.&amp;nbsp; If we are recovering a file that spans multiple blocks, we can simply include the blocks.blk_len column in the select statment and it will report the number of blocks used by the file.&lt;br /&gt;&lt;br /&gt;2)&amp;nbsp; Locating the filename for an offset in the disk&lt;br /&gt;&lt;br /&gt;A very common scenario in forensics investigations is searching for keywords and then determining the context of matches. This often requires determining which file the matching keywords were found in or if they are in unallocated space.&amp;nbsp; Before the tsk_loaddb feature, this step required using a number of TSK commands in succession for each offset found by a file carver or indexer. Again, with the new feature it's as simple as an SQL query. &lt;br /&gt;&lt;br /&gt;First, we determine where on the disk our string of interest (EEEEE, see gen_fs.py) is located:&lt;br /&gt;&lt;br /&gt;# strings -t d disk.img | grep EEEEE&lt;br /&gt;101714944 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE&lt;br /&gt;&lt;br /&gt;Second, we get the block size from the image and divide our offset by it: &lt;br /&gt;sqlite&amp;gt; select block_size from tsk_fs_info;&lt;br /&gt;1024&lt;br /&gt;sqlite&amp;gt;&lt;br /&gt;101714944/1024 = 99331&lt;br /&gt;&lt;br /&gt;Finally, we search for which file corresponds to this block: &lt;br /&gt;&lt;br /&gt;sqlite&amp;gt; select files.name from tsk_fs_blocks as blocks, tsk_fs_files as files where blocks.blk_start &amp;lt;= 99331 and blocks.blk_start+blocks.blk_len &amp;gt;= 99331 and files.file_id=blocks.file_id; &lt;br /&gt;&lt;br /&gt;This query works by finding a file that&lt;br /&gt;1) starts either at or before our block of interest&lt;br /&gt;2) ends at or after our block of interest&lt;br /&gt;This allows for immediate retrieval of filenames related to keyword searches and file carving. As discussed at the end of this post, this process can easily be scripted for a large number of files. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3) Time based activity searching&lt;br /&gt;&lt;br /&gt;Many cases involve searching for file activity based on timelines. Since the sleuthkit database contains MAC time information, we can now perform much of this work through SQL queries. For example a simple search of files created before a 8:23PM on 01/24/11 could look like:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;sqlite&amp;gt; select name from tsk_fs_files where datetime(ctime,'unixepoch','localtime') &amp;lt; '2011-01-24 20:34:00';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, there are a few things to explain about this query. First, we are querying based on the create time of the file (ctime) and in order to have this file match our local time zone, instead of UTC, we have to use the Sqlite datetime function to format the date correctly. Second, the date we want to search against needs to be written as is formatted after the less than (&amp;lt;) sign. Once we have this syntax correct, we can quickly search for files based on complex, multiple parameter queries such as 'created on X but modified after Y' or 'accessed between Z and Y'.&lt;br /&gt;&lt;br /&gt;In this post, we hope to have showed some of the power contained in the new tsk_loaddb feature as well as inspired people to construct new queries and research new automated capabilties. Obviously we have performed our work through the direct SQL interface, but scripting interactions in Python or another language would be trivial using the provided Sqllite libraries. We also have envisioned a number of higher level capabilities that can be easily made using this feature, and hope to implement them and share them on the blog in the future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-6512462847391050772?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/6512462847391050772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/01/exploring-sleuthkits-new-tskloaddb.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/6512462847391050772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/6512462847391050772'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/01/exploring-sleuthkits-new-tskloaddb.html' title='Exploring The Sleuthkit&apos;s new tsk_loaddb feature'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-2537226712449444929</id><published>2011-01-21T13:56:00.005-06:00</published><updated>2011-06-30T10:18:34.605-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='blackhat'/><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>Speaking Materials from our talk at Blackhat DC</title><content type='html'>Digital Forensics Solution's researcher &lt;a href="http://www.digitalforensicssolutions.com/aboutus.html#andrew"&gt;Andrew Case&lt;/a&gt; recently presented forensics memory analysis of Linux Live CDs and the Tor anonymity project at the &lt;a href="http://blackhat.com/html/bh-dc-11/bh-dc-11-home.html"&gt;Blackhat DC 2011&lt;/a&gt; conference.&lt;br /&gt;&lt;br /&gt;The talk has already received considerable attention and Tor quickly fixed some of the issues that were discussed. Two bug reports ( &lt;a href="https://trac.torproject.org/projects/tor/ticket/2384"&gt;1&lt;/a&gt; and &lt;a href="https://trac.torproject.org/projects/tor/ticket/2385"&gt;2&lt;/a&gt; ) were filed and the most recent &lt;a href="https://blog.torproject.org/blog/tor-02129-released-security-patches"&gt;release&lt;/a&gt; contains patches that sanitize sensitive memory after use.&lt;br /&gt;&lt;br /&gt;We are now working to get the presented live CD research integrated into &lt;a href="https://www.volatilesystems.com/default/volatility"&gt;Volatility&lt;/a&gt; so that the research becomes available to the general public.&amp;nbsp; Once this occurs, investigators of all skill levels will be able to properly handle cases involving live CDs.&lt;br /&gt;&lt;br /&gt;The white paper that was published can be found &lt;a href="http://www.digitalforensicssolutions.com/papers/PAPER-De-Anonymizing%20Live%20CDs%20through%20Physical%20Memory%20Analysis.pdf"&gt;here&lt;/a&gt; and the slides that accompanied the presentation &lt;a href="http://www.digitalforensicssolutions.com/papers/SLIDES-De-Anonymizing%20Live%20CDs%20through%20Physical%20Memory%20Analysis.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you have any questions or comments about the research please email Andrew or comment below. Also, check back Monday as we will have a writeup of other Blackhat presentations that caught our interest.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-2537226712449444929?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/2537226712449444929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/01/speaking-materials-from-our-talk-at.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/2537226712449444929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/2537226712449444929'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/01/speaking-materials-from-our-talk-at.html' title='Speaking Materials from our talk at Blackhat DC'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-724178285134254993.post-6113164707816861413</id><published>2011-01-21T12:23:00.004-06:00</published><updated>2011-02-17T16:30:24.423-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introduction'/><category scheme='http://www.blogger.com/atom/ns#' term='digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='computer security'/><title type='text'>A New Blog About Digital Forensics and Computer Security</title><content type='html'>Welcome to Digital Forensics Solution's blog about computer security and forensics.&amp;nbsp; We plan on using this blog to document our research, presentations, software projects, and interesting things we discover along the way.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Our past work can be found on our &lt;a href="http://www.digitalforensicssolutions.com/research.shtml"&gt;research&lt;/a&gt; page and information about contributing authors can be found on our &lt;a href="http://www.digitalforensicssolutions.com/about-us.shtml"&gt;about us&lt;/a&gt; page.&lt;br /&gt;&lt;br /&gt;We already have a number of topics that we plan on blogging about over the next week or two so please check regularly for updates.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/724178285134254993-6113164707816861413?l=dfsforensics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dfsforensics.blogspot.com/feeds/6113164707816861413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dfsforensics.blogspot.com/2011/01/new-blog-about-digital-forensics-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/6113164707816861413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/724178285134254993/posts/default/6113164707816861413'/><link rel='alternate' type='text/html' href='http://dfsforensics.blogspot.com/2011/01/new-blog-about-digital-forensics-and.html' title='A New Blog About Digital Forensics and Computer Security'/><author><name>Andrew Case</name><uri>http://www.blogger.com/profile/11014708860635242525</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
