Malicious Office (OLE) / .XLS — malware analysis report

Static analysis result for SHA-256 6211cf9d6ef5ae73…

MALICIOUS

Office (OLE) / .XLS

98.0 KB Created: 1996-12-17 01:32:42 Authoring application: Microsoft Excel
MD5: e2d73cfdb4b6bee221db4d7e6a22286e SHA-1: 65f29880f92aa19603408c1753730fedafec890a SHA-256: 6211cf9d6ef5ae738bfa3986a334083bac744efd020d406203baae8ccd575a06
280 Risk Score

Malware Insights

MITRE ATT&CK
T1203 Exploitation for Client Execution

The file is a malicious Microsoft Excel spreadsheet that exploits CVE-2009-3129, a FEATHEADER record overflow vulnerability. This vulnerability allows for arbitrary code execution, indicated by the presence of heuristics referencing WinExec, LoadLibrary, and GetProcAddress APIs, along with XOR-encoded strings. The large slack space in the OLE structure is also a common indicator of packed or obfuscated malicious content.

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 100,352 bytes but its declared streams total only 24,565 bytes — 75,787 bytes (76%) 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).