Skip to content
Skillpedia
Agents35k · #6163

performing-timeline-reconstruction-with-plaso

Helps your agent reconstruct forensic timelines by correlating events from various sources for complex investigations.

What it does

This tool gathers information from various places (like files, logs, and browser history) to create a detailed timeline of events. It's useful for understanding the exact sequence of actions in complex investigations.

When to use it

  • ✓When you need to understand the exact order of events in an investigation.
  • ✓To connect events from different data sources (files, logs, etc.).
  • ✓When standard log analysis isn't enough to reconstruct what happened.

Example of what to ask your AI

“Create a timeline of all events that happened on a computer between January 15th and 20th, 2024.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-timeline-reconstruction-with-plaso/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-timeline-reconstruction-with-plaso/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool collects data from different sources, like files and logs, and organizes them chronologically. This allows you to see how events connect over time.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-timeline-reconstruction-with-plaso

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-timeline-reconstruction-with-plaso/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Performing Timeline Reconstruction with Plaso

When to Use

  • When building a comprehensive forensic timeline from multiple evidence sources
  • For correlating events across file system metadata, event logs, browser history, and registry
  • During complex investigations requiring chronological reconstruction of activities
  • When standard log analysis is insufficient to establish the sequence of events
  • For presenting investigation findings in a visual, chronological format

Prerequisites

  • Plaso (log2timeline/psort) installed on forensic workstation
  • Forensic disk image(s) in raw (dd), E01, or VMDK format
  • Sufficient storage for Plaso output (can be 10x+ the image size)
  • Minimum 8GB RAM (16GB+ recommended for large images)
  • Timeline Explorer (Eric Zimmerman) or Timesketch for visualization
  • Understanding of timestamp types (MACB: Modified, Accessed, Changed, Born)

Workflow

Step 1: Install Plaso and Prepare the Environment

# Install Plaso on Ubuntu/Debian
sudo add-apt-repository ppa:gift/stable
sudo apt-get update
sudo apt-get install plaso-tools

# Or install via pip
pip install plaso

# Or use Docker (recommended for dependency isolation)
docker pull log2timeline/plaso

# Verify installation
log2timeline.py --version
psort.py --version

# Create output directory
mkdir -p /cases/case-2024-001/timeline/

# Verify the forensic image
img_stat /cases/case-2024-001/images/evidence.dd

Step 2: Generate the Plaso Storage File with log2timeline

# Basic processing of a disk image (all parsers)
log2timeline.py \
   --storage-file /cases/case-2024-001/timeline/evidence.plaso \
   /cases/case-2024-001/images/evidence.dd

# Process with specific parsers for faster targeted analysis
log2timeline.py \
   --parsers "winevtx,prefetch,mft,usnjrnl,lnk,recycle_bin,chrome_history,firefox_history,winreg" \
   --storage-file /cases/case-2024-001/timeline/evidence.plaso \
   /cases/case-2024-001/images/evidence.dd

# Process with a filter file to focus on specific paths
cat << 'EOF' > /cases/case-2024-001/timeline/filter.txt
/Windows/System32/winevt/Logs
/Windows/Prefetch
/Users/*/NTUSER.DAT
/Users/*/AppData/Local/Google/Chrome
/Users/*/AppData/Roaming/Mozilla/Firefox
/$MFT
/$UsnJrnl:$J
/Windows/System32/config
EOF

log2timeline.py \
   --filter-file /cases/case-2024-001/timeline/filter.txt \
   --storage-file /cases/case-2024-001/timeline/evidence.plaso \
   /cases/case-2024-001/images/evidence.dd

# Using Docker
docker run --rm -v /cases:/cases log2timeline/plaso log2timeline \
   --storage-file /cases/case-2024-001/timeline/evidence.plaso \
   /cases/case-2024-001/images/evidence.dd

# Process multiple evidence sources into one timeline
log2timeline.py \
   --storage-file /cases/case-2024-001/timeline/combined.plaso \
   /cases/case-2024-001/images/workstation.dd

log2timeline.py \
   --storage-file /cases/case-2024-001/timeline/combined.plaso \
   /cases/case-2024-001/images/server.dd

Step 3: Filter and Export Timeline with psort

# Export full timeline to CSV (super-timeline format)
psort.py \
   -o l2tcsv \
   -w /cases/case-2024-001/timeline/full_timeline.csv \
   /cases/case-2024-001/timeline/evidence.plaso

# Export with date range filter (focus on incident window)
psort.py \
   -o l2tcsv \
   -w /cases/case-2024-001/timeline/incident_window.csv \
   /cases/case-2024-001/timeline/evidence.plaso \
   "date > '2024-01-15 00:00:00' AND date < '2024-01-20 23:59:59'"

# Export in JSON Lines format (for ingestion into SIEM/Timesketch)
psort.py \
   -o json_line \
   -w /cases/case-2024-001/timeline/timeline.jsonl \
   /cases/case-2024-001/timeline/evidence.plaso

# Export with specific source type filters
psort.py \
   -o l2tcsv \
   -w /cases/case-2024-001/timeline/registry_events.csv \
   /cases/case-2024-001/timeline/evidence.plaso \
   "source_short == 'REG'"

psort.py \
   -o l2tcsv \
   -w /cases/case-2024-001/timeline/evtx_events.csv \
   /cases/case-2024-001/timeline/evidence.plaso \
   "source_short == 'EVT'"

# Export for Timeline Explorer (dynamic CSV)
psort.py \
   -o dynamic \
   -w /cases/case-2024-001/timeline/timeline_explorer.csv \
   /cases/case-2024-001/timeline/evidence.plaso

Step 4: Analyze Timeline with Timesketch

# Install Timesketch (Docker deployment)
git clone https://github.com/google/timesketch.git
cd timesketch
docker compose up -d

# Import Plaso file into Timesketch via CLI
timesketch_importer \

…
FAQ

What is Plaso?

Plaso is a set of tools (log2timeline and psort) used to create these detailed forensic timelines.

Do I need to install anything?

Yes, you need to install Plaso and have the disk images you want to analyze. Tools like Timeline Explorer or Timesketch are recommended for visualizing the timeline.

How much disk space do I need?

You'll need a lot of space, possibly 10 times or more the size of the disk image, as the generated timeline is very detailed.

Details

Original description by the author

Builds comprehensive forensic super-timelines using Plaso (log2timeline and psort) to correlate events across file system metadata, event logs, browser history, and registry artifacts into a unified chronological view. Use during complex forensic investigations that need cross-source event correlation, or when standard log analysis is insufficient to establish the sequence of activities for report

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#6163
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills