Cyber Threat Intelligence follows a six-phase intelligence lifecycle that transforms raw data into contextualised and action-oriented insights geared towards triaging security incidents. We shall look at this lifecycle as a narrative that follows a single SOC Level 1 analyst, Alex, as they weave CTI into a routine defence objective: protecting TryHatMe's production database.
Before we look into the lifecycle, various concepts are helpful to understand when working with threat intelligence.
Traffic Light Protocol (TLP)—A Primer for Proper Sharing
The Traffic Light Protocol is a four-colour labelling scheme defined by FIRST.org that governs how widely intel may be shared. These labels can be summarised in the following table:
| TLP label |
Sharing boundary |
Typical SOC L1 behaviour |
| TLP: CLEAR |
No restriction |
Post to the internal wiki or platform. |
| TLP: GREEN |
Share with peer community but not publicly |
Upload to MISP/Slack workspace restricted to partner SOCs. |
| TLP: AMBER |
Organisation-wide, external sharing only with need-to-know clients |
Keep within the company CTI platform; reference, do not copy, in tickets. |
| TLP: RED |
Named recipients only |
Store in an encrypted note; do not post to the ticketing system without clearance. |
While investigating breaches, a Level 1 analyst ensures that an IOC's TLP label—if provided—travels with the indicator into any platform or triage note. Violating the label can breach contractual obligations and erode trust with intelligence partners.
Intel Formats
Analysts encounter intelligence in various formats or protocols. Once they have gathered intel, they are responsible for sharing and updating other analysts on new findings about attack techniques. One format in which threat intel can be found is Structured Threat Information Expression (STIX). This JSON schema was developed to describe and specify threat indicators, relationships, and context in a machine-readable form.
We can now look into the CTI lifecycle with a real-world scenario.
Scenario Premise
TryHatMe Corp holds sensitive customer data in a PostgreSQL server in a segmented subnet. The server is fronted by a next-generation firewall (NGFW) and monitored on-host by an Endpoint Detection and Response (EDR) agent. Senior management has asked the SOC to "bring in cyber-threat intelligence" so that the controls react rapidly to emerging threats. The morning-shift L1 analyst, Alex, is assigned to build and exercise that workflow.
Step 1: Direction – Defining the Mission
Alex begins in a brief planning meeting with the CTI lead and the database administrator. Together, they translate the broad mandate into an intelligence requirement:
-
Primary asset. The PostgreSQL production database.
-
Business risk. Data breach fines under GDPR and loss of customer trust.
-
Available controls. NGFW is capable of IP- and domain-based blocking; EDR can quarantine files by hash.
-
Initial CTI goal. Use threat-feed indicators to:
- Block or alert on suspicious IP addresses at the firewall, and
- Detect known malicious file hashes at the EDR layer.
Alex constructs two measurable questions that will steer subsequent collection and analysis:
Q1 Which external IP addresses and domains are currently used to exploit PostgreSQL services or exfiltrate database records?
Q2 Which malware families targeting PostgreSQL drivers or credentials are active this week, and what are their file hashes?
The answers to Q1 and Q2 will become success criteria in later feedback.
Step 2: Collection – Assembling the Raw Material
Guided by the questions, Alex gathers intelligence from four sources:
| Source |
Rationale |
Example artefacts collected |
| Commercial feed from the NGFW vendor |
Tailored to the same firewall models, high-fidelity |
37 IPv4 addresses flagged as database-exfil C2 in the last 24 h |
| Open-source project AbuseIPDB filtered by tag PostgreSQL-brute-force |
Rapid, community-driven updates |
15 IP addresses, four domains |
| The Malware Information Sharing Platform (MISP) is internal to the company |
Historical view of incidents |
2 SHA-256 hashes of PgSQL credential stealers |
| Vendor threat report released this week |
Strategic insight distilled into technical IOCs |
1 new malware hash, 3 C2 domains |
Alex exports each feed in STIX or CSV, then stores a dated copy in the SOC's "raw-intel" S3 bucket, ensuring reproducibility.
Step 3: Processing – Normalising and Correlating the Data
Raw feeds never align perfectly, and artefacts may arrive in mixed formats. To correct this, threat intel will need to be normalised and correlated. Normalising ensures threat data from various sources is standardised into a standard format for consistent analysis. Correlation involves identifying connections and links between data from different sources and threats. It can also help identify contradictions, such as having a benign tag in one's history versus a malicious label in new data today.
For Alex, processing threat intel will involve executing scheduled Python scripts that:
-
Normalises indicator syntax such as having IPv6 addresses compressed, domains in lowercase or stripping off IP subnet masks.
-
Correlates and deduplicates against the platform's existing indicator table.
-
Tag each entry with source, date, and TLP label.
-
Converts the final set of intel into two action files, such as:
- firewall_blocklist.csv, a firewall-ready CSV that covers the indicator, action, and comments
- edr_hash_rules.yar, an EDR YARA-rule file for hash blocking.
During processing, Alex spots a collision: one IP address appears in the NGFW feed labelled as TLP: AMBER and AbuseIPDB labels it as TLP: CLEAR. Because the stricter TLP prevails, the combined record inherits TLP: AMBER. This prevents inadvertent disclosure if the list is later shared.
Step 4: Analysis – Turning Information Into Judgement
Blocking every indicator or artefact suspected of being malicious may create room for false positives. Alex would need to evaluate the relevance and matching between the intel gathered and the current status of the investigation. This results in providing answers to the questions in Phase 1:
- Firewall indicators (Q1).
Cross-check: A Splunk query over the previous 30 days shows one of the NGFW IPs attempting but failing to open TCP 5432 against the production subnet. That event validates the indicator's applicability.
- Hash indicators (Q2).
Reverse-search: OpenCTI links the new hash to the PgSteal malware family; Any.Run sandbox analysis demonstrates credential-dump behaviour. Because the organisation uses exactly the named ODBC driver, the hash is marked as high priority, and relevance is confirmed.
Alex grades each indicator:
| Confidence |
Source agreement |
Local sightings |
Action |
| High |
Same IOC in ≥2 sources |
≥1 local attempt |
Immediate block |
| Medium |
Single trusted source |
No local hits |
Alert-only |
| Low |
OSINT only |
No context |
Monitor for 14 days |
Seven IP addresses and one hash meet the high bar; the rest are queued as medium and set for monitoring.
Step 5: Dissemination – Getting Intelligence to the Right Consumers
Unused threat intelligence becomes shelfware. Alex delivers tailored output:
| Stakeholder |
Format |
Why do they need it |
| Firewall team |
CSV upload + change-ticket |
They own the block rules; the ticket is to document risk and indicator TLP |
| Endpoint team |
YARA rule set in the EDR console |
To load rules into the policy |
| CTI platform |
Indicator objects with full tags |
Keeps history of artefacts, supports future correlations, and honours TLP |
| Management |
200-word summary in weekly cyber-risk memo |
The report shows the return on investment for the process |
By tailoring depth to the audience, Alex ensures that each consumer receives only the detail required to act, nothing more and nothing less.
Step 6: Feedback – Measuring and Refining the Cycle
Two weeks later, metrics and reports from the firewall and EDR reports show the progress of establishing an effective threat intelligence workflow:
| KPI |
Baseline |
After the first cycle |
| Median dwell time of PgSQL brute-force IPs |
48 h |
0 h (pre-emptive block) |
| False-positive rate on new blocks |
— |
0 % (none revoked) |
Because the outcome meets the initial direction objectives, management approves expansion: the next sprint will add other threat parameters, such as DNS tunnelling IOCs for the same asset group. Alex updates the direction document, closes the feedback loop, and schedules the second iteration.