| name | forensic-analyst |
| description | Use this skill when users need to conduct digital forensics investigations, perform timeline reconstruction, analyze memory dumps, examine artifacts, or build comprehensive forensic reports using LimaCharlie's forensic capabilities. |
LimaCharlie Forensic Analyst
This skill provides expert guidance for conducting comprehensive digital forensics investigations using LimaCharlie. Use this skill to help users perform deep forensic analysis, reconstruct attack timelines, analyze artifacts, and build evidence-based forensic reports.
Quick Start Guide
Need to investigate an incident? Start here:
- Identify scope: What systems? What timeframe? What type of incident?
- Preserve volatile data first: Memory, running processes, network connections
- Collect evidence systematically: Files, logs, artifacts
- Build timeline: Reconstruct chronological sequence of events
- Analyze and correlate: Test hypotheses with targeted queries
- Document findings: Maintain chain of custody and report objectively
Navigation
This skill is organized for progressive disclosure:
- SKILL.md (this file): Core methodology, quick start, common workflows
- REFERENCE.md: Complete sensor commands, LCQL syntax, artifact types, event types
- EXAMPLES.md: Complete investigation scenarios (ransomware, insider threat, web shell)
- ADVANCED.md: Deep-dive memory analysis, registry forensics, network analysis
- TROUBLESHOOTING.md: Common issues and solutions
Digital Forensics Principles
Core Principles
- Evidence Preservation: Maintain integrity of evidence from collection to presentation
- Chain of Custody: Document all evidence handling and access
- Non-Destructive Analysis: Analyze without altering original evidence
- Repeatability: Ensure investigations can be replicated with same results
- Documentation: Maintain detailed records of all investigative steps
- Timeline Construction: Establish chronological sequence of events
- Context Awareness: Understand evidence within system and business context
Types of Investigations
Incident Response Forensics: Active incident analysis, attack vector identification, threat containment
Post-Incident Forensics: Reconstruction of completed attacks, impact assessment, legal evidence
Proactive Forensics: Threat hunting, anomaly detection, baseline establishment
Compliance Forensics: Audit trails, policy violations, regulatory evidence
Working with Timestamps
IMPORTANT: When users provide relative time offsets (e.g., "last hour", "past 24 hours", "last week"), you MUST dynamically compute the current epoch timestamp based on the actual current time. Never use hardcoded or placeholder timestamps.
Computing Current Epoch
import time
# Compute current time dynamically
current_epoch_seconds = int(time.time())
current_epoch_milliseconds = int(time.time() * 1000)
The granularity (seconds vs milliseconds) depends on the specific API or MCP tool. Always check the tool signature or API documentation to determine which unit to use.
Common Relative Time Calculations
Example: "Show me events from the last hour"
end_time = int(time.time()) # Current time
start_time = end_time - 3600 # 1 hour ago
Common offsets (in seconds):
- 1 hour = 3600
- 24 hours = 86400
- 7 days = 604800
- 30 days = 2592000
For millisecond-based APIs, multiply by 1000.
Critical Rules
NEVER:
- Use hardcoded timestamps
- Use placeholder values like
1234567890 - Assume a specific current time
ALWAYS:
- Compute dynamically using
time.time() - Check the API/tool signature for correct granularity
- Verify the time range is valid (start < end)
6-Phase Forensic Methodology
Phase 1: Identification
Determine Investigation Scope:
- What systems are affected?
- What is the suspected timeframe?
- What type of incident (malware, intrusion, data theft)?
- What evidence sources are available?
Select Target Sensors:
# Via LCQL: Filter by hostname, tags, or platform
routing/hostname == "compromised-host"
routing/tags contains "investigation"
plat == windows
Phase 2: Preservation
Collect Volatile Data First (Order of Volatility):
- System Memory
- Running Processes:
os_processes - Network Connections:
netstat - Logged-in Users:
os_users(Windows) - Command History:
history_dump
Document Chain of Custody: Who, What, When, Where, Why, How
Phase 3: Collection
File System Evidence:
dir_list C:\Users\victim\Downloads
file_info C:\path\to\suspicious.exe
file_hash C:\path\to\suspicious.exe
artifact_get C:\path\to\suspicious.exe
Event Logs (Windows):
log_get Security
log_get System
artifact_get C:\Windows\System32\winevt\Logs\Security.evtx
Registry Artifacts:
os_autoruns
artifact_get C:\Windows\System32\config\SYSTEM
See REFERENCE.md for complete command reference.
Phase 4: Examination
Timeline Analysis:
# Process execution timeline
-24h | plat == windows | NEW_PROCESS | event/TIMESTAMP as time event/FILE_PATH as process event/COMMAND_LINE as cmdline routing/hostname as host
# File modification timeline
-24h | plat == windows | FILE_MODIFIED | event/TIMESTAMP as time event/FILE_PATH as file routing/hostname as host
# Network connection timeline
-12h | plat == windows | NETWORK_CONNECTIONS | event/TIMESTAMP as time event/NETWORK_ACTIVITY/DESTINATION/IP_ADDRESS as dst_ip event/FILE_PATH as process routing/hostname as host
Pattern Detection: Identify related events, correlate across event types, build process trees
Phase 5: Analysis
Hypothesis-Driven Analysis:
- Develop theories based on initial evidence
- Test hypotheses with targeted queries
- Validate or refute with additional evidence
- Refine understanding iteratively
Attribution Analysis: Map to MITRE ATT&CK, identify TTPs, establish timeline of attacker actions
Impact Assessment: What data accessed? What systems compromised? What modifications made?
Phase 6: Reporting
Document Findings: Executive summary, timeline of events, evidence inventory, analysis methodology, conclusions, recommendations, technical appendices
See TROUBLESHOOTING.md if you encounter issues during investigation.
Most Common Investigations
Investigating Suspicious Process
Quick Workflow:
# 1. Get current processes
os_processes
# 2. Get historical execution
history_dump
# 3. Timeline query
-24h | plat == windows | NEW_PROCESS | event/FILE_PATH contains "suspicious" | event/TIMESTAMP as time event/COMMAND_LINE as cmdline event/PARENT/FILE_PATH as parent routing/hostname as host
# 4. Check code signature
-24h | plat == windows | CODE_IDENTITY | event/FILE_PATH contains "suspicious" | event/SIGNATURE/FILE_IS_SIGNED as signed event/HASH as hash
# 5. Memory analysis (if still running)
mem_map --pid <pid>
mem_strings --pid <pid>
Investigating Network Connections
Quick Workflow:
# 1. Current connections
netstat
# 2. Historical connections
-24h | routing/hostname == "target-host" | NETWORK_CONNECTIONS | event/TIMESTAMP as time event/NETWORK_ACTIVITY/DESTINATION/IP_ADDRESS as dst_ip event/NETWORK_ACTIVITY/DESTINATION/PORT as port event/FILE_PATH as process
# 3. DNS queries
-24h | routing/hostname == "target-host" | DNS_REQUEST | event/DOMAIN_NAME as domain event/TIMESTAMP as time
# 4. Suspicious patterns (beaconing, high volume)
-24h | plat == windows | NETWORK_CONNECTIONS | event/NETWORK_ACTIVITY/DESTINATION/IP_ADDRESS as dst COUNT(event) as conn_count GROUP BY(dst) | conn_count > 50
Investigating File Activity
Quick Workflow:
# 1. File metadata
file_info C:\path\to\suspicious.exe
file_hash C:\path\to\suspicious.exe
# 2. File timeline
-24h | plat == windows | NEW_DOCUMENT FILE_MODIFIED FILE_DELETE | event/FILE_PATH contains "suspicious" | event/TIMESTAMP as time routing/event_type as activity
# 3. Hash correlation (find all instances)
-7d | plat == windows | CODE_IDENTITY | event/HASH == "abc123..." | event/FILE_PATH as path routing/hostname as host
# 4. Collect evidence
artifact_get C:\path\to\suspicious.exe
Investigating User Activity
Quick Workflow:
# 1. All activity by user
-24h | plat == windows | NEW_PROCESS | event/USER_NAME == "DOMAIN\\user" | event/TIMESTAMP as time event/FILE_PATH as process event/COMMAND_LINE as cmdline routing/hostname as host
# 2. Login timeline
-24h | plat == windows | WEL | event/EVENT/System/EventID == "4624" and event/EVENT/EventData/TargetUserName == "user" | event/TIMESTAMP as time routing/hostname as host event/EVENT/EventData/LogonType as type
# 3. File access
-24h | routing/hostname == "user-workstation" | FILE_TYPE_ACCESSED | event/TIMESTAMP as time event/FILE_PATH as file
For complete investigation scenarios, see EXAMPLES.md.
Quick Command Reference
Live Collection Commands
Process Analysis:
os_processes- List running processeshistory_dump- Dump recent process history
Network Analysis:
netstat- Current network connections- Network timeline via LCQL (see REFERENCE.md)
Memory Analysis:
mem_map --pid <pid>- Process memory mapmem_strings --pid <pid>- Extract strings from memorymem_find_string --pid <pid> --string "text"- Search memorymem_read --pid <pid> --base <addr> --size <bytes>- Read memory regionmem_handles --pid <pid>- List open handles (Windows)
File Analysis:
file_info <path>- Get file metadatafile_hash <path>- Calculate file hashartifact_get <path>- Collect filedir_list <path>- List directory contentsdir_find_hash <path> --hash <hash>- Find files by hash
System State:
os_autoruns- Get autorun entriesos_services- List servicesos_packages- List installed packagesos_drivers- List drivers (Windows)os_users- List logged-in users (Windows)log_get <logname>- Get Windows event log
For complete command syntax and options, see REFERENCE.md.
Essential LCQL Patterns
Time-Based Queries:
-24h | <filters> # Last 24 hours
-7d | <filters> # Last 7 days
-30d | <filters> # Last 30 days
Event Type Filtering:
| NEW_PROCESS # Process creation
| NETWORK_CONNECTIONS # Network activity
| FILE_MODIFIED # File changes
| REGISTRY_WRITE # Registry modifications
| DNS_REQUEST # DNS queries
| WEL # Windows Event Logs
Field Selection:
| event/TIMESTAMP as time
| event/FILE_PATH as process
| event/COMMAND_LINE as cmdline
| routing/hostname as host
| routing/event_type as event_type
Aggregation:
| COUNT(event) as count
| COUNT_UNIQUE(routing/sid) as sensor_count
| GROUP BY(field1 field2)
For complete LCQL reference, see REFERENCE.md.
Key Forensic Artifacts
Windows Artifacts
Execution Artifacts:
- Prefetch files:
C:\Windows\Prefetch\*.pf - AmCache:
C:\Windows\AppCompat\Programs\Amcache.hve - Shimcache: Registry key
SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache - UserAssist:
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
Persistence Locations:
- Registry Run keys:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run - Services:
HKLM\System\CurrentControlSet\Services - Scheduled tasks: Windows Event ID 4698, Task Scheduler logs
- Startup folders:
C:\Users\*\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
User Activity:
- Browser history: Chrome, Firefox, Edge (see REFERENCE.md for paths)
- Recent files:
C:\Users\*\AppData\Roaming\Microsoft\Windows\Recent\* - Jump lists:
C:\Users\*\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\* - Shellbags:
NTUSER.DAT,UsrClass.dat
Event Logs:
- Security: Authentication, privileges, account changes
- System: Services, drivers, system events
- Application: Application-specific events
- Sysmon: Process, network, file, registry events
Linux Artifacts
Command History:
/home/*/.bash_history/root/.bash_history/home/*/.zsh_history
System Logs:
/var/log/auth.log(Debian/Ubuntu)/var/log/secure(RHEL/CentOS)/var/log/syslog/var/log/messages
Persistence:
- Cron jobs:
/etc/crontab,/var/spool/cron/crontabs/* - Systemd services:
/etc/systemd/system/*,/lib/systemd/system/* - SSH keys:
/home/*/.ssh/authorized_keys,/root/.ssh/authorized_keys - Shell profiles:
/etc/profile,~/.bashrc,~/.bash_profile
For complete artifact reference, see REFERENCE.md.
Evidence Preservation Best Practices
Chain of Custody
Required Documentation:
- Who: Name and role of collector
- What: Specific evidence collected
- When: Date and time (UTC recommended)
- Where: Source system (hostname, IP, sensor ID)
- Why: Incident ID or case number
- How: Collection method and tools
Investigation ID Tagging:
artifact_get C:\malware.exe --investigation incident-2024-001
history_dump --investigation incident-2024-001
Evidence Integrity
Hash Verification Workflow:
- Hash file on endpoint:
file_hash C:\evidence\file.exe - Document hash in evidence log
- Collect:
artifact_get C:\evidence\file.exe - Download from Artifact Collection
- Verify hash matches original
- Document verification
Read-Only Analysis: Never modify originals, work on copies, use write-blockers for disk images
Storage and Retention
LimaCharlie Artifact Storage:
- Encrypted at rest and in transit
- Configurable retention periods
- Access logging and audit trail
- Role-based access control
Retention Configuration:
# Set retention when collecting
- action: extension request
extension name: ext-dumper
extension action: request_dump
extension request:
target: memory
sid: <<routing.sid>>
retention: 90 # days
For detailed evidence preservation procedures, see REFERENCE.md.
Common Suspicious Indicators
Process Indicators
- Office apps (Word, Excel) spawning cmd.exe or powershell.exe
- Browser processes launching unusual children
- Processes running from temp directories
- Processes with no disk backing (memory-only malware)
- Unsigned or rarely seen executables
- Suspicious command-line arguments (encoded PowerShell, download cradles)
Network Indicators
- Connections to non-RFC1918 addresses from unexpected processes
- Beaconing behavior (repetitive connections to same destination)
- Large outbound data transfers
- DNS tunneling (excessively long domain names)
- Connections to DGA domains or unusual TLDs
- Low prevalence domains (resolved by few systems)
File Indicators
- Files in temp directories with executable extensions
- Hidden files or files with unusual attributes
- Double extensions (e.g., document.pdf.exe)
- Files created/modified outside business hours
- Mass file modifications (potential ransomware)
- Files with suspicious hashes (check threat intelligence)
Registry Indicators (Windows)
- Modifications to Run/RunOnce keys
- Changes to Winlogon keys
- Service creation or modification
- AppInit DLL changes
- Image File Execution Options (debugger hijacking)
For detailed indicator analysis, see EXAMPLES.md.
Investigation Tips
Start Broad, Then Narrow: Begin with wide time windows and broad queries, identify patterns, then drill down into specific timeframes.
Correlate Multiple Data Sources: Match process execution with network connections, correlate file creation with process execution, cross-reference findings.
Think Like an Attacker: Map findings to MITRE ATT&CK framework. Consider: Initial Access, Execution, Persistence, Privilege Escalation, Defense Evasion, Credential Access, Discovery, Lateral Movement, Collection, Exfiltration.
Document Everything: Every command, query, finding, hypothesis, and conclusion for reproducibility and reporting.
Integration with Forensic Tools
Memory Analysis: Collect via Dumper extension, analyze with Volatility, Rekall, WinDbg, GDB. See ADVANCED.md.
Disk Forensics: Collect MFT, analyze with MFTExplorer, analyzeMFT, NTFS Log Tracker, Plaso. See ADVANCED.md.
Registry Analysis: Collect hives, analyze with Registry Explorer, RegRipper, Registry Decoder. See ADVANCED.md.
Network Analysis: Collect PCAPs, analyze with Wireshark, tcpdump, NetworkMiner, Zeek. See ADVANCED.md.
LimaCharlie Forensic Advantages
- Real-time and Historical Visibility: 1 year telemetry retention
- Comprehensive Telemetry: Process, file, network, registry, authentication events
- Powerful Query Language: LCQL for flexible timeline reconstruction
- Automated Artifact Collection: Files, logs, memory, MFT dumps
- Evidence Preservation: Chain of custody, integrity verification, encrypted storage
- Integration Ready: Export to external forensic tools
- Scalable: Investigate across thousands of endpoints simultaneously
Next Steps
For detailed command reference: See REFERENCE.md
For investigation scenarios: See EXAMPLES.md (ransomware, insider threat, web shell)
For advanced techniques: See ADVANCED.md (memory, registry, network analysis)
For troubleshooting: See TROUBLESHOOTING.md
Need help?
- Start with the quick workflows above for common investigations
- Reference the 6-phase methodology for systematic investigations
- Use LCQL patterns from REFERENCE.md for timeline queries
- Study complete scenarios in EXAMPLES.md for investigation approaches