Day 3 SOC Challenge Investigating a Christmas Ransomware Attack with Splunk
Investigating a Christmas Ransomware Attack with Splunk
Day 3 SOC Challenge
Introduction
As Christmas approaches in the festive town of Wareville, The Best Festival Company (TBFC) prepares for its biggest celebration of the year. Everything appears normal—until the SOC dashboard suddenly lights up red.
A ransom message appears.
Behind the attack is King Malhare, the jealous ruler of HopSec Island. Angry that Christmas has overshadowed Easter, he deploys his Bandit Bunnies to compromise TBFC’s systems and transform Christmas into EAST-mas.
With McSkidy missing and critical systems under attack, the SOC team turns to Splunk to uncover how the ransomware infiltrated the environment and to stop the attack before Christmas is destroyed.
This post walks through the full Splunk-based investigation, from initial triage to identifying command-and-control activity.
🎯 Learning Objectives
By the end of this investigation, you will understand how to:
-
Ingest and analyze custom log data in Splunk
-
Apply field extractions and SPL filters
-
Identify suspicious behaviour using SPL queries
-
Trace a complete ransomware attack chain
-
Correlate web and firewall logs for incident response
🔌 Setting Up Splunk
Once the Splunk instance is online:
-
Open Search & Reporting
-
Set the time range to All time
-
Start with the base search:
Available Data Sources
Two primary sourcetypes are present:
-
web_traffic – HTTP/HTTPS access logs
-
firewall_logs – Allowed and blocked network traffic
Target Web Server IP: 10.10.1.15
🧭 Initial Triage
To understand overall activity, begin by reviewing all web traffic:
Observations
-
~17,000 web events
-
Normal daily traffic pattern
-
One significant traffic spike, indicating a potential attack window
Key extracted fields include:
-
client_ip -
user_agent -
path -
status
📊 Identifying the Traffic Spike
Visualize request volume by day:
Sorting to highlight the peak:
The peak attack day is immediately visible.
🕵️ Hunting Suspicious Indicators
Step 1: Abnormal User Agents
Filter out legitimate browsers:
This reveals traffic generated by command-line tools and automated scanners.
Step 2: Identifying the Attacker IP
List top offending IPs:
✅ Attacker IP Identified:
198.51.100.55
⚔️ Tracing the Attack Chain
From this point, all analysis focuses on the attacker IP.
1️⃣ Reconnaissance Attempts
Findings:
-
Tools:
curl,wget -
Multiple requests for sensitive files
-
Mostly 401 / 403 / 404 responses
2️⃣ Path Traversal Attempts
Findings:
-
658 path traversal attempts
-
Attempts to read system-level files
3️⃣ SQL Injection Activity
Findings:
-
Tools used: sqlmap, Havij
-
993 Havij events
-
Time-based payloads (
SLEEP(5)) -
Server responses: 504 Gateway Timeout
-
Indicates successful blind SQL injection
4️⃣ Data Exfiltration Attempts
Findings:
-
Attempts to download backups and log archives
-
Multiple command-line tools used
5️⃣ Remote Code Execution & Ransomware Deployment
Findings:
-
Web shell (
shell.php) uploaded -
Ransomware binary staged
-
Command executed:
✅ Confirms RCE and ransomware execution
📡 Firewall Logs: Command & Control Detection
Findings:
-
Outbound traffic to attacker IP
-
Traffic marked as allowed
-
Confirms C2 communication
📦 Measuring Data Exfiltration
Total Data Exfiltrated:
📤 126,167 bytes
🏁 Investigation Summary
✔ Attacker IP: 198.51.100.55
✔ Peak Attack Day: 2025-10-12
✔ SQL Injection Events: 993
✔ Path Traversal Attempts: 658
✔ Data Exfiltrated: 126,167 bytes
🎄 Final Thoughts
This Splunk investigation reveals a complete ransomware kill chain:
-
Reconnaissance
-
Enumeration
-
SQL Injection
-
Remote Code Execution
-
Web shell deployment
-
Ransomware execution
-
Command-and-Control communication
-
Data exfiltration
It clearly demonstrates how effective log analysis can expose even complex attacks when proper visibility exists.
For SOC analysts, Splunk remains a powerful tool for detecting, investigating, and responding to real-world threats—especially when time is critical and Christmas is on the line 🎄



Comments
Post a Comment