Top Related Projects
GRR Rapid Response: remote live forensics for incident response
Super timeline all the things
Autopsy® is a digital forensics platform and graphical interface to The Sleuth Kit® and other digital forensics tools. It can be used by law enforcement, military, and corporate examiners to investigate what happened on a computer. You can even use it to recover photos from your camera's memory card.
An advanced memory forensics framework
Collaborative Incident Response platform
Quick Overview
Hindsight is an open-source web browser forensics tool designed to analyze Chrome, Chromium, and Edge browser artifacts. It parses various browser data sources, including history, downloads, cache, and preferences, to provide investigators with a comprehensive view of user browsing activities.
Pros
- Supports multiple Chromium-based browsers (Chrome, Edge, Brave, etc.)
- Offers both command-line and GUI interfaces for flexibility
- Generates reports in various formats (SQLite, Excel, JSON)
- Actively maintained and regularly updated
Cons
- Limited to Chromium-based browsers (no support for Firefox or Safari)
- Requires Python environment setup, which may be challenging for non-technical users
- Performance may slow down with large datasets
- Some advanced features require additional dependencies
Code Examples
# Initialize Hindsight with a Chrome profile
from hindsight import hs
chrome_profile = r"C:\Users\username\AppData\Local\Google\Chrome\User Data\Default"
analysis = hs.Hindsight(chrome_profile)
# Parse browser artifacts
analysis.process()
# Generate a report
analysis.generate_excel("browser_report.xlsx")
# Custom plugin example
from hindsight.plugins import Plugin
class MyCustomPlugin(Plugin):
def __init__(self):
super().__init__()
self.name = "My Custom Plugin"
self.description = "Demonstrates a custom plugin"
def parse(self):
# Custom parsing logic here
pass
# Register the custom plugin
hs.register_plugin(MyCustomPlugin)
# Filtering results
from hindsight import filters
# Create a date range filter
date_filter = filters.DateRangeFilter("2023-01-01", "2023-12-31")
# Apply filter to analysis
filtered_results = analysis.filter_results(date_filter)
Getting Started
-
Install Hindsight:
pip install hindsight
-
Run Hindsight from the command line:
hindsight -i "C:\path\to\browser\profile" -o "C:\path\to\output"
-
For GUI usage, run:
hindsight-gui
-
To use Hindsight as a library in your Python script:
from hindsight import hs analysis = hs.Hindsight("path/to/profile") analysis.process() analysis.generate_excel("output.xlsx")
Competitor Comparisons
GRR Rapid Response: remote live forensics for incident response
Pros of GRR
- Comprehensive remote live forensics and incident response platform
- Scalable architecture for enterprise-level deployments
- Supports multiple operating systems (Windows, macOS, Linux)
Cons of GRR
- Steeper learning curve and more complex setup
- Requires significant infrastructure for large-scale deployments
- May be overkill for smaller investigations or single-machine analysis
Code Comparison
GRR (Python):
from grr_response_client import client_startup
from grr_response_client.client_actions import standard
class ClientInit(standard.ClientInit):
def Run(self, args):
# Client initialization code
Hindsight (Python):
from hindsight import analysis
from hindsight.analysis import chrome
def parse_chrome_history(file_path):
# Chrome history parsing code
Summary
GRR is a powerful, scalable remote forensics platform suitable for large organizations, while Hindsight focuses specifically on browser forensics, particularly for Chrome. GRR offers broader capabilities but requires more resources and setup, whereas Hindsight is more specialized and easier to use for its specific purpose.
Super timeline all the things
Pros of Plaso
- Broader scope, supporting multiple operating systems and data sources
- More extensive parsing capabilities for various log formats
- Active development with frequent updates and contributions
Cons of Plaso
- Steeper learning curve due to its complexity
- Requires more system resources for processing large datasets
- Installation process can be more involved
Code Comparison
Plaso (parsing a file):
parser = winreg.WinRegistryParser()
storage_writer = storage_factory.CreateStorageWriter(storage_format, path)
knowledge_base = knowledge_base_object.KnowledgeBase()
parser_mediator = mediator.ParserMediator(storage_writer, knowledge_base)
parser.Parse(parser_mediator)
Hindsight (parsing Chrome history):
input_path = r'C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default'
chrome = Chrome(input_path)
parsed_artifacts = chrome.analyze_artifacts()
Summary
Plaso is a more comprehensive tool for digital forensics, offering support for various data sources and operating systems. It has a steeper learning curve but provides extensive parsing capabilities. Hindsight, on the other hand, focuses specifically on Chrome and Chromium-based browser forensics, making it more user-friendly for this specific use case but limited in scope compared to Plaso.
Autopsy® is a digital forensics platform and graphical interface to The Sleuth Kit® and other digital forensics tools. It can be used by law enforcement, military, and corporate examiners to investigate what happened on a computer. You can even use it to recover photos from your camera's memory card.
Pros of Autopsy
- Comprehensive digital forensics platform with a wide range of features
- User-friendly GUI for easier navigation and analysis
- Supports multiple file systems and disk image formats
Cons of Autopsy
- Steeper learning curve due to its extensive feature set
- Requires more system resources for processing large datasets
- May be overkill for simple browser history analysis tasks
Code Comparison
Hindsight (Python):
def parse_chrome_history(history_path):
conn = sqlite3.connect(history_path)
cursor = conn.cursor()
cursor.execute("SELECT url, title, last_visit_time FROM urls")
return cursor.fetchall()
Autopsy (Java):
public class ChromeHistoryExtractor extends FileIngestModuleAdapter {
@Override
public ProcessResult process(AbstractFile file) {
String query = "SELECT url, title, last_visit_time FROM urls";
// Execute query and process results
}
}
Both projects handle browser history analysis, but Autopsy offers a more comprehensive approach within a larger digital forensics framework, while Hindsight focuses specifically on browser artifacts with a simpler, Python-based implementation.
An advanced memory forensics framework
Pros of Volatility
- More comprehensive memory analysis capabilities, supporting a wide range of operating systems and file formats
- Larger community and extensive plugin ecosystem
- Robust command-line interface for advanced users and automation
Cons of Volatility
- Steeper learning curve, especially for beginners
- Requires more system resources and processing time for complex analyses
- Less focused on browser forensics compared to Hindsight
Code Comparison
Volatility command example:
python vol.py -f memory.dump --profile=Win10x64_18362 pslist
Hindsight usage example:
python hindsight.py -i "C:\Users\user\AppData\Local\Google\Chrome\User Data\Default" -o output_folder
While Volatility focuses on memory analysis across various systems, Hindsight specializes in Chrome/Chromium browser forensics. Volatility offers a broader scope of analysis but requires more expertise, whereas Hindsight provides a more targeted approach for browser-specific investigations with a simpler interface.
Collaborative Incident Response platform
Pros of iris-web
- More comprehensive digital forensics and incident response platform
- Web-based interface for collaborative investigations
- Supports multiple case management and evidence types
Cons of iris-web
- More complex setup and configuration
- Steeper learning curve for new users
- Requires additional infrastructure (database, web server)
Code comparison
Hindsight (Python):
def get_browser_name(browser_path):
if not browser_path:
return None
browser_name_lower = os.path.basename(browser_path).lower()
if 'chrome' in browser_name_lower:
return 'Chrome'
elif 'firefox' in browser_name_lower:
return 'Firefox'
# ... more browser checks
iris-web (JavaScript):
function getBrowserInfo(userAgent) {
const browsers = [
{ name: 'Chrome', regex: /Chrome\/(\d+)/ },
{ name: 'Firefox', regex: /Firefox\/(\d+)/ },
// ... more browser checks
];
for (const browser of browsers) {
const match = userAgent.match(browser.regex);
if (match) return { name: browser.name, version: match[1] };
}
return { name: 'Unknown', version: 'N/A' };
}
Both projects handle browser detection, but iris-web's approach is more flexible and easier to extend for web-based applications.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Hindsight
Internet history forensics for Google Chrome/Chromium
Hindsight is a free tool for analyzing web artifacts. It started with the browsing history of the Google Chrome web browser and has expanded to support other Chromium-based applications (with more to come!). Hindsight can parse a number of different types of web artifacts, including URLs, download history, cache records, bookmarks, autofill records, saved passwords, preferences, browser extensions, HTTP cookies, and Local Storage records (HTML5 cookies). Once the data is extracted from each file, it is correlated with data from other history files and placed in a timeline.
It has a simple web UI - to start it, run "hindsight_gui.py" (or on Windows, the packaged "hindsight_gui.exe") and visit http://localhost:8080 in a browser:
The only field you are required to complete is "Profile Path". This is the location of the Chrome profile you want to analyze (the default profile paths for different OSes is listed at the bottom of this page). Click "Run" and you'll be taken to the results page in where you can save the results to a spreadsheet (or other formats).
Manual Installation
pip install pyhindsight
curl -sSL https://raw.githubusercontent.com/obsidianforensics/hindsight/master/install-js.sh | sh
Command Line
There also is command line version of Hindsight - hindsight.py or hindsight.exe. The user guide in the documentation folder covers many topics, but the info below should get you started with the command line version:
Example usage: > C:\hindsight.py -i "C:\Users\Ryan\AppData\Local\Google\Chrome\User Data\Default" -o test_case
Command Line Options:
Option | Description |
---|---|
-i or --input | Path to the Chrome(ium) "Default" directory |
-o or --output | Name of the output file (without extension) |
-f or --format | Output format (default is XLSX, other options are SQLite and JSONL) |
-c or --cache | Path to the cache directory; only needed if the directory is outside the given "input" directory. Mac systems are setup this way by default. |
-b or --browser_type | The type of browser the input files belong to. Supported options are Chrome (default) and Brave. |
-l or --log | Location Hindsight should log to (will append if exists) |
-h or --help | Shows these options and the default Chrome data locations |
-t or --timezone | Display timezone for the timestamps in XLSX output |
Default Profile Paths
The Chrome default profile folder default locations are:
- WinXP: [userdir]\Local Settings\Application Data\Google\Chrome\User Data\Default
- Vista/7/8/10: [userdir]\AppData\Local\Google\Chrome\User Data\Default
- Linux: [userdir]/.config/google-chrome/Default
- OS X: [userdir]/Library/Application Support/Google/Chrome/Default
- iOS: \Applications\com.google.chrome.ios\Library\Application Support\Google\Chrome\Default
- Android: /userdata/data/com.android.chrome/app_chrome/Default
- CrOS: \home\user\<GUID>
Feature Requests
Please file an issue if you have an idea for a new feature (or spotted something broken).
Top Related Projects
GRR Rapid Response: remote live forensics for incident response
Super timeline all the things
Autopsy® is a digital forensics platform and graphical interface to The Sleuth Kit® and other digital forensics tools. It can be used by law enforcement, military, and corporate examiners to investigate what happened on a computer. You can even use it to recover photos from your camera's memory card.
An advanced memory forensics framework
Collaborative Incident Response platform
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot