File System and Disk Image Tutorial | FAQ

Assignment 8: Forensics.

Due Saturday, December 19 at 7:00 PM

Like assignments 4-7, this is a group assignment. There is no need to use the same groups you had in past assignments - you may chose new partners. Once you have chosen your partners, please post a private Piazza note that includes the names and logins of your group members. We'll assume that your groups are the same as before, but if there are any changes you should post on Piazza to let us know. Posting by Tuesday night (April 21) is 1 point of the assignment (if there are no changes, you automatically get this point).

The Backstory

Years ago, in the snowy Midwestern wastes of Ann Arbor Michigan, a young man's life was cut short far too soon. A town favorite and campus darling, Hapless Victim, was killed while working in the CS building sometime between midnight and 6 AM on November 26, 2009. Officers recovered a projectile known as a "nerf blaster dart" which appeared, inexplicably, to have been the cause of death.

Investigating officers had their first big break when they received an email tip on the 27th from an individual under the pseudonym of "Cecco Beppe". Responding to this tip and other circumstantial evidence, officers arrested their only suspect, Nefarious Criminal, and seized his computer. Unfortunately, an overzealous junior investigator encrypted the drive image without keeping track of the encryption key, and the equipment was returned to Nefarious before the mistake was realized. Now, after three years of brute force guessing, the drive has finally been unencrypted.

On this assignment, you will conduct a forensic investigation of Nefarious's hard drive and document any evidence relating to the murder of Hapless Victim.

The Disk Image

The image is available as a 3.35 gigabyte download; SHA1 Hash: 50405838f1f105e0d1dc748b547d773dcbd1b1df ('sha1sum -b filename' on Linux)).

Tasks and deliverables

The deliverables for this project are your answers to the eight numbered questions listed below. Your answers should be complete but concise. None of the questions should require more than one or two paragraphs to answer.

For each prompt (all of them!), explain the investigatory methods you used and the evidence that supports your conclusion. Your answers should be thorough enough that another investigator with basic Linux knowledge would be able to replicate your results. Explicitly give any particularly tricky commands or sequences of commands, along with a short explanation (i.e. if you got stuck on it, explicitly include it). Note that while we do want key details, we do not want a full transcript of the commands you took to complete your investigation.

Submit your answers in HTML or PDF format, in a file called index.html or homework8.pdf. You may include recovered files in your submission. If you submit such files, your report should clearly indicate which of these files are relevant to each response.

As you investigate, be on the lookout for evidence of any other machines or network services that the suspect may have used. These may contain important evidence and raise further questions you'll need to investigate. Be sure to contact your supervisor (i.e., your assigned TA) before attempting to access any such machines or accounts. Again, start early; management has been known to take up to 24 hours to respond on weekdays and longer on weekends, although we try to respond promptly.

  1. Try booting the suspect's machine and using it normally [to do this, you should create a new virtual machine -- don't use your Kali machine]. What specific behaviors of this machine make this a bad idea?
  2. What operating system and file system does the suspect use? Be careful and specific; e.g., say "Windows 2000" instead of just "Windows."; "FAT32" instead of just "FAT." (No attachment necessary.)
  3. What is the username of the account typically used by the suspect? (No attachment necessary.)
  4. Do you have any evidence that the suspect had an accomplice who was physically present on the night of the crime?
    After completing this step, please send a brief email to your assigned TA containing your answers to 1 thorugh 4, as well as a very short description of how you obtained this information. This email will be worth 4 points of your grade. There is no particular due date, though we recommend you do this sooner rather than later.
  5. Were there any suspicious-looking encrypted files on the machine? If so, please attach their contents and a brief description of how you obtained the contents.
  6. What evidence do you have that the suspect owned or was researching weapons of the kind involved in the murder? Please attach the specific evidence and a brief explanation.
  7. Did the suspect try to delete any files before his arrest? Please attach the name(s) of the file(s) and any indications of their contents that you can find. (Hint: We will be impressed enough to give extra credit if you manage to recover the original contents of a particular incriminating file, but we do not expect you to do so.)
  8. Is there anything else suspicious about the machine?
Unlike physical data (fingerprints, weapons, etc.), digital data can be theoretically examined WITHOUT modification. You should do your best to avoid changing the disk image whenever possible. Despite the theoretical possibility of avoiding any changes to the disk image, it is very difficult to completely avoid modifications to the disk (at least using standard Linux tools).

For each piece of evidence that you collect, you should list the changes that were made to the original disk image in pursuit of that evidence. You should specifically mention why those changes were unlikely to meaningfully affect that piece of evidence.


You should write up your answers to the above questions as you have for previous assignments. Include these answers as well as any files from the image which you wish to use as exhibits to support those answers and submit them as a zip file named here.

Getting Started / Officially Supported Working Environment

There exists a vast library of security tools that might be helpful for this assignment. The best ones tend to be open source, community developed tools. It is probably not a surprise that these tools are usually developed and deployed in Linux.

We will officially support students who are working in Kali Linux. We will also probably be able to help with other standard flavors of Linux. You are welcome to work in ANY environment, but be warned, we will not provide assistance with installing tools in other operating systems.

If you aren't already running Linux, we recommend that you download VirtualBox and install Kali Linux. VirtualBox is also a rather useful tool for this assignment.

Begin by downloading and installing Virtual Box for your host operating system.

Next you can download a Kali Linux 64 bit VBox. This is a prebuilt VirtualBox image which you can directly import into VirtualBox. It should be setup and ready to go with username root and password toor.

Hints and resources

For those of you with a weaker operating systems background, please see the file system and disk image tutorial.

Here is an incomplete list of non-obvious things you may want to try:

Kali Linux is a distribution of Linux which ships with a large number of Computer Security related tools. This includes many pieces of software related to computer forensics. It will be very useful to explore how these tools can help you. Some additional resources that may help you are listed below. You may not need any particular tool listed below, and there are a huge number of useful tools that you can use that are not on the list below.

Policies and mechanics

In this project you will be investigating the use of computers as part of an entirely fictitious crime scenario. You may access Web pages and other obviously-public computer services in a read-only fashion, but you must not attempt to log into any computers or accounts over which you do not already have sole control, even if you recover authentication credentials for those accounts from your analysis. If you think that doing so is necessary (hint, hint), you must first email the teaching assistants.
As usual, you may not collaborate outside your group. The number of pieces of evidence you find, the techniques you try, how successful those techniques are, the general process you follow, etc., are considered part of your solution and must not be shared between groups.
If you get stuck

Given the nature of the assignment and its strict collaboration policy, we recognize the need for some hints. We have developed standard hints for each question we have asked in the assignment; if your group gets stuck, you may email your assigned TA with the names of your group members, the question for which you would like a hint, and the progress you have made thus far on that question. Each group may receive up to three hints in total, and we will enforce a one-hour delay between hints for each group.

Requesting access to a remote machine does not count as a hint request, nor does asking for help with the first three questions, which are intended to help you get started.

We will respond to hint requests in a best-effort, first-come first-served fashion. In particular, you will not necessarily receive a hint before the homework deadline if you request one within 24 hours of the deadline. Start early!

Copyright 2012, J. Alex Halderman and Edward W. Felten (with moderate revision by Josh Hug).