Gadzhovski / TRACE-Forensic-Toolkit

TRACE is a digital forensic analysis tool that provides a user-friendly interface for investigating disk images.
MIT License
138 stars 15 forks source link
base64-decoding dd dfir digital-forensic-tool digital-forensics digital-forensics-tollkit digitalforensics disk-images e01 exif-metadata file-carving forensic-analysis forensics forensics-tools image-analysis image-verification metadata-extraction python3 raw windows-registry

Toolkit for Retrieval and Analysis of Cyber Evidence (TRACE)

TRACE is a digital forensic tool I developed as my final year project. It provides an intuitive interface for analyzing disk images and includes a range of functionalities to assist forensic examiners in extracting and viewing the contents of various image file formats.

TRACE Logo

Navigation ๐Ÿงญ

Preview ๐Ÿ‘€      โฌ†๏ธ


TRACE Preview


Features ๐ŸŒŸ      โฌ†๏ธ

โœ… *Image Mounting: Mount forensic disk images. (Windows only) \ โœ… Tree Viewer: Navigate through the disk image structure, including partitions and files.\ โœ… Detailed File Analysis: View file content in different formats, such as HEX, text, and application-specific views.\ โœ… EXIF Data Extraction: Extract and display EXIF metadata from photos.\ โœ… Registry Viewer: View and examine Windows registry files.\ โœ… Basic File Carving: Recover deleted files from disk images.\ โœ… Virus Total API Integration: Check files for malware using the Virus Total API.\ โœ… E01 Image Verification: Verify the integrity of E01 disk images.\ โœ… Convert E01 to Raw: Convert E01 disk images to raw format.\ โœ… Message Decoding: Decode messages from base64, binary, and other encodings.


Screenshots ๐Ÿ“ธ      โฌ†๏ธ

Registry Browser ๐Ÿ—‚๏ธ


Registry Browser

File Carving ๐Ÿ”ช


File Carving

File Search ๐Ÿ”


Image Verification

Image Verification โœ…


Image Verification


Supported Image Formats ๐Ÿ’พ      โฌ†๏ธ

Image Format Extensions Split Unsplit
EnCaseยฎ Image File (EVF / Expert Witness Format) *.E01 *.Ex01 โœ”๏ธ โœ”๏ธ
SMART/Expert Witness Image File *.s01 โœ”๏ธ โœ”๏ธ
Single Image Unix / Linux DD / Raw *.dd, *.img, *.raw โœ”๏ธ โœ”๏ธ
ISO Image File *.iso โœ”๏ธ
AccessData Image File *.ad1 โœ”๏ธ โœ”๏ธ


Tested File Systems ๐Ÿ—‚๏ธ      โฌ†๏ธ

File System Tested
NTFS โœ”๏ธ
FAT32
exFAT
HFS+
APFS
EXT2,3,4


Cross-Platform Compatibility ๐Ÿ’ป๐Ÿ–ฅ๏ธ      โฌ†๏ธ

Operating System Screenshot
macOS Sonoma ๐Ÿ macOS Screenshot
Kali Linux 2024 ๐Ÿง Kali Linux Screenshot
*WSL2 - Ubuntu 22.04.3 LTS ๐Ÿง Kali Linux Screenshot
Windows 10 ๐Ÿ—” Windows Screenshot

Getting Started ๐Ÿš€      โฌ†๏ธ

Prerequisites ๐Ÿ”ง

For Windows:

*There's a compatibility issue with Python 3.12. Please install Python 3.11 from the official Python website: https://www.python.org/downloads/release/python-3110/

If you don't already have Microsoft C++ Build Tools installed, you'll need to install them to compile required packages like libewf-python and pytsk3.

Step 1: Download and Install Microsoft C++ Build Tools - https://visualstudio.microsoft.com/visual-cpp-build-tools/ During the installation, make sure to select the following workloads:

Step 2: Install the Dependencies

pip install -r requirements.txt

For macOS - Apple Silicon:

Create a virtual environment with python 3.11

python3.11 -m venv venv
source venv/bin/activate
chmod +x install_macos_silicon.sh
./install_macos_silicon.sh

This script will:

For Ubuntu on WSL:

chmod +x WSL_Ubuntu_install.sh
./WSL_Ubuntu_install.sh

This script will:

Configuration โš™๏ธ

API Keys Configuration:The tool integrates with VirusTotal and Veriphone APIs, and you will need to provide your own API keys to use these features. To update the API keys, go to the Options menu and select API Keys submenu.

Running the Tool โ–ถ๏ธ

python main.py


Built With ๐Ÿงฑ      โฌ†๏ธ

Work in Progress ๐Ÿง‘โ€๐Ÿ”ง      โฌ†๏ธ

Testing & Feedback ๐Ÿงช      โฌ†๏ธ

Contributing ๐Ÿค      โฌ†๏ธ

I welcome contributions from the community to help improve TRACE! If you're interested in contributing, hereโ€™s how you can get involved:

How to Contribute

  1. Report Issues: If you find any bugs or have suggestions for improvements, please open an issue on GitHub. Provide as much detail as possible to help address the issue effectively.
  2. Submit a Pull Request: If you have a fix or feature youโ€™d like to contribute, please fork the repository, make your changes, and submit a pull request. Ensure your code adheres to the coding standards and includes tests where applicable.
  3. Provide Testing Samples: If you have disk images in formats that are less tested (Ex01, Lx01, s01, etc.), your contributions would be greatly appreciated to help improve the toolโ€™s compatibility and robustness. You can share these samples by contacting me.
  4. Review and Feedback: Review the changes submitted by others and provide feedback to help refine and enhance the tool.

Socials ๐Ÿ‘จโ€๐Ÿ’ป      โฌ†๏ธ

LinkedIn


Version License