How It Started
My journey began with Malware Incident Response Training from maltrak.com. I was studying Incident Response Process and learning how professionals investigate cyber attacks.
The training showed me how important memory analysis is for finding what happened during an attack. I wanted to practice these skills, so I started looking for more ways to analyze memory dumps.
Finding a Cool Technique
While searching for more learning materials, I found a CTF writeup. The author used a special tool to extract Chrome browsing history from a memory dump to find a hidden flag.
They used this command:
volatility --plugins=volatility-plugins/ -f Challenge.raw --profile=Win7SP1x64 chromehistory
I thought this was amazing! You could actually see what websites someone visited directly from their computer’s memory.
The Problem I Faced
When I tried to use this technique myself, I discovered a big problem. The tool they used was Volatility 2, but the cybersecurity world had moved to Volatility 3.
The old plugins didn’t work with the new version. It was like trying to use an iPhone app on an Android phone - they’re just not compatible.
Finding a Solution
I searched for a solution and found a blog post by Edmund Hughes where he created a Chrome plugin for Volatility 3. This was exactly what I needed!
But when I tried to use his plugin, I ran into problems:
- It didn’t work with my version of Volatility 3
- It only supported Chrome, not other browsers
- The output was hard to read
- There were error messages I didn’t understand
Taking Matters Into My Own Hands
Instead of giving up, I decided to build my own solution. I combined:
- The official Volatility 3 documentation
- The good ideas from Edmund Hughes’ plugin
- My own needs for a better tool
What I Built
I created a new plugin that:
Supports Multiple Browsers
- Chrome - the most popular browser
- Firefox - many privacy-conscious users
- Microsoft Edge - built into Windows
- Brave - growing in popularity
Shows Complete Information
- Full URLs - not cut off or shortened
- Readable dates - not confusing number timestamps
- Clear formatting - easy to understand output
- Visit counts - how many times each site was visited
Easy to Use
# Simple command to see all browser history
vol.exe -f memory.dump windows.browserhistoryextractor
# Focus on one browser
vol.exe -f memory.dump windows.browserhistoryextractor --browser firefox
# Look at one specific program
vol.exe -f memory.dump windows.browserhistoryextractor --pid 2440
Real-World Example
Here’s what the tool found in a recent investigation:
Browser Source ID URL Title Domain Visits Typed Last Visit Hidden
Chrome History 197 https://www.win-rar.com/postdownload.html?&L=0 WinRAR download: Post-Download win-rar.com 1 0 2025-01-15 11:36:45 No
Chrome History 196 https://www.win-rar.com/predownload.html?&L=0 WinRAR download: Pre-Download win-rar.com 1 0 2025-01-15 11:36:35 No
Chrome History 194 https://www.win-rar.com/download.html WinRAR download: Download win-rar.com 1 0 2025-01-15 11:36:12 No
This output shows:
- Someone downloaded WinRAR on January 15, 2025
- Complete timeline of the download process
- Full URLs for complete forensic analysis
- Clear formatting that’s easy to understand
How It Helps Investigators
This tool helps cybersecurity professionals:
- Understand attack scope - What websites did the hacker visit?
- Build timelines - When did the malicious activity happen?
- Find evidence - What software was downloaded?
- Save time - No more manual database analysis
In the example above, we can see exactly when someone downloaded WinRAR, which could be important if:
- Malware was hidden in a compressed archive
- The attacker used compression tools to hide stolen data
- We need to understand what software was installed during an incident
What I Learned
- Persistence pays off - When something doesn’t work, keep trying different approaches
- Building is learning - Creating the tool taught me more than just using it
- Community matters - Sharing knowledge helps everyone improve
- Simple is better - Tools should be easy to use and understand
You Can Use It Too
If you’re learning cybersecurity or working in incident response, you can use this tool too. It’s available on GitHub and works with the latest Volatility 3.
The journey from watching training videos to building a real tool has been incredible. It shows that with enough curiosity and persistence, anyone can create solutions to real problems in cybersecurity.
Have you faced similar challenges with memory analysis tools? What tools do you wish existed to make your investigation work easier?
