Claude
Skills
Sign in
Back

performing-threat-landscape-assessment-for-sector

Included with Lifetime
$97 forever

Conduct a sector-specific threat landscape assessment by analyzing threat actor targeting patterns, common attack vectors, and industry-specific vulnerabilities to inform organizational risk management.

Securitythreat-landscapesector-analysisrisk-assessmentthreat-intelligenceindustry-targetingctistrategic-intelligencescripts

What this skill does

# Performing Threat Landscape Assessment for Sector

## Overview

A sector-specific threat landscape assessment analyzes the cyber threat environment facing a particular industry vertical (healthcare, financial services, energy, government, manufacturing) by examining which threat actors target the sector, their preferred attack vectors and TTPs, common vulnerabilities exploited, historical incident data, and emerging threats. This produces actionable intelligence for risk management, security investment prioritization, and board-level reporting.


## When to Use

- When conducting security assessments that involve performing threat landscape assessment for sector
- When following incident response procedures for related security events
- When performing scheduled security testing or auditing activities
- When validating security controls through hands-on testing

## Prerequisites

- Python 3.9+ with `attackcti`, `requests`, `pandas`, `matplotlib` libraries
- Access to threat intelligence feeds (AlienVault OTX, MISP, vendor reports)
- MITRE ATT&CK knowledge base for TTP mapping
- Industry-specific ISAC membership (FS-ISAC, H-ISAC, E-ISAC, etc.)
- Understanding of sector-specific regulatory requirements

## Key Concepts

### Sector Targeting Analysis

Different sectors face different threat profiles. Financial services face sophisticated nation-state actors (Lazarus Group) and cybercriminal groups focused on financial fraud. Healthcare faces ransomware groups exploiting urgency and legacy systems. Energy and critical infrastructure face nation-state groups (TEMP.Veles, Sandworm) with destructive capabilities. Government faces espionage-focused APTs (APT29, APT28, Turla).

### Threat Landscape Components

A comprehensive assessment includes: threat actor profiling (groups targeting the sector), attack vector analysis (initial access methods observed), TTP mapping (techniques commonly used against sector), vulnerability landscape (CVEs commonly exploited), incident trend analysis (breach frequency, impact, recovery time), and emerging threats (new groups, evolving techniques, supply chain risks).

### Intelligence Sources

Sector-specific intelligence comes from ISACs (Information Sharing and Analysis Centers), government advisories (CISA, FBI, NSA), vendor threat reports (CrowdStrike Annual Threat Report, Mandiant M-Trends, Verizon DBIR), and academic research on sector-specific attacks.

## Workflow

### Step 1: Identify Threat Actors Targeting the Sector

```python
from attackcti import attack_client
import json

class SectorThreatAssessment:
    SECTOR_GROUPS = {
        "financial": ["FIN7", "FIN8", "FIN11", "Carbanak", "Lazarus Group",
                       "Cobalt Group", "TA505", "GOLD SOUTHFIELD"],
        "healthcare": ["FIN12", "Ryuk", "Conti", "Wizard Spider",
                        "GOLD ULRICK", "Vice Society"],
        "energy": ["TEMP.Veles", "Sandworm Team", "Dragonfly",
                    "XENOTIME", "ERYTHRITE", "Berserk Bear"],
        "government": ["APT29", "APT28", "Turla", "Gamaredon Group",
                        "Mustang Panda", "APT41", "Lazarus Group"],
        "manufacturing": ["APT41", "TEMP.Veles", "Dragonfly",
                           "HEXANE", "MAGNALLIUM"],
        "technology": ["APT41", "Lazarus Group", "APT10",
                        "HAFNIUM", "Winnti Group"],
    }

    def __init__(self, sector):
        self.sector = sector.lower()
        self.lift = attack_client()
        self.groups = self.lift.get_groups()
        self.assessment = {
            "sector": sector,
            "threat_actors": [],
            "common_techniques": {},
            "attack_vectors": {},
            "risk_summary": {},
        }

    def analyze_sector_actors(self):
        """Analyze threat actors known to target this sector."""
        target_groups = self.SECTOR_GROUPS.get(self.sector, [])
        actor_profiles = []

        for group_name in target_groups:
            group = next(
                (g for g in self.groups
                 if g.get("name", "").lower() == group_name.lower()
                 or group_name.lower() in [a.lower() for a in g.get("aliases", [])]),
                None
            )
            if group:
                group_id = ""
                for ref in group.get("external_references", []):
                    if ref.get("source_name") == "mitre-attack":
                        group_id = ref.get("external_id", "")
                        break

                techniques = []
                if group_id:
                    techs = self.lift.get_techniques_used_by_group(group_id)
                    for t in techs:
                        for ref in t.get("external_references", []):
                            if ref.get("source_name") == "mitre-attack":
                                techniques.append({
                                    "id": ref.get("external_id", ""),
                                    "name": t.get("name", ""),
                                })
                                break

                profile = {
                    "name": group.get("name", ""),
                    "aliases": group.get("aliases", []),
                    "description": group.get("description", "")[:300],
                    "attack_id": group_id,
                    "technique_count": len(techniques),
                    "techniques": techniques[:20],
                }
                actor_profiles.append(profile)
                print(f"  [+] {group.get('name')}: {len(techniques)} techniques")

        self.assessment["threat_actors"] = actor_profiles
        print(f"[+] Profiled {len(actor_profiles)} threat actors for {self.sector}")
        return actor_profiles

    def identify_common_techniques(self):
        """Find the most commonly used techniques across sector actors."""
        from collections import Counter
        technique_counter = Counter()

        for actor in self.assessment["threat_actors"]:
            for tech in actor.get("techniques", []):
                technique_counter[f"{tech['id']}:{tech['name']}"] += 1

        common = technique_counter.most_common(20)
        self.assessment["common_techniques"] = [
            {
                "technique": tech.split(":")[0],
                "name": tech.split(":")[1] if ":" in tech else "",
                "actor_count": count,
                "actors_using": [
                    a["name"] for a in self.assessment["threat_actors"]
                    if any(t["id"] == tech.split(":")[0] for t in a.get("techniques", []))
                ],
            }
            for tech, count in common
        ]

        print(f"\n=== Top Techniques for {self.sector.upper()} ===")
        for entry in self.assessment["common_techniques"][:10]:
            print(f"  {entry['technique']} {entry['name']}: "
                  f"used by {entry['actor_count']} groups")

        return self.assessment["common_techniques"]

assessment = SectorThreatAssessment("financial")
assessment.analyze_sector_actors()
assessment.identify_common_techniques()
```

### Step 2: Analyze Attack Vectors and Initial Access

```python
def analyze_attack_vectors(assessment):
    """Analyze initial access vectors common for the sector."""
    initial_access_techniques = [
        t for t in assessment.assessment["common_techniques"]
        if t["technique"].startswith("T1566") or t["technique"].startswith("T1190")
        or t["technique"].startswith("T1133") or t["technique"].startswith("T1078")
        or t["technique"].startswith("T1195")
    ]

    # Supplement with known sector-specific vectors
    sector_vectors = {
        "financial": {
            "primary": ["Spearphishing (T1566)", "Exploit Public-Facing App (T1190)",
                        "Valid Accounts (T1078)", "Supply Chain Compromise (T1195)"],
            "emerging": ["MFA Fatigue/Push Bombing", "QR Code Phishing (Quishing)",
                         "Business Email Compromise", 

Related in Security