Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 792900ce61774720…

MALICIOUS

Office (OLE)

60.3 KB Created: 1996-12-17 01:32:42 Authoring application: Microsoft Excel
MD5: 159aca9d5fe3c4e73a5db0a5050f28bd SHA-1: d875c1ebb11b7f2800846d4142562e7d724805ac SHA-256: 792900ce61774720fc9247bf1f4a28c5d8555cce0ea69189ee3731196eade866
280 Risk Score

Malware Insights

MITRE ATT&CK
T1203 Exploitation for Client Execution

The file is identified as malicious due to multiple critical heuristic firings, including a CVE-2009-3129 exploit targeting an Excel FEATHEADER record overflow. References to WinExec, LoadLibrary, and GetProcAddress APIs, along with XOR-encoded strings, indicate the execution of arbitrary code. The large slack space in the OLE structure is also anomalous.

Heuristics 6

  • CVE-2009-3129 — Excel FEATHEADER record overflow critical CVE exact CVE_2009_3129
    Workbook BIFF stream contains a FEATHEADER (Feature Header) record with anomalous size (record_size=23, isf=2, cbHdrData=4294967295). Legitimate FEATHEADER records are tiny (<100 bytes) and carry cbHdrData values that fit in the record body; the value here is the documented CVE-2009-3129 exploit primitive — cbHdrData drives a memcpy with attacker-controlled size, leading to memory corruption and code execution in Excel 2007/2003.
  • XOR-encoded strings (key 0x03) critical SC_XOR_ENCODED
    Found 8 Windows library/API name(s) XOR-encoded with single-byte key 0x03: 'VirtualAlloc', 'VirtualAlloc', 'VirtualAllocEx', 'VirtualProtect', 'VirtualProtectEx', 'CreateProcessA', 'WriteProcessMemory', 'ReadProcessMemory'
  • Reference to WinExec API high SC_STR_WINEXEC
    Reference to WinExec API
  • Reference to LoadLibrary API high SC_STR_LOADLIBRARY
    Reference to LoadLibrary API
  • Reference to GetProcAddress API high SC_STR_GETPROCADDRESS
    Reference to GetProcAddress API
  • OLE document has large unaccounted-for region high OLE_SLACK_ANOMALY
    OLE file is 61,740 bytes but its declared streams total only 24,565 bytes — 37,175 bytes (60%) live in unallocated sector slack. This is the canonical hiding place for pre-macro-era Office exploit payloads (XOR-encoded shellcode reached via a parser pointer-corruption bug in the document structure).