Kill Chain Analysis: Turning Isolated Security Findings into Attack Narratives
Your security scanner found 47 issues. But is someone actually attacking you right now? Kill chain reconstruction maps scattered findings to MITRE ATT&CK phases, detects multi-stage attack progressions, and predicts what’s coming next — transforming noise into actionable intelligence.
Security audit tools excel at finding individual weaknesses: an exposed RDP port here, a disabled antivirus there, a weak password policy somewhere else. Taken individually, each finding has a severity level and a remediation path. But this finding-by-finding view misses the critical question: do these findings, taken together, represent an active attack?
A disabled Windows Defender is a "Critical" finding on its own. But a disabled Windows Defender combined with an exposed RDP port, unrestricted PowerShell execution, and deleted system backups isn’t just four separate problems — it’s the classic ransomware kill chain. The individual findings are breadcrumbs; the kill chain is the story.
This is the thinking behind WinSentinel’s Kill Chain Reconstructor: an engine that maps every security finding to its position in the Lockheed Martin Cyber Kill Chain (aligned with MITRE ATT&CK tactics), then looks for multi-phase attack patterns hiding in your audit results.
The Cyber Kill Chain: 14 Phases of an Attack
Every sophisticated attack follows a progression. Attackers don’t jump from "nothing" to "ransomware detonation" in one step. They move through phases, each requiring specific conditions to succeed. Understanding these phases turns your security findings into a threat timeline:
- Phase 0 — Reconnaissance (TA0043): Attacker maps your attack surface. Findings: open ports, exposed services, information disclosure.
- Phase 1 — Resource Development (TA0042): Attacker acquires tools/access. Findings: outdated software, untrusted certificates, unpatched vulnerabilities.
- Phase 2 — Initial Access (TA0001): First foothold gained. Findings: exposed RDP, weak firewall rules, accessible SMB shares.
- Phase 3 — Execution (TA0002): Attacker runs code. Findings: unrestricted PowerShell, unsigned scripts, suspicious scheduled tasks.
- Phase 4 — Persistence (TA0003): Maintaining access. Findings: autorun entries, new scheduled tasks, modified services.
- Phase 5 — Privilege Escalation (TA0004): Getting admin. Findings: UAC disabled, unquoted service paths, local admin sprawl.
- Phase 6 — Defense Evasion (TA0005): Blinding defenders. Findings: Defender disabled, logs cleared, firewall bypassed.
- Phase 7 — Credential Access (TA0006): Stealing passwords. Findings: weak password policies, stored credentials, LSASS exposure.
- Phase 8 — Discovery (TA0007): Mapping the network. Findings: system enumeration, account discovery, network scanning.
- Phase 9 — Lateral Movement (TA0008): Spreading. Findings: admin share access, RDP sessions, SMB lateral activity.
- Phase 10 — Collection (TA0009): Gathering data. Findings: clipboard monitoring, data staging, archive creation.
- Phase 11 — Command & Control (TA0011): Phone home. Findings: beaconing, DNS tunneling, unusual outbound connections.
- Phase 12 — Exfiltration (TA0010): Data theft. Findings: large outbound transfers, DNS exfil, unauthorized uploads.
- Phase 13 — Impact (TA0040): Final payload. Findings: backups disabled, shadow copies deleted, critical patches missing.
Mapping Findings to Phases: Beyond Simple Category Matching
The mapping engine uses a two-layer matching strategy. First, it checks the finding’s category against phase-specific category patterns. Then it verifies that the finding’s title or description contains phase-relevant keywords. This prevents false positives — a "Network" finding about DNS resolution performance shouldn’t map to Reconnaissance just because it mentions "network."
# Example: this finding maps to Initial Access (phase 2)
# Category: "RemoteAccess" matches, keyword: "rdp" matches
winsentinel --audit
# Finding: "RDP enabled without network-level authentication"
# → Category: RemoteAccess ✓
# → Keywords: ["rdp", "ssh", "remote desktop", "vnc"] ✓ ("rdp")
# → Mapped to: Phase 2 (Initial Access) / TA0001
# This finding maps to Defense Evasion (phase 6)
# Finding: "Windows Defender real-time protection disabled"
# → Category: Defender ✓
# → Keywords: ["disabled", "tamper", "exclusion", "real-time off"] ✓
# → Mapped to: Phase 6 (Defense Evasion) / TA0005
Findings that match no phase mapping are counted as "unmapped" — they’re still security issues worth fixing, but they don’t contribute to kill chain analysis. The ratio of mapped to unmapped findings tells you how much of your security posture is relevant to known attack patterns versus idiosyncratic configuration drift.
Attack Progression Detection: Connecting the Dots
Individual phase activity is informative. But the real power of kill chain analysis is detecting multi-phase progressions — sequences of active phases that match known attack patterns.
WinSentinel maintains a library of attack progression templates, each defining which kill chain phases typically appear together in specific attack types:
- Ransomware Campaign: Initial Access → Execution → Defense Evasion → Impact (phases 2,3,6,13). The classic pattern: get in, run code, blind security tools, detonate payload.
- APT Intrusion: Reconnaissance → Initial Access → Persistence → Discovery → Lateral Movement (phases 0,2,4,8,9). Patient adversaries establish long-term footholds before moving.
- Credential Theft Operation: Initial Access → Privilege Escalation → Credential Access → Exfiltration (phases 2,5,7,12). Targeted credential harvesting for later use or sale.
- Defense Neutralization: Defense Evasion → Credential Access → Lateral Movement → Impact (phases 6,7,9,13). Blind the SOC first, then move freely.
- Insider Threat: Discovery → Collection → Exfiltration (phases 8,10,12). No initial access needed — they’re already inside.
# Kill chain report showing detected ransomware progression
winsentinel --audit --kill-chain
┌─────────────────────────────────────────────────────┐
│ KILL CHAIN ANALYSIS — THREAT LEVEL: CRITICAL │
├─────────────────────────────────────────────────────┤
│ Active Phases: 4/14 (29% coverage) │
│ │
│ [2] Initial Access ███ CRITICAL (RDP exposed) │
│ [3] Execution ██ WARNING (PS bypass) │
│ [6] Defense Evasion ███ CRITICAL (AV disabled) │
│ [13] Impact ███ CRITICAL (no backups) │
│ │
│ ⚠️ PROGRESSION DETECTED: Ransomware Campaign │
│ Confidence: 100% (4/4 phases active) │
│ Pattern: access → execute → blind → detonate │
│ │
│ 🔮 PREDICTED NEXT: Persistence (75%) │
│ Block: Monitor startup locations, audit tasks │
└─────────────────────────────────────────────────────┘
Confidence scoring is calculated as the ratio of active phases to required phases. A progression with 4/4 matching phases gets 100% confidence. A partial match (2/4) gets 50% — still worth alerting on, but with downgraded severity. This prevents false alarms from coincidental two-phase overlaps while still catching attacks in progress.
Predictive Phase Forecasting: What’s Coming Next
Once active phases are identified, the kill chain engine uses transition probability tables to predict which phases are likely to activate next. These probabilities are derived from observed attack patterns in real-world incident response data:
- Initial Access → Execution: 85% probability. Once an attacker gets in, they almost always need to run code.
- Credential Access → Lateral Movement: 80% probability. Stolen credentials exist to be used on other machines.
- Collection → Command & Control: 70% probability. Staged data needs an exfil channel.
- Privilege Escalation → Credential Access: 75% probability. Admin access unlocks credential dumping tools.
When multiple active phases feed into the same predicted phase, probabilities are combined using complementary probability: P(combined) = 1 - (1 - P1) * (1 - P2). If Execution (65%) AND Persistence (60%) both predict Privilege Escalation, the combined probability is 86% — much higher than either alone.
# Prediction output with preventive recommendations
🔮 Phase Predictions:
1. Execution (85%) — follows from Initial Access
Block: Restrict PowerShell, application whitelisting, disable macros
2. Persistence (60%) — follows from Initial Access
Block: Monitor startup locations, audit scheduled tasks
3. Credential Access (75%) — follows from Privilege Escalation
Block: Enable Credential Guard, disable credential caching
Threat Level Classification: The Summary Your CISO Wants
Not every kill chain report requires a 3 AM phone call. The threat level classifier translates the full analysis into a single word that maps to response urgency:
- None: Zero active phases. The system shows no signs of attack-relevant weaknesses.
- Low: 1–2 active phases, no detected progressions. Routine findings, normal remediation timeline.
- Moderate: 3–4 active phases OR any progression detected. Something might be developing. Investigate within 24 hours.
- High: 5+ active phases OR a High/Critical-severity progression at 50%+ confidence. Active threat likely. Investigate immediately.
- Critical: Critical-severity progression at 75%+ confidence. Active attack in progress matching a known pattern. Incident response mode NOW.
The Response Plan: Prioritized Actions That Matter
Kill chain analysis isn’t just diagnostic — it generates a prioritized response plan that tells you what to fix and in what order:
- Critical active phases first (Urgency: Immediate) — These are the findings where the attacker is currently operating. Fix Defender being disabled before you worry about password complexity.
- Warning active phases second (Urgency: High) — Enablers that aren’t critical alone but feed the attack chain.
- Predicted phase hardening third (Urgency: Normal/High) — Proactive blocking of the attacker’s next move. If Lateral Movement is predicted at 80%, restrict admin shares and SMB access now, before the attacker gets there.
This priority ordering means you’re always working on the highest-impact remediation first. It’s the difference between "fix all 47 findings in severity order" (which treats every Critical equally) and "fix these 3 findings that are enabling an active ransomware progression" (which focuses on the attack that’s actually happening).
Real-World Example: Detecting a Pre-Ransomware State
Here’s a real scenario from a WinSentinel audit that detected ransomware staging before detonation:
# Audit findings from a single workstation:
1. [CRITICAL] RemoteAccess: RDP enabled on public interface (port 3389 open)
2. [WARNING] PowerShell: Execution policy set to Bypass via registry
3. [CRITICAL] Defender: Real-time protection disabled, tamper protection off
4. [CRITICAL] EventLog: Security audit log cleared 2 hours ago
5. [WARNING] ScheduledTask: New task "WindowsUpdate_Check" runs from %TEMP%
6. [CRITICAL] Backup: Volume Shadow Copy service disabled, no restore points
7. [WARNING] Account: Local admin account "support_admin" created yesterday
# Kill Chain Reconstruction:
Phase 2 (Initial Access): ACTIVE — RDP exposed [CRITICAL]
Phase 3 (Execution): ACTIVE — PowerShell bypass [WARNING]
Phase 4 (Persistence): ACTIVE — Suspicious task [WARNING]
Phase 5 (Privilege Esc): ACTIVE — New admin account [WARNING]
Phase 6 (Defense Evasion): ACTIVE — Defender + logs cleared [CRITICAL]
Phase 13 (Impact): ACTIVE — Backups destroyed [CRITICAL]
# Detected Progression: Ransomware Campaign (100% confidence)
# Threat Level: CRITICAL
# Predicted Next: Credential Access (75%), Lateral Movement (70%)
# Response Plan:
# 1. [IMMEDIATE] Re-enable Defender + tamper protection
# 2. [IMMEDIATE] Restore backup capability, check shadow copies
# 3. [IMMEDIATE] Disable public RDP, enforce NLA
# 4. [HIGH] Remove suspicious scheduled task
# 5. [HIGH] Audit and remove unauthorized admin account
# 6. [HIGH] Set PowerShell to AllSigned or RemoteSigned
# 7. [NORMAL] Proactively enable Credential Guard (blocks predicted phase)
Without kill chain analysis, this audit produces 7 separate findings at various severities. A busy admin might fix them over the next sprint. With kill chain analysis, the same findings immediately trigger "CRITICAL: Ransomware Campaign detected at 100% confidence" — a fundamentally different response than "you have 7 things to fix."
Fleet-Wide Kill Chain Correlation
Kill chain analysis on a single machine is powerful. Kill chain analysis across a fleet is game-changing. When WinSentinel agents report their findings to a central node, the fleet console can detect attack patterns that span multiple machines:
- Lateral movement correlation: Machine A shows Initial Access + Execution, Machine B shows Persistence + Privilege Escalation. Individually, each looks like "Moderate." Together, they’re one attack at two stages.
- Synchronized defense evasion: Defender disabled on 5 machines within the same 10-minute window? That’s not coincidence — that’s an attacker moving through the network.
- Exfiltration staging: Machine A shows Collection activity, Machine B shows Command & Control setup. The attacker is staging data on A and building an exfil channel on B.
This is where WinSentinel Pro’s fleet orchestration becomes essential. A single machine’s kill chain might show "Moderate" threat level. But correlating kill chain data across 50 machines reveals the full APT intrusion that no single-machine scanner can see.
Want fleet-wide kill chain correlation across your organization? WinSentinel Pro aggregates kill chain analysis from every agent into a unified threat view — detecting multi-machine attack progressions that single-node scanning misses entirely.
Getting Started
Kill chain analysis runs automatically as part of every WinSentinel audit. Install and run:
dotnet tool install --global WinSentinel.Cli
winsentinel --audit
# The kill chain analysis appears in your audit report automatically.
# For JSON output (integrate with SIEM/SOAR):
winsentinel export --json | jq '.killChain'
Every finding in your audit gets mapped to its kill chain position. Progression detection runs automatically. Predictions generate proactive recommendations. All of this happens locally, on your machine, with zero cloud dependencies — completely free for single-machine use.
The question isn’t "what’s wrong with my machine." The question is "is someone attacking my machine right now, and what are they going to do next?" Kill chain analysis answers both.