An incident report is the permanent record of what happened, what you found, what you did, and what to do next. It’s read by people who make budget decisions, people who file regulatory notifications, and people who build better defenses. Writing one well requires knowing which reader you’re writing for in each section.
Report Structure
Section 1: Executive Summary (1 paragraph)
Audience: CISO, CEO, board, legal. Reads this section only.
What to include:
- What type of incident occurred (without jargon)
- When it was detected and when it occurred (if known)
- What was affected (systems, data, users)
- Current status (contained, ongoing, remediated)
- Any decisions leadership needs to make
Template:
On [date], our security operations team identified [description of incident in plain language].
The incident [began / was first detected] at [time] and was [contained / is ongoing] as of [time].
[Number] [systems / user accounts / data records] were affected.
[Data type] was [confirmed / potentially] accessed.
The immediate threat has been [removed / is under investigation].
[Decision needed: whether to notify customers / regulators / insurance].
Example:
On August 14, 2024, our security team detected that a finance employee's email account
was taken over by an attacker using a sophisticated phishing technique that bypasses
multi-factor authentication. The attacker had access to the account for approximately
25 minutes between 09:21 and 09:46 AM EST. During that time, they read email content
and sent one fraudulent payment request to our finance team. The fraudulent wire transfer
was intercepted before processing. The employee's account has been secured. Legal and
compliance must determine if this constitutes a reportable incident under our cyber
insurance policy.
Section 2: Incident Timeline
Audience: IR team, auditors, legal, compliance.
Format: Chronological table with UTC timestamps and evidence citations.
| Timestamp (UTC) | Actor | Event | Evidence Source | Confidence |
|------------------------|----------|--------------------------------------------|-----------------------|------------|
| 2024-08-14 09:14:22 | Attacker | Phishing email delivered to jdoe@corp.com | Exchange Msg Trace | Confirmed |
| 2024-08-14 09:21:03 | Victim | jdoe opened phishing email, clicked link | Exchange UAL ReadItems| Confirmed |
| 2024-08-14 09:21:14 | System | M365 sign-in: jdoe from corp VPN | Entra SigninLogs | Confirmed |
| 2024-08-14 09:21:17 | Attacker | Session token replayed from 185.220.101.44 | Entra SigninLogs | Confirmed |
| 2024-08-14 09:22–09:47 | Attacker | MailItemsAccessed from 185.220.101.44 | M365 UAL | Confirmed |
| 2024-08-14 09:50:31 | Attacker | New-InboxRule created (delete finance mail)| M365 UAL | Confirmed |
| 2024-08-14 09:51:14 | Attacker | BEC email sent to ap-team@corp.com | Exchange UAL Send | Confirmed |
| 2024-08-14 10:14:30 | SOC | Incident detected via DLP alert | SIEM Alert TKT-4421 | N/A |
| 2024-08-14 10:15:00 | SOC | Inbox rule removed | Analyst action log | N/A |
| 2024-08-14 10:17:00 | SOC | All sessions revoked for jdoe | Entra admin log | N/A |
| 2024-08-14 10:22:00 | SOC | Finance team contacted — wire not processed| Call log + ticket | N/A |
Section 3: Technical Findings
Audience: Security engineers, IR team, detection team.
What to include:
- Full IOC list (IPs, domains, file hashes, email addresses, URLs)
- ATT&CK technique chain with justification for each tag
- Affected systems with roles
- Full attacker activity: what they read, what they sent, what they changed
- Gaps identified: what allowed the attack to succeed
IOC table:
INDICATORS OF COMPROMISE
Type Value Confidence Status
Domain corp-finance.net Confirmed Blocked (gateway + DNS)
Domain secure-docs.corp-finance.net Confirmed Blocked
IP 185.220.101.44 Confirmed Blocked (firewall)
Email mikes@corp-finance.net Confirmed Blocked
Inbox Rule "Delete if contains: finance alert" Confirmed Removed
ATT&CK CHAIN
T1566.002 Spearphishing Link — phishing email with link to AiTM proxy
T1557 Adversary-in-the-Middle — proxy captured session token post-MFA
T1528 Steal Application Access Token — session cookie theft
T1114.002 Email Collection: Remote Email Collection — attacker read mailbox
T1564.008 Hide Artifacts: Email Hiding Rules — inbox rule to delete alerts
T1534 Internal Spearphishing — BEC email sent from victim's account
Section 4: Impact Assessment
Audience: Legal, compliance, executive team, possibly regulators.
AFFECTED SYSTEMS
Primary: jdoe@corp.com mailbox — compromised for 25 minutes
Secondary: Finance team received fraudulent BEC email (no wire processed)
DATA AT RISK
Mailbox content visible to attacker: jdoe's inbox and sent items (approx. 3 months)
Known sensitive items: Q3 invoice list (no SSNs, no financial account numbers)
Unknown: attacker may have extracted attachments (no confirm — UAL shows read events
but not attachment download events; this is a forensic limitation)
REGULATORY IMPLICATIONS
GDPR: Employee personal data in email — notification to DPO required
Cyber insurance: Policy clause 3.2 requires notification within 72h of discovery
PCI-DSS: No cardholder data in jdoe's mailbox — PCI notification not triggered
BUSINESS IMPACT
Financial: Wire transfer not processed — no direct financial loss from BEC
Operational: jdoe's account unavailable for 4 hours during re-enrollment
Reputational: No customer-facing impact
Section 5: Remediation & Recommendations
Audience: Security engineering, management, compliance.
Short-term (completed):
- Inbox rule removed
- All sessions revoked, password reset, MFA re-enrolled
- Phishing email quarantined from all mailboxes
- Lookalike domain and IPs blocked
Long-term recommendations:
1. DMARC policy: upgrade corp.com from p=quarantine to p=reject
Owner: email-security team | Priority: High | Deadline: 30 days
2. Detection rule: alert on MailItemsAccessed from new IP within 60 min of phishing delivery
Owner: detection-engineering | Priority: High | Deadline: 14 days
3. MFA policy: pilot FIDO2/passkeys for finance team (AiTM defeats push/TOTP MFA)
Owner: identity team | Priority: Medium | Deadline: Q4 planning
4. Security awareness: targeted AiTM simulation for finance team
Owner: security-awareness | Priority: Medium | Deadline: 60 days