T1027.009 Microsoft Sentinel · KQL

Detect Embedded Payloads in Microsoft Sentinel

Adversaries may embed payloads within other files to conceal malicious content from defenses. Otherwise seemingly benign files (such as scripts and executables) may be abused to carry and obfuscate malicious payloads and content. Adversaries have been observed embedding payloads as PE overlays, within resource sections of legitimate binaries, inside LNK file ExtraData fields, within Office VBA macros, and nested inside other file types. Notable examples include Emotet embedding executables in dropper binaries, DEADEYE embedding payloads in compiled binaries, Lazarus Group distributing malicious payloads in PNG files, Pikabot loading encrypted chunked PE sections, and Uroburos storing executable payloads in encrypted Queue files.

MITRE ATT&CK

Tactic
Defense Evasion
Technique
T1027 Obfuscated Files or Information
Sub-technique
T1027.009 Embedded Payloads
Canonical reference
https://attack.mitre.org/techniques/T1027/009/

KQL Detection Query

Microsoft Sentinel (KQL)
kusto
let EmbeddingPatterns = dynamic([
  "certutil -decode", "certutil -urlcache",
  "expand ", "extrac32",
  "makecab", "expand.exe"
]);
DeviceProcessEvents
| where Timestamp > ago(24h)
| where ProcessCommandLine has_any (EmbeddingPatterns)
    and ProcessCommandLine has_any (".exe", ".dll", ".bin", ".dat", ".cfg")
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
         InitiatingProcessFileName, InitiatingProcessCommandLine
| sort by Timestamp desc
| union (
    DeviceFileEvents
    | where Timestamp > ago(24h)
    | where ActionType == "FileCreated"
    | where FileName endswith ".exe" or FileName endswith ".dll" or FileName endswith ".bin"
    | where InitiatingProcessFileName has_any (".pdf", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx")
        or InitiatingProcessFileName in~ ("AcroRd32.exe", "WINWORD.EXE", "EXCEL.EXE", "POWERPNT.EXE")
    | project Timestamp, DeviceName, AccountName=InitiatingProcessAccountName, FileName,
             FolderPath, InitiatingProcessFileName, InitiatingProcessCommandLine
)
high severity high confidence

Detects embedded payload extraction activities: certutil decoding, expand/extrac32 unpacking, and PE files dropped by document readers (PDF, Office applications). Embedded payloads are extracted at runtime using built-in OS utilities or via the document's macro/script functionality. The union captures the final extraction event — a PE being written to disk by a document viewing application.

Data Sources

Process: Process CreationFile: File CreationMicrosoft Defender for Endpoint

Required Tables

DeviceProcessEventsDeviceFileEvents

False Positives & Tuning

  • certutil legitimately used by IT for certificate operations or legitimate file decoding in automation scripts
  • expand.exe used by Windows Update and software installers to decompress cabinet files
  • Office applications dropping temp files with .bin or .dat extensions during normal document processing
  • PDF readers extracting embedded attachments from legitimate PDFs (forms, documents with attachments)
Download portable Sigma rule (.yml)

Other platforms for T1027.009


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.

  1. Test 1Extract Embedded Payload from PE Overlay with certutil

    Expected signal: Sysmon Event ID 1: certutil.exe with -encode and then -decode arguments. Sysmon Event ID 11: encoded_payload.txt and extracted_payload.exe created in %TEMP%. The -decode operation creates an executable from a text file.

  2. Test 2Office Macro Dropping Embedded Executable

    Expected signal: Sysmon Event ID 1: PowerShell spawning Word COM object. Word process creating a document with VBA code. File creation of macro_test.doc.

  3. Test 3Embed Payload in PE Resources Section

    Expected signal: PowerShell process creation demonstrating the concept. Binary data file creation in %TEMP%.

  4. Test 4Extract Payload from LNK ExtraData Field

    Expected signal: Sysmon Event ID 11: embedded_lnk.lnk created in %TEMP%. Sysmon Event ID 1: cmd.exe spawned from LNK execution with arguments. Sysmon Event ID 11: lnk_output.txt created.

Unlock Pro Content

Get the full detection package for T1027.009 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections