Helix Opensource
Helix Opensource
Helix Opensource
User Manual
A note on copyrights:
Information in this manual, including any URL or other Internet website, is subject to change
without prior notice.
Unless otherwise noted, the companies, organizations, products, e-mail addresses, people,
places and events depicted herein are fictitious, and no association with any real company,
organization, product, e-mail address, person, place or event is intended or should be inferred.
Complying with all copyright laws is the responsibility of the user.
No part of this document may be reproduced, stored in or introduced into a retrieval system, or
transmitted in any form or by any means (electronic, mechanical, photocopying, recording or
otherwise), or for any purpose, without the express written permission of e-fense, Inc.
e-fense, Inc. may have trademarks, copyrights, or other intellectual property rights covering
subject matter in this document. Except as expressly provided in any written license agreement
from e-fense, Inc., the furnishing of this document does not give you any license to these
trademarks, copyrights, or other intellectual property.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
The goal of this manual was to produce a single reference source for the tools included on the
Helix CD. A large amount of the materials included in this manual have been copied from various
websites, and attempts have been made to ensure that everything is properly documented and
referenced. If you are the copyright owner of the material, and have issues with their inclusion in
this document, please contact me at [email protected], and we will resolve the issue. Thank
you for your contributions, your patience, and your understanding.
Copyright 2000-2009 e-fense, Inc. All rights reserved.
Helix Live Forensics and Incident Response User Manual
e-fense, Inc.
7670 S. Chester St., Suite 130
Centennial, CO 80112
Introduction
e-fense, Inc. developed Helix3 as an internal tool to provide the ability to acquire forensically
sound images of many types of hard drives and partitions on systems running unique setups such
as RAID arrays. It quickly grew to include many open source, and some closed source, tools for
the forensic investigators at e-fense, and became the internal standard to image live systems
as well as systems running RAID setups. This enabled us to easily deal with the issue in the
corporate world that some systems could never be taken o-line to do a more traditional forensic
acquisition. Since most corporate systems run Microsoft Windows, we developed a Windows
functionality to facilitate the capture of live Windows systems volatile data, as well as to conduct
a forensic acquisition while the system remained on-line.
Helix3 was first publicly released on 23 Nov 2003. Its popularity grew quickly, and Rob Lee
started using it at SANS to teach the forensics track. Helix3 has been going strong ever since and
has been downloaded countless times. Many Government agencies and Law Enforcement
community across the globe have turned to Helix3 as their forensic acquisition standard due to its
functionality and cost eectiveness (who can beat FREE)! The National White Collar Crime Center
(NW3C) has chosen to use Helix3 to teach Law Enforcement Linux forensics on bootable CDs.
The name Helix3 was chosen for no particular reason other than it fit with the sound of the name
Linux. Also since forensics is a science, the DNA double Helix3 symbol seemed to apply. Finally,
the tools included on the CD focused on 3 tasks: Incident Response, Electronic Discovery, and
Forensics. So Helix3 was born.
Helix3 is a work in progress and is not meant to be used by individuals without proper incident
response and/or forensics training. While many complex commands are simplified with a GUI
interface, it is the responsibility of the end user to know what these commands are doing so that
you dont inadvertently delete evidence, or if called upon to testify, you dont look like an idiot
when you cant explain your actions on the witness stand.
Helix3 is distributed as is WITHOUT ANY WARRANTY; without the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Revision History
Version
2009.02.27
2008.11.01
Details
Release for 2009R1 version
Release delayed to coincide with the new Helix3 2.0 release
Numerous spelling corrections
2005.12.27
2005.10.05
2005.03.07
Advice to Beginners
Helix3 is a very powerful tool. But with great power comes great responsibility, and as a
potential forensics investigator, it is your responsibility to learn how to use this tool properly. It
is expected that if you have downloaded and created a bootable Helix3 CD, and that you have an
interest in digital forensics.
But just as you can use a hammer to build a house, you can not build a house just using a hammer.
To successfully build a house, you need architects, lawyers, construction workers, many tools,
supplies, and inspectors. The same is true in the field of digital forensics. Before you examine
any system, you need to make sure that you have permission to examine that system. You need to
know the legal aspects of collection, documentation, and preservation of digital evidence. You
need to know how to use the tools of the trade (such as those on the Helix3 CD).
Simple mistakes and good intentions can completely destroy digital evidence. It is strongly
recommended that aspiring investigators learn about digital forensics, and practice on controlled
systems before attempting to collect evidence from a real system.
Some recommended books on digital forensics include:
Carrier, B. (2005). File system forensic analysis. Boston, Mass. ; London: Addison-Wesley.
Carvey, H. A. (2005). Windows forensics and incident recovery. Boston: Addison-Wesley.
Carvey, H. A. (2007). Windows forensic analysis : DVD toolkit. Burlington, MA: Syngress Pub.
Casey, E. (2004). Digital evidence and computer crime : forensic science, computers, and the Internet (2nd ed.).
Amsterdam ; Boston: Academic Press.
Farmer, D., & Venema, W. (2005). Forensic discovery. Upper Saddle River, NJ: Addison-Wesley.
Jones, K. J. (2005). Real digital forensics : computer security and incident response. Indianapolis, IN: Addison
Wesley Professional.
Prosise, C., & Mandia, K. (2003). Incident response and computer forensics (2nd ed.). New York, New York:
McGraw-Hill/Osborne.
Marcella, A. J., & Menendez, D. (2008). Cyber forensics : a field manual for collecting, examining, and preserving
evidence of computer crimes (2nd ed.). Boca Raton, NY: Auerbach Publications.
Pogue, C., Altheide, C., & Haverkos, T. (2008). Unix and Linux forensic analysis DVD toolkit. Burlington, MA:
Syngress Publishing.
Schweitzer, D. (2003). Incident response : computer forensics toolkit. Indianapolis, IN: Wiley.
Solomon, M., Barrett, D., & Broom, N. (2005). Computer forensics jumpstart. San Francisco: Sybex.
Technical Working Group for Digital Evidence in the Courtroom, National Center for Forensic Science, & National
Institute of Justice (U.S.). (2007). Digital evidence in the courtroom a guide for law enforcement and
prosecutors. Washington, DC: U.S. : Dept. of Justice, Oce of Justice Programs, National Institute of
Justice.
Vacca, J. R. (2005). Computer forensics : computer crime scene investigation (2nd ed.). Hingham, Mass.: Charles
River Media.
I would also recommend that you create a home lab in which to practice with these tools. I
recommend 2 systems, running Windows 2000 or XP, with a network connection between them,
either via a switch or a crossover cable. Since some of these tools transfer data via the network,
make sure you disable any firewalls, such as the one built-in to XP service pack 2, which can
interfere with network connections. I would label one machine as Suspect, and at the other as
Forensic. To experiment with disk imaging, I would recommend having machines with floppy
disks, and the suspect system should have a small hard drive (4 gig) or less, since copying larger
drives over a network can take a very long time, and require a lot of space on the forensic system.
For the forensic system, I would recommend having two hard drives (or at least two partitions)
one for the operating system, and one for the collected evidence.
What is Helix3?
Helix3 is a customization of the standard Ubuntu1 distribution. As such it owes much to the
great work done by Canonical Ltd and by all the contributors to the Ubuntu project. In fact,
http://www.ubuntu.com is the first place you should to go if you're looking for more information
on how to use Ubuntu Linux, or if you are interested in more technical information, such as how
to customize the distribution. There are many other LiveCD distributions available that have
been around longer than Helix3, but many of them are no longer maintained or are not updated
on a frequent enough basis: Knoppix-STD2, FIRE3, Morphix4, and Insert5
http://www.ubuntu.com/
http://www.knoppix-std.org/
http://fire.dmzs.com/
http://www.morphix.org/modules/news/
http://www.inside-security.de/insert_en.html
Operating Modes
Helix3 operates in two dierent modes Live and Bootable.
Helix3 is a forensically sound bootable Linux environment much like Ubuntu, but a whole lot
more. The other side of Helix, a Microsoft Windows executable feature, contains approximately
90 MB of incident response tools for Windows. The rationale behind this was that a majority of
incidents require interaction with a live Windows system, the dominant operating system in the
computer market.
As such Helix3 was broken down into the live response side and the bootable Linux OS side.
Live: In the Windows Mode, it runs as a standard windows application used to collect information
from live (still turned on and logged in) Windows system. It should be noted, that when a
target system is live, its state is constantly changing. No matter what tools you use on a live
system, you will disturb the state of the live system even doing nothing changes the state of
a live system, since it is still running the operating system. However, since turning o the system
can result in the lost of potentially important forensics information, the tools can be used to
collect volatile information. It can also be used to collect information from systems that can not
be turned o, such as servers and other critical resources that can not be turned o. Finally, the
Windows side of Helix3 can be used as a portable forensic environment since it provides access to
many windows-based forensic utilities.
Linux: In the Linux mode, it is a bootable, self-contained operating system that can be used for
in-depth analysis of dead (powered-o) systems. When Helix3 boots, it runs entirely o the
CD, and only mounts the hard drives in read-only mode, so they can not be modified. Aside from
the standard Linux tools, this side includes numerous forensic analysis tools that can use to
examine the target system.
Getting Helix
Helix3 is available as a downloadable ISO image from http://www.e-fense.com. Helix3 is
available as a part of a subscription service from e-fense. The subscription service allows you to
download and use Helix3 as well as provides you support. You will also have access to industry
expert white-papers and monthly forensic information.
Select the .ISO image that you downloaded, and click Open.
At this point, just click Burn and Nero will create the Helix3 CD from the .ISO image. Once the
CD is ejected at the end of the burn process, you will have a bootable Helix3 CD.
Checking the CD
Once the CD is burned, it can be checked
again. By place in the CD in a bootable
CDROM, once the Helix3 boot menu appears,
you can use the "Check CD for Defects"
option to make sure the CD was created
properly.
Depending on the speed of the CD, they can
take some time to complete.
During the boot process, Helix3 will check
every file to verify its MD5 value. When it is
done checking, it will display the message Everything looks OK, and then give you the
opportunity to reboot the system and select another option.
MMC/SD (Multimedia Card / Secure Digital): Some MMC/SD cards have a write
protect switch on the side. They are write-enabled by default. Image taken from
The Living Room (2006).
Sony Memory Stick: The Sony memory stick has a lock
switch on the bottom. It is write-enabled by default. Image taken from
MemoryStick.com (2006)
To use Helix3, you should first read the warning. As it has been pointed out several times in the
manual, using Helix3 in a live environment will make changes to the system that is one of the
inherent risks in a live-response situation. But remember, just
inserting this CD has modified the system even just leaving the
system turned on is modifying the system. So what do you do? It
boils down to this will you lose more evidence by using this tool or
by turning o the system? You need to make your decision, and when
ready, press the I Agree button to continue. Once the user accepts
the agreement, the main screen will appear.
Users can select any of these options by clicking on the associated icons.
This Main screen doesnt behave as a standard window it doesnt show up in the taskbar, and
you can not switch to it via the <ALT><TAB> key sequence. Helix3 does place an icon in the
system tray which can be used to access the program. To bring the Helix3 main screen to the
front, you can double-click on the icon, or right-click, and select Restore. Other options on the
right-click menu include Minimize and Exit.
The main screen provides examiners with six main options to examine the system under
investigation. These options are described below.
This option will allow the investigator to make copies of hard drives, floppy disks, or memory, and
store them on local removable media, or over a network.
Investigative Notes
This tool will allow the investigator to quickly add some comments to the transation log being
created when the Helix GUI is running. The notes are added to the transation log, and then saved
in the PDF file when the user exit's the Helix3 GUI.
Menu Bar
In addition to the icons, all the features are directly accessible via the Helix3 menu bar.
File Allows the user create an Investigative Note or to exit the Helix3 application
Quick Launch Allows the user to jump to a number of commonly used tools, such as:
Command Shell, FTK Imager, System Information Viewer, Drive Manager,
Win Audit, Zero View, and Pre-Search
Page Allows the user to jump directly to any of the utility screens
Help Displays information about the program, and the license agreement
Note: Since these tools run directly o the CDROM, and most CDROM spin down when not in use,
when you click on an icon, it may take a moment for the CDROM to spin up before there is a
response from the application.
Note: All the tools run at the same level as the current logged in user. Normal users may have
many restrictions on them that prevent some of these tools from running. Accessing the system
using the Administrator account will provide the most access.
This screen displays some general information about the system being investigated. Some points
of interest:
Admin: tells us if the current user is the administrator (good security practice to
change the name of the administrator account)
Admin Rights tell us if the current user has administrator privileges.
NIC: is the MAC access of the network card. If this value is 000000000000 it
indicates that the network card is in promiscuous mode, and could be capturing all the
network trac on the system.
IP: is the current IP address this could change if the system is set up for DHCP.
Drive names listed with no additional information (such as A:\ and G:\ in the example
above) typically indicate removable drives with no media inserted.
Clicking on the small triangle next to the Preview Icon will display the second page of
information, which lists the running processes. Clicking the triangle will flip between the two
pages of information.
In addition to displaying all the running processes in memory, double-clicking on any process will
provide the user the option to terminate the selected application.
Care should be taken, and the investigator should be sure they are terminating the proper
process. Terminating the wrong process could result in system damage and loss of forensic
evidence.
FAQ: Why dont we just use the built in task manager to display this information? If they system
has been hijacked by a rootkit, or some other malicious program, it is possible that the Windows
Task Manager has been modified to not display the malicious code. Since Helix3 is running from
the CD, it can not be modified, and should be able to display all the programs currently running
on the system.
There are two tools provided to acquire images of physical memory or disk drives. On the first
page, there is a graphical front-end to the command line version of dd, a common disk
duplication utility. On the second page, the investigator has access to the FTK Imager from
AccessData. The dd utility can capture physical memory and drives, while FTK Imager can only
acquire drives. In addition, dd can image over a network, while FTK imager can only image to
local devices. Clicking on the small triangle next to the Acquisition Icon will display the FTK
Imager. Clicking on the triangle will flip the between the two image acquisition tools.
Using dd
The source field includes a drop-down box for the investigator to select any drive in the system.
The destination can be a local removable drive, network drive or a netcat listener. The image
name is the user chosen name, and the standard extension is .dd.
The Options include:
Attached/Shared: check this option to save the image to a local drive, or a network
share.
NetCat: check this option to transfer the image to a netcat server located on the
network. With this option you will need to specify the IP address and port number of
the netcat server.
Split Image: Allows you to split the image into multiple files if the image will exceed the
capacity of the storage medium. For example, if you are imaging a 10 gig hard drive,
you can split the image so that the resulting files can fit on a CDROM, DVD, or FAT 32 file
system, which has a 4 gig file size limitation.
Once you enter all the parameters, and press the Acquire button, a pop-up windows will display
the command you are about to run:
Once you review the command and click the "Yes" button, the command will execute.
Once the command is finished, there will be 3 files in the destination directory:
filename.dd the image of the floppy disk
filename.dd.md5 a file containing the MD5 of the image file.
Audit.log a file containing the command and the output of the program.
FTK Imager
FTK Imager is a data preview and imaging tool that lets you quickly assess electronic evidence to
determine if further analysis with AccessData Forensic Toolkit (FTK) is warranted. FTK Imager
can also create perfect copies (forensic images) of computer data without making changes to the
original evidence. (Access Data, 2005)
According to the FTK Image Help File (Access Data, 2005), you can:
Preview files and folders on local hard drives, floppy diskettes, Zip disks, CDs, and DVDs.
Create forensic images of local hard drives, floppy diskettes, Zip disks, CDs, and DVDs.
Preview the contents of forensic images stored on the local machine or on a network.
Export files and folders.
Generate hash reports for regular files and disk images (including files in disk images).
To access the FTK Imager, select the second page of the Image Acquisition page. This page will
display the release notes for the current version of the tool. Click on the Imager to launch the
actual application.
Note: FTK Imager can also be launched via the Quick Launch menu on the main screen.
The FTK imager is a powerful and flexible tool. It can be used to examine media and images, and
extracted deleted files. It has extensive information available via the Help menu or the question
mark icon on the toolbar.
To see how to create an image of the floppy disk using FTK imager, see Lab 1b - Create an Image of
a suspect Floppy Disk (Windows, FTK Imager).
Mantech MDD
ManTech Memory DD captures a record of physical, or random access memory which is lost when
the computer is shutdown. Released at no charge under the GPL license for government and
private use, ManTech's Memory DD (MDD) is capable of acquiring memory images from the
following Microsoft products: Windows 2000, Windows Server 2003, Windows XP, Windows
Vista, and Windows Server 2008.
ManTech's Memory DD 1.0 acquires a forensic image of physical memory and stores it as a raw
binary file. To help verify data integrity and aid in the preservation of the evidence, the
information captured by ManTech Memory DD is checked by the Message-Digest algorithm 5
(MD5), the common Internet standard used in security applications. The binary file can then be
analyzed using external tools to identify items of interest to the examiner.
Matthieu Suiche win32dd
Win32dd is a free kernel land and 100% open-source tool to acquire physical memory
Because of user-land restriction access to \Device\PhysicalMemory since Windows 2003 SP1, a
kernel-land access is needed to dump the physical memory. With win32dd you can do it for free!
Moreover, the full source-code is provided.
This panel provides the investigator with a number of tools to respond to incidents. There are
three pages in this panel, the other pages can be accessed by clicking on the small triangles next
to the Incident Response icon in the left tool bar.
The tools include:
Windows Forensics Toolchest (WFT)
First Responder Utility (FRU)
Incident Response Collection Report (IRCR2)
Agile Risk Management's Nigilant32
Start a NetCat Listener
It will ask the following questions (Most of which can be answered by pressing Enter for the
default):
Path for the configuration File
Toolpath?
OS Path?
Command Shell
Destination Path
What Drives
Investigator Names
Case Name
Which Hash?
Slow Tools
Tools that write?
HTML Reporting
Enable Prompting?
Automatically Open Report
Is that OK?
Once the questions are answered and confirmed, the collection process will start. Depending on
the options selected, this collection process can take anywhere from a few minutes to a few hours.
Once the collection is finished, the user will be returned to the Helix3 program. If the user
examines the destination folder, there is a now a file index.html. This file can be examined with
a browser of your choice. To prevent additional contamination of the suspect system, it should be
viewed on another system.
A sample output is shown below.
The output can be navigated use the highlight hyperlinks. WFT produces an impressive collection
of information from the system. In addition, the LOG tab shows the commands that were
executed, and the CONFIG tab shows the WFT configuration file.
From the website: Windows Forensic Toolchest (WFT) was designed to be useful both for a security
administrator and as a tool to be used in a court of law. One of the biggest issues involved in a
court case is ensuring that you have an adequate record of all the actions that you have taken. It
is also necessary to have the appropriate safeguards in place to ensure that the data being
presented has not been altered.
WFT seeks to meet both of these requirements. One of the most important features of WFT is the
Windows Forensic Toolchest (WFT) provides output in two data formats. Each of these serves a
specific purpose as described below.
The first and more useful format is HTML output. Opening the index.htm file produced by WFT
provides an easy to read and easy to navigate interface to the output of the various tools invoked
via WFT. Each of the reports produced under WFT includes the MD5 checksum for the binary being
run, the exact command line issued to generate the output, a description of the tool, and the
output produced by the tool along with the MD5 checksum associated with the output. The HTML
reports are designed to be self-documenting via the text provided in the configuration file.
The second type of output produced by WFT is the raw text output from the tools. This format
allows the viewer to see the output of the individual command exactly as it was produced. It is
generally a bad idea to, in any way, manipulate data being used as evidence in a court of law. WFT
seeks to preserve the original data while providing a user-friendlier HTML version for viewing.
The MD5 checksums produced for each of the output files during collection provides a safeguard
to ensure the output can be verified at a later date.
Syntax:
FSPC [-d case dir] [-n case name] [-p port] [-i investigator]
[-l logfile] [-c] [-v] [-h]
Forensic Server Project (CLI) v.1.0c, server component of the
Forensics Server Project
-d case dir....Case directory (default: cases)
-n case name...Name of the current case
-i invest......Investigator's name
-p port........Port to listen on (default: 7070)
-v.............Verbose output (more info, good for monitoring
activity)
-c.............Close FSP after CLOSELOG command sent (best to
For more information on the FSP, see Carvey, H. A. (2005). Windows forensics and incident
recovery. Boston: Addison-Wesley. Chapter 8 of the book, which deals with the FSP, is available
as a sample chapter from: http://www.informit.com/content/images/0321200985/
samplechapter/carvey_ch08.pdf
On the suspect system, when the FRU program is started, it will prompt the user for the address of
the listener system.
Next, it will ask for the port of the listener. It is important that this post number matches the
port number on the FSP server.
It will then ask for the location of the fruc.ini file. The user should select the default file, unless
they have created their own fruc.ini file. The frun.ini contains a list of command lines to be
executed, along with the filenames in which to store the data.
Once the user clicks Yes, the command will executed in a command shell window.
The
information on the suspects system will now be transferred to the Forensics Server Project
System.
Depending on the speed of the system and the speed of the network, this program can take a
while to run. It is not unusual for the program to generate several errors. Once the program is
finished, the output file will contain a detailed report of the suspect system.
Sample Output File
========================================================================================================
Incident Response Collection Report
========================================================================================================
Name:
Computer Name: tal_mc
OS: Microsoft Windows XP [Version 5.1.2600]
-------------------------------------------------------------------------------------------------------START -- Time: 21:30:47.45 Date: Mon 10/10/2008
-------------------------------------------------------------------------------------------------------________________________________________________________________________________________________________
21:30:47.63
Command: AT
AT Schedule List
OUTPUT:
There are no entries in the list.
________________________________________________________________________________________________________
21:30:47.76
Command: doskey /history
MS-DOS history list
OUTPUT:
________________________________________________________________________________________________________
21:30:47.87
Command: ipconfig /all
Displays configuration information
OUTPUT:
Windows IP Configuration
Host Name . . . . .
Primary Dns Suffix
Node Type . . . . .
IP Routing Enabled.
WINS Proxy Enabled.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
:
tal_mc
Mixed
No
No
Name
Size Type
Select File / Preview and then select the disk you would like to examine:
You can then navigate the file structure and pull up details about the files.
Snapshot Computer
Image Physical Memory
Backup Events Logs
Extract File
You will then b asked for the filename to save the incoming data into.
You will then be allowed to browse to the folder where to save the image.
You will be asked if you want to split the file into smaller chucks go if you want to be able to
burn the file to a CD, DVD, or store it on a FAT32 file system. If you choose "yes", you will be
prompted to enter the segment size in MB: 650 for CD, 4600 for DVD, and 2000 for FAT 32.
When you confirm the command, a command shell will open, and netcat will start to listen. If the
system is running a firewall, you may be prompted to allowed netcat to access the port. Select
"unblock" or "allow" depending on the firewall you are using.
The netcat listen will now wait for incoming data on the specified port, and will save it to the file
specified.
Md5 Generator
On page 2 of the Incident Response tools, you will see an input box that will allow you to
generate the MD5 signature of any file.
Start by pressing the button . This will bring up a file manager that you can use to select a file.
Select a file, and once it has been listed in the FILE: textbox, the user can click on the HASH
button to generate the MD5 of the file.
Command Shell
This is a forensically sound command shell, which means it runs only trusted, non-compromised,
binaries that are included on the CD.
The Helix3 GUI will autodetect and run the appropriate command shell for the OS that is in use.
All the standard commands are available, as well as access to the command line versions of many
of the forensics tools included on the CD. The path command will show all the directories that are
searched to find the command.
14:36:53.10 H:\IR> path
PATH=H:\IR\FAU\;H:\IR\Cygwin\;H:\IR\bin\;H:\IR\WFT;H:\IR\IRCR\;H:\IR\unxutils\;H:\IR
\sysinternals\;H:\IR\microsoft\;H:\IR\systemtools\;H:\IR\ntsecurity\;H:\IR\perl\;H:\IR
\Foundstone\;H:\IR\xp\;H:\IR\2k\;H:\IR\2k3\;H:\IR\FSP\;H:\IR\nt\;H:\IR\shells\;H:\IR
\nirsoft\;H:\IR\windbg\
14:36:58.82 H:\IR>
Since several directories can contain commands with the same name, if the user wants a specific
command, they should specify the entire path to the specific command.
File Recovery
This button launches PC Inspector File Recovery from http://www.pcinspector.de/file_recovery/
UK/welcome.htm. This freeware utility can be used to detect and recover deleted files. It
supports file recovery from FAT 12/16/32 and NTFS file systems. [Developers note: version 4.0 is
now available].
According to the website, it can find partitions automatically, even if the boot sector or FAT has
been erased or damaged; Recovers files with the original time and date stamp; Supports the
saving of recovered files on network drives; Recovers files, even when a header entry is no longer
available. Competition products cannot recover such files. The "Special Recovery Function"
supports the following disk formats: ARJ AVI BMP CDR DOC DXF DBF XLS EXE GIF HLP HTML HTM
JPG LZH MID MOV MP3 PDF PNG RTF TAR TIF WAV ZIP.
If the hard disk is no longer recognized by the BIOS, or is having mechanical problems (such as
grinding sounds), this program will not be able to help.
To use the program, click on the file recovery icon, and answer yes to
the confirmation dialogue. The main program will start, and open up a
file recovery wizard. The program allows the investigator to select the
language of their choice.
Clicking on any of the options will scan the system and present a list of recognized drives.
Select the drive to examine. To continue, select the green checkmark icon. Each option will
provide dierent methods on how to recover data.
In the recovered deleted files options, the program will display a windows explorer-like interface.
In this screen, in the deleted folders, we see that we can recover the _ULA.PDF file. To recover
the file, right click on the filename and select Save To
There are also other options, such displaying the properties, renaming the file, and viewing it
either as a hex dump or as a text file.
VNC Server
http://www.realvnc.com/
From the website: VNC stands for Virtual Network Computing. It is remote control software which
allows you to view and interact with one computer (the "server") using a simple program (the
"viewer") on another computer anywhere on the Internet. The two computers don't even have to
be the same type, so for example you can use VNC to view an oce Linux machine on your
Windows PC at home.
To use VNC, click on the icon next to VNC server.
This option allows VNC to modify
the registry so it can use the
PuTTY SSH to provided encrypted
communications.
After you make your decision, it
will provide a confirmation prompt:
Click YES to continue. WinVNC will open a properties box. For the
most part, you can leave it as it is, with one exception. You must
enter a password in the password dialog box. VNC server will not
accept incoming connections without a password.
To access this system from another location, you can use a VNC viewer, or a web browser. To use a
web browser (from the Real VNC website): The VNC servers also contain a small web server. If you
connect to this with a web browser, you can download the Java version of the viewer, and use this
to view the server. You can then see your desktop from any Java-capable browser, unless you are
using a proxy to connect to the web. The server listens for HTTP connections on port 5800+display
number. So to view display 2 on machine 'snoopy', you would point your web browser at:
http://snoopy:5802/
The applet will prompt you for your password, and
should then display the desktop.
From the viewer, you should now have full control of
the system that the server is running on.
This is useful if the system you are examining and the
system you are using to collect the date are too far
apart to work on them at the same time.
Rootkit Revealer
This is a freeware tool from SysInternals (http://www.sysinternals.com/Utilities/
RootkitRevealer.html). According to the website, It runs on Windows NT 4 and higher and its
output lists Registry and file system API discrepancies that may indicate the presence of a usermode or kernel-mode rootkit. RootkitRevealer successfully detects all persistent rootkits
published at www.rootkit.com, including AFX, Vanquish and HackerDefender.
What is a rootkit? It is a series of malware applications that replace the standard windows
utilities with Trojan horse programs, in an attempt to take over your system. These rootkits
modify the operating system so that it can successfully hide and avoid traditional means of
detection. For example, it may modify the Windows Explorer and DIR commands so the user will
not be able to see the directory the rootkit is installed in. In addition, the rootkits open up
backdoors to the system to allow the remote control of the system for sending out spam,
launching denial-of-service attacks, or for pirating software.
For more information on rootkits, see www.rootkit.com and
Microsofts page on rootkit research research.microsoft.com/
rootkit/.
To run the application, click on the rootkit revealer icon. At
the confirmation window, click Yes to run the program. A
Sysinternals License Agreement form will appear select "Agree" to continue.
scanning windows will appear.
The main
As with many other tools, this program will only run at the level of the currently logged in user.
It would be best to run this as the system administrator for the most accurate results. Below is an
example of the program detecting the HackerDefender rootkit (from the Sysinternals website).
When the scan is completed, the output can be saved to a file using the File / Save as option. To
interpret the output, the following information is taken from the sysinternals website.
$AttrDef
$BadClus
$BadClus:$Bad
$BitMap
$Boot
$LogFile
$Mft
$MftMirr
$Secure
$UpCase
$Volume
$Extend
$Extend\$Reparse
$Extend\$ObjId
$Extend\$UsnJrnl
$Extend\$UsnJrnl:$Max
$Extend\$Quota
Access is Denied.
RootkitRevealer should never report this discrepancy since it uses mechanisms that allow
it to access any file, directory, or registry key on a system.
Visible
Visible
Visible
Visible
in
in
in
in
A file system scan consists of three components: the Windows API, the NTFS Master File
Table (MFT), and the NTFS on-disk directory index structures. These discrepancies
indicate that a file appears in only one or two of the scans. A common reason is that a
file is either created or deleted during the scans. This is an example of
RootkitRevealer's discrepancy report for a file created during the scanning:
C:\newfile.txt
3/1/2005 5:26 PM
8 bytes
Visible in Windows API, but not in MFT or directory index.
Reghide sample code at Sysinternals demonstrates this technique, which is used by both
malware and rootkits to hide Registry data.
This tool will only help find rootkits, and will not remove them. Depending on the nature of the
investigation, the detection of the rootkit needs to be documented, and the system preserved for
further investigation. If the investigator believes a rootkit has been found, and the rootkit needs
to be removed from the production system, there are typically only two ways to remove the
rootkit. The first is to search the web to find removal instructions, and the second is to reformat
the entire system and reinstall windows from a trusted source.
PuTTY SSH
Written and maintained primarily by Simon Tatham.
www.chiark.greenend.org.uk/~sgtatham/putty/
It is available from
http://
From the website: PuTTY is a free implementation of Telnet and SSH for Win32 and Unix platforms,
along with an xterm terminal emulator.
This tool allows the user to remotely logon to a remote system and issue commands. This can be
used to login into a remote system and run a netcat listener. The remote system must have a SSH
server up and running.
Once selected, the program will display a confirmation.
Screen Capture
http://www.hoverdesk.net/freeware.htm
From the website: HoverSnap is a free handy snapshot tool with jpg, png, bmp and gif support.
HoverSnap can take snapshots of the full screen, active window or a selected area. It can even
capture layered windows (alphablended ones under 2K / XP). You can even FTP upload your
screenshots. In addition, you can set up the capture folder / filename and format, reduce the
capture size, and auto-generate filename option will add the time stamp (date/time) to your
filename in order to be able to take several captures without having to change the filename.
When you select the HoverSnap icon, it will present a confirmation
prompt. When the user clicks Yes, there will be a HoverSnap icon in
the system tray.
Clicking on this icon will display the configuration screen.
To capture the full screen, the user presses the PrintScreen button. To capture the active window,
press ALT+PrintScreen, and to select a custom area, press CTRL+PrintScreen.
With CTRL+PrintScreen, the cursor will change to a crosshair. Move the cursor to the upper left
corner, then click and hold the left-mouse button and drag the cursor to the lower right corner.
Release the mouse button to take the picture.
Once you have finished the screen captures, you should generate the MD5 of the screen to ensure
they are not modified.
Win Audit
http://www.pxserver.com/WinAudit.htm
From the website: WinAudit is easy to use, no special knowledge is required to use the
programme. It is a self-contained single file that needs no installation or configuration. It can be
run from a floppy disk or USB stick. Simply download the programme and double click on it. User
interface translations have been kindly contributed by several people, if possible WinAudit will
automatically start in your language.
The programme reports on virtually every aspect of computer inventory and configuration.
Results are displayed in web-page format, categorised for ease of viewing and text searching.
Whether your interest is in software compliance, hardware inventory, technical support, security
or just plain curiosity, WinAudit has it all. The programme has advanced features such as service
tag detection, hard-drive failure diagnosis, network port to process mapping, network
connection speed, system availability statistics as well as Windows update and firewall settings.
WinAudit is free, you can use it in your commercial applications and distribute it freely to anyone.
The programme requires neither installation nor configuration. Its
small size and ability to create formatted emails means you can audit
just about any Windows based personal computer.
To use it, simply click on the Win Audit icon, and you will be prompted
to run the command. Click Yes, and you will see the WinAudit screen.
In the main WinAudit window, click the blue "HERE" hyperlink to start the scan of the system.
The scan should only take a few minutes.
When the scan is completed, you will be presented with ahighly detailed report on the
configuration of the system you are working on. The menu on the left side allow you to quickly
access the information you are looking for. The report can then be saved to a USB drive, emailed,
or printed.
More details are available at http://www.pxserver.com/WinAudit/contents.html
PC On/O Time
http://www.neuber.com/free/pctime/index.html
From the website: This free time tracking tool shows the times your computer has been active
during the last 3 weeks, with no previous setup required. The software doesn't need to run in the
background, because Windows OS tracks login and logo times
(working hours) by default, and the program analyses it.
To use it, simply click on the PC On/O Time icon, and you will be
prompted to run the command. Click Yes, and you will see the PC On/
O Time screen.
The file command can be used to open PST files that the program doesn't find automatically.
Once the user clicks Yes, the program will automatically start and display any passwords it can
find.
Messenger Password
http://www.nirsoft.net/utils/mspass.html
From the website: MessenPass is a password recovery tool that reveals the passwords of the
following instant messenger applications:
MSN Messenger
Windows Messenger (In Windows XP)
Yahoo Messenger (Versions 5.x and 6.x)
ICQ Lite 4.x/2003
AOL Instant Messenger (only older versions, the password in newer versions of AIM cannot
be recovered)
AOL Instant Messenger/Netscape 7
Trillian
Miranda
GAIM
MessenPass can only be used to recover the passwords for the current logged-on user on your
local computer. You cannot use it for grabbing the passwords of other users.
When the user clicks on the icon, Helix3 presents a confirmation message.
Once the user clicks Yes, the program will automatically start and display any passwords it can
find.
From the website: When you run MessenPass, it automatically detects the Instant Messenger
applications installed on your computer, decrypts the passwords they have stored, and displays
all user name/password pairs that it found in the main window of MessenPass. If from some
reason, MessenPass fails to locate the installed Instant Messenger application, you can try to
manually select the right folder of your IM application by using 'Select Folders' option (from the
File menu).
On the main window of MessenPass, you can select one or more password items, and then copy
them to the clipboard in tab-delimited format (you can paste this format into Excel or OpenOce Spreadsheet), or save them into text/html files.
When the user clicks on the icon, Helix3 presents a confirmation message.
Once the user clicks Yes, the program will automatically start and display any passwords it can
find.
Sign-up passwords
AutoComplete passwords
By default, this utility shows all 4 types of passwords. You can select to show or hide a specific
type of password, by choosing the right password type from the View menu.
This utility can only show the passwords of the current logged-on user. it cannot reveal the
passwords of other users.
When the user clicks on the icon, Helix3 presents a confirmation message.
Once the user clicks Yes, the program will automatically start and display any passwords it can
find.
The Protected Storage information is saved in a special location in the Registry. The base key of
the Protected Storage is located under the following key:
"HKEY_CURRENT_USER\Software\Microsoft\Protected Storage System Provider"
You can browse the above key in the Registry Editor (RegEdit), but you won't be able to watch the
passwords, because they are encrypted. Also, some passwords data are hidden by the operating
system.
Asterisk Logger
http://www.nirsoft.net/
From the website: Many applications, like CuteFTP, CoeeCup Free FTP, VNC, IncrediMail, Outlook
Express, and others allows you to type a password for using it in the application. The typed
password is not displayed on the screen, and instead of the real password, you see a sequence of
asterisk ('****') characters. This utility can reveal the passwords stored behind the asterisks in
standard password text-boxes.
Asterisk Logger is a successor of AsterWin utility. It reveals the asterisk passwords in the same
way as AsterWin utility, but it has some advantages over the previous utility:
You don't have to press a button in order to reveal the asterisk passwords. Whenever a new
window containing a password box is opened, Asterisk Logger automatically reveals the
password inside the password-box, and adds a record to passwords list in the main window
of Asterisk Logger.
Asterisk Logger displays additional information about the revealed password: The date/
time that the password was revealed, the name of the application that contains the
revealed password box, and the executable file of the application.
Asterisk Logger allows you the save the passwords to an HTML file or 3 other types of files.
When the user clicks on the icon, Helix3 presents a confirmation message.
Once the user clicks Yes, the program will automatically start and display any passwords it can
find.
IE History Viewer
http://www.nirsoft.net/utils/iehv.html
From the website: Each time that you type a URL in the address bar or click on a link in Internet
Explorer browser, the URL address is automatically added to the history index file. When you type
a sequence of characters in the address bar, Internet Explorer automatically suggests you all URLs
that begins with characters sequence that you typed (unless AutoComplete feature for Web
addresses is turned o). However, Internet Explorer doesn't allow you to view and edit the entire
URL list that it stores inside the history file.
This utility reads all information from the history file on your computer, and displays the list of all
URLs that you have visited in the last few days. It also allows you to select one or more URL
addresses, and then remove them from the history file or save them into text, HTML or XML file. In
addition, you are allowed to view the visited URL list of other user profiles on your computer, and
even access the visited URL list on a remote computer, as long as you have permission to access
the history folder.
When the user clicks on the icon, Helix3 presents a confirmation message.
Once the user clicks Yes, the program will automatically display the URL history.
Once the user clicks Yes, the program will automatically display the cookies on the system.
IE Cookie Viewer
http://www.nirsoft.net/utils/iecookies.html
From the website: IECookiesView is a small utility that displays the details of all cookies that
Internet Explorer stores on your computer. In addition, It allows you to do the following actions:
Sort the cookies list by any column you want, by clicking the column header. A second click
sorts the column in descending order.
Find a cookie in the list by specifying the name of the Web site.
Select and delete the unwanted cookies.
Save the cookies to a readable text file.
Copy cookie information into the clipboard.
Automatically refresh the cookies list when a Web site sends you a cookie.
Display the cookies of other users and from other computers.
When the user clicks on the icon, Helix3 presents a confirmation message.
Once the user clicks Yes, the program will automatically display the cookies on the system.
Registry Viewer
http://www.nirsoft.net/utils/regscanner.html
From the website: RegScanner is a small utility that allows you to scan the Registry, find the
desired Registry values that match the specified search criteria, and display them in one list.
After finding the Registry values, you can easily jump to the right value in RegEdit, simply by
double-clicking the desired Registry item.
When the user clicks on the icon, Helix3 presents a confirmation message.
Once the user clicks Yes, the program will automatically start and display the registry scan
options page. This can be used to limit the searches, which can greatly speed up the process.
Once the user clicks OK, the scanner will display registry keys matching their options.
IE Password Viewer
http://www.nirsoft.net/utils/internet_explorer_password.html
From the website: IE PassView is a small utility that reveals the passwords stored by Internet
Explorer browser. It supports the new version of Internet Explorer 7.0, the Beta version of
Internet Explorer 8.0, as well as older versions of Internet Explorer, v4.0 - v6.0
When the user clicks on the icon, Helix3 presents a confirmation message.
The program will start and automatically scan for and display the passwords.
HTTP Authentication Passwords: Some Web sites allow the user to enter only after typing
user and password in a separated dialog-box. If you choose to save the password in this
login dialog-box, the password is saved as HTTP authentication password.
FTP Passwords: Simply the passwords of FTP addresses (ftp://...)
USB Deview
http://www.nirsoft.net/utils/usb_devices_view.html
From the website: USBDeview is a small utility that lists all USB devices that currently connected
to your computer, as well as all USB devices that you previously used. For each USB device,
exteneded information is displayed: Device name/description, device type, serial number (for
mass storage devices), the date/time that device was added, VendorID, ProductID, and more...
USBDeview also allows you to uninstall USB devices that you previously used, and disconnect USB
devices that are currently connected to your computer. You can also use USBDeview on a remote
computer, as long as you login to that computer with admin user.
When the user clicks on the icon, Helix3 presents a confirmation message.
The program will start and automatically scan for and display information about USB devices used
on the system.
If the Calculate MD5 hash on files is selected, the MD5 of the hash will also be displayed with
the rest of the file information. It is turned o by default, since it can sometimes take a while to
generate the MD5 for very large files.
Due to the nature of the windows operating system, the first time you select a file (on any read/
write media, such as a hard drive) it will display the access date of the last access. If you select
the same file again, it will display the date and time of the previous access. This is a feature of
the windows operating system, and can not be easily prevented. This is one of the problems with
examining a live system the investigators actions may modify the system.
Here is an example:
In this list of recovered files, we see that the accessed date on CONVAR10.jpg is Thursday,
September 29, 2005. If another file is selected, and then CONVAR10.jpg is selected again, we will
see that the accessed data has changed to the todays date. Everything else has remained the
same.
The investigator should select Load Folder and select the drive they wish to examine. Be aware
that depending on the size of the hard drive, the amount of memory, and the speed of the
system, this can take a while. A reminder windows pops up to inform the investigator. Scanning
will not begin until the OK button is pressed.
Double-clicking on any thumbnail will open the image in the local viewer. You can enlarge or
decrease the size of the thumbnails by clicking Enlarge or Decrease. Be advised that this will
increase or decease the size of all the thumbnails, and may take a few moments to complete,
depending on the number of thumbnails.
Also be aware that this application will change the last access time on just about every file on the
system, since it examines the file headers to determine if the file is a graphic.
Quick Tip: Graphic Browser
The built in picture viewer is NOT forensically sound. It will alter the date and time stamps of every file on
the system as it searches for graphic files. DO NOT use this if you need to preserve the date and time
stamps.
Exiting Helix
There are several ways to exit the Helix3 application.
1. File / Exit for the menu bar this will prompt you to save a PDF of your transactions.
2. Click the close windows button - this will prompt you to save a PDF of your transactions.
3. Right-click on the Helix3 icon in the system tray this will NOT save your transactions.
Note that the first two ways to exit will save a copy of all your transactions, while exiting from the
system tray icon will not.
If you chose to save the output, you will be prompted where to save the file. It should be saved
on a network share or a removable evidence collection drive to prevent any contamination of the
suspect computer. The default filename is Helix_Audit_Log.pdf.
Sample Output
\ir\nt
\ir\2k
\ir\xp
\ir\2k3
Go to the directory for your specific OS, and execute the CMD.EXE. This is a static binary on a CD
ROM, so it will not be compromised by any malware running on the system.
Once the command shell is running, you need to execute an environment configuration file, to set
the path and environment variables to point to utilities on the CD, and not on the target system.
Inside the command shell, execute the command: cmdenv.bat
This will reset the system path to point to the CD, along with adding paths for the various forensic
tools.
You should now be running in the same environment as if you selected the Command Shell
option from the second page of the Incident Response menu in the Helix3 GUI.
Tools available from the Command Line
The follow is a list of some of the tools available from the command line in Windows. Some of
these tools launch a GUI for the application; others are pure command line tools.
Some of these tools are very powerful, and can be very destructive, so be very careful when using
them.
2hash-v0-2w9x
2hash-v0-2wxp
AccessEnum
AFind
Attacker
Audited
Autoruns
Autorunsc
Bintext
Bopping
browselist
CIScan
cmdline
cryptcat
DACLchk
Datetime
dd
DiskView
DSScan
dumpusers
EFSDUMP
efsview
etherchange
filehasher
Filemon
FileStat
Filewatch
foremost
FPipe
Fport
fred
fruc
galleta
gplist
gsd
Handle
HFind
Hunt
iplist
ircr
Listdlls
listmodules
Livekd
lns
LogonSessions
lsadump2
macmatch
md5deep
md5sum
MessengerScan
nbname
nc
NTFSINFO
NTLast
openports
pasco
pdd
periscope
pmdump
Procexp
procinterrogate
promiscdetect
Psexec
Psfile
Psgetsid
Psinfo
Pskill
Pslist
Psloggedon
Psloglist
Pspasswd
Psservice
Psshutdown
Pssuspend
pstoreview
Psuptime
pwdump2
PwDump3e
reg
Regmon
rifiuti
rmtshare
secreport
ServiceList
Servicelist
SFind
sha1deep
sha1deep
sha256deep
Showin
sid2user
Sl
Streams
strings
tcpvcon
Tcpview
tigerdeep
Trout
user2sid
UserDump
volume_dump
wft
whirlpooldeep
winfo
winrelay
wipe
umount /media/sda1
Finally, this will unmount the drive, so it can be removed.
Raid Essentials
Although RAIDs can be the hardest devices to image, especially the proprietary kind from Dell
and Compaq, Helix3 provides a fairly simple solution. Helix3 can see most hardware RAIDs as the
RAID card initializes the RAID before Helix3 even boots. Helix3 also has many RAID drivers for
both software and hardware RAIDS.
Depending on the actual RAID device, Helix3 may not place the RAID in the /mnt directory like
other devices, but that does not mean Helix3 does not see the RAID. For instance, to identify a
Compaq Raid Device, do a dmesg and look for cpqarray. If you find it, then you should see the
devices that the Compaq RAID sees. The device should show partitions as:
Example Compaq Array Partitions
ida/c0d0: p1 p2 p3
so partitions will be:
/dev/ida/c0d0p1
/dev/ida/c0d0p2
/dev/ida/c0d0p3
Helix3 has many built in RAID drivers in the kernel and many more as loadable modules. If for some reason Helix3
does not see the RAID you will have to try and load the appropriate modules by:
Example Loading a Kernel Module for an Adaptec 2120 RAID
# modprobe aacraid
This will load the aacraid module into the running kernel so that you
can access the Adaptec RAID.
Understanding dd
dd has an interesting history. The most interesting is what dd stands for; most people assume dd
stands for device dump, or device-to-device, or data dump. Some think it stands for copy
and convert but that it was renamed to dd because the letters cc were reserved for the C
compiler. The most interesting definition is that dd stands for death and destruction for what
happens if you mess up the options; which is most definitely true. In actuality dd stands for data
definition, if it can be said to stand for anything at all. The reason is that it was derived from the
IBM OS/360 JCL (Job Control Language) command of the same name. IBM System/360 JCL had
an elaborate dd "Dataset Definition" specification suitable for copying block-oriented I/O
devices.
The dd command is used in computer forensics to perform a physical backup of hardware device
media. What makes the dd command special is that it has special flags that make it suitable for
imaging block-oriented devices such as tapes. dd is capable of addressing these block devices
sequentially. In order to proceed, it is very important to understand the basic syntax of the dd
command:
DD Understanding Syntax
dd if=source of=destination
Where:
if= input file, or device you are copying (a hard disk, tape, etc.)
source = source of image
of= output file, or copy of image
destination = where you want to place the copy
For example:
if the device to be imaged is /dev/hda, the following would produce
an exact copy with the name of 'ForensicCopy.img':
dd if=/dev/hda of=/mnt/hdd1/ForensicCopy.img
As mentioned earlier, dd is very useful when copying and/or restoring block-oriented devices
such as tapes. Some of the options available to dd which make it very useful are:
bs = block size
ibs = input block size
obs = output block size
count = number of blocks to copy
skip = number of blocks to skip at start of input
seek = number of blocks to skip at start of output
conv = conversion
These options are extremely useful in many instances. For example, if you wanted to just acquire
the Master Boot Record (MBR) from a hard drive, you would need to obtain the first 512 bytes
from the hard drives partition table. In order to do this you would need to pass some options to
dd to only grab the first 512 bytes, otherwise dd would acquire the entire hard drive. So to
accomplish this you would type in:
Another example of using dd is to use it to split up a large image into much smaller images. This
is a long way of accomplishing this as you would normally use the split utility, but this serves as
just an example of the power of dd. For our example lets assume we have a 4GB device and we
want to split the image up into four 1GB files.
Example Splitting an image file using DD
Using dd with the flags below will create four images each 1GB in size.
dd if=/dev/hda count=1000000 of=image1
dd if=/dev/hda count=1000000 skip=1000000 of=image2
dd if=/dev/hda count=1000000 skip=2000000 of=image3
dd if=/dev/hda count=1000000 skip=3000000 of=image4
Now each image is 1GB in size rather than the original 4GB. The first thing you should notice is
that the first command takes 1GB (count=1000000) and copies it, naming the copy 'image1.' The
second command skips the first 1GB (skip=1000000) and then copies the next 1GB
(count=1000000), naming this image 'image2' and so on. This is the purpose of the 'count' and
'skip' flags.
Boot the Helix3 CD in the system to be imaged (evidence system). You may need to boot into
failsafe mode in order to be operational. There are some instances with proprietary raids like the
Compaq Proliants using the SMART-2/P Raid controller in which Helix3 will not boot normally it
will just hang during the auto detection phase.
Once Helix3 has booted, you have several options that you can use to image the system. You will
need to make a decision whether to image the entire drive (physical) or the individual partitions
(logical). In either case, your image will contain deleted files, slack space, and unallocated
space. If you choose a logical image, the only thing you will be missing is the MBR and swap space
if you forget to image it. Currently Autopsy cannot parse a physical image. Autopsy needs logical
images but you can extract those from the physical image later on so make a physical image.
bandwidth. Netcat is generally the best method to use. Samba is configured by the smb.conf file
located in /etc/samba. See Appendix 1 for an example of a working Samba Forensics Server
smb.conf file.
There are a few tricks that you must be aware of with a Samba Forensic Server. First you must
mount the drive you want to use as your collection/harvest drive and that drive must be writable.
The easiest way to accomplish this is by the following mount command:
Example Mounting a device for use as a Samba share
Start your Samba server after you have mounted your collection/harvest drive by simply typing:
service smb start OR service smb restart
You are now ready to use the Samba share as your image destination. The only step that remains
is to mount the Samba share on the Helix3 system. To mount the Samba share (ADEPTO WILL DO THIS FOR YOU.):
Example Mounting a Samba or Windows share within Helix
mount -wt smbfs -o username=username,password=password //<IP>/<share> /<mount_point>
where:
wt smbfs = mount read/write and set file system type to samba fs
-o username=username,password=password = set username and password
//<IP> = netbios flag and IP address of the Samba/Windows System
/<share> = share name you want to mount
/<mount_point> = place you want to mount the share drive to
* You can also add dmask=0777,fmask=0777 to the options for read/write
The nice thing about setting up a Samba Forensics Server and imaging to it is that you can direct
all of you commands to the local file system as that is where your Samba/Windows share will be
located. It will appear as if you are writing to another directory on your local system when in fact
the data will be traversing over the network.
According to Drew Fahey of e-fense.com, this is the best command line to use to share a drive over samba:
mount -t ntfs -o umask=000,noauto,user,uid=500,gid=100,ro,loop,noexec,noatime,
show_sys_files=true /ntfs.img /mnt/hack/ntfs
Bootable Basics
The first step you must accomplish to boot into Helix3 is to make sure that your BIOS is setup to
boot from the CDROM before any other device. If your BIOS does not support booting from a
CDROM, then you must resort to booting from a floppy disk (time to upgrade your system).
All that is required to boot Helix3 is to place the Helix3 CD into the CDROM drive and reboot/turn
on the computer. When the system passes the POST, you should see the screen:
As you can see you are presented with a graphical boot menu courtesy of Grub (Grand Unified
Bootloader). You can choose the option that is best for you and your environment. The initial
default setting should work for most people; however there are occasions when that wont work.
Some laptops and other hardware do not like some of the standard options like using DMA on all
devices. So you must choose the option to turn o DMA. See Appendix A for a list of all the boot
methods. Helix3 is currently using the 2.6.24 kernel.
While there are many options pre-determined for you in the boot screen, it may sometimes be
necessary to add or delete extra commands. In order to do this within grub you simply press F6
and the actual boot command line will appear on the screen. Now you can edit the boot command
to add or remove parameters.
Clock
Debug
Expert
Failsafe
Framebuer
FromHD
/home
Hostname
HRate
IDE DMA
Keyboard
Language
Main
Mem
Memtest
No
PCI
Runlevel
Splash
TestCD
ToHD
ToRAM
VGA
VRate
WMScreen
Xmodule
Clock options
Settings to debug your Helix3 Live CD
Interactive setup for experts
Boot with (almost) no HW-detection.
Use the Framebuer for graphics
Boot from previously copied CD-Image
Mount loopback file.
Use a dierent hostname instead
Use specified horizontal refresh rate for X.
Enable/Disable DMA for IDE-Drives
Use dierent keyboard (text/X)
specify language/keyboard.
Search for Helix3 mainmodules
Specify Memory size in MByte.
Run the memtest86 utility.
Skip specified parts of HW-detection.
some PIC settings.
Runlevel 1, load Helix3 base, Textmode only
influence the behavior of the splash screen.
Check CD data integrity and md5sums
Copy CD to HD partition and run from there
Copy CD to RAM and run from there
Framebuer settings.
Use specified vertical refresh rate for X.
Use specified Screen resolution for X.
Use specified X Window System driver.
About
Helix3 is a Live CD distribution with an emphasis on forensics and incident response. It
boots from the CD media, while not touching the contents of your harddisk. Helix3 is based
on Ubuntu but has been significantly altered to prevent changes to data. Helix3 has a large
number of users and is used for forensic training. For more information, please take a look
at http://www.e-fense.com/helix
ACPI
ACPI (Advanced Configuration and Power Interface) is a standard that defines power and
configuration management interfaces between an operating system and the BIOS. By
default, acpi is switched on when a BIOS is detected that is newer than from year 2000.
There are several commonly used parameters to control the behavior of ACPI:
pci=noacpi
acpi=oldboot
acpi=o
acpi=force
APM
APM is one of the two power management strategies used on current computers. It is
mainly used with laptops for functions like "suspend to disk", but it may also be
responsible for switching o the computer after power down. APM relies on a correct
working BIOS. If the BIOS is broken, APM may have only limited use or even prevent the
computer from working. Therefore, it may be switched o with the parameter
apm=o
Some very new computers may take more advantage from the newer ACPI.
Clock
Use the hardware clock as the GMT time
gmt
Debug
Sometimes your Helix3 Live CD doesn't work exactly as hoped for. Here are a few options in
order of usefulness:
Failsafe
vga=normal
xmodule=vesa
debug=on
Expert
Expert Settings. Use
expert
Failsafe
Boot Helix3 with (almost) no HW-detection. Use
failsafe
Framebuer
Some Framebuer settings:
fb1280x1024
fb1024x768
fb800x600
fromHD
Use the command
fromhd=/dev/hda1
(hda2,hda3,...)
home
Mount Helix3 homedir.
home=/dev/sda1 Mount loopback file (helix.img) as /home/morph.
home=scan
Automatic search for Helix3 homedir image.
hostname
HRate (Xhrefresh)
Horizontal refresh rate - You can set your horizontal refresh rate with:
xhrefresh=80 (or hsync=80)
ide
IDE is, unlike SCSI, commonly used in most desktop workstations. To circumvent some
hardware problems that occur with IDE systems, use the kernel parameter:
ide=nodma
keyboard
Keyboard settings:
keyboard=us xkeyboard=us
lang
Specifies a language for your keyboard. If available, Helix3 sets the correct locale for your
language. Possible settings are:
lang=be
lang=bg
lang=ch
lang=cn
lang=cz
lang=de
lang=da
lang=el
lang=es
Belgian
Bulgarian
Swiss
Chinese
Czech
German
Danish
Greek
Spanish
lang=fi
lang=fr
lang=gl
lang=he
lang=it
lang=ja
lang=lv
lang=lt
lang=nl
Finnish
French
Galician
Hebrew
Italian
Japanese
Latvian
Lithuanian
Dutch
lang=pl
lang=ru
lang=sf
lang=sk
lang=sl
lang=tr
lang=tw
lang=uk
lang=us
Polish
Russian
Swiss French
Slovak
Slovenian
Turkish
Taiwanese
British
US (default)
main
Scan for mainmodules on this partition
main=partitionname
mem
Specify Memory size in MByte. Some systems do not report the proper memory size to the
linux-kernel, which may cause the error "Panic: cannot mount root file system", and then
the system hangs. The mem options allows you to specify the proper amount of memory.
mem=128M
The M must be capitalized.
memtest
Check the RAM of your system, doesn't boot Helix
memtest
no
Skip specified parts of HW-detection. Available options are:
noapic
noagp
noapm
noacpi
noaudio
noddc
nodma
nofirewire
noisapnpbios
nomce
nopcmcia
noscsi
noswap
nousb
nonvidia
turns APIC o.
turns AGP o.
turns APM o.
turns ACPI o.
turns AUDIO o.
turns DDC o.
turns DMA o.
turns FIREWIRE o.
turns ISAPNPBIOS o.
Disable Machine Check Exception
turns PCMCIA o.
turns SCSI o.
turns SWAP o.
turns USB o.
turns o the proprietary NVidia driver minimodule (if available)
PCI
Some PCI settings:
pci=irqmask=0x0e98
pci=bios
Runlevel
Boot only the Helix3 base, don't load any modules. Useful for debugging.
1
Splash
The splash screen is the picture shown during system start-up.
splash=0
The splash screen is switched o. This may be useful with very old monitors or if some error
occurs.
splash=verbose
Activates splash, kernel and boot messages are still shown.
splash=silent
Activates splash, but no messages. Instead a progress bar is drawn.
testCD
To verify the proper operation of the Helix3 CD, you can test the CD. If the CD seems to
make a lot of noise, or generates many errors, of programs seem to crash constantly, it is
possible that the image you downloaded is corrupt, or your CD media is bad. Add the
command line option:
testcd
to verify the CD data integrity and md5sums of the files.
toHD
Use the command
tohd=/dev/hda1
(hda2,hda3,...)
toRAM
Use the command
toram
to copy the whole CD to RAM an boot from there.
vga
VGA Framebuer setting.
vga=normal
vga=785
vga=788
vga=791
vga=794
No framebuer, but X.
640x480 framebuer.
800x600 framebuer.
1024x786 framebuer.
1280x1024 framebuer.
VRate (Xvrefresh)
Vertical refresh rate. You can set your vertical refresh rate with:
xvrefresh=60 (or vsync=60)
WM screen
Sets the Screen Resolution for X (for your window manager).
screen=1280x1024
screen=1024x768
Xmodule
Its possible to use dierent modules, also posiible to combine them:
xmodule=ati
xmodule=fbdev
xmodule=i810
xmodule=mga
xmodule=nv
xmodule=radeon
xmodule=savage
xmodule=s3
xmodule=svga
The default Helix3 command line for the Copy Helix3 to RAM (Need 1GB+) is:
ramdisk_size=100000 init=/etc/init lang=us apm=power-o toram
The default Helix3 command line for the Boot using persistent home is:
ramdisk_size=100000 init=/etc/init lang=us noapic apm=power-o home=scan
The default Helix3 command line for the TestCD mode is:
ramdisk_size=100000 init=/etc/init lang=us nomce quiet testcd
The default Helix3 command line for the Framebuer Mode 1280x1024 mode is:
ramdisk_size=100000 init=/etc/init lang=us noapic apm=power-o vga=794
xmodule=fbdev nomce quiet
The default Helix3 command line for the Framebuer Mode 1024x768 mode is:
ramdisk_size=100000 init=/etc/init lang=us noapic apm=power-o vga=791
xmodule=fbdev nomce quiet
The default Helix3 command line for the Framebuer Mode 800x600 mode is:
ramdisk_size=100000 init=/etc/init lang=us noapic apm=power-o vga=788
xmodule=fbdev nomce quiet
The default Helix3 command line for the ACPI on DAM on FB o mode is:
ramdisk_size=100000 init=/etc/init lang=us noapic apm=power-o vga=normal nomce
quiet
F4 Screen Resolution
Text Mode, 640x480, 800x600, 1024x768, 1280x1024, 1600x1200
Once you select your boot options and hit the ENTER key, you will see the boot progress screen.
It shows the devices that Helix3 finds as well as provides you with kernel information, which could
be important if there are problems in loading Helix3.
Once Helix3 finishes the boot process, X Windows will automatically start and present you with
the Helix3 desktop. Helix3 uses the Gnome (http://www.gnome.org/) desktop environment as it
is very common and very versatile.
Much of what you will need from Helix3 is available via the Helix3 Start Button and the taskbars at
the top and bottom of the screen.
Top Taskbar
Places Menu
Common Folders
System Menu
Configuration
Help
Terminal
Network
Configuration
Available
Drives
Terminal
Power
Control
Bottom Taskbar
Power Management
Inhibit Applet
Show
Desktop
CPU utilization
graph
Memory utilization
graph
Network utilization
graph
Disk performance
monitors
Desktop 1
Desktop 2
Helix3 Tools
Clicking on the Helix3 Start Button reveals a number of commands and submenus.
The Main Menu
Accessories
Forensic & IR
Graphics
Internet
Oce
Sound & Video
System Tools
Add/Remove
Adepto
Adepto is a GUI front-end to dcfldd/a and was designed to simplify the creating of forensic bit
images, and to automatically create a chain of custody.
Adepto has several features and abilities, they include the following:
auto-detection of IDE and SCSI drives, CD-ROMs, and tape drives
choice of using either dd, dcfldd, or sdd
image verification between source and copy via MD5 or SHA1
image compression/decompression via gzip/bzip2
image over a TCP/IP network via Netcat/Cryptcat, or SAMBA (NetBIOS)
supports SCSI tape drives
wiping (zeroing) drives or partitions
splitting images into multiple segments
Detailed logging with date/times and complete command-line used.
Starting Adepto
When you start Adepto, it will prompt you for a
user and a case number.
This is handy for
keeping track of multiple cases, as well as
maintaining a chain-of-custody.
The case number is based on the current date,
but can be modified to fit the format of your
case numbering system.
Once the user clicks Go, the program allows
access to several tabs: Device Info, Acquire,
Restore/Clone, Log, Chain of Custody.
Device Info
The Device Info tab will display information about the various devices on the system. Select the
name of the device using the drop down box.
Acquire
Once a device has been selected, the
Acquire tab will become available, where
the user can select various options for the
actual copy. The user can enter optional
image notes.
Under destination information, the user can
select devices that are physically attached
to the system, or connected to the network
via NetBIOS or Netcat.
The user can also specify options for the dd
command, including the hash type, the
segment size, and advanced options
including block sizes and more.
Once the options are selected, the user cans
You can send the acquired image to a network server through Netcat/Cryptcat or Samba using
NetBIOS. Upon selecting the destination type you will be prompted for the additional information
required to establish the connection.
If you want to use Netcat/Cryptcat, then type in the
servers IP address and port number that the Netcat /
Cryptcat server is listening on. If you select NetBIOS, you
will need to click on the [Get share] hyperlink which will
pop up a Mount Remote Share dialog box.
Restore/Clone
The Restore/Clone tab allows the user to
restore an image to a device, or recombine
the split images into a single file.
To restore a split image, the user specifies
the first file in the split set (normally
ending with a .000), then selects a
destination drive, or a destination file.
Clicking the Restore button will complete
the task.
This tab also allows the user to clone one
device to another. Similar to utilities like
Drive Image and Ghost, except it will make
a forensic copy of the source device.
In both cases, the destination device must be mounted as read/write.
Log
The log tab displays a details log of all the actions
the user is making.
There is a button, "Add Comments to Log" that will
allow the investigator to add additional comments
that will be include in the log, which can be
printed and saved with a copy of the image.
Chain of Custody
Adepto will automatically create a chain of custody
form based on the device that was imaged. The
user only needs to fill out the evidence number and
click the create button. A chain of custody form
will be saved on your destination drive.
Autopsy
Developed by Brian Carrier. Available from
http://www.sleuthkit.org/autopsy/
When Autopsy is started, it opens an
Autopsy Shell tool that needs to stay open
and runs in the background. The Autopsy
browser is web-based and is web-based,
and this command tool is running the web
server that the browser interacts with.
A dead analysis occurs when a dedicated analysis system is used to examine the data from a suspect
system. Autopsy and The Sleuth Kit are run in a trusted environment, typically in a lab.
A live analysis occurs when the suspect system is being analyzed while it is running. In this case, Autopsy
and The Sleuth Kit are run from a CD in an untrusted environment. This is frequently used during incident
response while the incident is being confirmed. After it is confirmed, the system can be acquired and a
dead analysis performed.
File Listing: Analyze the files and directories, including the names of deleted files and files with Unicodebased names.
File Content: The contents of files can be viewed in raw, hex, or the ASCII strings can be extracted. When
data is interpreted, Autopsy sanitizes it to prevent damage to the local analysis system. Autopsy does not
use any client-side scripting languages.
Hash Databases: Lookup unknown files in a hash database to quickly identify it as good or bad. Autopsy
uses the NIST National Software Reference Library (NSRL) and user created databases of known good and
known bad files.
File Type Sorting: Sort the files based on their internal signatures to identify files of a known type. Autopsy
can also extract only graphic images (including thumbnails). The extension of the file will also be
compared to the file type to identify files that may have had their extension changed to hide them.
Timeline of File Activity: In some cases, having a timeline of file activity can help identify areas of a file
system that may contain evidence. Autopsy can create timelines that contain entries for the Modified,
Access, and Change (MAC) times of both allocated and unallocated files.
Keyword Search: Keyword searches of the file system image can be performed using ASCII strings and grep
regular expressions. Searches can be performed on either the full file system image or just the unallocated
space. An index file can be created for faster searches. Strings that are frequently searched for can be
easily configured into Autopsy for automated searching.
Meta Data Analysis: Meta Data structures contain the details about files and directories. Autopsy allows
you to view the details of any meta data structure in the file system. This is useful for recovering deleted
content. Autopsy will search the directories to identify the full path of the file that has allocated the
structure.
Data Unit Analysis: Data Units are where the file content is stored. Autopsy allows you to view the contents
of any data unit in a variety of formats including ASCII, hexdump, and strings. The file type is also given
and Autopsy will search the meta data structures to identify which has allocated the data unit.
Image Details: File system details can be viewed, including on-disk layout and times of activity. This mode
provides information that is useful during data recovery.
Case Management
Case Management: Investigations are organized by cases, which can contain one or more hosts. Each host
is configured to have its own time zone setting and clock skew so that the times shown are the same as the
original user would have seen. Each host can contain one or more file system images to analyze.
Event Sequencer: Time-based events can be added from file activity or IDS and firewall logs. Autopsy sorts
the events so that the sequence of incident events can be more easily determined.
Notes: Notes can be saved on a per-host and per-investigator basis. These allow you to make quick notes
about files and structures. The original location can be easily recalled with the click of a button when the
notes are later reviewed. All notes are stored in an ASCII file.
Image Integrity: It is crucial to ensure that files are not modified during analysis. Autopsy, by default, will
generate an MD5 value for all files that are imported or created. The integrity of any file that Autopsy uses
can be validated at any time.
Reports: Autopsy can create ASCII reports for files and other file system structures. This enables you to
quickly make consistent data sheets during the investigation.
Logging: Audit logs are created on a case, host, and investigator level so that actions can be easily
recalled. The exact Sleuth Kit commands that are executed are also logged.
Open Design: The code of Autopsy is open source and all files that it uses are in a raw format. All
configuration files are in ASCII text and cases are organized by directories. This makes it easy to export the
data and archive it. It also does not restrict you from using other tools that may solve the specific problem
more appropriately.
Client Server Model: Autopsy is HTML-based and therefore you do not have to be on the same system as
the file system images. This allows multiple investigators to use the same server and connect from their
personal systems.
Autopsy is written in Perl and runs on the same UNIX platforms as The Sleuth Kit:
Linux
Mac OS X
Solaris
MacBinary II
The file(s) will be copied using the MacBinary II format. This is the recommended mode for transferring
arbitrary Macintosh files.
BinHex
The file(s) will be copied using the BinHex format. This mode should be used to encode Macintosh files
into strict ASCII format.
Text
In this mode, only the data fork(s) of the selected file(s) are copied. Furthermore, translation is
performed on the datas end-of-line characters to conform to the standard for text files on the
destination.
Raw Data
In this mode, only the data fork(s) of the selected file(s) are copied. However, no translation is performed
whatsoever on the data.
Automatic
A copy mode will be selected automatically according to a set of heuristics.
Acquiring the suspect's hard drive from within your own computer, or
Acquiring the suspect's hard drive in his/her computer with your storage hard drive in his/her computer.
CAUTION: To perform this, you need to make certain that the computer containing the suspect hard drive will boot
from your Non-Auto Mount Linux system ONLY. This is exceptionally important because if you accidentally boot up
into the suspects operating system, or if your distribution of Linux "Auto-Mounts" the suspects hard drive, you
will write to the subject's hard drive. Be careful and double check every step.
1. Attach the suspect Hard drive and a FAT32 formatted target drive to the computer
2. Be sure Helix3 CD is loaded, and the system is set to boot from the CD. Turn on the computer
3. Open a command shell. Change the FAT32 target drive to read/write access.
4. Create a Mount Point for your FAT32 storage hard drive by typing "mkdir /media/FAT32"
5. Determine the hard drive device name by examining the output of the command "fdisk -l"
a. As a general reference, Linux follows the below naming conventions:
i.
ii.
iii.
iv.
v.
SCSI, USB and FireWire devices are labeled as sda, sdb, sdc, etc
6. Mount the storage partition to the mount point by typing "mount /dev/hdx# /media/FAT32" Where
'hdx#' is the drive and partition you found above in step 5 (Example: hda3)
7. Execute the Linen program by typing "linen"
8. Select Acquire
9. Specify the target location, which should be "/media/FAT32"
10. Fill in the remaining required fields and the acquisition will begin
11. Once the acquisition is finished, exit EnCase for Linux
12. Shut down the system
13. Now remove the power and data cables from the suspect hard drive
Regviewer
Developed by Chris Eagle. Available from http://sourceforge.net/projects/regviewer/
RegViewer is a windows registry file navigator. It is platform independent allowing for examination of Windows
registry files from any platform. It is particularly useful when conducting forensics of Windows files from *nix
systems.
Although the registry appears to be in one file, it is actually placed on your computer in several files. Depending
on your system configuration, registry files can be found in any of the following locations:
For Windows 95, 98, and Me systems:
C:\Windows\System.dat
C:\Windows\User.dat
C:\Windows\Profiles\Policy.pol
For Windows 2000, and XP systems
C:\Documents and Settings\User Name\Ntuser.dat
C:\Windows\System32\Config\Security, System.alt, Default, Sam, Software, System
The following images are taken from http://www.cs.usask.ca/undergrads/das322/Cmpt352/DFT/index.html
When the regviewer application is started, you will see the following screen.
By selecting Registry / Import Registry File, a directory window will open. Navigate to the location where the
registry hive you wish to examine is located.
The directory will be displayed, and can be navigated in a way very similar to the Windows Regedit program.
Retriever
Retriever is a new tool created by me exclusively for the Helix3 CD. Retriever is an image (picture/video)
capturing utility for knock & talks, quick peeks, and general searches. Retriever will scan a mounted device
and locate all of the images and movie files and can place them onto a USB key (or local drive) as well as open an
image viewer to view them.
When the program starts, the user can add
the paths to examine by clicking on the +
Add button, navigating to the directory, and
clicking OK.
Once the paths have been added, the user
selects the type of files they are looking for.
In this case, the user is searching the target
drive mounted at /mnt/hda1, and is looking
for graphic files.
Root terminal
Root Terminal opens a Linux Command shell with root (administrator) privileges.
Unlike the terminal icon on the upper task bar, which opens a Linux Command shell with limited privileges, a root
terminal gives the investigator full access to the entire system.
To tell the dierence between the two types of terminals, look at the last character on the prompt:
$ - user
# - root
Root privileges are very powerful and very dangerous if you do not know what you are doing to can destroy
possibly evidence. It is normally recommended that you use the limited terminal and the "sudo" command to
issue root commands instead of using the root terminal.
Here the user has added the target system mounted as /mnt/hda1 to be scanned.
Before beginning the scan, it would be a good idea, if the system is connected to the Internet, to update the antivirus signature. Select Database / Update from Internet.
Once the database is updated, you can select Start to start the scan. Depending on the number of files and the
speed of the system, this can take quite some time. When the program is finished, it will display the statistics of
what it has found.
Wireshark
Developed by Gerald Combs. Available from http://www.wireshark.org/
Ethereal is a sophisticated, complex tool what will allow you to interactively browse network trac. To really
learn how to use this tool, head over to http://www.wireshark.org/docs/, where you can download user manuals
and other documentation. Be sure to check out the Ethereal Wiki - http://wiki.ethereal.com/ - a treasure trove of
tutorials, sample files, and how-to guides.
This screen shot is taken from http://glen.mazza.googlepages.com/WireSharkScreen.png
Deep inspection of hundreds of protocols, with more being added all the time
Live capture and oine analysis
Standard three-pane packet browser
Multi-platform: Runs on Windows, Linux, OS X, Solaris, FreeBSD, NetBSD, and many others
Captured network data can be browsed via a GUI, or via the TTY-mode TShark utility
The most powerful display filters in the industry
Rich VoIP analysis
Read/write many dierent capture file formats: tcpdump (libpcap), Catapult DCT2000, Cisco Secure IDS
iplog, Microsoft Network Monitor, Network General Snier (compressed and uncompressed), Snier Pro,
and NetXray, Network Instruments Observer, Novell LANalyzer, RADCOM WAN/LAN Analyzer, Shomiti/
Finisar Surveyor, Tektronix K12xx, Visual Networks Visual UpTime, WildPackets EtherPeek/TokenPeek/
AiroPeek, and many others
Capture files compressed with gzip can be decompressed on the fly
Live data can be read from Ethernet, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB, Token Ring, Frame
Relay, FDDI, and others (depending on your platfrom)
Decryption support for many protocols, including IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP, and
WPA/WPA2
Coloring rules can be applied to the packet list for quick, intuitive analysis
Output can be exported to XML, PostScript, CSV, or plain text
Xfprot
Developed by FRISK Software International. Available from http://www.f-prot.com/
products/home_use/linux/
From the website: For home users using the Linux open-source operating system, we
oer F-Prot Antivirus for Linux Workstations. F-Prot Antivirus for Linux Workstations
utilizes the renowned F-Prot Antivirus scanning engine for primary scan but has in
addition to that a system of internal heuristics devised to search for unknown viruses
(Frisk Software International, 2006).
F-Prot Antivirus for Linux was especially developed to eectively eradicate viruses threatening workstations
running Linux. It provides full protection against macro viruses and other forms of malicious software - including
Trojans. F-Prot Antivirus can detect a total of 232593 worms, viruses and other malicious programs (Frisk
Software International, 2006).
A command line version of this program is also available.
When the program is started, the user is presented with a menu. The user may choose to scan an entire paritition,
or a file or directory. However, if the system Helix3 is running on is connected to the Internet, it is recommended
that the user first performs choice 4 Do Online-Update.
During an online update, the F-Prot program will access the F-Prot server and see if there is a more current
version of the anti-virus signatures available. If there is, they
will be downloaded.
Taking this step will ensure that the program will be able to
detect the latest malware hiding on the system.
After the signatures have been updates, you can choice either a partitition, directory, or file. In this case, we are
going to check the /bin directory on the Helix3 CD.
F-Prot will examine all the files in the selected directory and identify any suspicious files.
amd
basename
bi
chfn
chsh
cron
date
du
dirname
echo
egrep
env
find
fingerd
gpm
grep
hdparm
su
ifconfig
inetd
inetdconf
identd
init
killall
ldsopreload
login
ls
lsof
mail
mingetty
netstat
named
passwd
pidof
pop2
pop3
ps
pstree
rpcinfo
rlogind
rshd
slogin
sendmail
shd
syslogd
tar
tcpd
tcpdump
top
telnetd
timed
traceroute
vdir
w
write
For example, the following command checks for trojaned ps and ls binaries and also checks if the network
interface is in promiscuous mode.
# ./chkrootkit ps ls snier
The `-q' option can be used to put chkrootkit in quiet mode in this mode only output messages with `infected'
status are shown.
With the `-x' option the user can examine suspicious strings in the binary programs that may indicate a trojan -all the analysis is left to the user.
Lots of data can be seen with:
# ./chkrootkit -x | more
Pathnames inside system commands:
# ./chkrootkit -x | egrep '^/'
chkrootkit uses the following commands to make its tests: awk, cut, egrep, find, head, id, ls, netstat, ps, strings,
sed, uname. It is possible, with the `-p' option, to supply an alternate path to chkrootkit so it won't use the
system's (possibly) compromised binaries to make its tests.
To use, for example, binaries in /cdrom/bin:
# ./chkrootkit -p /cdrom/bin
It is possible to add more paths with a `:'
# ./chkrootkit -p /cdrom/bin:/floppy/mybin
Sometimes is a good idea to mount the disk from a compromised machine on a machine you trust. Just mount the
disk and specify a new rootdir with the `-r' option.
For example, suppose the disk you want to check is mounted under /mnt, then:
# ./chkrootkit -r /mnt
Output Messages
The following messages are printed by chkrootkit (except with the x and -q command options) during its tests:
"INFECTED": the test has identified a command probably modified by a known rootkit;
"not infected": the test didn't find any known rootkit signature.
"not tested": the test was not performed -- this could happen in the following situations:
a) the test is OS specific;
b) the test depends on an external program that is not available;
c) some specific command line options are given. (e.g. -r ).
"not found": the command to be tested is not available;
"Vulnerable but disabled": the command is infected but not in use. (not running or commented in inetd.conf)
A trojaned command has been found. What should I do now?
Your biggest problem is that your machine has been compromised and this bad guy has root privileges.
Maybe you can solve the problem by just replacing the trojaned command -- the best way is to reinstall the
machine from a safe media and to follow your vendor's security recommendations.
More Information
Adding Chkrootkit to Your Unix Auditing Arsenal, by Bill Hutchison, available from http://www.giac.org/
practical/gsec/Bill_Hutchison_GSEC.pdf
Understanding Rootkits, by Oktay Altunergil, available from http://www.linuxdevcenter.com/pub/a/linux/
2001/12/14/rootkit.html
Scanning for Rootkits, by Oktay Altunergil, available from http://www.linuxdevcenter.com/pub/a/linux/
2002/02/07/rootkits.html
Hashing on-the-fly - dcfldd can hash the input data as it is being transferred, helping to ensure data
integrity.
Status output - dcfldd can update the user of its progress in terms of the amount of data transferred and
how much longer operation will take.
Flexible disk wipes - dcfldd can be used to wipe disks quickly and with a known pattern if desired.
Image/wipe Verify - dcfldd can verify that a target drive is a bit-for-bit match of the specified input file or
pattern.
Multiple outputs - dcfldd can output to multiple files or disks at the same time.
Split output - dcfldd can split output to multiple files with more configurability than the split command.
Piped output and logs - dcfldd can send all its log data and output to commands as well as files natively.
split=BYTES
write every BYTES amount of data to a new file
This operation applies to any of=FILE that follows
splitformat=TEXT
the file extension format for split operation.
you may
use any number of 'a' or 'n' in any combo the default
format is "nnn" NOTE: The split and splitformat options take
eect
only for output files specified AFTER these options appear in
the command line. Likewise, you may specify these several times
for for dierent output files within the same command line. you
may use as many digits in any combination you would like. (e.g.
"anaannnaana" would be valid, but quite insane)
vf=FILE
verify that FILE matches the specified input
verifylog=FILE
send verify results to FILE instead of stderr
--help display this help and exit
--version
output version information and exit
The structure of of FORMAT may contain any valid text and special variables. The built-in variables are used the following format:
#variable_name# To pass FORMAT strings to the program from a command line,
it may be necessary to surround your FORMAT strings with "quotes." The
built-in variables are listed below:
window_start
The beginning byte oset of the hashwindow
window_end
The ending byte oset of the hashwindow
block_start
The beginning block (by input blocksize) of the window
block_end
The ending block (by input blocksize) of the hash window
hash The hash value
algorithm
The name of the hash algorithm
For example, the default FORMAT for hashformat and totalhashformat are:
hashformat="#window_start# - #window_end#: #hash#" totalhashformat="Total (#algorithm#): #hash#"
The FORMAT structure accepts the following escape codes:
\n Newline
\t
Tab
\r
Carriage return
\\
##
SYNTAX
f-prot [options] [file or directory]
DESCRIPTION
f-prot f-prot is a tool for scanning individual files or directory
trees for viruses. The options selected determine which methods are
used for scanning. By default f-prot scans all files, including inside
archives, and reports to STDOUT. F-prot only lists files which are
found to be infected.
REPORTING OPTIONS
By default f-prot reports to STDOUT, and only lists files which have
been found to be infected.
-append
Append to existing report file.
-help Displays
Antivirus.
short summary
of available
options for
F-Prot
-report=<report_name>
Save output to the <report_name> file.
-silent
Do not generate any screen output. This can be useful in the
case of running f-prot in a cron job and using the -report
option.
-wrap Wrap text outpput so it fits in 78 columns. This also applies to
the file used with the -report option.
SCANNING OPTIONS
By default f-prot scans all files, including inside archives.
-ai Enable neural-network virus detection. The -ai option should not
be used with the -noheur option.
-archive=n [default is 5]
Scan inside supported archives n levels deep, the supported
range is between 1 and 99. The older form '-archive' is supported for compatability reasons, in which case n is set to 5.
Supported archives are .zip, .cab, .tar, .gz, .lzh and .arj
files. Currently F-Prot Antivirus does not support disinfection
or removal of infected files within archives. Unix mailboxes are
considered to be archives and therefore F-Prot Antivirus is not
able to remove infected attachments from mailboxes.
-server [default]
Attempts
to identify infections within password protected
archives. "-server" implies "-archive=5".
-noserver
Does not attempt to identify infections within password protected archives.
-auto Automatically remove detected viruses. As noted above, this will
not work on archieved files.
-collect
Scan a virus collection. This option is intended for advanced
users. When this option is used it will, e.g. scan for
bootsector
viruses within files, even though the
virus
resides within a file instead of a bootsector.
-delete
Delete infected files. User confirmation is required. However,
the -auto option can be used to automatically confirm the
action. F-Prot Antivirus does not support removal of infected
objects located
in archives. Also, the -delete option has no
eect on oce documents, since that could cause the loss of
work.
-disinf
Disinfect whenever possible. User confirmation is required. However, the -auto option can be used to automatically confirm the
action. F-Prot Antivirus does not support disinfection of
infected objects located in archives.
-dumb [default]
Scans all files
-type Scan files by content. By default f-prot
scans all files. By
using the -type option, you are instructing the scanner to limit
the search to scanning by content.
-ext Scan only files with default extensions. By default f-prot scans
all files. By using the -ext option, you are instructing the
scanner to limit the search to files with default extensions.
-follow
Follow symbolic links. This should be used with
care, as the
program does not detect "circular" directories, and may get
stuck in an endless loop.
-noheur
Disable heuristic scanning. The -noheur option should not be
used with the -ai option.
-nosub Do not scan subdirectories.
-onlyheur
Only use heuristics, do not scan for known virus signatures. By
using this option F-Prot Antivirus will only detect a fraction
of infected files.
-packed [default]
Unpack compressed executables. There is no corresponding
-nopacked option. This option is provided for legacy reasons.
-rename
Rename extensions of infected files to prevent them from being
executed, e.g. renaming file.com to file.vom and file.exe to
file.vxe. This will not prevent files from being executed on
Unix since on the one hand .exe files and .com files from Windows are not executable on a Unix platform by default, and on
the other hand file extensions are not used on Unix systems with
regards to executability.
-nomacro
Do not scan for macro viruses.
-onlymacro
Only scan for macro viruses.
-removeall
Remove all macros from all documents. When this option is used
with -disinf or -delete all identified macros will be removed.
-removenew
Remove new variants of macro viruses by removing all macros from
infected documents.
-saferemove
INFORMATION OPTIONS
These information options are stand-alone, you can not combine them
with other options. (The version information displayed by -verno are
included in the beginning of every scan report by default).
current virus
At least one object was not scanned (encrypted file, unsupported/unknown compression method, unsupported/unknown file format, corrupted or invalid file).
10
At lest one archive object was not scanned (contains more then N
levels of nested archives, as specified with -archive switch).
Support for the JFIF and Exif formats including implementations used in modern digital cameras.
Support for windows bmp format.
Support for most MPEG's (must begin with 0x000001BA)
Windows PE executables (also extracts compile time to audit file)
This will extract AVI and RIFF since they use the same file format (RIFF). note faster than running
each separately.
Note may also extract -wma files as they have similar format.
This will grab any file using the OLE file structure. This includes PowerPoint, Word, Excel, Access,
and StarWriter
Note it is more ecient to run OLE as you get more bang for your buck. If you wish to ignore all
other ole files then use this.
Note is will extract .jar files as well because they use a similar format. Open Oce docs are just
zipped XML files so they are extracted as well. These include SXW, SXC, SXI, and SX? for
undetermined OpenOce files.
htm
cpp
C source code detection, note this is primitive and may generate documents other than C code.
all Run all pre-defined extraction methods. [Default if no -t is specified]
DESCRIPTION
Recover files from a disk image based on headers and footers specified by the user.
-h
-V
-d
-T
Please consider the limitations of this program, which is not able to find every possible kind of log file or identify
every potential data retention concern. See README for more information.
For more information about data retention, please consult EFF's resources for on-line service providers at
<http://www.e.org/osp/>.
***********************************************************************
Usage:
# logfinder.py [-w] [-l lines] [-c] [-h | --help] [path] [path] [...]
With -c or no path specified, look for current logging activity in open files system wide.
With a path or paths specified, look for log-like text in files within the specified path or paths. By default,
look at the first 100 lines of such files; if -l is specified, look at the specified number of lines instead; if -w
is specified, look at the whole file.
For maximum coverage, specify the path "/".
DESCRIPTION
Computes the hashes, or message digest, for any number of files
while
optionally recursively
digging
through the directory structure. Can
also take a list of known hashes and display the filenames of
input
files whose hashes either do or do not match any of the known hashes.
Errors are reported to standard error. If no FILES are specified, reads
from standard input.
-r
-e
-m <file>
Enables matching mode. The file given should be a list of known
hashes. The input files are examined one at a time, and only
those files that match the list of known hashes are output. This
flag may
be used more than once to add multiple sets of known
hashes. Acceptable formats for lists of known hashes are plain
(such as those
generated by md5deep or md5sum), Hashkeeper
files, iLook, and the National Software Reference Library (NSRL)
as produced by the National Institute for Standards in Technology.
If standard input is used with the -m flag, displays "stdin" if
the input matches one of the hashes in the list of known hashes.
If the hash does not match, the program displays no output.
This flag may not be used in conjunction with the -x, -X, or -A
flags.
-x <file>
Same as the -m flag above, but does negative matching. That is,
only those files NOT in the list of known hashes are displayed.
This flag may not be used in conjunction with the -m, -M, or -a
flags.
-M and -X <file>
Same as -m and -x above, but displays the hash for each file
that does (or does not) match the list of known hashes.
-a <hash>
Adds a single hash to the list of known hashes used for matching
mode, and if not already enabled, enables matching mode. Adding
single hashes cannot, by itself, be used to print the hashes of
matching files like the -M flag does. When used in conjunction
with the -w flag, the filename displayed is just the hash submitted on the command line.
This flag may not be used in conjunction with the -x, -X, or -A
flags.
-A <hash>
Same as -a above, but does negative matching. This flag may not
be used in conjunction with the -m, -M, or -A flags.
-w
-n
-s
-z
Enables file size mode. Prepends the hash with a ten digit representation of the size of each file processed. If the file size
is greater than 9999999999 bytes (about 9.3GB) the program displays 9999999999 for the size.
-q
-0
-l
-b
-k
Enables asterisk mode. An asterisk is inserted in lieu of a second space between the filename and the hash, just like md5sum in
its binary (-b) mode.
-o <bcpflsd>
Enables expert mode. Allows the user specify which (and only
-v
-V
RETURN VALUE
Returns a bit-wise value based on the success of the operation and the
status of any matching operations.
0
64
both positive
and negative
128 Internal
error,
such as memory corruption or uncaught cycle.
All internal errors should be reported to the developer! See the
section "Reporting Bugs" below.
What is OutGuess?
OutGuess is a universal steganographic tool that allows the insertion of hidden information into the redundant
bits of data sources. The nature of the data source is irrelevant to the core of OutGuess. The program relies on
data specific handlers that will extract redundant bits and write them back after modification. In this version the
PNM and JPEG image formats are supported. In the next paragraphs, images will be used as concrete example of
data objects, though OutGuess can use any kind of data, as long as a handler is provided.
What is Steganography
Steganography is the art and science of hiding that communication is happening. Classical steganography
systems depend on keeping the encoding system secret, but modern steganography is detectable only if secret
information is known, e.g. a secret key. Because of their invasive nature, steganography systems leave detectable
traces within a medium's characteristics. This allows an eavesdropper to detect media that has been modified,
revealing that secret communication is taking place. Although the secrecy of the information is not degraded, its
hidden nature is revealed, defeating the main purpose of Steganography.
What does OutGuess do dierently
For JPEG images, OutGuess preserves statistics based on frequency counts. As a result, statistical tests based on
frequency counts are unable to detect the presence of steganographic content. Before embedding data into an
image, OutGuess can determine the maximum message size that can be hidden while still being able to maintain
statistics based on frequency counts. This approach has been described in
Niels Provos (2001) Defending Against Statistical Steganalysis, 10th USENIX Security Symposium.
Washington, DC, August 2001. Available from http://www.citi.umich.edu/u/provos/papers/defending.ps
OutGuess uses a generic iterator object to select which bits in the data should be modified. A seed can be used to
modify the behavior of the iterator. It is embedded in the data along with the rest of the message. By altering the
seed, OutGuess tries to find a sequence of bits that minimizes the number of changes in the data that have to be
made.
Data Embedding
Below you can see an example run of OutGuess. The table gives an explanation of the dierent columns in the
output.
$ outguess -k "my secret key" -d hidden.txt demo.jpg out.jpg
Reading demo.jpg....
JPEG compression quality set to 75
Extracting usable bits: 40059 bits
Data Retrieval
You can retrieve data from an image in the following way:
$ outguess -k "my secret key" -r out.jpg hidden.txt
Reading out.jpg....
Extracting usable bits: 40059 bits
Steg retrieve: seed: 7225, len: 1839
Usage
The following is the manpage for outguess
OutGuess 0.2 Universal Stego (c) 1999-2001 Niels Provos
outguess [options] [<input file> [<output file>]]
-[sS] <n> iteration start, capital letter for 2nd dataset
-[iI] <n> iteration limit
-[kK] <key> key
-[dD] <name> filename of dataset
-[eE]
use error correcting encoding
-p <param> parameter passed to destination data handler
-r
retrieve message from data
-x <n> number of key derivations to be tried
-m
mark pixels that have been modified
-t
collect statistic information
-F[+-] turns statistical steganalysis foiling on/o.
The default is on.
NAME
outguess - universal steganographic tool
SYNOPSIS
outguess [ -emt ] [ -r ] [ -k key ] [ -F [+-] ] [ -d datafile ] [ -s
seed ] [ -i limit ] [ -x maxkeys ] [ -p param ] [ inputfile [ outputfile ]]
DESCRIPTION
Outguess is a universal steganographic tool that allows the insertion
of hidden information into the redundant bits of data
sources. The
nature of the data source is irrelevant to the core of outguess. The
program relies on data specific handlers that will extract redundant
bits and write them back after modification. Currently only the PPM,
PNM, and JPEG image formats are supported, although outguess could use
any kind of data, as long as a handler were provided.
Outguess uses a generic iterator object to select which bits in the
data should be modified. A seed can be used to modify the behavior of
the iterator. It is embedded in the data along with the rest of the
message. By altering the seed, outguess tries to find a sequence of
bits that minimizes the number of changes in the data that have to be
made.
A bias is introduced that favors the modification of bits that were
extracted from
a high value, and tries to avoid the modification of
bits that were extracted from a low value.
Additionally, Outguess allows for the hiding of two distinct messages
in the
data, thus providing plausible deniablity. It keeps track of
the bits that have been modified previously and locks them. A
(23,12,7) Golay code is used for error correction to tolerate collisions on locked bits. Artifical errors are introduced to avoid modifying bits that have a high bias.
OPTIONS
The following command line options, when specified as capital letters,
indicate options for the second message.
-F [+-]
Specifies that OutGuess should preserve statistics based on frequency counts.
As a result, no statistical test that is based
on frequency counts will be able to detect steganographic content. This option is on by default.
-kK key
Specify the secret key used to encrypt and hide the message in
the provided data.
-dD datafile
Specify the filename containing a message to be hidden in the
data.
-sS seed
Specify the initial seed the iterator object uses for selecting
bits in the redundant data. If no upper limit is specified, the
iterator will use this seed without searching for a more optimal
embedding.
-iI limit
Specify the upper limit for finding an optimal iterator seed.
The maximum value for the limit is 65535.
-eE Use error correction for data encoding and decoding.
Other options that apply to the general execution of outguess:
-r
-x maxkeys
If the second key does not create an iterator object that is
successful in embedding the data, the program will derive up to
specified number of new keys.
-p param
Passes a string as parameter to the destination
data handler.
For the
JPEG image format, this is the compression quality, it
can take values between 75 and 100. The higher the quality the
more bits to hide a message in the data are available.
-m
-t
DESCRIPTION
Computes the hashes, or message digest, for any number of files
while
optionally recursively
digging
through the directory structure. Can
also take a list of known hashes and display the filenames of
input
files whose hashes either do or do not match any of the known hashes.
Errors are reported to standard error. If no FILES are specified, reads
from standard input.
-r
-e
-m <file>
Enables matching mode. The file given should be a list of known
hashes. The input files are examined one at a time, and only
those files that match the list of known hashes are output. This
flag may
be used more than once to add multiple sets of known
hashes. Acceptable formats for lists of known hashes are plain
(such as those
generated by md5deep or md5sum), Hashkeeper
files, iLook, and the National Software Reference Library (NSRL)
as produced by the National Institute for Standards in Technology.
If standard input is used with the -m flag, displays "stdin" if
the input matches one of the hashes in the list of known hashes.
If the hash does not match, the program displays no output.
This flag may not be used in conjunction with the -x, -X, or -A
flags.
-x <file>
Same as the -m flag above, but does negative matching. That is,
only those files NOT in the list of known hashes are displayed.
This flag may not be used in conjunction with the -m, -M, or -a
flags.
-M and -X <file>
Same as -m and -x above, but displays the hash for each file
that does (or does not) match the list of known hashes.
-a <hash>
Adds a single hash to the list of known hashes used for matching
mode, and if not already enabled, enables matching mode. Adding
single hashes cannot, by itself, be used to print the hashes of
matching files like the -M flag does. When used in conjunction
with the -w flag, the filename displayed is just the hash submitted on the command line.
This flag may not be used in conjunction with the -x, -X, or -A
flags.
-A <hash>
Same as -a above, but does negative matching. This flag may not
be used in conjunction with the -m, -M, or -A flags.
-w
-n
-s
-z
Enables file size mode. Prepends the hash with a ten digit representation of the size of each file processed. If the file size
is greater than 9999999999 bytes (about 9.3GB) the program displays 9999999999 for the size.
-q
-0
-l
-b
-k
Enables asterisk mode. An asterisk is inserted in lieu of a second space between the filename and the hash, just like md5sum in
its binary (-b) mode.
-o <bcpflsd>
Enables expert mode. Allows the user specify which (and only
-v
-V
RETURN VALUE
Returns a bit-wise value based on the success of the operation and the
status of any matching operations.
0
64
both positive
and negative
128 Internal
error,
such as memory corruption or uncaught cycle.
All internal errors should be reported to the developer! See the
section "Reporting Bugs" below.
DESCRIPTION
Computes the hashes, or message digest, for any number of files
while
optionally recursively
digging
through the directory structure. Can
also take a list of known hashes and display the filenames of
input
files whose hashes either do or do not match any of the known hashes.
Errors are reported to standard error. If no FILES are specified, reads
from standard input.
-r
-e
-m <file>
Enables matching mode. The file given should be a list of known
hashes. The input files are examined one at a time, and only
those files that match the list of known hashes are output. This
flag may
be used more than once to add multiple sets of known
hashes. Acceptable formats for lists of known hashes are plain
(such as those
generated by md5deep or md5sum), Hashkeeper
files, iLook, and the National Software Reference Library (NSRL)
as produced by the National Institute for Standards in Technology.
If standard input is used with the -m flag, displays "stdin" if
the input matches one of the hashes in the list of known hashes.
If the hash does not match, the program displays no output.
This flag may not be used in conjunction with the -x, -X, or -A
flags.
-x <file>
Same as the -m flag above, but does negative matching. That is,
only those files NOT in the list of known hashes are displayed.
This flag may not be used in conjunction with the -m, -M, or -a
flags.
-M and -X <file>
Same as -m and -x above, but displays the hash for each file
that does (or does not) match the list of known hashes.
-a <hash>
Adds a single hash to the list of known hashes used for matching
mode, and if not already enabled, enables matching mode. Adding
single hashes cannot, by itself, be used to print the hashes of
matching files like the -M flag does. When used in conjunction
with the -w flag, the filename displayed is just the hash submitted on the command line.
This flag may not be used in conjunction with the -x, -X, or -A
flags.
-A <hash>
Same as -a above, but does negative matching. This flag may not
be used in conjunction with the -m, -M, or -A flags.
-w
-n
-s
-z
Enables file size mode. Prepends the hash with a ten digit representation of the size of each file processed. If the file size
is greater than 9999999999 bytes (about 9.3GB) the program displays 9999999999 for the size.
-q
-0
-l
-b
-k
Enables asterisk mode. An asterisk is inserted in lieu of a second space between the filename and the hash, just like md5sum in
its binary (-b) mode.
-o <bcpflsd>
Enables expert mode. Allows the user specify which (and only
-v
-V
RETURN VALUE
Returns a bit-wise value based on the success of the operation and the
status of any matching operations.
0
64
both positive
and negative
128 Internal
error,
such as memory corruption or uncaught cycle.
All internal errors should be reported to the developer! See the
section "Reporting Bugs" below.
-h
Only calculates the DCT histogram. Use the -d option to display the values.
-n
-V
-t tests Sets the tests that are being run on the image.
characters are understood:
The following
Static Binaries
Due to size constraints, Helix3 no longer contains many of the static binaries for Linux, Solaris, Maintosh, and
Windows. All of the static binaries are now located on the http://helix.e-fense.com/Download.html website
where you can download them as you need them. Once downloaded, they should be burned to a CD, or another
form a read-only storage so that they can not be modified by any malware residing on the system under
investigation.
Windows
On a windows system, these tools are available, as well the Helix3 graphical user interface. The GUI also provides
a number of other incident response tools.
The Win32 binaries are GNU from http://unxutils.sourceforge.net, courtesy of Karl M. Syring.
These tools are now all located under the /ir directory in respective directories.
bunzip2.exe
cat.exe
chgrp.exe
chmod.exe
chown.exe
cksum.exe
compress.exe
cp.exe
csplit.exe
cut.exe
date.exe
df.exe
di.exe
du.exe
echo.exe
env.exe
expand.exe
find.exe
fsplit.exe
gawk.exe
grep.exe
gunzip.exe
gzip.exe
head.exe
id.exe
less.exe
libfl.a
libfl.lib
ln.exe
ls.exe
mkdir.exe
mv.exe
mvdir.exe
pathchk.exe
pclip.exe
printenv.exe
pwd.exe
rm.exe
rmdir.exe
sed.exe
sleep.exe
sort.exe
su.exe
sync.exe
tail.exe
tar.exe
touch.exe
uname.exe
uniq.exe
unrar.exe
unzip.exe
uudecode.exe
uuencode.exe
wc.exe
which.exe
whoami.exe
zip.exe
Linux
On a Linux system, in the \Static-Binaries directory, there is a shell script called linux-ir.sh. This is a simple
incident response shell script that will collect system information using the static binaries. The output will be
displayed on the console, but can be redirected using the standard Linux >> option.
linux-ir.sh >> /mnt/sda1/IRoutput.txt
This will save the output to the IRoutput.txt on the /mnt/sda1 device. The /mnt/sda1 must be mounted as read/
write.
The Linux Static Binaries are from http://www.e-fense.com, courtesy of Drew Fahey.
Directory: \Static-Binaries\linux_x86
ald
arch
arp
bash
cat
chgrp
chmod
chown
chroot
cksum
clear
cp
csplit
cut
date
dcalc
dcat
dcgen
dd
df
di
disk_sreset
disk_stat
dls
dmesg
dstat
du
echo
env
ex
fatback
nd
file
fls
fmt
foremost
fsstat
fuser
gdb
grep
halt
head
hexdump
hfind
hostid
hostname
icat
id
ifconfig
ifind
ils
img_stat
istat
jcat
jls
kern_check
kill
last
lastlog
ldd
lde
less
link
ln
logname
ls
lsof
mac-robber
mactime
md5deep
md5sum
memdump
mkdir
mmls
mmstat
more
mount
mv
nc
netstat
nice
nohup
objdump
od
pathchk
pcat
pinky
pr
printenv
procinfo
ps
pstree
pwd
rarp
read_data
readelf
readlink
reset
rm
rmdir
route
search_data
seq
sha1
sha1sum
sleep
sort
sorter
split
srch_strings
stat
strace
strings
stty
su
sync
tail
tee
top
touch
tsort
tty
umount
uname
unexpand
uniq
unlink
unrm
uptime
users
utmpdump
vdir
vi
w
wc
whereis
who
whoami
Solaris
For an Intel-based Solaris x86 system, in the \Static-Binaries directory, there is a shell script called solaris-ir.sh.
This is a simple incident response shell script that will collect system information using the static binaries. The
output will be displayed on the console, but can be redirected using the standard Unix >> option.
solaris-ir.sh >> /mnt/sda1/IRoutput.txt
This will save the output to the IRoutput.txt on the /mnt/sda1 device. The /mnt/sda1 must be mounted as read/
write.
The Solaris Binaries were obtained from http://www.incident-response.org, courtesy of Rob Lee.
Directory: \Static-Binaries\solaris_2.7
cat
chgrp
chmod
chown
chroot
cksum
cp
cut
date
dd
df
dirname
du
echo
env
factor
file
gunzip
gzip
head
hostid
hostname
icat
id
ils
join
lastcomm
ln
logname
ls
lsof
md5
md5sum
mkdir
mknod
mv
nc
od
pcat
printenv
pwd
rm
rmdir
rmt
sort
split
su
sum
sync
tail
tar
touch
uname
uniq
unrm
uptime
users
wc
who
whoami
zcat
adduser dsoneil
alias
alias help=man
alias long=ls -al
| The alias command allows you to substitute a new name for a command
| An alias can also contain command line options
| Unless the alias definition is included in your .login file it is only temporary
apropos
apropos keyword
at
at 1:23 lp /home/index.html
at 1:50 echo lp Job Done
at -l
at -d 5555
| The at command runs a list of commands at a specified time (e.g. print @ 1:23)
| This uses the echo command to send a message at 1:50 saying a print job is done
| Lists all scheduled jobs; an alias for the atq command
| This will cancel job number 5555; an alias for the atrm command
batch
Example:
| Temporarily blank
cat
cat /etc/filename
cat file.a > file.b
cat -n file.a
cat /proc/scsi/scsi
cd
cd /home/dsoneil
cd ~username
chattr
chattr +i /etc/passwd
| makes the named file immutable. Attributes are not shown by ls; use lsattr
chfn
chfn dsoneil
chmod
| This command will give a file Read - Write permission for everyone
| This command gives Read - Write - Execute permission to everyone
| This gives Read - Write - Execute permission to all users
chown
| This command will change the owner of the specified directory to dso
| This command will change the owner of the specified file to dso
clear
clear
cmp
| Compares 2 files of any type. The -s option will return nothing in the files arethe same
cp
cp file.a file.b
| This will create a duplicate of file.a under a new file name, file.b
cpio
cron
crontab -e
date
date
| Will outout the present date to the screen
date --date=2001-3-15
| This will set date to 2001-Mar-15
date --date=2001-3-15 11:59 AM
| This will set the date as well as time
df
df -hT
| Displays the total size, used and available space on all mounted file systems
dmesg
dmesg
du
du -k /home/html
du -k /home/html/file.a
| Provides a summary of the disk space usage, in kb, within the specified path
| Provides a summary of disk spaced used by a particular file
e2fsck
e2fsck /dev/fd0
e2fsck /dev/hda1
fc
fc -l
fdformat
fdformat /dev/fd0
fdformat /dev/fd0H1440
cpkgtool
fdisk
fdisk l /dev/hda
fdisk /dev/had
file
file file.a
file -z file.a.tar
file -L file.a
file k file.a
| This command will try to determine what type of file file.a is. (exec, text, etc.)
| Looks inside a compressed file to determine its type.
| Follows symbolic links to be followed to determine file type
| Do not stop at the first matched test
find
| Locates the specified string (passwd), starting in the specified directory (/path)
| All filenames or directories containing the string will be printed to the screen
finger
finger
| This will list all users currently logged into the UNIX system
free
free -t -o
fsck
fsck /hda
git
grep
| This searches for and limits the command output to the pattern specified
| In this case all instances of dso from the /etc/passwd file are printed
grep -i Sample /home/dsoneil | The -i option makes the search indierent to case (e.g. sample or SAMPLE)
groupadd
groupadd sudos
groups
groups
gzip
gzip file.a
gzip -d file.a.gz
tar -zxvf file.a.tar.qz
history
hostname
ifconfig
| Get or set hostname. Typically, the host name is stored in the file /etc/HOSTNAME.
ifconfig eth0
ifconfig eth0 up
ifconfig eth1 192.168.0.2 up
insmod
| This will display the status of the currently defined interface (.e.g Ethernet Card 0)
| This flag causes the iterface to be activated (To deactivate an interface use down)
| Makes eth1 active with IP address 192.168.0.2
| used (by root) to install modular device drivers
installpkg
installpkg -r packagename.tgz
ipchains
jobs
jobs
kernelcfg
| This will install a Slackware package with the name you specify (-r option)
kill
kill 2587
kill -9 2587
last
last -300
| Prints to the screen the username, location, log-in and log-o times of
| the last
| -x logins to the system. The username will select the last x time that person
| has used the system. The last command is not traceable.
last -5 username
lastlog
lastlog
ldd
ldd ./test.exe
less
less /html/index.html
lilo
lilo -v
ln -s /usr/dso ./home/html
| Creates a symbolic link from the first directory or file to the second.
| A user changing into ./home/html will actually be directed to the
| /usr/dso directory.
locate
locate wordperfect
| The locate command will locate the file specified aand output a
| directory path (see updatedb)
lpr
lpr /home/html/index.html
lprm
lprm 12
lpq
lpq
ls
ls -al
| Lists all information on all files (-a) in the current directory in single line
| format (-l). Includes permissions, owners, modification time, file size
| and name
| Marks (directories with a trailing / ) - ( executables with an *)
| (symbolic links w/ @)
| This will ist all IP4 (masquerading) entries in the system
| processes directories
| List files by last access time
ls -F
ls /proc/sys/net/ipv4
ls alRu
lsmod
lsof
lspci
make
make modules
| This will show you what program has that port open.
| This will show Internet connections like netstat.
| This will show processes
| Lists your PCI devices
make mrproper
make menuconfig
man
man vi
| Prints the manual page on the specific topic (vi) to the screen. To scroll down
| the page use the Space Bar, to scroll up use the letter b, to exit press q.
md5sum
md5sum filename.tgz
md5sum b
md5sum t
mkdir
mkdir pascal
mkfs
more
more /home/html/index.htm
| Paginates the specified file so it can be read line by line (using Enter key) or
| screen by screen using the Space Bar. Use b key to move back and q to quit.
mount
| Mounts the msdos partition on the Hard Drive (hda5) to the directory /dos
| Mounts the CD-ROM under the directory /cd
| Mounts the floppy drive with an msdos file system to /mnt
| Attempts to mount all file systems located in the /etc/fstab file
mv
mv ./home/file ./dso/file
netstat
|This will give us a list of all currently running TCP servers that
| are LISTENing on a port
| This will list all UDP and TCP ports that are open
nice
| The higher the number the lower the priority. All process start at 10
nmap
nmap localhost
nmap -sT -sU -p 1-65535 localhost
nohup
| This will port scan the localhost server to determine open ports
| This will thoroughly check all ports on the system (both UDP and TCP)
| This command allows a process to continue after you log out
passwd
passwd
| Launches the password program so the user can change their password
ps
ps
ps -ef | grep dsoneil
| Lists all current running processes, their corresponding pids, and their status
| This will find all of the processes for user dsoneil
pstree
pstree -p
pwd
pwd
quota
quota
| Lists the users quotas for both ada (/home/ada/a#/username) and amelia
| (/var/spool/mail/username), indicating the number of blocks used and
| the users quota.
renice
renice -5 6641
| Adjusts the priority of the running process 6641 (The 5 lowers the
| priority to use less resources)
removepkg
| This will remove the named package but make a copy in the /tmp directory
rm
rm file.a
rm -i file.a
rm -r /home/dso
rmdir
rmdir pascal
rmdir -r pascal
route
route -n
route add -net 192.168.0.0 eth0
route add default gw 192.168.0.5 eth0
rpm
rpm -i file.2.0-i386.rpm
rpm -U file.2.0-i386.rpm
rpm -i force file.rpm
rpm -e file.2.0-i386.rpm
| This will unpack an RPM file. This is the most basic method of installation
| This will install an upgrade to a previous RPM package.
| The force option will force the package to re-install
| This will remove and RPM package. (You do not need to use the
| complete name)
| This command uses the no dependencies flag.
| This will give a screen print out of all packages installed (q is query)
| This will print out all of the rpm packages will gtk in the file name
| This will provide information on the package you are about to install
| This will rebuild a package if it has been corrupted by another
| installation process
service
sha1sum
sha1sum filename.tgz
sha1sum b
sha1sum t
shutdown
shutdown -t 10.00
shutdown -f
| This will notify all logged in users that the system will shut down at
| 10:00 AM
| This will reboot the system at 8:00 PM
| This will shutdown the system in 10 minutes with the message
| good day sent
| The -f flag will cause Linux to do a fast reboot
sort
sort myfile
strings
strings myfile
su
su username
shutdown -r -t 20.00
shutdown -t +10 good day
top
touch
touch file.a
| Creates an empty file in the current directory with the name file
updatedb
updatedb
upgradepkg
upgradepkg packagename.tgz
| This will upgrade a Slackware package and remove any old or no used files
umask
umask -S u=rw,g=,o=
| Specify the permission for files when files are created for owner(u),
| group(g), and others(o)
| you can use 022 for read only file permission for others and 077 for read
| and write permission
umask 022
uname
uname -a
| This will print to the screen the Linux Kernel in use on your system
uptime
uptime -a 192.168.0.100
| Shows system uptime and includes a list of users who have been
| idle for more than one hour
userdel
userdel -r dsoneil
| This will delete the user dsoneil from the system, the -r option will delete
| the users /home
| Lists all users currently logged into the UNIX system. Provides information
| such as username, login time, idle time, and current action
whatis
whatis cat
which
which -a filename
| This will search through all directories in your current path and find all
| files named filename
who
who
| Lists currently logged on users username, port, and when they logged in
whoami
whoami
| Tells the user who they are acting as; usually their own username.
dls
dstat
XXX
debugfs
fls
File Types: linux-ext2, linux-ext3, solaris, openbsd, freebsd, ntfs, fat, fat12, fat16, fat32
-u
-D
-F
-r
-p
-m
-l
-z
-s
fsstat
XXX
fsgrab
lazarus
lazarus h /*.img.dls
-h
mac_daddy.pl
mactime
mactime
ifind
ils
istat
XXX
sorter
mac-daddy
mac-robber
pcat
DATA LOCATION
/etc/issue
/tmp/install.log
/etc/timezone
/var/log/boot.log
/etc/fstab
References
Access Data. (2005). FTK Imager Help File.
Carvey, H. (2005). Windows forensics and incident recovery. Boston: Addison-Wesley.
Computer Hope. (2006a). 3.5 Floppy. Retrieved 31 Jan, 2006, from http://www.computerhope.com/jargon/h/
headslot.htm
Computer Hope. (2006b). 5.25 Floppy. Retrieved 31 Jan, 2006, from http://www.computerhope.com/jargon/h/
headslot.htm
Digital Intelligence. (2006a). Forensic Card Readers. Retrieved 31 Jan, 2006, from http://
www.digitalintelligence.com/products/forensic_card_readers/
Digital Intelligence. (2006b). Ultrablock. Retrieved 31 Jan, 2006, from http://www.digitalintelligence.com/
products/ultrablock/
Digital Intelligence. (2006c). USB Write Blocker. Retrieved 31 Jan, 2006, from http://
www.digitalintelligence.com/products/usb_write_blocker/
Erickson, L. (2004). NCFS Software Write-block XP - 5 Step Validation. Retrieved 25 Jan, 2005, from
www.ncfs.org/fleet/block/index.htm
Frisk Software International. (2006). F-Prot Antivirus for Linux Workstations - for home users. Retrieved 4 Feb,
2006, from http://www.f-prot.com/products/home_use/linux/
Harbour, N. (2006). dcfldd. Retrieved 4 Feb, 2006, from http://dcfldd.sourceforge.net/
Hurlbut, D. (2005). Write Protect USB Devices in Windows XP. Retrieved 31 Jan, 2006, from http://
www.accessdata.com/media/en_us/print/papers/wp.USB_Write_Protect.en_us.pdf
Kornblum, J. (2006). Foremost. Retrieved 3 Feb, 2006, from http://foremost.sourceforge.net/
McDougal, M. (2005). Windows Forensic Toolchest. Retrieved 31 Jan, 2006, from http://www.foolmoon.net/
security/wft/index.html
McLeod, J. (2005). Incident Response Collection Report (IRCR2) readme file. Retrieved 31 Jan, 2006, from
http://ircr.tripod.com/
MemoryStick.com. (2006). MemoryStick Write Protect. Retrieved 31 Jan, 2006, from http://
www.memorystick.com/en/ms/features.html
The Living Room. (2006). MMC/SD Card. Retrieved 31 Jan, 2006, from http://www.livingroom.org.au/photolog/
pretec-4gb-sd-memory-card-1.jpg
Vincent, L. (2006). Hardware Lister (lshw). Retrieved 5 Feb, 2006, from http://ezix.sourceforge.net/software/
lshw.html
Wikipedia. (2006a). Knoppix. Retrieved 7 Feb, 2006, from http://en.wikipedia.org/wiki/Knoppix
Wikipedia. (2006b). Linux. Retrieved 7 Feb, 2006, from http://en.wikipedia.org/wiki/Linux