The Most/Recent Articles

Showing posts with label re-creation testing. Show all posts
Showing posts with label re-creation testing. Show all posts

Daily Blog #137: Finding new artifacts - Re-creation Testing Part 1

Finding new artifacts - Re-creation Testing Part 1

Hello Reader,
          One of the things that in my opinion makes an examiner better at digital forensics is the ability to re-create events, create test scenarios and possibly find new artifacts. The best way to do that is through recreation testing and its something we do in the lab quite often. The premise is simple and there is some things you can do ahead of time to make your life easier.

Step 1. Determine which operating systems you have in your environment to test. 


In my lab we could receive anything so we have fresh install virtual machines from Windows 95-Windows 8 and all the server variants. For this kind of work a MSDN license is very, very helpful but some of the older operating systems are no longer on MSDN so we turned to ebay to fill the gaps in getting install media. We also have some virtual machines for OSX/Linux but they are not used as frequently as they make up a smaller percentage of casework.

In your lab if you work within a company your first step is to determine what operating system versions you make use of internally and then get to work putting them into a base state of what would be on your standard corporate image. If your company as a 'gold image' or a production image that your IT personnel deploy to new equipment that's even better to use as your test bed.


Step 2. Determine which virtual drive standard you will use

You have a lot of options these days in virtual drive image files. VMDK, VDI, VHD and other formats are all out there and usable. For our testing I have a preference for VHD and I'll explain why.

1. VHD has cross platform support without the need to install the virtual machine that created it. FTK Imager in windows supports VHD, Windows 7 and up can mount VHDs a local physical disks and in Linux/OSX through Joachim Metz's libvhdi http://www.forensicswiki.org/wiki/Libvhdi amongst other tools.

2. VHD allows for file systems to be mounted read only natively in Windows/Mac/Linux without additional software.

3. Cross support from multiple virtual machine vendors (Hyper v, virtual pc, vmware, virtual box)

Now you can pick any virtual drive format you'd like but those are the reasons I chose VHD.

Step 3. Determine which virtual machine software you will use


For many people this answer defaults to Vmware. I like Vmware but for my day to day VM creation I have migrated to Virtualbox. Virtualbox is free, it supports a wide range of operating systems and it has a pretty low overhead. Whatever virtual machine software and drive format you choose is really up to your preference, they all should generate the exact same test data. The important thing is to standardize so that you can easily pick up your work or switch operating systems with little effort.

Step 4. Determine how you will compare changes within the system over time


