Listen to this Post

Introduction:
MITRE ATT&CK is the global knowledge base of adversary tactics, techniques, and procedures (TTPs), but memorizing technique IDs doesn’t make you a great analyst. The real challenge is translating raw alerts, logs, and attacker behavior into a structured framework that drives detection, response, and risk communication. This article transforms how SOC teams map evidence to ATT&CK using a practical, repeatable five-step formula—bridging the gap between theoretical knowledge and hands-on incident analysis.
Learning Objectives:
- Distinguish between tactics (attacker objectives) and techniques (methods) using the ATT&CK mental model.
- Apply a five-step mapping formula to any alert, log, or incident to produce consistent, evidence-backed conclusions.
- Leverage Linux and Windows command-line tools to extract forensic artifacts and map them to specific MITRE ATT&CK techniques.
- The ATT&CK Mental Model: Tactic vs. Technique – A Step-by-Step Guide
Many analysts confuse what happened with why it happened. MITRE separates tactic (the attacker’s immediate objective) from technique (how they achieve it). For example, `WINWORD.EXE spawning powershell.exe` is a procedure. The technique is PowerShell (T1059.001). The tactic is Execution (TA0002).
Step-by-step to build this mental model:
- Observe a process creation event: `powershell.exe -enc SQBFAFgAKABOAGUAdw…`
2. Ask: Why would an attacker run encoded PowerShell? → To execute code without command-line visibility.
3. Map tactic: Execution (TA0002) – code ran.
- Map technique: PowerShell (T1059.001) – method of execution.
- Document evidence: Parent process, command-line arguments, user context.
Linux command to detect encoded PowerShell (if running PowerShell Core on Linux):
grep -i "powershell.-enc" /var/log/syslog | awk '{print $1,$2,$3,$5,$NF}'
Windows (Event ID 4688 – Process Creation):
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4688} | Where-Object {$<em>.Message -match "powershell" -and $</em>.Message -match "-enc"} | Format-List TimeCreated, Message
- The 5‑Step Mapping Formula – From Raw Alert to ATT&CK
The formula is: Behaviour → Intent → Tactic → Technique → Evidence → Confidence → Conclusion. This creates consistency across L1 triage and L3 deep dives.
Walkthrough with a real alert: “Suspicious scheduled task created on server XYZ.”
| Step | Question | Output |
||-|–|
| 1 | What actually happened? | `schtasks.exe` created a task named “WindowsUpdate” |
| 2 | Why would an attacker do this? | Persistence – survive reboots |
| 3 | Tactic | Persistence (TA0003) |
| 4 | Technique | Scheduled Task (T1053.005) |
| 5 | Evidence | Event ID 4698 (Task Created), command-line `schtasks /create /tn “WindowsUpdate” /tr “calc.exe” /sc daily` |
| 6 | Confidence | High – clear persistence intent with child process calc.exe |
Linux command to detect cron job persistence (technique T1053.003):
grep -v "^" /etc/crontab /var/spool/cron/crontabs/ 2>/dev/null | awk '{print "Cron job: "$0}'
Windows PowerShell to query scheduled tasks created in last 24 hours:
Get-ScheduledTask | Where-Object {$<em>.Date -gt (Get-Date).AddDays(-1)} | Select-Object TaskName, TaskPath, State, @{n='Actions';e={$</em>.Actions.Execute}}
3. Mapping Credential Dumping – LSASS Access (T1003.001)
Credential dumping often involves accessing the Local Security Authority Subsystem Service (LSASS) process memory. Map it correctly instead of just calling it “malware.”
Step-by-step detection:
- Behaviour: Process `procdump.exe` or `mimikatz` opens a handle to lsass.exe with `PROCESS_VM_READ` access.
2. Intent: Obtain clear-text passwords or NTLM hashes.
3. Tactic: Credential Access (TA0006).
4. Technique: OS Credential Dumping: LSASS Memory (T1003.001).
- Evidence: Windows Event ID 4656 (Handle to lsass.exe requested) with AccessMask `0x1410` or Sysmon Event 10 with `TargetImage` containing lsass.exe.
Sysmon config snippet to log lsass access:
<Sysmon> <EventFiltering> <ProcessAccess onmatch="include"> <TargetImage condition="end with">lsass.exe</TargetImage> </ProcessAccess> </EventFiltering> </Sysmon>
Linux equivalent – detecting /etc/shadow reads (technique T1003.008):
auditctl -w /etc/shadow -p r -k shadow_read ausearch -k shadow_read --format csv | head -20
- Lateral Movement Mapping – RDP and SMB (T1021.001 & T1021.002)
When an attacker moves laterally, mapping the correct technique avoids misclassification. RDP inbound connections are T1021.001, while SMB/Windows Admin Shares are T1021.002.
Step-by-step RDP mapping:
- Behaviour: Logon Type 10 (RemoteInteractive) from an unexpected source IP.
- Intent: Move to another host for privilege escalation or data access.
3. Tactic: Lateral Movement (TA0008).
4. Technique: Remote Desktop Protocol (T1021.001).
- Evidence: Event ID 4624 (Logon) with LogonType 10, Event ID 4648 (Explicit credentials used).
PowerShell query for RDP logons from non-domain IP:
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} | Where-Object {$<em>.Properties[bash].Value -eq 10} | Select-Object TimeCreated, @{n='SourceIP';e={$</em>.Properties[bash].Value}}, @{n='Account';e={$_.Properties[bash].Value}}
Linux for SMB lateral movement (using `smbclient` logs):
grep -i "smbclient" /var/log/auth.log | grep "session opened" | cut -d' ' -f1-3,9,11
5. Building a Detection Engineering Pipeline with MITRE
Use ATT&CK to create Sigma rules or Splunk searches that map directly to techniques. This bridges detection engineering and SOC analysis.
Step-by-step:
1. Choose a technique (e.g., T1059.001 – PowerShell).
- Identify detection data sources (Process creation, PowerShell logs, Script Block Logging).
- Write a query that triggers on the procedure.
- Tag the alert with the technique ID for automated mapping.
Example Splunk query for PowerShell download cradle (T1059.001 sub-technique):
index=windows sourcetype=WinEventLog:Microsoft-Windows-PowerShell/Operational
| where EventID=4104 and ScriptBlockText IN ("DownloadString", "Invoke-WebRequest", "Net.WebClient")
| table _time, ComputerName, UserID, ScriptBlockText
| eval technique="T1059.001", tactic="Execution"
Elasticsearch/Lens query (KQL):
{
"query": {
"bool": {
"must": [
{ "term": { "event.code": "4104" } },
{ "wildcard": { "powershell.script_block_text": "DownloadString" } }
]
}
}
}
- Cloud & API Security Mapping – Azure AD and AWS to MITRE
Modern attacks target identity and APIs. Map cloud evidence using the same formula.
Example: Azure AD sign-ins from unusual location with a valid token.
– Behaviour: Successful sign-in from TOR exit node with no MFA.
– Intent: Credential Access or Initial Access.
– Tactic: Initial Access (TA0001) if first entry, or Credential Access (TA0006) if reusing stolen token.
– Technique: Use Alternate Authentication Material (T1550) – specifically Token Impersonation/Theft (T1550.001) for OAuth tokens.
Azure CLI command to extract risky sign-ins:
az rest --method get --url "https://graph.microsoft.com/v1.0/auditLogs/signIns?`$filter=riskLevel eq 'high'" --query "value[?riskEventTypes[bash]!='null'].[createdDateTime,userPrincipalName,riskLevel,riskEventTypes]"
AWS CloudTrail mapping for unauthorized API calls (T1078 – Valid Accounts):
aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=AssumeRole --max-items 100 --query 'Events[?contains(CloudTrailEvent, <code>\"errorCode\"</code>)]' | jq '.[] | {Time: .EventTime, RoleArn: .UserIdentity.arn, Error: .CloudTrailEvent | fromjson | .errorCode}'
- Incident Reporting Using ATT&CK – From Tech to Boardroom
Mapping turns low-level alerts into a risk story. Use confidence scoring (High/Medium/Low) to avoid over-reporting.
Template for an incident report finding:
- Observation: PowerShell executed encoded command from Excel.
- ATT&CCK Tactic: Execution (TA0002)
- Technique: PowerShell (T1059.001)
- Evidence: EID 4688, script block logging (EID 4104) showing `-enc` parameter.
- Confidence: High – command line included base64 payload that decodes to
Invoke-Mimikatz. - Next Steps: Block PowerShell from Office apps via WDAC or AMSI.
Linux log centric report using `grep` and `jq`:
journalctl -t powershell --since "1 hour ago" | grep -i "error" | jq -R '{timestamp: .[0:19], message: .}'
What Undercode Say:
- Mapping forces consistency – Using the same five-step formula across all alerts eliminates guesswork and aligns L1, L2, and L3 analysts.
- Evidence is king, not tool names – PowerShell is not always malicious; context and confidence scores turn raw telemetry into actionable intelligence.
- Automation starts with structure – Once you map techniques to specific log fields (e.g., Event ID 4688 for T1059.001), you can build detectors, playbooks, and reports that scale.
MITRE ATT&CK is not a checklist—it’s a language. The difference between an average SOC and a great one is the ability to explain why an event matters in attacker terms. Every alert you map trains your team to think like the adversary while defending like a pro.
Prediction:
By 2028, AI-driven SOAR platforms will auto-map 80% of alerts to MITRE ATT&CK using natural language processing on raw logs. However, analysts will still be essential for the high-confidence, edge-case mappings that require human context—like distinguishing a red team exercise from a real intrusion based on subtle procedural anomalies. Mastering manual mapping today is the foundation for supervising tomorrow’s autonomous detection engines.
▶️ Related Video (80% Match):
🎯Let’s Practice For Free:
IT/Security Reporter URL:
Reported By: Izzmier Learn – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅


