Threat Actor Profiling
A threat actor profile is a living document that consolidates everything known about a threat group. It grows over time as new intelligence is collected.
Profile Template
## Threat Actor Profile: [Primary Name]
### Summary
| Field | Value |
|-------|-------|
| **Primary Name** | [Most commonly used name] |
| **Aliases** | [All known aliases across vendors] |
| **Attribution** | [State sponsor / Criminal group / Hacktivist — with confidence level] |
| **Affiliation** | [Specific agency/unit if known, e.g., GRU Unit 26165] |
| **Motivation** | [Espionage / Financial / Disruption / Hacktivism / Mixed] |
| **Active Since** | [Year of first known activity] |
| **Status** | [Active / Dormant / Disbanded] |
| **Sophistication** | [Low / Medium / High / Advanced] |
| **Primary Targets** | [Sectors and geographies] |
| **Assessment Date** | [Date of this profile version] |
### Attribution Assessment
[Detailed attribution discussion with confidence level. Who attributes this group and based on what evidence? Where do vendors disagree?]
### Targeting
**Sectors**: [List targeted sectors with evidence]
**Geographies**: [Targeted countries/regions]
**Selection criteria**: [How does this group choose targets? Opportunistic vs targeted?]
**Evolution**: [How has targeting changed over time?]
### TTPs (MITRE ATT&CK)
| Tactic | Technique | ID | Notes |
|--------|-----------|-----|-------|
| Initial Access | Spearphishing Attachment | T1566.001 | Primary delivery method |
| Execution | PowerShell | T1059.001 | Used for download and execute |
| ... | ... | ... | ... |
### Tooling
| Tool | Type | Custom/Commodity | First Seen | Status | Notes |
|------|------|-----------------|-----------|--------|-------|
| [Tool 1] | Backdoor | Custom | 2024 | Active | Primary implant |
| Cobalt Strike | C2 | Commodity | 2023 | Active | Used with modified profiles |
### Infrastructure Patterns
- **Hosting preferences**: [Cloud providers, bulletproof hosting, compromised infrastructure]
- **Registrars**: [Preferred domain registrars]
- **TLS patterns**: [Self-signed? Let's Encrypt? Specific CAs?]
- **C2 protocols**: [HTTP/HTTPS, DNS, custom protocols]
- **IP ranges**: [Known IP blocks or ASNs]
### Campaign History
#### [Campaign 1] (YYYY-MM to YYYY-MM)
- **Targets**: [Who was targeted]
- **TTPs**: [Specific techniques used]
- **Outcome**: [Impact, attribution confidence]
- **References**: [Vendor reports]
### Relationships
- **Related groups**: [Parent/child groups, shared infrastructure, shared tools]
- **Overlap with**: [Groups that share TTPs or infrastructure]
- **Distinction from**: [Commonly confused groups and how to distinguish]
### Intelligence Gaps
- [What we don't know and need to collect]
- [Specific questions for future collection]
### Sources
| Date | Source | Reliability | Key Contribution |
|------|--------|-------------|-----------------|
| YYYY-MM-DD | [Source] | [Admiralty] | [What this source contributed to the profile] |
Alias Mapping
Different vendors use different names for the same group:
| Vendor |
Naming Convention |
Example |
| Microsoft |
Weather + element |
Forest Blizzard |
| CrowdStrike |
Animal + adjective |
Fancy Bear |
| Mandiant/Google |
APT + number |
APT28 |
| MITRE |
Group ID |
G0007 |
| Kaspersky |
Varies |
Sofacy |
| Recorded Future |
TAG-XX |
TAG-110 |
Always list all known aliases and cross-reference when building profiles.
Profile Maintenance
- Update when new campaigns are attributed
- Update when new tools are discovered
- Update when targeting patterns change
- Review quarterly for staleness
- Move concluded campaigns from Active to Historical
- Update intelligence gaps as gaps are filled or new ones identified
Related skills
- Vendor finished intelligence (highest leverage for state-sponsored / espionage actors) — when CrowdStrike credentials are configured,
/lookup-crowdstrike actor "<name>" returns the Falcon Intel adversary profile (origins, target countries/industries, motivations, capability, aliases); /lookup-crowdstrike ttps "<name>" returns the actor's MITRE ATT&CK technique set (feed into the TTPs section); /lookup-crowdstrike reports --actor "<name>" --latest surfaces the newest finished reporting. Use these as a primary feed for the profile, then enrich. Resolve the returned technique_ids against /mitre-attack.
- Ransomware-group profiles (highest leverage for ransomware actors) —
/lookup-ransomwarelive group <name> and group-profile <name> return curated TTPs, leak-site .onion infrastructure, vulnerabilities exploited, and per-group IOC + YARA dumps. Use these as the primary feed for any ransomware actor profile, then enrich.
- Community attribution —
/lookup-otx pulse-search "<actor-or-alias>" for community-tagged indicators; /lookup-misp search-events --tag "actor=<name>" for prior internal cataloguing
- First-party catalog —
/lookup-liberty91 library threat-actors --name "<actor>" (or --alias "<vendor-name>") resolves the actor to its canonical id; then entity threat-actors <id> for aliases, origin, target sectors and countries, --section techniques for dated ATT&CK observations (first/last observed in reporting, not a co-occurrence score), --section threat-events for the occurrences the actor has been named in, and --section related for co-occurring malware and tooling. Track the id, not the name string.
- Internal knowledge base —
/lookup-opencti search "<actor-or-alias>" surfaces the intrusion sets, reports, campaigns, and malware your OpenCTI instance already links to the actor; get <id> walks the relationships. Check this before rebuilding a profile from scratch.
- Build the infrastructure cluster —
/indicator-pivoting walks the IOC graph (hand off pivot_candidates from the lookups above)
- Underground-forum and Telegram footprint —
/darkweb-collection for forum/channel monitoring of an actor's known aliases
- Campaigns attributed to the actor —
/campaign-tracking for per-campaign records that roll up into the profile
- Knowledge cells the profile may feed into —
/ransomware-ecosystem, /initial-access-brokers, /infostealers, plus any country/sector knowledge cells (e.g., /iran-cyber-espionage)
- Apply rigor —
/score-source, /apply-tlp, /confidence-language, /likelihood-language, /intelligence-writing
1---2name: threat-actor-profiling3description: Use when the user asks to build or update a threat-actor profile, "tell me about actor X" / "profile actor Y", or another skill needs the canonical profile template (attribution, TTPs, campaigns, infrastructure patterns, intelligence gaps).4---56# Threat Actor Profiling78A threat actor profile is a living document that consolidates everything known about a threat group. It grows over time as new intelligence is collected.910## Profile Template1112```markdown13## Threat Actor Profile: [Primary Name]1415### Summary16| Field | Value |17|-------|-------|18| **Primary Name** | [Most commonly used name] |19| **Aliases** | [All known aliases across vendors] |20| **Attribution** | [State sponsor / Criminal group / Hacktivist — with confidence level] |21| **Affiliation** | [Specific agency/unit if known, e.g., GRU Unit 26165] |22| **Motivation** | [Espionage / Financial / Disruption / Hacktivism / Mixed] |23| **Active Since** | [Year of first known activity] |24| **Status** | [Active / Dormant / Disbanded] |25| **Sophistication** | [Low / Medium / High / Advanced] |26| **Primary Targets** | [Sectors and geographies] |27| **Assessment Date** | [Date of this profile version] |2829### Attribution Assessment30[Detailed attribution discussion with confidence level. Who attributes this group and based on what evidence? Where do vendors disagree?]3132### Targeting33**Sectors**: [List targeted sectors with evidence]34**Geographies**: [Targeted countries/regions]35**Selection criteria**: [How does this group choose targets? Opportunistic vs targeted?]36**Evolution**: [How has targeting changed over time?]3738### TTPs (MITRE ATT&CK)39| Tactic | Technique | ID | Notes |40|--------|-----------|-----|-------|41| Initial Access | Spearphishing Attachment | T1566.001 | Primary delivery method |42| Execution | PowerShell | T1059.001 | Used for download and execute |43| ... | ... | ... | ... |4445### Tooling46| Tool | Type | Custom/Commodity | First Seen | Status | Notes |47|------|------|-----------------|-----------|--------|-------|48| [Tool 1] | Backdoor | Custom | 2024 | Active | Primary implant |49| Cobalt Strike | C2 | Commodity | 2023 | Active | Used with modified profiles |5051### Infrastructure Patterns52- **Hosting preferences**: [Cloud providers, bulletproof hosting, compromised infrastructure]53- **Registrars**: [Preferred domain registrars]54- **TLS patterns**: [Self-signed? Let's Encrypt? Specific CAs?]55- **C2 protocols**: [HTTP/HTTPS, DNS, custom protocols]56- **IP ranges**: [Known IP blocks or ASNs]5758### Campaign History59#### [Campaign 1] (YYYY-MM to YYYY-MM)60- **Targets**: [Who was targeted]61- **TTPs**: [Specific techniques used]62- **Outcome**: [Impact, attribution confidence]63- **References**: [Vendor reports]6465### Relationships66- **Related groups**: [Parent/child groups, shared infrastructure, shared tools]67- **Overlap with**: [Groups that share TTPs or infrastructure]68- **Distinction from**: [Commonly confused groups and how to distinguish]6970### Intelligence Gaps71- [What we don't know and need to collect]72- [Specific questions for future collection]7374### Sources75| Date | Source | Reliability | Key Contribution |76|------|--------|-------------|-----------------|77| YYYY-MM-DD | [Source] | [Admiralty] | [What this source contributed to the profile] |78```7980## Alias Mapping81Different vendors use different names for the same group:8283| Vendor | Naming Convention | Example |84|--------|------------------|---------|85| Microsoft | Weather + element | Forest Blizzard |86| CrowdStrike | Animal + adjective | Fancy Bear |87| Mandiant/Google | APT + number | APT28 |88| MITRE | Group ID | G0007 |89| Kaspersky | Varies | Sofacy |90| Recorded Future | TAG-XX | TAG-110 |9192Always list all known aliases and cross-reference when building profiles.9394## Profile Maintenance95- Update when new campaigns are attributed96- Update when new tools are discovered97- Update when targeting patterns change98- Review quarterly for staleness99- Move concluded campaigns from Active to Historical100- Update intelligence gaps as gaps are filled or new ones identified101102## Related skills103104- **Vendor finished intelligence (highest leverage for state-sponsored / espionage actors)** — when CrowdStrike credentials are configured, `/lookup-crowdstrike actor "<name>"` returns the Falcon Intel adversary profile (origins, target countries/industries, motivations, capability, aliases); `/lookup-crowdstrike ttps "<name>"` returns the actor's MITRE ATT&CK technique set (feed into the TTPs section); `/lookup-crowdstrike reports --actor "<name>" --latest` surfaces the newest finished reporting. Use these as a *primary* feed for the profile, then enrich. Resolve the returned `technique_ids` against `/mitre-attack`.105- **Ransomware-group profiles (highest leverage for ransomware actors)** — `/lookup-ransomwarelive group <name>` and `group-profile <name>` return curated TTPs, leak-site `.onion` infrastructure, vulnerabilities exploited, and per-group IOC + YARA dumps. Use these as the *primary* feed for any ransomware actor profile, then enrich.106- **Community attribution** — `/lookup-otx pulse-search "<actor-or-alias>"` for community-tagged indicators; `/lookup-misp search-events --tag "actor=<name>"` for prior internal cataloguing107- **First-party catalog** — `/lookup-liberty91 library threat-actors --name "<actor>"` (or `--alias "<vendor-name>"`) resolves the actor to its canonical id; then `entity threat-actors <id>` for aliases, origin, target sectors and countries, `--section techniques` for dated ATT&CK observations (first/last observed in reporting, not a co-occurrence score), `--section threat-events` for the occurrences the actor has been named in, and `--section related` for co-occurring malware and tooling. Track the id, not the name string.108- **Internal knowledge base** — `/lookup-opencti search "<actor-or-alias>"` surfaces the intrusion sets, reports, campaigns, and malware your OpenCTI instance already links to the actor; `get <id>` walks the relationships. Check this before rebuilding a profile from scratch.109- **Build the infrastructure cluster** — `/indicator-pivoting` walks the IOC graph (hand off `pivot_candidates` from the lookups above)110- **Underground-forum and Telegram footprint** — `/darkweb-collection` for forum/channel monitoring of an actor's known aliases111- **Campaigns attributed to the actor** — `/campaign-tracking` for per-campaign records that roll up into the profile112- **Knowledge cells the profile may feed into** — `/ransomware-ecosystem`, `/initial-access-brokers`, `/infostealers`, plus any country/sector knowledge cells (e.g., `/iran-cyber-espionage`)113- **Apply rigor** — `/score-source`, `/apply-tlp`, `/confidence-language`, `/likelihood-language`, `/intelligence-writing`