← All posts

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:

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:

# 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:

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:

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:

  1. 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.
  2. Warning active phases second (Urgency: High) — Enablers that aren’t critical alone but feed the attack chain.
  3. 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:

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.