Detect Internal Spearphishing in Google Chronicle
Adversaries who have already compromised an account or system may abuse the trusted internal identity to send phishing messages to other users within the same organization. Because the message originates from a known colleague, recipients are far more likely to open attachments, click links, or provide credentials. Campaigns typically combine a compromised mailbox or chat account with a weaponized attachment, a credential-harvesting link, or a malicious macro-enabled document. Real-world actors include Gamaredon (Outlook VBA module auto-sending phishing to contacts), Kimsuky (stolen credentials reused for internal mail), Leviathan/APT40, and HEXANE. Detection surfaces include anomalous send volume or recipient patterns from an internal account, Outlook spawning suspicious child processes (macro execution), Microsoft Teams delivering external URLs or files, and mass-BCC or reply-all abuse patterns.
MITRE ATT&CK
- Tactic
- Lateral Movement
- Technique
- T1534 Internal Spearphishing
- Canonical reference
- https://attack.mitre.org/techniques/T1534/
YARA-L Detection Query
rule T1534_Internal_Spearphishing {
meta:
author = "Argus Detection Engineering"
description = "Detects internal spearphishing (T1534): Outlook spawning LOLBin child processes indicating VBA macro execution from a compromised internal mailbox, and anomalous internal email send volume."
mitre_attack_tactic = "Lateral Movement"
mitre_attack_technique = "T1534"
severity = "HIGH"
confidence = "HIGH"
priority = "HIGH"
reference = "https://attack.mitre.org/techniques/T1534/"
events:
// Signal 1: Outlook spawning suspicious child process
$e.metadata.event_type = "PROCESS_LAUNCH"
$e.principal.process.file.full_path = /(?i)\\outlook\.exe$/
$e.target.process.file.full_path = /(?i)\\(cmd|powershell|pwsh|wscript|cscript|mshta|rundll32|regsvr32|certutil|bitsadmin|msiexec|wmic|curl|wget)\.exe$/
$host = $e.principal.hostname
$user = $e.principal.user.userid
condition:
$e
} Chronicle YARA-L 2.0 rule detecting T1534 internal spearphishing by identifying Outlook spawning high-risk LOLBin child processes — the primary indicator of VBA macro execution from an internally-delivered phishing email. Uses UDM PROCESS_LAUNCH event type with principal/target process path regex matching. A separate rule (below, run as a second detection) can be written against EMAIL_TRANSACTION events for high-volume send anomalies when O365 logs are ingested via Chronicle's O365 ingestion feed.
Data Sources
Required Tables
False Positives & Tuning
- Legitimate Outlook COM add-ins (Zoom, DocuSign, Salesforce) that cause outlook.exe to spawn rundll32.exe or powershell.exe during initialization or feature updates in enterprise environments.
- Internal IT macro-enabled Excel/Word templates distributed via email that, when opened from Outlook, invoke PowerShell or cmd.exe for license validation or data population.
- Bulk email campaigns sent by marketing automation tools operating under shared internal mailbox credentials during product launches, webinar invitations, or compliance notifications.
Other platforms for T1534
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Outlook VBA Macro Auto-Send (Simulated Gamaredon Pattern)
Expected signal: Sysmon Event ID 1: powershell.exe spawned with Outlook COM object instantiation. OfficeActivity O365 log: Operation=Send from the test account. If Outlook is running, Sysmon Event ID 10 (ProcessAccess) may show PowerShell accessing the Outlook process. Exchange/O365 message trace will record the outbound message.
- Test 2Write Malicious Macro to Outlook VbaProject.OTM
Expected signal: Sysmon Event ID 11 (File Create): file creation event for the test artifact in %TEMP%. Sysmon Event ID 1: powershell.exe with path references to VbaProject.OTM. If Outlook is running and VbaProject.OTM is actually modified, Sysmon will log file modification events against the OTM path.
- Test 3Microsoft Teams Message with External Link (Simulated via Graph API)
Expected signal: O365 OfficeActivity: RecordType=MicrosoftTeams, Operation=MessageCreatedHasLink, with the external URL in ExtraProperties. Azure AD sign-in log entry for the Graph API token use. Microsoft Defender for Cloud Apps (MCAS) may generate an alert for 'Suspicious inbox forwarding' or 'Unusual file share' depending on policy.
- Test 4Simulate Compromised Account Bulk Send via PowerShell Exchange Online
Expected signal: O365 Unified Audit Log: multiple Send operations from [email protected] within a short window. Exchange message trace: batch of outbound messages with identical subject. Azure AD: interactive authentication event for the PowerShell connection. OfficeActivity table in Sentinel: Operation=Send entries for each recipient.
References (9)
- https://attack.mitre.org/techniques/T1534/
- https://blog.trendmicro.com/phishing-starts-inside/
- https://www.microsoft.com/en-us/security/blog/2023/08/02/midnight-blizzard-conducts-targeted-social-engineering-over-microsoft-teams/
- https://www.welivesecurity.com/2020/06/11/gamaredon-group-grows-its-game/
- https://www.cisa.gov/sites/default/files/publications/AA21-200A.pdf
- https://secureworks.com/research/lyceum-takes-center-stage-in-middle-east-campaign
- https://learn.microsoft.com/en-us/microsoft-365/compliance/audit-log-search-tool
- https://learn.microsoft.com/en-us/defender-office-365/anti-phishing-policies-about
- https://learn.microsoft.com/en-us/microsoftteams/teams-security-guide
Unlock Pro Content
Get the full detection package for T1534 including response playbook, investigation guide, and atomic red team tests.