Malicious RTF — malware analysis report

Static analysis result for SHA-256 8df7ffdc5232fe2f…

MALICIOUS

RTF

2.35 MB First seen: 2019-09-30
MD5: cf9fdedbdc19a52e133c8722746f17c6 SHA-1: f5d3ee71afc43f98d0742adadaf13096d1a18a2e SHA-256: 8df7ffdc5232fe2fe1e23c40ae0729603943739a258b4ea0c47ca5781340fbc9
482 Risk Score

Malware Insights

MITRE ATT&CK
T1203 Exploitation for Client Execution

The RTF file contains multiple critical heuristic firings indicating the exploitation of CVE-2017-8570, which is known to drop a SCT script. The presence of OLE object data, a composite moniker, and a PE header within hex data strongly suggests the embedded object is a malicious executable. ClamAV also detected the file as Win.Malware.Delf-6696577-0, further confirming its malicious nature.

Heuristics 11

  • Composite Moniker — CVE-2017-8570 (drops SCT script) critical CVE related CVE_2017_8570
    RTF \objdata decodes to OLE data containing the Composite Moniker — CVE-2017-8570 (drops SCT script) CLSID — the vulnerable control/moniker is embedded directly in the document's object stream, the delivery shape of this exploit. RTF objects auto-render when Word opens the file.
  • Equation Editor CLSID critical CVE likely RTF_EQUATION_EDITOR
    Equation Editor OLE CLSID found inside an OLE object — exploited by CVE-2017-11882 / CVE-2018-0802 / CVE-2018-0798
  • Composite Moniker in RTF OLE object high CVE related RTF_COMPOSITE_MONIKER_RELATED
    RTF contains Composite Moniker CLSID in OLE object context, but no nearby scriptlet/SCT payload was confirmed. Treat as related moniker attack-surface evidence rather than proof of CVE-2017-8570 exploitation.
  • ClamAV: Win.Malware.Generic-6688548-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Win.Malware.Generic-6688548-0
  • PE header (with DOS stub) in hex data critical RTF_MZ_HEX
    Hex-encoded PE (MZ + DOS stub) found inside RTF — likely an embedded executable payload
  • \objupdate forces OLE activation high RTF_OBJUPDATE
    RTF contains \objupdate — forces automatic OLE object instantiation when the document is opened, bypassing user interaction. Almost exclusively seen in Equation Editor exploit documents.
  • Large hex data blocks in OLE object high RTF_EXCESSIVE_HEX
    RTF contains ~2446KB of hex-encoded data inside \objdata sections — may hide a payload
  • OLE object data medium RTF_OBJDATA
    RTF contains 7 \objdata section(s) — embedded OLE objects
  • OlePres presentation stream in RTF OLE object medium RTF_OLEPRES_STREAM
    RTF contains an embedded OLE object with an OlePres presentation stream. OlePres is an OLE presentation marker and is not enough on its own to identify CVE-2025-21298.
  • Suspicious extracted artifact medium EXTRACTED_FILE_STATIC_TRIAGE
    One or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
  • Embedded URL info EMBEDDED_URL
    One or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.
    URL http://schemas.openxmlformats.org/drawingml/2006/main In RTF body

Extracted artifacts 7

Files carved from inside the sample during analysis.

FilenameKindSourceSize
objdata_00_off0000002c.bin rtf-objdata-decoded RTF \objdata at offset 0x2C 884 bytes
SHA-256: 08cb831cfd094f7193857584f98ebb419e336c73f0191f78a94fb322b6fcad85
objdata_01_off0004c6e8.bin rtf-objdata-decoded RTF \objdata at offset 0x4C6E8 102604 bytes
SHA-256: 35157ee17216cb72ffd90cc36322f4d9db156130bd852b967c9325212c3c51d5
objdata_02_off0007e8b3.bin rtf-objdata-decoded RTF \objdata at offset 0x7E8B3 964300 bytes
SHA-256: 59ce18a8d7fea9a844846178a9f00d3318618c24db3bbf6fd7519c98eb52fd59
Detection
ClamAV: Win.Malware.Generic-6688548-0
Obfuscation or payload: likely
Static shellcode analysis found candidate code region(s). Indicators: SC_MSF_REVERSE, SC_STR_VIRTUALALLOC, SC_STR_LOADLIBRARY Static shellcode analysis recovered API/import strings: LoadLibraryExA, VirtualAlloc, GetProcAddress, ExitProcess
objdata_03_off00255689.bin rtf-objdata-decoded RTF \objdata at offset 0x255689 382 bytes
SHA-256: 7c829894502990522aaee3764e10dad03b3c7476dec48c4e1d128bb9b9774910
objdata_04_off002559b9.bin rtf-objdata-decoded RTF \objdata at offset 0x2559B9 789 bytes
SHA-256: 87caf099a20fd4563d975979583365d98bc376a5fd992193cf5da7686fc18198
objdata_05_off0025604a.bin rtf-objdata-decoded RTF \objdata at offset 0x25604A 2633 bytes
SHA-256: 1feb5f150bb35566d1a01fc59a357dc0ea34bc7498e0ec99bd939f6f848044b0
objdata_06_off00257554.bin rtf-objdata-decoded RTF \objdata at offset 0x257554 4679 bytes
SHA-256: 0e2ce9d01b0df41beca1d9d003ff4bfe3998a96192a53992dd35145a081e0a27