Detect Outlook Forms in IBM QRadar
Adversaries abuse Microsoft Outlook custom forms to achieve persistence. Custom forms are stored in the user's mailbox and are loaded when Outlook starts. A malicious form containing VBScript or JScript executes when an adversary sends a specially crafted email to the victim. The Ruler tool automates this technique. Forms are stored in the mailbox itself, making them invisible to standard endpoint file monitoring and surviving OS reinstalls.
MITRE ATT&CK
- Tactic
- Persistence
- Technique
- T1137 Office Application Startup
- Sub-technique
- T1137.003 Outlook Forms
- Canonical reference
- https://attack.mitre.org/techniques/T1137/003/
QRadar Detection Query
SELECT
DATEFORMAT(starttime, 'yyyy-MM-dd HH:mm:ss') AS event_time,
logsourcename(logsourceid) AS log_source,
username,
sourceip,
destinationip,
destinationport,
QIDNAME(qid) AS event_name,
"ParentImage" AS parent_image,
"Image" AS process_image,
"CommandLine" AS command_line,
CASE
WHEN LOWER("ParentImage") LIKE '%outlook.exe%'
AND (LOWER("Image") LIKE '%cmd.exe%'
OR LOWER("Image") LIKE '%powershell.exe%'
OR LOWER("Image") LIKE '%wscript.exe%'
OR LOWER("Image") LIKE '%cscript.exe%'
OR LOWER("Image") LIKE '%mshta.exe%'
OR LOWER("Image") LIKE '%rundll32.exe%'
OR LOWER("Image") LIKE '%regsvr32.exe%'
OR LOWER("Image") LIKE '%certutil.exe%'
OR LOWER("Image") LIKE '%msiexec.exe%'
OR LOWER("Image") LIKE '%wmic.exe%')
THEN 'Outlook_Spawned_Shell'
WHEN LOWER("Image") LIKE '%ruler.exe%'
OR LOWER("CommandLine") LIKE '%--%forms%'
OR LOWER("CommandLine") LIKE '%--%homepage%'
OR LOWER("CommandLine") LIKE '%--%ruler%'
THEN 'Ruler_Tool_Detected'
WHEN LOWER("ParentImage") LIKE '%outlook.exe%'
AND destinationport IN (80, 443, 445, 4444, 8080, 8443)
AND destinationip NOT LIKE '10.%'
AND destinationip NOT LIKE '192.168.%'
AND destinationip NOT LIKE '172.16.%'
AND destinationip NOT LIKE '127.%'
THEN 'Outlook_External_Connection'
ELSE NULL
END AS detection_type
FROM events
WHERE
LOGSOURCETYPEID(logsourceid) IN (12, 13, 366)
AND starttime > NOW() - 86400000
AND (
(LOWER("ParentImage") LIKE '%outlook.exe%'
AND (LOWER("Image") LIKE '%cmd.exe%'
OR LOWER("Image") LIKE '%powershell.exe%'
OR LOWER("Image") LIKE '%wscript.exe%'
OR LOWER("Image") LIKE '%cscript.exe%'
OR LOWER("Image") LIKE '%mshta.exe%'
OR LOWER("Image") LIKE '%rundll32.exe%'
OR LOWER("Image") LIKE '%regsvr32.exe%'
OR LOWER("Image") LIKE '%certutil.exe%'
OR LOWER("Image") LIKE '%msiexec.exe%'
OR LOWER("Image") LIKE '%wmic.exe%'))
OR (LOWER("Image") LIKE '%ruler.exe%'
OR LOWER("CommandLine") LIKE '%--%forms%'
OR LOWER("CommandLine") LIKE '%--%homepage%'
OR LOWER("CommandLine") LIKE '%--%ruler%')
OR (LOWER("ParentImage") LIKE '%outlook.exe%'
AND destinationport IN (80, 443, 445, 4444, 8080, 8443)
AND destinationip NOT LIKE '10.%'
AND destinationip NOT LIKE '192.168.%'
AND destinationip NOT LIKE '172.16.%'
AND destinationip NOT LIKE '127.%')
)
ORDER BY starttime DESC AQL query targeting QRadar events from Windows Sysmon and Security log sources (LOGSOURCETYPEID 12=WindowsAuthServer, 13=WindowsSecurityEventLog, 366=Sysmon) to detect Outlook Forms persistence indicators: Outlook spawning interpreter processes, Ruler tool execution, and Outlook making external network connections post-form trigger.
Data Sources
Required Tables
False Positives & Tuning
- Legitimate third-party Outlook add-ins (e.g., DocuSign, Salesforce, Zoom plugins) that launch helper executables as child processes of outlook.exe
- Corporate email security scanners or CASB agents that intercept Outlook network traffic and appear as Outlook-originated connections to external IPs
- Penetration testing tools and red team engagements using Ruler in authorized assessments without exclusion rules configured in QRadar
Other platforms for T1137.003
Testing Methodology
Validate this detection against 3 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 1Test Outlook Child Process Detection (Simulate Form Execution)
Expected signal: Sysmon Event ID 1: Process Create with Image=cmd.exe, CommandLine containing 'whoami'. Parent process will be powershell.exe in this simulation (not outlook.exe), but the pattern of Office app spawning cmd.exe is what the detection tests.
- Test 2Ruler Tool Form Installation (Controlled Test)
Expected signal: If actually executed: Sysmon Event ID 1 with Image=ruler.exe, Sysmon Event ID 3 with network connection to Exchange EWS endpoint on port 443. Security Event ID 4624 for EWS authentication.
- Test 3Check for Malicious Outlook Forms via PowerShell EWS
Expected signal: Sysmon Event ID 3: Network connection from powershell.exe to Exchange server on port 443. Security Event ID 4624 for EWS authentication (Kerberos or NTLM).
References (6)
- https://attack.mitre.org/techniques/T1137/003/
- https://sensepost.com/blog/2017/outlook-forms-and-shells/
- https://github.com/sensepost/ruler
- https://github.com/sensepost/notruler
- https://docs.microsoft.com/en-us/office365/securitycompliance/detect-and-remediate-outlook-rules-forms-attack
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1137.003/T1137.003.md
Unlock Pro Content
Get the full detection package for T1137.003 including response playbook, investigation guide, and atomic red team tests.