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

Static analysis result for SHA-256 08ca83566a6348e8…

MALICIOUS

Office (OLE) / .XLS

139.0 KB Created: 1996-12-17 01:32:42 Authoring application: Microsoft Excel
MD5: eee7f56c105845f0312c97c1d1ee36f3 SHA-1: 4b15a0e2cad0daf81b690e423e14a2f147496488 SHA-256: 08ca83566a6348e8d487725eba8f138b674ebb20aefddc52386154fcf46fa816
280 Risk Score

Malware Insights

MITRE ATT&CK
T1203 Exploitation for Client Execution

The file is a malicious Microsoft Excel document that exploits the CVE-2009-3129 vulnerability. This vulnerability allows for arbitrary code execution, indicated by the presence of heuristics related to ShellExecute, VirtualAlloc, and LoadLibrary APIs. The large slack space in the OLE structure is also a common indicator of packed or obfuscated malicious content.

Heuristics 7

  • 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.
  • Heap-spray pattern detected high SC_HEAP_SPRAY
    Repeated 0x07 bytes found
  • Reference to ShellExecute API high SC_STR_SHELLEXEC
    Reference to ShellExecute 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 142,336 bytes but its declared streams total only 24,565 bytes — 117,771 bytes (83%) 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).
  • Reference to VirtualAlloc API medium SC_STR_VIRTUALALLOC
    Reference to VirtualAlloc API