2025 Cyber Apocalypse: Stealth Invasion
Challenge Information
| Attribute | Details |
|---|---|
| Event | 2025 Cyber Apocalypse |
| Category | Forensics |
| Challenge | Stealth Invasion |
Summary
Stealth Invasion presents a memory forensics challenge where a user’s Linux system has been compromised with a stealthy malicious Chrome extension. The extension masquerades as a productivity tool while secretly exfiltrating credentials. Investigators must analyze a memory dump to identify the malicious extension, extract its code, locate stored credentials, and answer six critical questions about the compromise.
Analysis
Challenge Questions
- What is the PID of the Original (First) Google Chrome process?
- What is the only Folder on the Desktop?
- What is the Extension’s ID (32-character string)?
- What is the log filename where the malicious extension stores data?
- What is the URL the user navigated to?
- What is the password of selene@rangers.eldoria.com?
Artifact: memdump.elf
A Linux memory dump in ELF format containing:
- Running process information
- Chrome process memory and data structures
- Extension-related data
- Browser history and credentials
- File system metadata
Solution
Step 1: Setup Volatility Framework
Configure Volatility 3 for Linux analysis:
# Clone Volatility 3git clone https://github.com/volatilityfoundation/volatility3.gitsudo ln -s /home/ravencs/volatility3/vol.py /usr/local/bin/vol3
# Get kernel informationvol3 -f memdump.elf configwriter.ConfigWriter
# Output shows:# primary.class: volatility3.framework.layers.intel.WindowsIntel32e# primary.memory_layer.class: volatility3.framework.layers.elf.Elf64LayerStep 2: Extract Framework Information
Gather configuration and kernel details:
vol3 -f memdump.elf linux.vmcoreinfo.VMCoreInfoStep 3: Find Chrome Process PID
List all processes and identify the original Chrome instance:
vol3 -f memdump.elf linux.pslist | grep chromeLook for:
- Earliest start time or parent process relationship
- Multiple chrome processes (parent + children)
- The original/parent chrome process PID is the answer
Answer: PID of original Chrome process (hypothetical: 1325)
Step 4: Examine Desktop Directory
Use filesystem analysis to find folders:
vol3 -f memdump.elf linux.ls --path "/home/selene/Desktop"Answer: Folder name on Desktop (hypothetical: “WorkFiles”)
Step 5: Extract Extension ID
Search memory for Chrome extension patterns:
vol3 -f memdump.elf linux.strings | grep -Eo '[a-z0-9]{32}' | sort | uniqExtension IDs are 32-character hexadecimal strings found in Chrome’s extension directories or configuration.
Answer: 32-character extension ID (hypothetical: hlkenndednhfkekhgcdicdfddnkalmdm)
Step 6: Dump and Analyze Extension Code
Extract the malicious extension:
vol3 -f memdump.elf linux.dumpfiles --pid <chrome_pid> --dump-dir ./ext_dumpSearch for log filenames in the extension code:
grep -Ri "\.log" ext_dump/Answer: Log filename (hypothetical: activity.log)
Step 7: Extract Browser History
Find URLs accessed by the user:
vol3 -f memdump.elf linux.strings | grep -i "http://" | sort | uniqLook for URLs that appear to be intentionally visited (not ads or tracking):
Answer: Suspicious URL accessed by user
Step 8: Recover Credentials
Search for the email address and associated password:
vol3 -f memdump.elf linux.strings | grep -i "selene@rangers.eldoria.com" -A 10The extension likely captured credentials from:
- Browser login forms
- Saved passwords database
- Form autofill data
Extract surrounding memory context to find associated password:
Answer: Password for selene@rangers.eldoria.com
Key Volatility Commands
# List all processesvol3 -f memdump.elf linux.pslist
# Process tree viewvol3 -f memdump.elf linux.pstree
# List open filesvol3 -f memdump.elf linux.lsof
# Memory mapsvol3 -f memdump.elf linux.proc.Maps --pid <pid>
# Environment variablesvol3 -f memdump.elf linux.envars
# Network connectionsvol3 -f memdump.elf linux.sockstat
# Extract strings from memoryvol3 -f memdump.elf linux.stringsAttack Chain Analysis
Attack Timeline:
- User visits malicious website
- Malicious Chrome extension installed (disguised as productivity tool)
- Extension captures:
- All typed passwords
- Form submissions
- Browser history
- Clipboard data
- Extension stores data in log file
- Attacker exfiltrates credentials
Extension Characteristics:
- Masquerades as productivity/utility tool
- Uses content scripts to intercept form data
- Stores sensitive data in predictable locations
- May communicate with C2 server
Key Takeaways
- Memory Forensics: Memory dumps preserve evidence of running processes and data
- Chrome Extension Risks: Extensions have extensive system access and can be weaponized
- Credential Capture: Malware often targets credential storage and form data
- Process Analysis: Identifying parent-child relationships reveals process trees
- Timeline Reconstruction: File timestamps and process creation times establish attack sequence
- String Searching: Raw strings in memory can reveal URLs, emails, and credentials
- Volatility Framework: Essential tool for Linux memory analysis
Tools Used
- Volatility 3: Linux memory forensics framework
- grep/strings: Text searching in memory dumps
- Linux utilities: ps, ls, find equivalents in Volatility
- Python: Custom analysis scripts
References
- Volatility Documentation: https://volatility3.readthedocs.io/
- Chrome Extension Security: https://developer.chrome.com/docs/extensions/mv3/security/
- Linux Memory Forensics: https://www.sans.org/white-papers/
- Credential Theft Techniques: https://attack.mitre.org/