This may seem obvious to many of you who work with virtual machines regularly and are thinking about snapshots, there is just one problem with that. When you create a snapshot all the changes to the disk are stored in snapshot overlay files and not the underlying disk image. Your forensic tools do not support snapshot overlays (I don't know of one that does at least) and you base image won't get updated leading you to conclude that nothing has changed.

Instead you'll need to follow one of three scenarios:

Scenario 1 - Capture the full drive
After each change image to compress the data or just copy the virtual drive to a separate folder after suspending the system. This will give you all the data that has changed on the disk but leaves you with the unfortunate task of trying to diff whole images.

Scenario 2 - Capture artifacts of interest
If you are interested in changes occurring to artifacts you know about it may be enough to just extract the artifacts after each change. However, when do you do this make sure to capture it two ways. Once from the running system to capture any settings that may get purged on shutdown and again after shutdown to get all the keys/files that may not be accessible on the file system until TxF and TxR are committed.

Scenario 3 - Run a system comparison tool
For trying to identify possible locations of interest this is where I typically start. My comparison tool of choice is called SysTracer Pro from blueproject.ro, http://blueproject.ro/systracer/download. I like this tool because it will quickly capture the state of all registries and files within the virtual machine and allow you to compare between any two snapshots with full details of what changed. The 'pro' version even has a remote service so you can collect snapshots from the running system without having to add more artifacts by executing anything within the user profile.

That's all for today, I'll continue this with my methodology next week. Tomorrow is the Forensic Lunch at a special time of 2pm Central so make sure to tune in!

Daily Blog #10: Milestone 7 and 8 Detailed

Milestone 7 and 8 detailed by David Cowen - Hacking Exposed Computer Forensics Blog

Hola Reader,
    Another day, another blog! Day 10 and so far I'm enjoying this. It's nice to post regularly and get good feedback. If you are a returning reader, hey there buddy hope you are enjoying the new daily format. If you are a new reader, welcome! I have 342 of these blogs left so you came just in time! Today the milestone series (there are three days of these left, and conveniently three days left this week!) continues with milestones 7 and 8 which I believe are exciting times in a digital forensic examiner's progression.

Milestone 7 - You master re-creation testing.

    Many people are confused when I talk about re-creation testing, and it's something we do a lot in my lab when we encounter certain situations. What is re-creation testing you ask? It's attempting to reliably reproduce an artifact or an observed state in a forensic image through controlled testing. This usually happens in a virtual machine but you can also do it with a fresh install of the operating system if you believe a virtual machine may inhibit proper results. Here is a list of situations where I consider re-creation testing:
  • An artifact has been recovered that will not parse correctly,
  • An application is performing out of the ordinary in a way that effects the normal forensic data it leaves recoverable,
  • You encounter an unknown application and need to understand possible artifacts,
  • You find a new artifact and you need to validate its meaning,
  • You need to test a new tool,
  • You need to test how an artifact changes on different versions of the same artifact or application,
  • An opposing expert has issued an opinion that you are unsure of, and you need to test to see if you can agree or disagree with his findings,
  • You find a system cleaner or wiper and need to see what signs of use it leaves behind.
    In order to do re-creation successfully you need to have a test plan, an expected result and good test environment
  • A test plan - This can be as simple as 'install X application and see what registry keys it creates', to as complicated as 'virtualize the enterprise network and determine what is recorded when X occurs'. Your test plan needs to state what version of the operating system and application you are planning to test. This will normally be the versions found on the forensic image you are attempting to recreate.
  • An expected result - You should use your understanding of the forensic process and the operating system to predict what will happen. This is important as the test results will increase your knowledge and it gives you direction in your testing.
  • A good test environment - Many times people will get the suspect system booted into a virtual environment to better understand what was occurring on the system. I think doing this is great for understanding more about how your suspect's systems were configured/operated but it is not a good way to do re-creation testing. The goal of re-creation testing is to test for your expected result in a controlled environment. This means you know all the software/service packs/configurations for the system you are testing and whatever the custodian left behind in his original system will not throw you off.
    Re-creation testing is how you go beyond what you've been trained on, read about, seen presented on a conference, and into your own tested and verified facts. The documentation of this testing will become the basis for your opinion and the defense of your results. As you take on more challenging cases where the activity your seeing may be unique to your environment and no blog, book, or person can help you, re-creation testing is where you turn for help.

    This is a big topic and one I plan to follow up with a better framework/example for testing in the coming weeks. If you are currently working to achieve this milestone here is some advice; I know it seems hard and a time sink right now, but the better you get at this the better your results will be. It's easy for an opposing expert to argue against probable outcomes and conjecture, it's very hard to disprove documented test results!

Milestone 8 - Your processes and workflow become not only understandable, but accepted by 3rd parties.

    This milestone is all about the maturity of your process. You understand your workflows well enough, and the types of cases you typically work, to create a repeatable process of artifacts to check and their meaning. The major reason to do this is to allow others you bring in to collaborate on investigations follow the workflow you've verified to create reliable results as they work their way through the first milestones.

    The other major purpose is documenting and defending your process when it is questioned by third parties. This can come in the face of whomever is requesting your work; auditors, regulatory agencies or opposing expert witnesses being a few examples.

    Documenting your processes and workflows take time, but you will better for it and if you are able to do it in a group setting you will likely be able to pool together knowledge for a better end result.

    That's all for today's post, as I write these milestones I see more places where I feel dedicated blogs are necessary to really explain my experiences and learned lessons so you can avoid making my mistakes. Glad I have 342 more of these to fit those in!

Also Read: