Incident Response Self-Compiling Toolkit
by Kenneth Voort
This project is licensed under the GNU General Public License
Project Summary Page
The forensic investigation field has long been plagued with a lack of statically linked,
trusted tools to use during live investigations of compromised machines.
This is due mainly to the problems inherent when running tools on a
victim machine which have been compiled against a different kernel
and/or C library.
To this end, I have created a script which will provide necessary
compiler and configuration flags to a number of source packages which
are used in forensic investigation toolkits.
The goal of this project is to create a standardized utility for
compiling statically linked toolkits for this purpose, which can be
compiled on as many different platforms as possible. An incident
response script based on F.I.R.E and Helix is also provided which
more closely follows the order of volatility as specified in RFC 3227.
This script will eventually be expanded to determine which, if any,
specific vulnerabilities were exploited on a victim system to gain
At its current stage, this project has not been well tested. It
compiles and links statically on Slackware 10 systems with C library
version 2.3.2. Further testing is required to determine its compatibility
with other C library versions, distributions and operating systems.
Current problems include packages not compiling properly or not statically
and random segmentation faults.
Future improvements before a beta release will include a comprehensive
test suite, a more involved response script, a proper makefile, and a
bug report generator.
At this point, this toolkit is *NOT* ready for use in forensic investigations. Certain statically linked tools will still call shared libraries. This is because of a diffioculty encountered when compiled tools use NSS routines from the C library. These routines are dynamically linked at runtime, which is handled transparently by the C library. Compiling a toolkit which uses statically linked NSS routines is one of the major difficulties in making such a toolkit. Work is being done which will determine a way to portably generate a statically linkable verion of the C library, using static NSS routines, which these tools will eventually be linked against. This is in accordance with the goals of this project; to generate a comprehensive toolkit which can be easily compiled for any system and does not touch the victim machine in any way, shape, or form.
Although statically linked tools which use NSS routines from the C library will still work without a C library, thay will quite often produce insufficient output, or no output at all, which is unacceptable when running a response script given a timeframe of only a few minutes. At this point, the renaming of the C library to avoid its use, or the renaming of /lib and /usr/lib would be an effective way to prevent this toolkit from using them. Some tools would not work properly, but the investigator would be assured that, beyond the temporary renaming of a directory or two, the victim machine's filesystem was not affected. A statically linkable version of the C library is being developed at this time.
Please email bug reports and suggestions to < kvoort (at) kvoort (dot) [SPAMGUARD] cjb (dot) net >
The following packages are included in this project: